nl::Weave::WeaveConnection

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

Örgü Bağlantı sınıfının tanımı.

Özet

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

Herkese açık türler

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

Herkese açık özellikler

AppState
void *
Uygulamaya özel durum nesnesinin işaretçisi.
AuthMode
WeaveAuthMode
[SALT OKUNUR] Bağlantı için varsayılan şifreleme anahtarlarını oluşturmak üzere kullanılan kimlik doğrulama modu.
DefaultEncryptionType
uint8_t
İletiler için varsayılan şifreleme türü.
DefaultKeyId
uint16_t
İleti gönderilirken kullanılacak varsayılan şifreleme anahtarı.
MessageLayer
[SALT OKUNUR] İlişkilendirilmiş WeaveMessageLayer nesnesi.
NetworkType
uint8_t
[SALT OKUNUR] İlişkili uç noktasının ağ türü.
OnConnectionClosed
OnConnectionComplete
OnMessageReceived
OnReceiveError
OnTunneledMessageReceived
PeerAddr
IPAddress
[READ ONLY] Eş düğümün IP adresi.
PeerNodeId
uint64_t
[READ ONLY] Eşin düğüm tanımlayıcısı.
PeerPort
uint16_t
[READ ONLY] Eş düğümün bağlantı noktası numarası.
ReceiveEnabled
bool
[SALT OKUNUR] Alma özelliği etkinse doğru, aksi takdirde yanlış değerini alır.
SendDestNodeId
bool
Bu bağlantı aracılığıyla gönderilen tüm mesajların açıkça kodlanmış bir hedef düğüm tanımlayıcısı içermesi gerekiyorsa doğru değerini, aksi takdirde false (yanlış) değerini alır.
SendSourceNodeId
bool
Bu bağlantı aracılığıyla gönderilen tüm iletilerin açık şekilde kodlanmış bir kaynak düğüm tanımlayıcısı içermesi gerekiyorsa doğru, aksi takdirde false (yanlış) değerini alır.
State
uint8_t
[READ ONLY] WeaveConnection nesnesinin durumu.

Herkese açık işlevler

