nl:: örgü:: Örgü Bağlantısı

#include <src/lib/core/WeaveMessageLayer.h>

Weave Connection sınıfının tanımı.

özet

Başka bir Weave düğümüne bir TCP veya BLE bağlantısını temsil eder.

Genel türler

@58 {
kGetPeerDescription_MaxLength = nl::Weave::kWeavePeerDescription_MaxLength
}
Sıralama
ConnectionClosedFunct )(WeaveConnection *con, WEAVE_ERROR conErr) typedef
void(*
Bu işlev, bir bağlantı kapatıldığında çağrılan uygulama geri çağrısıdır.
ConnectionCompleteFunct )(WeaveConnection *con, WEAVE_ERROR conErr) typedef
void(*
Bu işlev, bir bağlantı kurulumu tamamlandığında çağrılan uygulama geri çağrısıdır.
MessageReceiveFunct )(WeaveConnection *con, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf) typedef
void(*
Bu işlev, bir Weave bağlantısı üzerinden bir mesaj alındığında çağrılan uygulama geri çağrısıdır.
NetworkType {
kNetworkType_Unassigned = 0,
kNetworkType_IP = 1,
kNetworkType_BLE = 2
}
Sıralama
Örgü bağlantı nesnesinin ağ türü.
ReceiveErrorFunct )(WeaveConnection *con, WEAVE_ERROR err) typedef
void(*
Bu işlev, bir Weave mesajı alınırken bir hatayla karşılaşıldığında çağrılan uygulama geri çağrısıdır.
State {
kState_ReadyToConnect = 0,
kState_Resolving = 1,
kState_Connecting = 2,
kState_EstablishingSession = 3,
kState_Connected = 4,
kState_SendShutdown = 5,
kState_Closed = 6
}
Sıralama
Örgü bağlantı nesnesinin durumu.
TunneledMsgReceiveFunct )(WeaveConnection *con, const WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf) typedef
void(*
Bu işlev, Weave bağlantısı üzerinden Tünellenmiş bir veri paketinin alınması üzerine çağrılan uygulama geri çağrısıdır.

Genel özellikler

AppState
void *
Uygulamaya özel durum nesnesine yönelik bir işaretçi.
AuthMode
WeaveAuthMode
[SADECE OKUYUN] Bağlantı için varsayılan şifreleme anahtarlarını oluşturmak için kullanılan kimlik doğrulama modu.
DefaultEncryptionType
uint8_t
Mesajlar için varsayılan şifreleme türü.
DefaultKeyId
uint16_t
Mesaj gönderirken kullanılacak varsayılan şifreleme anahtarı.
MessageLayer
[SALT] ilişkili WeaveMessageLayer nesnesi.
NetworkType
uint8_t
[SADECE OKUYUN] İlişkili bitiş noktasının ağ türü.
OnConnectionClosed
OnConnectionComplete
OnMessageReceived
OnReceiveError
OnTunneledMessageReceived
PeerAddr
IPAddress
[SADECE OKUYUN] Eş düğümün IP adresi.
PeerNodeId
uint64_t
[SADECE OKUYUN] Eşin düğüm tanımlayıcısı.
PeerPort
uint16_t
[SADECE OKUYUN] Eş düğümün bağlantı noktası numarası.
ReceiveEnabled
bool
[SADECE OKUYUN] Alma etkinse doğru, değilse yanlış.
SendDestNodeId
bool
Bu bağlantı aracılığıyla gönderilen tüm iletilerin açıkça kodlanmış bir hedef düğüm tanımlayıcısı içermesi gerekiyorsa doğru, aksi takdirde yanlış.
SendSourceNodeId
bool
Bu bağlantı aracılığıyla gönderilen tüm iletilerin açıkça kodlanmış bir kaynak düğüm tanımlayıcısı içermesi gerekiyorsa doğru, aksi takdirde yanlış.
State
uint8_t
[Salt okunur] Durum WeaveConnection nesne.

Kamu işlevleri

Abort (void)
void
Gerçekleştirir TCP- veya BLE tabanlı bir un-zarif yakın WeaveConnection veya emsalden uçuşta olabilecek herhangi bir veri atma.
AddRef (void)
void
Bir referans rezerve WeaveConnection nesne.
Close (void)
Gerçekleştirir TCP- veya BLE tabanlı olmayan bir engelleme zarif yakın WeaveConnection önce kibarca biz bağlantıyı sıfırlamak olduğunu uzak ana bildiren kalan giden veriyi teslim.
Close (bool suppressCloseLog)
Gerçekleştirir TCP- veya BLE tabanlı olmayan bir engelleme zarif yakın WeaveConnection önce kibarca biz bağlantıyı sıfırlamak olduğunu uzak ana bildiren kalan giden veriyi teslim.
Connect (uint64_t peerNodeId)
Belirtilen düğüm tanımlayıcısından türetilen bir yapı IP adresi kullanarak bir Örgü düğümüne bağlanın.
Connect (uint64_t peerNodeId, const IPAddress & peerAddr, uint16_t peerPort)
Bir düğüm tanımlayıcısı ve/veya bir IP adresi kullanarak bir Örgü düğümüne bağlanın.
Connect (uint64_t peerNodeId, WeaveAuthMode authMode, const IPAddress & peerAddr, uint16_t peerPort, InterfaceId intf)
Belirli bir arabirimde bir düğüm tanımlayıcısı ve/veya bir IP adresi kullanarak bir Örgü düğümüne bağlanın.
Connect (uint64_t peerNodeId, WeaveAuthMode authMode, const char *peerAddr, uint16_t defaultPort)
Bir düğüm tanımlayıcısı ve/veya bir dizi ana bilgisayar adı kullanarak bir Örgü düğümüne bağlanın.
Connect (uint64_t peerNodeId, WeaveAuthMode authMode, const char *peerAddr, uint16_t peerAddrLen, uint16_t defaultPort)
Bir düğüm tanımlayıcısı ve/veya bir dize eş adresi kullanarak bir Örgü düğümüne bağlanın.
Connect (uint64_t peerNodeId, WeaveAuthMode authMode, const char *peerAddr, uint16_t peerAddrLen, uint8_t dnsOptions, uint16_t defaultPort)
Bir düğüm tanımlayıcısı ve/veya bir dize eş adresi kullanarak bir Örgü düğümüne bağlanın.
Connect (uint64_t peerNodeId, WeaveAuthMode authMode, HostPortList hostPortList, InterfaceId intf)
Bir düğüm tanımlayıcısı ve/veya bir ana bilgisayar adı ve bağlantı noktası listesi kullanarak bir Örgü düğümüne bağlanın.
Connect (uint64_t peerNodeId, WeaveAuthMode authMode, HostPortList hostPortList, uint8_t dnsOptions, InterfaceId intf)
Bir düğüm tanımlayıcısı ve/veya bir ana bilgisayar adı ve bağlantı noktası listesi kullanarak bir Örgü düğümüne bağlanın.
DisableKeepAlive (void)
DisableReceive (void)
void
Bu aşkın devre dışı bırak alıcı WeaveConnection .
EnableKeepAlive (uint16_t interval, uint16_t timeoutCount)
EnableReceive (void)
void
Bu aşkın aldıktan etkinleştirme WeaveConnection .
GetPeerAddressInfo (IPPacketInfo & addrInfo)
Eşin IP adresi bilgilerini alın.
GetPeerDescription (char *buf, size_t bufSize) const
void
Bağlantıyla ilişkili eş düğümü açıklayan bir dize oluşturur.
GetTCPEndPoint (void) const
TCPEndPoint *
IsIncoming (void) const
bool
LogId (void) const
uint16_t
Release (void)
void
Referans sayısı azaltma WeaveConnection nesne.
ResetUserTimeout (void)
SendMessage ( WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
Kurulan bir bağlantı üzerinden bir Örgü mesajı gönderin.
SendTunneledMessage ( WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
Bir Örgü bağlantısı üzerinden Tünelli paket gönderme işlevi.
SetConnectTimeout (const uint32_t connTimeoutMsecs)
void
Connect'in başarılı olması veya bir hata döndürmesi için zaman aşımını ayarlayın.
SetIdleTimeout (uint32_t timeoutMS)
Temel ağ katmanı bağlantısında boşta kalma zaman aşımını ayarlayın.
SetIncoming (bool val)
void
SetUserTimeout (uint32_t userTimeoutMillis)
Shutdown (void)
Tüm giden verilerin eşin TCP yığını tarafından gönderilip alınmasını sağlayarak zarif bir TCP gönderme kapatması gerçekleştirir.

Genel türler

@58

 @58
Özellikleri
kGetPeerDescription_MaxLength

Tarafından döndürülen (boş karakter dahil) dize maksimum uzunluğu GetPeerDescription () .

BağlantıKapalıFonksiyon

void(* ConnectionClosedFunct)(WeaveConnection *con, WEAVE_ERROR conErr)

Bu işlev, bir bağlantı kapatıldığında çağrılan uygulama geri çağrısıdır.

Ayrıntılar
parametreler
[in] con
Bir işaretçi WeaveConnection nesne.
[in] conErr
Bağlantı kapatıldığında WEAVE_ERROR ile karşılaşıldı.

BağlantıTamamlandıİşlev

void(* ConnectionCompleteFunct)(WeaveConnection *con, WEAVE_ERROR conErr)

Bu işlev, bir bağlantı kurulumu tamamlandığında çağrılan uygulama geri çağrısıdır.

Ayrıntılar
parametreler
[in] con
Bir işaretçi WeaveConnection nesne.
[in] conErr
WEAVE_ERROR, bağlantı kurulumu sırasında karşılaşıldı.

MesajAlmaFonksiyonu

void(* MessageReceiveFunct)(WeaveConnection *con, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)

Bu işlev, bir Weave bağlantısı üzerinden bir mesaj alındığında çağrılan uygulama geri çağrısıdır.

Ayrıntılar
parametreler
[in] con
Bir işaretçi WeaveConnection nesne.
[in] msgInfo
Bir bir gösterici WeaveMessageInfo mesajı ile ilgili bilgileri içeren bir yapı.
[in] msgBuf
İletiyi tutan PacketBuffer nesnesine yönelik bir işaretçi.

Ağ tipi

 NetworkType

Örgü bağlantı nesnesinin ağ türü.

Özellikleri
kNetworkType_BLE

BLE ağ türü.

kNetworkType_IP

TCP/IP ağ türü.

kNetworkType_Unassigned

Atanmamış ağ türü.

ReceiveErrorFunct

void(* ReceiveErrorFunct)(WeaveConnection *con, WEAVE_ERROR err)

Bu işlev, bir Weave mesajı alınırken bir hatayla karşılaşıldığında çağrılan uygulama geri çağrısıdır.

Ayrıntılar
parametreler
[in] con
Bir işaretçi WeaveConnection nesne.
[in] err
Bağlantı üzerinden veri alınırken WEAVE_ERROR ile karşılaşıldı.

Durum

 State

Örgü bağlantı nesnesinin durumu.

Özellikleri
kState_Closed

Bağlantının ne zaman kapatıldığını belirtin.

kState_Connected

Bağlantının ne zaman kurulduğunu belirtin.

kState_Connecting

Bağlantı girişiminde bulunulduğunu belirtin.

kState_EstablishingSession

Güvenli bir oturumun ne zaman kurulduğunu belirtin.

kState_ReadyToConnect

Örgü bağlantısının başlatılmasından sonraki durum.

kState_Resolving

DNS ad çözümlemesinin ne zaman gerçekleştirildiğini belirtin.

kState_SendShutdown

Bağlantının ne zaman kapatılacağını belirtin.

TünelliMsgReceiveFunct

void(* TunneledMsgReceiveFunct)(WeaveConnection *con, const WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)

Bu işlev, Weave bağlantısı üzerinden Tünellenmiş bir veri paketinin alınması üzerine çağrılan uygulama geri çağrısıdır.

Ayrıntılar
parametreler
[in] con
Bir işaretçi WeaveConnection nesne.
[in] msgInfo
Bir işaretçi WeaveMessageInfo nesne.
[in] msgBuf
Alınan tünelli paketi içeren PacketBuffer nesnesine yönelik bir işaretçi.

Genel özellikler

Uygulama Durumu

void * AppState

Uygulamaya özel durum nesnesine yönelik bir işaretçi.

Yetkilendirme Modu

WeaveAuthMode AuthMode

[SADECE OKUYUN] Bağlantı için varsayılan şifreleme anahtarlarını oluşturmak için kullanılan kimlik doğrulama modu.

Varsayılan Şifreleme Türü

uint8_t DefaultEncryptionType

Mesajlar için varsayılan şifreleme türü.

VarsayılanAnahtarKimliği

uint16_t DefaultKeyId

Mesaj gönderirken kullanılacak varsayılan şifreleme anahtarı.

Mesaj Katmanı

WeaveMessageLayer * MessageLayer

[SALT] ilişkili WeaveMessageLayer nesnesi.

Ağ tipi

uint8_t NetworkType

[SADECE OKUYUN] İlişkili bitiş noktasının ağ türü.

OnConnectionKapalı

ConnectionClosedFunct OnConnectionClosed

OnConnectionComplete

ConnectionCompleteFunct OnConnectionComplete

Mesaj Alındığında

MessageReceiveFunct OnMessageReceived

OnReceiveError

ReceiveErrorFunct OnReceiveError

OnTunneledMesaj Alındı

TunneledMsgReceiveFunct OnTunneledMessageReceived

PeerAddr

IPAddress PeerAddr

[SADECE OKUYUN] Eş düğümün IP adresi.

PeerNodeId

uint64_t PeerNodeId

[SADECE OKUYUN] Eşin düğüm tanımlayıcısı.

PeerPort

uint16_t PeerPort

[SADECE OKUYUN] Eş düğümün bağlantı noktası numarası.

Alma Etkin

bool ReceiveEnabled

[SADECE OKUYUN] Alma etkinse doğru, değilse yanlış.

SendDestNodeId

bool SendDestNodeId

Bu bağlantı aracılığıyla gönderilen tüm iletilerin açıkça kodlanmış bir hedef düğüm tanımlayıcısı içermesi gerekiyorsa doğru, aksi takdirde yanlış.

SendSourceNodeId

bool SendSourceNodeId

Bu bağlantı aracılığıyla gönderilen tüm iletilerin açıkça kodlanmış bir kaynak düğüm tanımlayıcısı içermesi gerekiyorsa doğru, aksi takdirde yanlış.

Durum

uint8_t State

[Salt okunur] Durum WeaveConnection nesne.

Kamu işlevleri

iptal

void Abort(
  void
)

Gerçekleştirir TCP- veya BLE tabanlı bir un-zarif yakın WeaveConnection veya emsalden uçuşta olabilecek herhangi bir veri atma.

Bir çağrı Abort () hemen altında yatan bağlantıyı sonlandırır. Bu noktadan sonra, WeaveConnection nesne artık daha fazla iletişim için kullanılabilir.

Arayan Abort () ile bağlantılı başvuru sayısı azaltır WeaveConnection bağlantı açık / etken yöntemi denir zamanda olup olmadığını, bir nesne. Bu, referans sayısının sıfıra ulaşmasıyla sonuçlanırsa, bağlantı nesnesiyle ilişkili kaynaklar serbest bırakılır. Bu olduğunda, uygulamanın nesneyle başka bir etkileşimi olmamalıdır.

Ayrıca bakınız:
Kapatma () , İptal () , AddRef () ve Release () .

Referans Ekle

void AddRef(
  void
)

Bir referans rezerve WeaveConnection nesne.

AddRef () metodu artışlarla ilişkili başvuru sayısı WeaveConnection nesne. Her çağrı için AddRef () , uygulama birine karşılık gelen bir arama yapmadan sorumludur Yayın () , Kapat () veya İptal () .

Kapat

WEAVE_ERROR Close(
  void
)

Gerçekleştirir TCP- veya BLE tabanlı olmayan bir engelleme zarif yakın WeaveConnection önce kibarca biz bağlantıyı sıfırlamak olduğunu uzak ana bildiren kalan giden veriyi teslim.

Bu yöntem, uygulama protokolü düzeyinde onaylanmayan herhangi bir giden mesajın uzak eş tarafından alındığına dair güçlü bir garanti sağlamaz. Hem TCP hem de BLE için, temel protokol yığını, bağlantıyı sıfırlamadan önce bekleyen giden verileri teslim etmek için en iyi çabayı gösterecektir. TCP için, Kapatma () önce kullanılmalıdır Close () bir nakil katmanlı mesajı alındı teyit bağlantıyı kapatmadan önce gerekiyorsa. BLE bağlantılar bir sağlamak Kapatma () eşdeğeri.

BLE tabanlı bağlantıları için, yakın () kapatır WeaveConnection anında ve döner, ancak tüm giden veri gönderilene kadar Linger altta yatan BLEEndPoint nesnesi neden olabilir. Bu, Weave BleLayer'da bulunan Weave over BLE taşıma protokolü uygulamasının bir yan etkisidir.

Bir kez yakın () olarak adlandırılmıştır, WeaveConnection nesne artık daha fazla iletişim için kullanılabilir.

Arayan ) (yakın ilişkili başvuru sayısı azaltır WeaveConnection bağlantı açık / etken yöntemi denir zamanda olup olmadığını, bir nesne. Bu, referans sayısının sıfıra ulaşmasıyla sonuçlanırsa, bağlantı nesnesiyle ilişkili kaynaklar serbest bırakılır. Bu olduğunda, uygulamanın nesneyle başka bir etkileşimi olmamalıdır.

Ayrıntılar
İadeler
WEAVE_NO_ERROR koşulsuz.
Ayrıca bakınız:
Kapatma () , İptal () , AddRef () ve Release () .

Kapat

WEAVE_ERROR Close(
  bool suppressCloseLog
)

Gerçekleştirir TCP- veya BLE tabanlı olmayan bir engelleme zarif yakın WeaveConnection önce kibarca biz bağlantıyı sıfırlamak olduğunu uzak ana bildiren kalan giden veriyi teslim.

Bu yöntem, uygulama protokolü düzeyinde onaylanmayan herhangi bir giden mesajın uzak eş tarafından alındığına dair güçlü bir garanti sağlamaz. Hem TCP hem de BLE için, temel protokol yığını, bağlantıyı sıfırlamadan önce bekleyen giden verileri teslim etmek için en iyi çabayı gösterecektir. TCP için, Kapatma () önce kullanılmalıdır Close () bir nakil katmanlı mesajı alındı teyit bağlantıyı kapatmadan önce gerekiyorsa. BLE bağlantılar bir sağlamak Kapatma () eşdeğeri.

BLE tabanlı bağlantıları için, yakın () kapatır WeaveConnection anında ve döner, ancak tüm giden veri gönderilene kadar Linger altta yatan BLEEndPoint nesnesi neden olabilir. Bu, Weave BleLayer'da bulunan Weave over BLE taşıma protokolü uygulamasının bir yan etkisidir.

Bir kez yakın () olarak adlandırılmıştır, WeaveConnection nesne artık daha fazla iletişim için kullanılabilir.

Arayan ) (yakın ilişkili başvuru sayısı azaltır WeaveConnection bağlantı açık / etken yöntemi denir zamanda olup olmadığını, bir nesne. Bu, referans sayısının sıfıra ulaşmasıyla sonuçlanırsa, bağlantı nesnesiyle ilişkili kaynaklar serbest bırakılır. Bu olduğunda, uygulamanın nesneyle başka bir etkileşimi olmamalıdır.

Ayrıntılar
parametreler
[in] suppressCloseLog
günlüklerin bastırılması gerekiyorsa true , aksi takdirde false .
İadeler
WEAVE_NO_ERROR koşulsuz.
Ayrıca bakınız:
Kapatma () , İptal () , AddRef () ve Release () .

Bağlan

WEAVE_ERROR Connect(
  uint64_t peerNodeId
)

Belirtilen düğüm tanımlayıcısından türetilen bir yapı IP adresi kullanarak bir Örgü düğümüne bağlanın.

Ayrıntılar
parametreler
[in] peerNodeId
Eşin düğüm tanımlayıcısı.
Dönüş Değerleri
WEAVE_NO_ERROR
akranla bağlantının başarılı bir şekilde başlatılması üzerine.
WEAVE_ERROR_INCORRECT_STATE
Eğer WeaveConnection durumu yanlıştır.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
istenen kimlik doğrulama modu desteklenmiyorsa.
WEAVE_ERROR_INVALID_ADDRESS
hedef adres düğüm kimliğinden çıkarılamazsa.
other
TCPEndPoint bağlantı işlemleri tarafından oluşturulan Inet katmanı hataları.

Bağlan

WEAVE_ERROR Connect(
  uint64_t peerNodeId,
  const IPAddress & peerAddr,
  uint16_t peerPort
)

Bir düğüm tanımlayıcısı ve/veya bir IP adresi kullanarak bir Örgü düğümüne bağlanın.

Ayrıntılar
parametreler
[in] peerNodeId
Eşin düğüm tanımlayıcısı, kNodeIdNotSpecified veya bilinmiyorsa 0.
[in] peerAddr
Eş IP adresi, ıp adresi :: Herhangi bilinen değilse.
[in] peerPort
Eş isteğe bağlı liman, varsayılan WEAVE_PORT .
Dönüş Değerleri
WEAVE_NO_ERROR
akranla bağlantının başarılı bir şekilde başlatılması üzerine.
WEAVE_ERROR_INCORRECT_STATE
Eğer WeaveConnection durumu yanlıştır.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
istenen kimlik doğrulama modu desteklenmiyorsa.
WEAVE_ERROR_INVALID_ADDRESS
hedef adres düğüm kimliğinden çıkarılamazsa.
other
TCPEndPoint bağlantı işlemleri tarafından oluşturulan Inet katmanı hataları.

Bağlan

WEAVE_ERROR Connect(
  uint64_t peerNodeId,
  WeaveAuthMode authMode,
  const IPAddress & peerAddr,
  uint16_t peerPort,
  InterfaceId intf
)

Belirli bir arabirimde bir düğüm tanımlayıcısı ve/veya bir IP adresi kullanarak bir Örgü düğümüne bağlanın.

Ayrıntılar
parametreler
[in] peerNodeId
Eşin düğüm tanımlayıcısı, kNodeIdNotSpecified veya bilinmiyorsa 0.
[in] authMode
Eş için istenen kimlik doğrulama modu. Yalnızca CASE, PASE ve Kimliği Doğrulanmamış modları desteklenir.
[in] peerAddr
Eş IP adresi, ıp adresi :: Herhangi bilinen değilse.
[in] peerPort
Eş isteğe bağlı liman, varsayılan WEAVE_PORT .
[in] intf
Opsiyonel arabirim için akran düğüm, varsayılan bağlanmak için kullanmak INET_NULL_INTERFACEID .
Dönüş Değerleri
WEAVE_NO_ERROR
akranla bağlantının başarılı bir şekilde başlatılması üzerine.
WEAVE_ERROR_INCORRECT_STATE
Eğer WeaveConnection durumu yanlıştır.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
istenen kimlik doğrulama modu desteklenmiyorsa.
WEAVE_ERROR_INVALID_ADDRESS
hedef adresi düğüm tanımlayıcısından çıkarılamıyorsa.
other
TCPEndPoint bağlantı işlemleri tarafından oluşturulan Inet katmanı hataları.

Bağlan

WEAVE_ERROR Connect(
  uint64_t peerNodeId,
  WeaveAuthMode authMode,
  const char *peerAddr,
  uint16_t defaultPort
)

Bir düğüm tanımlayıcısı ve/veya bir dizi ana bilgisayar adı kullanarak bir Örgü düğümüne bağlanın.

: Tedarik edilirse, peerAddr herhangi biri olabilir


:

:

[]:

Ayrıntılar
parametreler
[in] peerNodeId
Eşin düğüm tanımlayıcısı, kNodeIdNotSpecified veya bilinmiyorsa 0.
[in] authMode
Eş için istenen kimlik doğrulama modu. Yalnızca CASE, PASE ve Kimliği Doğrulanmamış modları desteklenir.
[in] peerAddr
NULL ile sonlandırılmış bir C dizesi olarak eşin adresi veya ana bilgisayar adı.
[in] defaultPort
peerAddr dizesinde sağlanmadıysa, bağlantı için kullanılacak isteğe bağlı varsayılan bağlantı noktası.
Dönüş Değerleri
WEAVE_NO_ERROR
akranla bağlantının başarılı bir şekilde başlatılması üzerine.
WEAVE_ERROR_INCORRECT_STATE
Eğer WeaveConnection durumu yanlıştır.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
istenen kimlik doğrulama modu desteklenmiyorsa.
WEAVE_ERROR_INVALID_ADDRESS
hedef adres düğüm kimliğinden çıkarılamazsa.
other
TCPEndPoint bağlantı işlemleri tarafından oluşturulan Inet katmanı hataları.

Bağlan

WEAVE_ERROR Connect(
  uint64_t peerNodeId,
  WeaveAuthMode authMode,
  const char *peerAddr,
  uint16_t peerAddrLen,
  uint16_t defaultPort
)

Bir düğüm tanımlayıcısı ve/veya bir dize eş adresi kullanarak bir Örgü düğümüne bağlanın.

: Tedarik edilirse, peerAddr herhangi biri olabilir


:

:

[]:

Ayrıntılar
parametreler
[in] peerNodeId
Eşin düğüm tanımlayıcısı, kNodeIdNotSpecified veya bilinmiyorsa 0.
[in] authMode
Eş için istenen kimlik doğrulama modu. Yalnızca CASE, PASE ve Kimliği Doğrulanmamış modları desteklenir.
[in] peerAddr
Eşin NULL olmayan sonlandırılmış bir C dizesi olarak adresi veya ana bilgisayar adı.
[in] peerAddrLen
peerAddr dizesinin uzunluğu.
[in] defaultPort
peerAddr dizesinde sağlanmadıysa, bağlantı için kullanılacak isteğe bağlı varsayılan bağlantı noktası.
Dönüş Değerleri
WEAVE_NO_ERROR
akranla bağlantının başarılı bir şekilde başlatılması üzerine.
WEAVE_ERROR_INCORRECT_STATE
Eğer WeaveConnection durumu yanlıştır.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
istenen kimlik doğrulama modu desteklenmiyorsa.
WEAVE_ERROR_INVALID_ADDRESS
hedef adres düğüm kimliğinden çıkarılamazsa.
other
TCPEndPoint bağlantı işlemleri tarafından oluşturulan Inet katmanı hataları.

Bağlan

WEAVE_ERROR Connect(
  uint64_t peerNodeId,
  WeaveAuthMode authMode,
  const char *peerAddr,
  uint16_t peerAddrLen,
  uint8_t dnsOptions,
  uint16_t defaultPort
)

Bir düğüm tanımlayıcısı ve/veya bir dize eş adresi kullanarak bir Örgü düğümüne bağlanın.

: Tedarik edilirse, peerAddr herhangi biri olabilir


:

:

[]:

Ayrıntılar
parametreler
[in] peerNodeId
Eşin düğüm tanımlayıcısı, kNodeIdNotSpecified veya bilinmiyorsa 0.
[in] authMode
Eş için istenen kimlik doğrulama modu. Yalnızca CASE, PASE ve Kimliği Doğrulanmamış modları desteklenir.
[in] peerAddr
Eşin NULL olmayan sonlandırılmış bir C dizesi olarak adresi veya ana bilgisayar adı.
[in] peerAddrLen
peerAddr dizesinin uzunluğu.
[in] dnsOptions
Ana bilgisayar adı çözümlemesinin nasıl gerçekleştirildiğini denetleyen bir tamsayı değeri. Değer, #::nl::Inet::DNSOptions numaralandırmasındaki bir veya daha fazla değerin VEYA değeri olmalıdır.
[in] defaultPort
peerAddr dizesinde sağlanmadıysa, bağlantı için kullanılacak isteğe bağlı varsayılan bağlantı noktası.
Dönüş Değerleri
WEAVE_NO_ERROR
akranla bağlantının başarılı bir şekilde başlatılması üzerine.
WEAVE_ERROR_INCORRECT_STATE
Eğer WeaveConnection durumu yanlıştır.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
istenen kimlik doğrulama modu desteklenmiyorsa.
WEAVE_ERROR_INVALID_ADDRESS
hedef adres düğüm kimliğinden çıkarılamazsa.
other
TCPEndPoint bağlantı işlemleri tarafından oluşturulan Inet katmanı hataları.

Bağlan

WEAVE_ERROR Connect(
  uint64_t peerNodeId,
  WeaveAuthMode authMode,
  HostPortList hostPortList,
  InterfaceId intf
)

Bir düğüm tanımlayıcısı ve/veya bir ana bilgisayar adı ve bağlantı noktası listesi kullanarak bir Örgü düğümüne bağlanın.

Ayrıntılar
parametreler
[in] peerNodeId
Eşin düğüm tanımlayıcısı.
[in] authMode
Bağlantı için kullanılan kimlik doğrulama modu.
[in] hostPortList
Ana bilgisayar adlarının ve bağlantı noktalarının listesi.
[in] intf
Opsiyonel arabirim için akran düğüm, varsayılan bağlanmak için kullanmak INET_NULL_INTERFACEID .
Dönüş Değerleri
WEAVE_NO_ERROR
akranla bağlantının başarılı bir şekilde başlatılması üzerine.
WEAVE_ERROR_INCORRECT_STATE
Eğer WeaveConnection durumu yanlıştır.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
istenen kimlik doğrulama modu desteklenmiyorsa.
WEAVE_ERROR_INVALID_ADDRESS
hedef adres düğüm kimliğinden çıkarılamazsa.
other
TCPEndPoint bağlantı işlemleri tarafından oluşturulan Inet katmanı hataları.

Bağlan

WEAVE_ERROR Connect(
  uint64_t peerNodeId,
  WeaveAuthMode authMode,
  HostPortList hostPortList,
  uint8_t dnsOptions,
  InterfaceId intf
)

Bir düğüm tanımlayıcısı ve/veya bir ana bilgisayar adı ve bağlantı noktası listesi kullanarak bir Örgü düğümüne bağlanın.

Ayrıntılar
parametreler
[in] peerNodeId
Eşin düğüm tanımlayıcısı.
[in] authMode
Bağlantı için kullanılan kimlik doğrulama modu.
[in] hostPortList
Ana bilgisayar adlarının ve bağlantı noktalarının listesi.
[in] dnsOptions
Ana bilgisayar adı çözümlemesinin nasıl gerçekleştirildiğini denetleyen bir tamsayı değeri. Değer, #::nl::Inet::DNSOptions numaralandırmasından bir veya daha fazla değerin VEYA değeri olmalıdır.
[in] intf
Opsiyonel arabirim için akran düğüm, varsayılan bağlanmak için kullanmak INET_NULL_INTERFACEID .
Dönüş Değerleri
WEAVE_NO_ERROR
akranla bağlantının başarılı bir şekilde başlatılması üzerine.
WEAVE_ERROR_INCORRECT_STATE
Eğer WeaveConnection durumu yanlıştır.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
istenen kimlik doğrulama modu desteklenmiyorsa.
WEAVE_ERROR_INVALID_ADDRESS
hedef adres düğüm kimliğinden çıkarılamazsa.
other
TCPEndPoint bağlantı işlemleri tarafından oluşturulan Inet katmanı hataları.

Canlı Tutmayı Devre Dışı Bırak

WEAVE_ERROR DisableKeepAlive(
  void
)

WeaveConnection :: DisableKeepAlive .

Temeldeki TCP bağlantısında TCP canlı tutma araştırmalarını devre dışı bırakın.

Not: Bu yöntem yalnızca TCP bağlantısı tarafından desteklenen Dokuma bağlantıda çağrılabilir. Bu yöntem, yalnızca bağlantı göndermeye izin veren bir durumdayken çağrılabilir.

Bu yöntem, bağlantıda canlı tutma etkinleştirilmemişse hiçbir şey yapmaz.

Ayrıntılar
Dönüş Değerleri
WEAVE_NO_ERROR
bağlantıda TCP canlı tutma araştırmalarının başarılı bir şekilde devre dışı bırakılması üzerine.
WEAVE_ERROR_NOT_IMPLEMENTED
bu işlev ağ katmanında uyumsuz bir uç nokta (örneğin, BLE) için çağrılırsa.
WEAVE_ERROR_INCORRECT_STATE
eğer WeaveConnection nesne mesaj göndermek için doğru durumda değil.
other
TCP uç noktasıyla ilgili Inet katmanı hataları, canlı tutma işlemini etkinleştirir.

Devre Dışı Al

void DisableReceive(
  void
)

Bu aşkın devre dışı bırak alıcı WeaveConnection .

Bu yöntem, uygulama tarafından TCP bağlantısı üzerinden gelen herhangi bir veriyi almaya hazır olmadığını belirtmek için kullanılır. Aramak için yeniden etkinleştirmek için alıcı, uygulama gereksinimlerine amacıyla EnableReceive () izin vermek için WeaveConnection approrpiate geri aramalar çağırarak, alınan herhangi bir veri bağlantısı üzerinden el.

Ayrıca bakınız:
EnableReceive()

Canlı Tutmayı Etkinleştir

WEAVE_ERROR EnableKeepAlive(
  uint16_t interval,
  uint16_t timeoutCount
)

WeaveConnection :: EnableKeepAlive .

Temeldeki TCP bağlantısında TCP canlı tutma araştırmalarını etkinleştirin.

Not: -Bu yöntem yalnızca TCP bağlantısı tarafından desteklenen Dokuma bağlantıda çağrılabilir. -Bu yöntem sadece bağlantı gönderime izin veren bir durumdayken çağrılabilir.

Ayrıntılar
parametreler
[in] interval
Canlı tutma araştırmaları arasındaki aralık (saniye cinsinden). Bu değer ayrıca gönderilen son veri paketi ile ilk canlı tutma araştırmasının iletimi arasındaki süreyi de kontrol eder.
[in] timeoutCount
Bağlantıdan önce onaylanmayan maksimum araştırma sayısı başarısız olarak kabul edilecektir.

-Bu yöntem, canlı tutma aralığını veya zaman aşımı sayısını ayarlamak için birden çok kez çağrılabilir.

Ayrıntılar
Dönüş Değerleri
WEAVE_NO_ERROR
bağlantıda TCP canlı tutma araştırmalarının başarılı bir şekilde etkinleştirilmesi üzerine.
WEAVE_ERROR_NOT_IMPLEMENTED
bu işlev ağ katmanında uyumsuz bir uç nokta (örneğin, BLE) için çağrılırsa.
WEAVE_ERROR_INCORRECT_STATE
eğer WeaveConnection nesne mesaj göndermek için doğru durumda değil.
other
TCP uç noktasıyla ilgili Inet katmanı hataları, canlı tutma işlemini etkinleştirir.

EtkinleştirAl

void EnableReceive(
  void
)

Bu aşkın aldıktan etkinleştirme WeaveConnection .

Bu yöntem göstermek için uygulama tarafından kullanılan WeaveConnection TCP bağlantısı üzerinden ulaşan herhangi bir veri almaya hazır olduğunu nesne.

Ayrıca bakınız:
Devre Dışı Bırak()

GetPeerAddressInfo

WEAVE_ERROR GetPeerAddressInfo(
  IPPacketInfo & addrInfo
)

Eşin IP adresi bilgilerini alın.

Ayrıntılar
parametreler
[out] addrInfo
IPPacketInfo nesnesine bir başvuru.
Dönüş Değerleri
WEAVE_NO_ERROR
Başarı üzerine.
WEAVE_ERROR_NOT_IMPLEMENTED
Bu işlev, ağ katmanında uyumsuz bir uç nokta (örneğin, BLE) için çağrılırsa.

GetPeerDescription

void GetPeerDescription(
  char *buf,
  size_t bufSize
) const 

Bağlantıyla ilişkili eş düğümü açıklayan bir dize oluşturur.

Ayrıntılar
parametreler
[in] buf
Dizenin yazılacağı bir arabellek işaretçisi. Sağlanan arabellek en az kGetPeerDescription_MaxLength kadar büyük olmalıdır. Daha küçük bir arabellek verilirse, dize sığacak şekilde kesilecektir. Çıktı, her durumda bir NUL sonlandırma karakteri içerecektir.
[in] bufSize
Buf ile gösterilen arabelleğin boyutu.

GetTCPEndPoint

TCPEndPoint * GetTCPEndPoint(
  void
) const 

Gelen

bool IsIncoming(
  void
) const 

LogId

uint16_t LogId(
  void
) const 

Serbest bırakmak

void Release(
  void
)

Referans sayısı azaltma WeaveConnection nesne.

Yayın () metodu ile ilişkili referans sayısı azaltır WeaveConnection nesne. Bu, referans sayısının sıfıra ulaşmasıyla sonuçlanırsa, bağlantı kapatılır ve bağlantı nesnesi serbest bırakılır. Bu olduğunda, uygulamanın nesneyle başka bir etkileşimi olmamalıdır.

SıfırlaKullanıcıZaman Aşımı

WEAVE_ERROR ResetUserTimeout(
  void
)

WeaveConnection :: ResetUserTimeout .

TCP kullanıcı zaman aşımı soketi seçeneğini sistem varsayılanına sıfırlayın.

Not: -Bu yöntem yalnızca TCP bağlantısı tarafından desteklenen Dokuma bağlantıda çağrılabilir. -Bu yöntem sadece bağlantı gönderime izin veren bir durumdayken çağrılabilir.

-Bu yöntem, bağlantıda kullanıcı zaman aşımı ayarlanmamışsa hiçbir şey yapmaz.

Ayrıntılar
Dönüş Değerleri
WEAVE_NO_ERROR
bağlantıda TCP kullanıcı zaman aşımının başarılı bir şekilde sıfırlanması üzerine.
WEAVE_ERROR_NOT_IMPLEMENTED
bu işlev ağ katmanında uyumsuz bir uç nokta (örneğin, BLE) için çağrılırsa.
WEAVE_ERROR_INCORRECT_STATE
eğer WeaveConnection nesne mesaj göndermek için doğru durumda değil.
other
TCP kullanıcı zaman aşımının TCP uç noktası sıfırlamasıyla ilgili Inet katmanı hataları.

Mesaj gönder

WEAVE_ERROR SendMessage(
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

Kurulan bir bağlantı üzerinden bir Örgü mesajı gönderin.

Ayrıntılar
parametreler
[in] msgInfo
Bir bir gösterici WeaveMessageInfo nesne.
[in] msgBuf
Gönderilecek paketi tutan PacketBuffer nesnesine yönelik bir işaretçi.
Dönüş Değerleri
WEAVE_NO_ERROR
mesajı ağ katmanına başarıyla gönderirken.
WEAVE_ERROR_INCORRECT_STATE
eğer WeaveConnection nesne mesaj göndermek için doğru durumda değil.
WEAVE_ERROR_INVALID_DESTINATION_NODE_ID
hedef düğüm tanımlayıcısı belirtilmemişse.
WEAVE_ERROR_SENDING_BLOCKED
mesaj gönderilemeyecek kadar uzunsa.
other
Belirli uç nokta gönderme işlemleriyle ilgili Inet katmanı hataları.

SendTünelliMesaj

WEAVE_ERROR SendTunneledMessage(
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

Bir Örgü bağlantısı üzerinden Tünelli paket gönderme işlevi.

Kurulan bir bağlantı üzerinden tünellenmiş bir Örgü mesajı gönderin.

Ayrıntılar
parametreler
[in] msgInfo
Bir bir gösterici WeaveMessageInfo nesne.
[in] msgBuf
Gönderilecek paketi tutan PacketBuffer nesnesine yönelik bir işaretçi.
Dönüş Değerleri
WEAVE_NO_ERROR
mesajı ağ katmanına başarıyla gönderirken.
WEAVE_ERROR_INCORRECT_STATE
eğer WeaveConnection nesne mesaj göndermek için doğru durumda değil.
WEAVE_ERROR_INVALID_DESTINATION_NODE_ID
hedef düğüm tanımlayıcısı belirtilmemişse.
WEAVE_ERROR_SENDING_BLOCKED
mesaj gönderilemeyecek kadar uzunsa.
other
Belirli uç nokta gönderme işlemleriyle ilgili Inet katmanı hataları.

Bağlantı Zaman Aşımı Ayarla

void SetConnectTimeout(
  const uint32_t connTimeoutMsecs
)

Connect'in başarılı olması veya bir hata döndürmesi için zaman aşımını ayarlayın.

Ayrıntılar
parametreler
[in] connTimeoutMsecs

SetIdleTimeout

WEAVE_ERROR SetIdleTimeout(
  uint32_t timeoutMS
)

Temel ağ katmanı bağlantısında boşta kalma zaman aşımını ayarlayın.

Ayrıntılar
parametreler
[in] timeoutMS
milisaniye cinsinden zaman aşımı.
Dönüş Değerleri
WEAVE_NO_ERROR
bağlantı için boşta kalma zaman aşımının başarılı bir şekilde ayarlanması üzerine.
WEAVE_ERROR_INCORRECT_STATE
Eğer WeaveConnection nesne mesajların alınması için doğru durumda değildir.

SetGelen

void SetIncoming(
  bool val
)

SetUserTimeout

WEAVE_ERROR SetUserTimeout(
  uint32_t userTimeoutMillis
)

WeaveConnection :: SetUserTimeout .

TCP kullanıcı zaman aşımı soketi seçeneğini ayarlayın.

Değer 0'dan büyük olduğunda, TCP ilgili bağlantıyı zorla kapatmadan önce iletilen verilerin onaylanmadan kalabileceği maksimum süreyi milisaniye cinsinden belirtir. Seçenek değeri 0 olarak belirtilirse, TCP sistem varsayılanını kullanır. Daha fazla ayrıntı için RFC 5482'ye bakın.

Ayrıntılar
parametreler
[in] userTimeoutMillis
Milisaniye cinsinden Tcp kullanıcı zaman aşımı değeri.

Not: -Bu yöntem yalnızca TCP bağlantısı tarafından desteklenen Dokuma bağlantıda çağrılabilir. -Bu yöntem sadece bağlantı gönderime izin veren bir durumdayken çağrılabilir.

-Bu yöntem, TCP kullanıcı zaman aşımını ayarlamak için birden çok kez çağrılabilir.

Ayrıntılar
Dönüş Değerleri
WEAVE_NO_ERROR
bağlantıda TCP kullanıcı zaman aşımının başarılı bir şekilde ayarlanması üzerine.
WEAVE_ERROR_NOT_IMPLEMENTED
bu işlev ağ katmanında uyumsuz bir uç nokta (örneğin, BLE) için çağrılırsa.
WEAVE_ERROR_INCORRECT_STATE
eğer WeaveConnection nesne mesaj göndermek için doğru durumda değil.
other
TCP kullanıcı zaman aşımının TCP uç noktası ayarıyla ilgili Inet katmanı hataları.

Kapat

WEAVE_ERROR Shutdown(
  void
)

Tüm giden verilerin eşin TCP yığını tarafından gönderildiğinden ve alındığından emin olarak zarif bir TCP gönderme kapatması gerçekleştirir.

Çoğu (ancak tümü değil) TCP uygulamasında, bir gönderme kapatmanın alınması, uzaktaki ana bilgisayarın bağlantının kendi tarafını da kapatmasına neden olarak bağlantının kapanmasına neden olur. BIR sonraki çağrı Close () sona olurdu WeaveConnection .

Ayrıntılar
Dönüş Değerleri
WEAVE_NO_ERROR
tcp bağlantısının başarıyla kapatılması üzerine.
WEAVE_ERROR_NOT_IMPLEMENTED
bu işlev ağ katmanında uyumsuz bir uç nokta (örneğin, BLE) için çağrılırsa.
WEAVE_ERROR_INCORRECT_STATE
eğer WeaveConnection nesne kapatma başlatmadan önce doğru durumda değil.
other
Belirli uç nokta kapatma işlemleriyle ilgili Inet katmanı hataları.
Ayrıca bakınız:
Yakın () ve İptal () .