Abort(void)
void
TCP veya BLE tabanlı WeaveConnection'ı kontrolsüz olmayan bir şekilde kapatarak eşe giden veya eşten giden tüm verileri siler.
AddRef(void)
void
WeaveConnection nesnesine bir referans ayırın.
Close(void)
TCP veya BLE tabanlı WeaveConnection'ı engellemeyen bir kontrollü kapatma işlemi gerçekleştirir. Bu sayede, uzak ana makineye bağlantıyı sıfırladığımızı nazikçe bilgilendirmeden önce, giden tüm verileri iletir.
Close(bool suppressCloseLog)
TCP veya BLE tabanlı WeaveConnection'ı engellemeyen bir kontrollü kapatma işlemi gerçekleştirir. Bu sayede, uzak ana makineye bağlantıyı sıfırladığımızı nazikçe bilgilendirmeden önce, giden tüm verileri iletir.
Connect(uint64_t peerNodeId)
Belirtilen düğüm tanımlayıcısından türetilmiş bir yapı IP adresi kullanarak Weave düğümüne bağlanın.
Connect(uint64_t peerNodeId, const IPAddress & peerAddr, uint16_t peerPort)
Düğüm tanımlayıcısı ve/veya IP adresi kullanarak Weave düğümüne bağlanın.
Connect(uint64_t peerNodeId, WeaveAuthMode authMode, const IPAddress & peerAddr, uint16_t peerPort, InterfaceId intf)
Belirli bir arayüzdeki düğüm tanımlayıcısı ve/veya IP adresi kullanarak Weave düğüme bağlanın.
Connect(uint64_t peerNodeId, WeaveAuthMode authMode, const char *peerAddr, uint16_t defaultPort)
Düğüm tanımlayıcısı ve/veya dize ana makine adı kullanarak Weave düğümüne bağlanın.
Connect(uint64_t peerNodeId, WeaveAuthMode authMode, const char *peerAddr, uint16_t peerAddrLen, uint16_t defaultPort)
Düğüm tanımlayıcısı ve/veya dize eş adresi kullanarak Weave düğümüne bağlanın.
Connect(uint64_t peerNodeId, WeaveAuthMode authMode, const char *peerAddr, uint16_t peerAddrLen, uint8_t dnsOptions, uint16_t defaultPort)
Düğüm tanımlayıcısı ve/veya dize eş adresi kullanarak Weave düğümüne bağlanın.
Connect(uint64_t peerNodeId, WeaveAuthMode authMode, HostPortList hostPortList, InterfaceId intf)
Düğüm tanımlayıcısı ve/veya ana makine adı ve bağlantı noktası listesini kullanarak Weave düğümüne bağlanın.
Connect(uint64_t peerNodeId, WeaveAuthMode authMode, HostPortList hostPortList, uint8_t dnsOptions, InterfaceId intf)
Düğüm tanımlayıcısı ve/veya ana makine adı ve bağlantı noktası listesini kullanarak Weave düğümüne bağlanın.
DisableKeepAlive(void)
DisableReceive(void)
void
Bu WeaveConnection üzerinden almayı devre dışı bırakın.
EnableKeepAlive(uint16_t interval, uint16_t timeoutCount)
EnableReceive(void)
void
Bu WeaveConnection üzerinden almayı etkinleştirin.
GetPeerAddressInfo(IPPacketInfo & addrInfo)
Eşin IP adresi bilgisini 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
WeaveConnection nesnesindeki referans sayısını azaltın.
ResetUserTimeout(void)
SendMessage(WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
Oluşturulan bir bağlantı üzerinden Weave mesajı gönderin.
SendTunneledMessage(WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
Weave bağlantısı üzerinden Tünel paket gönderme işlevi.
SetConnectTimeout(const uint32_t connTimeoutMsecs)
void
Bağlanma işleminin başarılı olması veya 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önderilmesini ve alınmasını sağlayarak kontrollü bir TCP gönderme işlemi gerçekleştirir.

Herkese açık türler

@58

 @58
Özellikler
kGetPeerDescription_MaxLength

GetPeerDescription() tarafından döndürülen maksimum dize uzunluğu (NUL karakteri dahil).

ConnectionClosedFunct

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

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

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

ConnectionCompleteFunct

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

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

Ayrıntılar
Parametreler
[in] con
WeaveConnection nesnesinin işaretçisi.
[in] conErr
Bağlantı kurulumu sırasında WEAVE_ERROR ile karşılaşıldı.

MessageReceiveFunct

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

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

Ayrıntılar
Parametreler
[in] con
WeaveConnection nesnesinin işaretçisi.
[in] msgInfo
Mesaj hakkında bilgiler içeren WeaveMessageInfo yapısının işaretçisi.
[in] msgBuf
İletiyi içeren PacketBuffer nesnesinin işaretçisi.

NetworkType

 NetworkType

Weave bağlantı nesnesinin ağ türü.

Özellikler
kNetworkType_BLE

BDE 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, Weave mesajı alınırken hatayla karşılaşıldığında çağrılan uygulama geri çağırma işlevidir.

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

Eyalet

 State

Weave bağlantı nesnesinin durumu.

Özellikler
kState_Closed

Bağlantının kapatıldığı durum.

kState_Connected

Bağlantının kurulduğu zamanı gösterir.

kState_Connecting

Bağlantı girişiminde bulunulan durum.

kState_EstablishingSession

Güvenli oturumun kurulmakta olduğunu belirtir.

kState_ReadyToConnect

Weave bağlantısı başlatıldıktan sonraki durum.

kState_Resolving

DNS adı çözümlemesinin gerçekleştirildiği durum.

kState_SendShutdown

Bağlantının kapatıldığı andaki durum.

TunneledMsgReceiveFunct

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

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

Ayrıntılar
Parametreler
[in] con
WeaveConnection nesnesinin işaretçisi.
[in] msgInfo
WeaveMessageInfo nesnesinin işaretçisi.
[in] msgBuf
Alınan tünelli paketi içeren PacketBuffer nesnesine işaret eden.

Herkese açık özellikler

AppState

void * AppState

Uygulamaya özel durum nesnesinin işaretçisi.

AuthMode

WeaveAuthMode AuthMode

[SALT OKUNUR] Bağlantı için varsayılan şifreleme anahtarlarını oluşturmak üzere kullanılan kimlik doğrulama modu.

DefaultEncryptionType

uint8_t DefaultEncryptionType

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

DefaultKeyId

uint16_t DefaultKeyId

İleti gönderilirken kullanılacak varsayılan şifreleme anahtarı.

MessageLayer

WeaveMessageLayer * MessageLayer

[SALT OKUNUR] İlişkilendirilmiş WeaveMessageLayer nesnesi.

NetworkType

uint8_t NetworkType

[SALT OKUNUR] İlişkili uç noktasının ağ türü.

OnConnectionClosed

ConnectionClosedFunct OnConnectionClosed

OnConnectionComplete

ConnectionCompleteFunct OnConnectionComplete

OnMessageReceived

MessageReceiveFunct OnMessageReceived

OnReceiveError

ReceiveErrorFunct OnReceiveError

OnTunneledMessageReceived

TunneledMsgReceiveFunct OnTunneledMessageReceived

PeerAddr

IPAddress PeerAddr

[READ ONLY] Eş düğümün IP adresi.

PeerNodeId

uint64_t PeerNodeId

[READ ONLY] Eşin düğüm tanımlayıcısı.

PeerPort

uint16_t PeerPort

[READ ONLY] Eş düğümün bağlantı noktası numarası.

ReceiveEnabled

bool ReceiveEnabled

[SALT OKUNUR] Alma özelliği etkinse doğru, aksi takdirde yanlış değerini alır.

SendDestNodeId

bool SendDestNodeId

Bu bağlantı aracılığıyla gönderilen tüm mesajların açıkça kodlanmış bir hedef düğüm tanımlayıcısı içermesi gerekiyorsa doğru değerini, aksi takdirde false (yanlış) değerini alır.

SendSourceNodeId

bool SendSourceNodeId

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

Eyalet

uint8_t State

[READ ONLY] WeaveConnection nesnesinin durumu.

Herkese açık işlevler

İptal et

void Abort(
  void
)

TCP veya BLE tabanlı WeaveConnection'ı kontrolsüz olmayan bir şekilde kapatarak eşe giden veya eşten giden tüm verileri siler.

Abort() çağrısı, temel bağlantıyı hemen sonlandırır. Bu noktadan sonra WeaveConnection nesnesi artık iletişim için kullanılamaz.

Abort() çağrısı yapıldığında, yöntem çağrıldığında bağlantının açık/etkin olup olmamasına bakılmaksızın WeaveConnection nesnesiyle ilişkili referans sayısı azalır. Bu durum, referans sayısının sıfıra ulaşmasıyla sonuçlanırsa bağlantı nesnesiyle ilişkilendirilen kaynaklar serbest bırakılır. Böyle bir durumda, uygulamanın nesneyle başka bir etkileşimi olmamalıdır.

Ayrıca bkz:
Shutdown(), Abort(), AddRef() ve Release().

AddRef

void AddRef(
  void
)

WeaveConnection nesnesine bir referans ayırın.

AddRef() yöntemi, WeaveConnection nesnesiyle ilişkilendirilen referans sayısını artırır. Uygulama, her AddRef() çağrısı için Release(), Close() veya Abort() çağrısına karşılık gelen bir çağrı yapmaktan sorumludur.

Kapat

WEAVE_ERROR Close(
  void
)

TCP veya BLE tabanlı WeaveConnection'ı engellemeyen bir kontrollü kapatma işlemi gerçekleştirir. Bu sayede, uzak ana makineye bağlantıyı sıfırladığımızı nazikçe bilgilendirmeden önce, giden tüm verileri iletir.

Bu yöntem, uygulama protokolü düzeyinde onaylanmamış giden iletilerin uzaktaki eş tarafından alındığına dair güçlü bir garanti vermez. Hem TCP hem de BDE için temel protokol yığını, bağlantıyı sıfırlamadan önce bekleyen tüm giden verileri teslim etmek için elinden gelenin en iyisini yapar. TCP için, bağlantı kapatılmadan önce taşıma katmanında ileti alma onayı gerekiyorsa Kapat() işlevinden önce Shutdown() kullanılmalıdır. BLE bağlantıları, Shutdown() eşdeğeri sağlamaz.

BDE tabanlı bağlantılarda Close(), WeaveConnection'ı kapatır ve hemen geri döner. Ancak, tüm giden veriler gönderilene kadar temel BLEEndPoint nesnesinin beklemeye neden olabilir. Bu, Weave Blelayer içinde bulunan Weave over BLE aktarım protokolü uygulamasının bir yan etkisidir.

Kapat() çağrıldıktan sonra WeaveConnection nesnesi artık iletişim için kullanılamaz.

Close() çağrısının yapılması, yöntem çağrıldığı sırada bağlantının açık/etkin olup olmadığına bakılmaksızın, WeaveConnection nesnesiyle ilişkili referans sayısını azaltır. Bu durum, referans sayısının sıfıra ulaşmasıyla sonuçlanırsa bağlantı nesnesiyle ilişkilendirilen kaynaklar serbest bırakılır. Böyle bir durumda, uygulamanın nesneyle başka bir etkileşimi olmamalıdır.

Ayrıntılar
İadeler
Koşulsuz olarak WEAVE_NO_ERROR.
Ayrıca bkz:
Shutdown(), Abort(), AddRef() ve Release().

Kapat

WEAVE_ERROR Close(
  bool suppressCloseLog
)

TCP veya BLE tabanlı WeaveConnection'ı engellemeyen bir kontrollü kapatma işlemi gerçekleştirir. Bu sayede, uzak ana makineye bağlantıyı sıfırladığımızı nazikçe bilgilendirmeden önce, giden tüm verileri iletir.

Bu yöntem, uygulama protokolü düzeyinde onaylanmamış giden iletilerin uzaktaki eş tarafından alındığına dair güçlü bir garanti vermez. Hem TCP hem de BDE için temel protokol yığını, bağlantıyı sıfırlamadan önce bekleyen tüm giden verileri teslim etmek için elinden gelenin en iyisini yapar. TCP için, bağlantı kapatılmadan önce taşıma katmanında ileti alma onayı gerekiyorsa Kapat() işlevinden önce Shutdown() kullanılmalıdır. BLE bağlantıları, Shutdown() eşdeğeri sağlamaz.

BDE tabanlı bağlantılarda Close(), WeaveConnection'ı kapatır ve hemen geri döner. Ancak, tüm giden veriler gönderilene kadar temel BLEEndPoint nesnesinin beklemeye neden olabilir. Bu, Weave Blelayer içinde bulunan Weave over BLE aktarım protokolü uygulamasının bir yan etkisidir.

Kapat() çağrıldıktan sonra WeaveConnection nesnesi artık iletişim için kullanılamaz.

Close() çağrısının yapılması, yöntem çağrıldığı sırada bağlantının açık/etkin olup olmadığına bakılmaksızın, WeaveConnection nesnesiyle ilişkili referans sayısını azaltır. Bu durum, referans sayısının sıfıra ulaşmasıyla sonuçlanırsa bağlantı nesnesiyle ilişkilendirilen kaynaklar serbest bırakılır. Böyle bir durumda, uygulamanın nesneyle başka bir etkileşimi olmamalıdır.

Ayrıntılar
Parametreler
[in] suppressCloseLog
günlüklerin atlanması gerekiyorsa true, aksi takdirde false [yanlış] değerini alır.
İadeler
Koşulsuz olarak WEAVE_NO_ERROR.
Ayrıca bkz:
Shutdown(), Abort(), AddRef() ve Release().

Bağlan

WEAVE_ERROR Connect(
  uint64_t peerNodeId
)

Belirtilen düğüm tanımlayıcısından türetilmiş bir yapı IP adresi kullanarak Weave düğümüne bağlanın.

Ayrıntılar
Parametreler
[in] peerNodeId
Eşin düğüm tanımlayıcısı.
Değerleri Döndür
WEAVE_NO_ERROR
başarılı bir şekilde başlatılmasına ihtiyaç duyabilirler.
WEAVE_ERROR_INCORRECT_STATE
WeaveConnection durumunun yanlış olup olmadığını kontrol edin.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
istenen kimlik doğrulama modunun desteklenmediğini gösterir.
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
)

Düğüm tanımlayıcısı ve/veya IP adresi kullanarak Weave 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şin IP adresi (bilinmiyorsa IPAddress::Any).
[in] peerPort
Eşin isteğe bağlı bağlantı noktası; varsayılan olarak WEAVE_PORT değerine ayarlanır.
Değerleri Döndür
WEAVE_NO_ERROR
başarılı bir şekilde başlatılmasına ihtiyaç duyabilirler.
WEAVE_ERROR_INCORRECT_STATE
WeaveConnection durumunun yanlış olup olmadığını kontrol edin.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
istenen kimlik doğrulama modunun desteklenmediğini gösterir.
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 arayüzdeki düğüm tanımlayıcısı ve/veya IP adresi kullanarak Weave düğüme 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şin IP adresi (bilinmiyorsa IPAddress::Any).
[in] peerPort
Eşin isteğe bağlı bağlantı noktası; varsayılan olarak WEAVE_PORT değerine ayarlanır.
[in] intf
Eş düğüme bağlanmak için kullanılacak isteğe bağlı arayüz; varsayılan olarak INET_NULL_INTERFACEID biçimindedir.
Değerleri Döndür
WEAVE_NO_ERROR
başarılı bir şekilde başlatılmasına ihtiyaç duyabilirler.
WEAVE_ERROR_INCORRECT_STATE
WeaveConnection durumunun yanlış olup olmadığını kontrol edin.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
istenen kimlik doğrulama modunun desteklenmediğini gösterir.
WEAVE_ERROR_INVALID_ADDRESS
düğüm tanımlayıcısından hedef adres çı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 defaultPort
)

Düğüm tanımlayıcısı ve/veya dize ana makine adı kullanarak Weave düğümüne bağlanın.

Sağlanırsa peerAddr şunlardan 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 sonlu bir C dizesi olarak eşin adresi veya ana makine adı.
[in] defaultPort
peerAddr dizesinde belirtilmemişse, bağlantı için kullanılacak isteğe bağlı varsayılan bağlantı noktası.
Değerleri Döndür
WEAVE_NO_ERROR
başarılı bir şekilde başlatılmasına ihtiyaç duyabilirler.
WEAVE_ERROR_INCORRECT_STATE
WeaveConnection durumunun yanlış olup olmadığını kontrol edin.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
istenen kimlik doğrulama modunun desteklenmediğini gösterir.
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
)

Düğüm tanımlayıcısı ve/veya dize eş adresi kullanarak Weave düğümüne bağlanın.

Sağlanırsa peerAddr şunlardan 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 sonlandırılmamış bir C dizesi olarak eşin adresi veya ana makine adı.
[in] peerAddrLen
peerAddr dizesinin uzunluğu.
[in] defaultPort
peerAddr dizesinde belirtilmemişse, bağlantı için kullanılacak isteğe bağlı varsayılan bağlantı noktası.
Değerleri Döndür
WEAVE_NO_ERROR
başarılı bir şekilde başlatılmasına ihtiyaç duyabilirler.
WEAVE_ERROR_INCORRECT_STATE
WeaveConnection durumunun yanlış olup olmadığını kontrol edin.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
istenen kimlik doğrulama modunun desteklenmediğini gösterir.
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
)

Düğüm tanımlayıcısı ve/veya dize eş adresi kullanarak Weave düğümüne bağlanın.

Sağlanırsa peerAddr şunlardan 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 sonlandırılmamış bir C dizesi olarak eşin adresi veya ana makine adı.
[in] peerAddrLen
peerAddr dizesinin uzunluğu.
[in] dnsOptions
Ana makine adı çözümlemesinin nasıl gerçekleştirileceğini kontrol eden bir tam sayı 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 belirtilmemişse, bağlantı için kullanılacak isteğe bağlı varsayılan bağlantı noktası.
Değerleri Döndür
WEAVE_NO_ERROR
başarılı bir şekilde başlatılmasına ihtiyaç duyabilirler.
WEAVE_ERROR_INCORRECT_STATE
WeaveConnection durumunun yanlış olup olmadığını kontrol edin.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
istenen kimlik doğrulama modunun desteklenmediğini gösterir.
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
)

Düğüm tanımlayıcısı ve/veya ana makine adı ve bağlantı noktası listesini kullanarak Weave 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 makine adlarının ve bağlantı noktalarının listesi.
[in] intf
Eş düğüme bağlanmak için kullanılacak isteğe bağlı arayüz; varsayılan olarak INET_NULL_INTERFACEID biçimindedir.
Değerleri Döndür
WEAVE_NO_ERROR
başarılı bir şekilde başlatılmasına ihtiyaç duyabilirler.
WEAVE_ERROR_INCORRECT_STATE
WeaveConnection durumunun yanlış olup olmadığını kontrol edin.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
istenen kimlik doğrulama modunun desteklenmediğini gösterir.
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
)

Düğüm tanımlayıcısı ve/veya ana makine adı ve bağlantı noktası listesini kullanarak Weave 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 makine adlarının ve bağlantı noktalarının listesi.
[in] dnsOptions
Ana makine adı çözümlemesinin nasıl gerçekleştirileceğini kontrol eden bir tam sayı değeri. Değer, #::nl::Inet::DNSOptions numaralandırmasındaki bir veya daha fazla değerin VEYA değeri olmalıdır.
[in] intf
Eş düğüme bağlanmak için kullanılacak isteğe bağlı arayüz; varsayılan olarak INET_NULL_INTERFACEID biçimindedir.
Değerleri Döndür
WEAVE_NO_ERROR
başarılı bir şekilde başlatılmasına ihtiyaç duyabilirler.
WEAVE_ERROR_INCORRECT_STATE
WeaveConnection durumunun yanlış olup olmadığını kontrol edin.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
istenen kimlik doğrulama modunun desteklenmediğini gösterir.
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ı.

DisableKeepAlive

WEAVE_ERROR DisableKeepAlive(
  void
)

WeaveConnection::DisableKeepAlive.

Temel TCP bağlantısında TCP keepalive kontrollerini devre dışı bırak.

Not: Bu yöntem yalnızca TCP bağlantısı destekli Weave bağlantısında çağrılabilir. Bu yöntem yalnızca bağlantı, gönderime izin veren bir durumda olduğunda çağrılabilir.

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

Ayrıntılar
Değerleri Döndür
WEAVE_NO_ERROR
.
WEAVE_ERROR_NOT_IMPLEMENTED
Bu işlev uyumsuz bir uç nokta (ör. BDE) kullanır.
WEAVE_ERROR_INCORRECT_STATE
WeaveConnection nesnesi ileti göndermek için doğru durumda değilse.
other
TCP uç noktası Keepalive işlemiyle ilgili inet katmanı hataları.

DisableReceive

void DisableReceive(
  void
)

Bu WeaveConnection üzerinden almayı devre dışı bırakın.

Bu yöntem, uygulamanın TCP bağlantısı üzerinden gelen verileri almaya hazır olmadığını belirtmek için kullanılır. Alma işlemini yeniden etkinleştirmek için uygulamanın, WeaveConnection'ın uygun geri çağırmaları başlatarak alınan verileri aktarmasına izin vermek üzere EnableReceive() çağrısını yapması gerekir.

Şu kaynakları da inceleyin:
EnableReceive()

EnableKeepAlive

WEAVE_ERROR EnableKeepAlive(
  uint16_t interval,
  uint16_t timeoutCount
)

WeaveConnection::EnableKeepAlive.

Temel TCP bağlantısında TCP keepalive kontrollerini etkinleştirin.

Not: -Bu yöntem yalnızca TCP bağlantısı destekli bir Weave bağlantısında çağrılabilir. -Bu yöntem yalnızca bağlantı, gönderime izin veren bir durumda olduğunda çağrılabilir.

Ayrıntılar
Parametreler
[in] interval
Keepalive kontrolleri arasındaki aralık (saniye cinsinden). Bu değer aynı zamanda, gönderilen son veri paketi ile ilk keepalive denetiminin iletimi arasındaki süreyi de kontrol eder.
[in] timeoutCount
Bağlantının başarısız olduğu kabul edilmeden önceki maksimum onaylanmamış kontrol sayısı.

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

Ayrıntılar
Değerleri Döndür
WEAVE_NO_ERROR
tek bir kodla çalışır.
WEAVE_ERROR_NOT_IMPLEMENTED
Bu işlev uyumsuz bir uç nokta (ör. BDE) kullanır.
WEAVE_ERROR_INCORRECT_STATE
WeaveConnection nesnesi ileti göndermek için doğru durumda değilse.
other
TCP uç noktası Keepalive işlemiyle ilgili inet katmanı hataları.

EnableReceive

void EnableReceive(
  void
)

Bu WeaveConnection üzerinden almayı etkinleştirin.

Bu yöntem uygulama tarafından WeaveConnection nesnesine TCP bağlantısı üzerinden gelen verileri almaya hazır olduğunu belirtmek için kullanılır.

Şu kaynakları da inceleyin:
DisableReceive()

GetPeerAddressInfo

WEAVE_ERROR GetPeerAddressInfo(
  IPPacketInfo & addrInfo
)

Eşin IP adresi bilgisini alın.

Ayrıntılar
Parametreler
[out] addrInfo
IPPacketInfo nesnesine başvuru.
Değerleri Döndür
WEAVE_NO_ERROR
Başarıya merhaba.
WEAVE_ERROR_NOT_IMPLEMENTED
Bu işlev, uyumsuz bir uç nokta (ör. BDE) kullanır.

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ılması gereken arabelleğe işaret eden bir işaret. Sağlanan arabellek en az kGetPeerDescription_MaxLength kadar büyük olmalıdır. Daha küçük bir arabellek sağlanırsa dize, sığacak şekilde kısaltılır. Çıkış, tüm durumlarda bir NUL sonlandırma karakteri içerir.
[in] bufSize
Tampon ile işaret edilen tamponun boyutu.

GetTCPEndPoint

TCPEndPoint * GetTCPEndPoint(
  void
) const 

IsIncoming

bool IsIncoming(
  void
) const 

LogId

uint16_t LogId(
  void
) const 

Serbest bırak

void Release(
  void
)

WeaveConnection nesnesindeki referans sayısını azaltın.

Release() yöntemi, WeaveConnection nesnesiyle ilişkilendirilen referans sayısını azaltır. Bu durum, 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. Böyle bir durumda, uygulamanın nesneyle başka bir etkileşimi olmamalıdır.

ResetUserTimeout

WEAVE_ERROR ResetUserTimeout(
  void
)

WeaveConnection::ResetUserTimeout'ı seçin.

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

Not: -Bu yöntem yalnızca TCP bağlantısı destekli bir Weave bağlantısında çağrılabilir. -Bu yöntem yalnızca bağlantı, gönderime izin veren bir durumda olduğunda çağrılabilir.

-Bağlantıda kullanıcı zaman aşımı ayarlanmadıysa bu yöntem hiçbir şey yapmaz.

Ayrıntılar
Değerleri Döndür
WEAVE_NO_ERROR
bağlantıda TCP kullanıcı zaman aşımı başarıyla sıfırlandığında.
WEAVE_ERROR_NOT_IMPLEMENTED
Bu işlev uyumsuz bir uç nokta (ör. BDE) kullanır.
WEAVE_ERROR_INCORRECT_STATE
WeaveConnection nesnesi ileti göndermek için doğru durumda değilse.
other
TCP kullanıcı zaman aşımının TCP uç noktası sıfırlamasıyla ilgili inet katmanı hataları.

SendMessage

WEAVE_ERROR SendMessage(
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

Oluşturulan bir bağlantı üzerinden Weave mesajı gönderin.

Ayrıntılar
Parametreler
[in] msgInfo
WeaveMessageInfo nesnesinin işaretçisi.
[in] msgBuf
Gönderilecek paketi tutan PacketBuffer nesnesinin işaretçisi.
Değerleri Döndür
WEAVE_NO_ERROR
gönderebilmek için de bir yöntem değildir.
WEAVE_ERROR_INCORRECT_STATE
WeaveConnection nesnesi ileti göndermek için doğru durumda değilse.
WEAVE_ERROR_INVALID_DESTINATION_NODE_ID
hedef düğüm tanımlayıcısı belirtilmediyse
WEAVE_ERROR_SENDING_BLOCKED
mesaj gönderilemeyecek kadar uzunsa
other
Belirli uç nokta gönderme işlemleriyle ilgili inet katmanı hataları.

SendTunneledMessage

WEAVE_ERROR SendTunneledMessage(
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

Weave bağlantısı üzerinden Tünel paket gönderme işlevi.

Oluşturulan bir bağlantı üzerinden tünelli Weave mesajı gönderin.

Ayrıntılar
Parametreler
[in] msgInfo
WeaveMessageInfo nesnesinin işaretçisi.
[in] msgBuf
Gönderilecek paketi tutan PacketBuffer nesnesinin işaretçisi.
Değerleri Döndür
WEAVE_NO_ERROR
gönderebilmek için de bir yöntem değildir.
WEAVE_ERROR_INCORRECT_STATE
WeaveConnection nesnesi ileti göndermek için doğru durumda değilse.
WEAVE_ERROR_INVALID_DESTINATION_NODE_ID
hedef düğüm tanımlayıcısı belirtilmediyse
WEAVE_ERROR_SENDING_BLOCKED
mesaj gönderilemeyecek kadar uzunsa
other
Belirli uç nokta gönderme işlemleriyle ilgili inet katmanı hataları.

SetConnectTimeout

void SetConnectTimeout(
  const uint32_t connTimeoutMsecs
)

Bağlanma işleminin başarılı olması veya 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
zaman aşımını milisaniye cinsinden belirtir.
Değerleri Döndür
WEAVE_NO_ERROR
bağlantı için boşta kalma zaman aşımının başarıyla ayarlanmasına bağlıdır.
WEAVE_ERROR_INCORRECT_STATE
WeaveConnection nesnesi ileti almak için doğru durumda değilse.

SetIncoming

void SetIncoming(
  bool val
)

SetUserTimeout

WEAVE_ERROR SetUserTimeout(
  uint32_t userTimeoutMillis
)

WeaveConnection::SetUserTimeout girin.

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

Değer 0'dan büyük olduğunda, TCP karşılık gelen 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 bilgi için RFC 5482'ye bakın.

Ayrıntılar
Parametreler
[in] userTimeoutMillis
TCP kullanıcı zaman aşımı değeri (milisaniye cinsinden).

Not: -Bu yöntem yalnızca TCP bağlantısı destekli bir Weave bağlantısında çağrılabilir. -Bu yöntem yalnızca bağlantı, gönderime izin veren bir durumda olduğunda ç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
Değerleri Döndür
WEAVE_NO_ERROR
bağlantıda TCP kullanıcı zaman aşımı başarıyla ayarlanmasına neden olur.
WEAVE_ERROR_NOT_IMPLEMENTED
Bu işlev uyumsuz bir uç nokta (ör. BDE) kullanır.
WEAVE_ERROR_INCORRECT_STATE
WeaveConnection nesnesi ileti göndermek için doğru durumda değilse.
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önderilmesini ve alınmasını sağlayarak kontrollü bir TCP gönderme işlemi gerçekleştirir.

TCP uygulamalarının çoğunda (ancak tümünde değil) gönderme işleminin alınması, uzak ana makinenin bağlantı tarafını da kapatmasına ve bunun sonucunda bağlantının kapatılmasına neden olur. Ardından gelen Close() çağrısı, WeaveConnection'ı sonlandırır.

Ayrıntılar
Değerleri Döndür
WEAVE_NO_ERROR
TCP bağlantısı başarıyla kapatıldığında kontrol edilir.
WEAVE_ERROR_NOT_IMPLEMENTED
Bu işlev uyumsuz bir uç nokta (ör. BDE) kullanır.
WEAVE_ERROR_INCORRECT_STATE
WeaveConnection nesnesi doğru durumda değilse kapatma işlemini başlatmadan önce kontrol edin.
other
Belirli uç nokta kapatma işlemleriyle ilgili inet katmanı hataları.
Şu konulara da göz atın:
Close() ve Abort().