nl::Dokuma::WeaveConnection

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

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

Özet

Başka bir Weave düğümüyle bir 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, bir bağlantı kapatıldığında çağrılan uygulama geri çağırmadır.
ConnectionCompleteFunct)(WeaveConnection *con, WEAVE_ERROR conErr) Typedef
void(*
Bu işlev, bağlantı kurulumu tamamlandığında çağrılan uygulama geri çağırmadır.
MessageReceiveFunct)(WeaveConnection *con, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf) Typedef
void(*
Bu işlev, Weave bağlantısı üzerinden bir mesaj alındığında çağrılan uygulama geri çağırmadı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, bir Weave mesajı alınırken hatayla karşılaşan uygulama geri çağırma işlemidir.
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 Tünel veri paketi alındıktan sonra çağrılan uygulama geri çağırmadır.

Herkese açık özellikler

AppState
void *
Uygulamaya özel durum nesnesine işaret eden öğe
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önderirken kullanılacak varsayılan şifreleme anahtarıdır.
MessageLayer
[SALT OKUNUR] İlişkili WeaveMessageLayer nesnesi.
NetworkType
uint8_t
[SALT OKUNUR] İlişkili uç noktanın ağ türü.
OnConnectionClosed
OnConnectionComplete
OnMessageReceived
OnReceiveError
OnTunneledMessageReceived
PeerAddr
IPAddress
[SALT OKUNUR] Benzer düğümün IP adresi.
PeerNodeId
uint64_t
[SALT OKUNUR] Benzerin düğüm tanımlayıcısı.
PeerPort
uint16_t
[SALT OKUNUR] Eş düğümün bağlantı noktası numarası.
ReceiveEnabled
bool
[SALT OKUNUR] Alma seçeneği etkinse doğru, aksi takdirde yanlış değerini alır.
SendDestNodeId
bool
Bu bağlantı üzerinden gönderilen tüm iletilerde açık şekilde kodlanmış bir hedef düğüm tanımlayıcısı varsa doğru, aksi takdirde yanlış değerine ayarlanır.
SendSourceNodeId
bool
Bu bağlantı üzerinden gönderilen tüm iletilerde açık şekilde kodlanmış bir kaynak düğüm tanımlayıcısı varsa doğru, aksi takdirde yanlış değerine ayarlanır.
State
uint8_t
[SALT OKUNUR] WeaveConnection nesnesinin durumu.

Herkese açık işlevler

Abort(void)
void
TCP veya BLE tabanlı WeaveConnection tabanlı, eşlere aktarım sırasındaki benzerler arasında herhangi bir veri aktarımının kontrolsüz şekilde kapatılmasını sağlar.
AddRef(void)
void
WeaveConnection nesnesine bir referans ayırın.
Close(void)
TCP veya BLE tabanlı WeaveConnection temelli, engellemeye kapalı ve zarif bir şekilde kapanır.
Close(bool suppressCloseLog)
TCP veya BLE tabanlı WeaveConnection temelli, engellemeye kapalı ve zarif bir şekilde kapanır.
Connect(uint64_t peerNodeId)
Belirtilen düğüm tanımlayıcısından elde edilen bir kumaş IP adresi kullanarak bir 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ını ve/veya IP adresini kullanarak Weave düğümüne 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ını 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ını 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ını 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 ayarını almayı devre dışı bırak.
EnableKeepAlive(uint16_t interval, uint16_t timeoutCount)
EnableReceive(void)
void
Bu WeaveConnection değerini almayı etkinleştirin.
GetPeerAddressInfo(IPPacketInfo & addrInfo)
Eşin IP adresi bilgilerini alın.
GetPeerDescription(char *buf, size_t bufSize) const
void
Bağlantıyla ilişkilendirilen 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)
Kurulu bir bağlantı üzerinden Weave mesajı gönderme.
SendTunneledMessage(WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
Weave bağlantısı üzerinden Tünel paket gönderme işlevi.
SetConnectTimeout(const uint32_t connTimeoutMsecs)
void
Ağ'ın başarılı olması veya hata döndürmesi için zaman aşımı ayarlayın.
SetIdleTimeout(uint32_t timeoutMS)
Temel ağ katmanı bağlantısındaki 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 kontrollü bir TCP gönderme işlemi gerçekleştirir.

Herkese açık türler

58'de

 @58
Özellikler
kGetPeerDescription_MaxLength

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

BağlantıKapalıFunct

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

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

Ayrıntılar
Parametreler
[in] con
WeaveConnection nesnesine işaret eden bir nesnedir.
[in] conErr
Bağlantı kapatıldığında WEAVE_ERROR ile karşılaşıldı.

Bağlantı Tamamlandı İşlevi

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

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

Ayrıntılar
Parametreler
[in] con
WeaveConnection nesnesine işaret eden bir nesnedir.
[in] conErr
Bağlantı kurulumu sırasında WEAVE_ERROR ile karşılaşıldı.

MesajAlma Fonu

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

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

Ayrıntılar
Parametreler
[in] con
WeaveConnection nesnesine işaret eden bir nesnedir.
[in] msgInfo
İletiyle ilgili bilgileri içeren WeaveMessageInfo yapısının işaretçisi.
[in] msgBuf
Mesajı tutan PacketBuffer nesnesinin işaretçisi.

AğTürü

 NetworkType

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

Özellikler
kNetworkType_BLE

BLE ağ türü.

kNetworkType_IP

TCP/IP ağı türü.

kNetworkType_Unassigned

Atanmamış ağ türü.

Hata AlmaFunct

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

Bu işlev, bir Weave mesajı alınırken hatayla karşılaşan uygulama geri çağırma işlemidir.

Ayrıntılar
Parametreler
[in] con
WeaveConnection nesnesine işaret eden bir nesnedir.
[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ı kapatıldığında durumu belirtin.

kState_Connected

Bağlantı kurulduğundaki durum.

kState_Connecting

Bağlantının yapılmaya çalışıldığı durum.

kState_EstablishingSession

Güvenli bir oturum kurulduğunda belirtilen durum.

kState_ReadyToConnect

Weave bağlantısının başlatılmasından sonraki durum.

kState_Resolving

DNS adı çözümlemenin gerçekleştirildiği zamanı belirtin.

kState_SendShutdown

Bağlantı kapatıldığında durumu belirtin.

TunneledMsgGetFunct

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

Bu işlev, Weave bağlantısı üzerinden Tünel veri paketi alındıktan sonra çağrılan uygulama geri çağırmadır.

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

Herkese açık özellikler

Uygulama Durumu

void * AppState

Uygulamaya özel durum nesnesine işaret eden öğe

Kimlik Doğrulama Modu

WeaveAuthMode AuthMode

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

VarsayılanŞifrelemeTürü

uint8_t DefaultEncryptionType

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

VarsayılanAnahtar Kimliği

uint16_t DefaultKeyId

İleti gönderirken kullanılacak varsayılan şifreleme anahtarıdır.

Mesaj Katmanı

WeaveMessageLayer * MessageLayer

[SALT OKUNUR] İlişkili WeaveMessageLayer nesnesi.

AğTürü

uint8_t NetworkType

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

OnConnectionClosed

ConnectionClosedFunct OnConnectionClosed

Tam Bağlantı

ConnectionCompleteFunct OnConnectionComplete

OnMessageReceived

MessageReceiveFunct OnMessageReceived

Hata Alma

ReceiveErrorFunct OnReceiveError

OnTunneledMessageReceived

TunneledMsgReceiveFunct OnTunneledMessageReceived

Eşler Arası

IPAddress PeerAddr

[SALT OKUNUR] Benzer düğümün IP adresi.

Eş NodeId

uint64_t PeerNodeId

[SALT OKUNUR] Benzerin düğüm tanımlayıcısı.

Eş Bağlantı Noktası

uint16_t PeerPort

[SALT OKUNUR] Eş düğümün bağlantı noktası numarası.

AlmaEtkin

bool ReceiveEnabled

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

SendDestNodeId

bool SendDestNodeId

Bu bağlantı üzerinden gönderilen tüm iletilerde açık şekilde kodlanmış bir hedef düğüm tanımlayıcısı varsa doğru, aksi takdirde yanlış değerine ayarlanır.

SendSourceNodeId

bool SendSourceNodeId

Bu bağlantı üzerinden gönderilen tüm iletilerde açık şekilde kodlanmış bir kaynak düğüm tanımlayıcısı varsa doğru, aksi takdirde yanlış değerine ayarlanır.

Eyalet

uint8_t State

[SALT OKUNUR] WeaveConnection nesnesinin durumu.

Herkese açık işlevler

İptal et

void Abort(
  void
)

TCP veya BLE tabanlı WeaveConnection tabanlı, eşlere aktarım sırasındaki benzerler arasında herhangi bir veri aktarımının kontrolsüz şekilde kapatılmasını sağlar.

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

Abort() çağrısı yapıldığında WeaveConnection nesnesiyle ilişkili referans sayısı, yöntemin çağrıldığı sırada bağlantının açık/etkin olup olmadığına bakılmaz. Bu işlem, referans sayısının sıfıra ulaşmasına neden olursa bağlantı nesnesiyle ilişkilendirilen kaynaklar serbest bırakılır. Böyle bir durumda, uygulamanın nesneyle başka etkileşimi olmamalıdır.

Şu makaleyi de inceleyebilirsiniz:
Shutdown(), Abort(), AddRef() ve Release().

Referans Ekle

void AddRef(
  void
)

WeaveConnection nesnesine bir referans ayırın.

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

Kapat

WEAVE_ERROR Close(
  void
)

TCP veya BLE tabanlı WeaveConnection temelli, engellemeye kapalı ve zarif bir şekilde kapanır.

Bu yöntem, uzaktaki eş tarafından uygulama protokolü düzeyinde onaylanmamış tüm giden iletilerin alındığına dair güçlü bir garanti vermez. Hem TCP hem de BLE için alttaki protokol yığını, bağlantıyı sıfırlamadan önce bekleyen giden verileri teslim etmek üzere elinden geleni yapar. TCP için bağlantı kapanmadan önce bir aktarım katmanı ileti makbuzu onayı gerekiyorsa Close() öncesinde Shutdown() kullanılmalıdır. BDE bağlantıları Shutdown() eşdeğeri sağlamaz.

BLE tabanlı bağlantılar için Close(), WeaveConnection anahtarını kapatır ve hemen geri döner. Ancak giden tüm veriler gönderilene kadar alttaki BLEEndPoint nesnesinin oymasına neden olabilir. Bu da Weave Blelayer'da yer alan Weave BLE taşıma protokolü uygulamasının yan etkisidir.

Close() yöntemi çağrıldıktan sonra, daha fazla iletişim için WeaveConnection nesnesi kullanılamaz.

Close() işlevinin çağrı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şkilendirilen referans sayısını azaltır. Bu işlem, referans sayısının sıfıra ulaşmasına neden olursa bağlantı nesnesiyle ilişkilendirilen kaynaklar serbest bırakılır. Böyle bir durumda, uygulamanın nesneyle başka etkileşimi olmamalıdır.

Ayrıntılar
İadeler
Koşulsuz olarak WEAVE_NO_ERROR.
Şu makaleyi de inceleyebilirsiniz:
Shutdown(), Abort(), AddRef() ve Release().

Kapat

WEAVE_ERROR Close(
  bool suppressCloseLog
)

TCP veya BLE tabanlı WeaveConnection temelli, engellemeye kapalı ve zarif bir şekilde kapanır.

Bu yöntem, uzaktaki eş tarafından uygulama protokolü düzeyinde onaylanmamış tüm giden iletilerin alındığına dair güçlü bir garanti vermez. Hem TCP hem de BLE için alttaki protokol yığını, bağlantıyı sıfırlamadan önce bekleyen giden verileri teslim etmek üzere elinden geleni yapar. TCP için bağlantı kapanmadan önce bir aktarım katmanı ileti makbuzu onayı gerekiyorsa Close() öncesinde Shutdown() kullanılmalıdır. BDE bağlantıları Shutdown() eşdeğeri sağlamaz.

BLE tabanlı bağlantılar için Close(), WeaveConnection anahtarını kapatır ve hemen geri döner. Ancak giden tüm veriler gönderilene kadar alttaki BLEEndPoint nesnesinin oymasına neden olabilir. Bu da Weave Blelayer'da yer alan Weave BLE taşıma protokolü uygulamasının yan etkisidir.

Close() yöntemi çağrıldıktan sonra, daha fazla iletişim için WeaveConnection nesnesi kullanılamaz.

Close() işlevinin çağrı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şkilendirilen referans sayısını azaltır. Bu işlem, referans sayısının sıfıra ulaşmasına neden olursa bağlantı nesnesiyle ilişkilendirilen kaynaklar serbest bırakılır. Böyle bir durumda, uygulamanın nesneyle başka etkileşimi olmamalıdır.

Ayrıntılar
Parametreler
[in] suppressCloseLog
atlanması gerekiyorsa true (doğru), aksi takdirde false (yanlış) değerini alır.
İadeler
Koşulsuz olarak WEAVE_NO_ERROR.
Şu makaleyi de inceleyebilirsiniz:
Shutdown(), Abort(), AddRef() ve Release().

Bağlan

WEAVE_ERROR Connect(
  uint64_t peerNodeId
)

Belirtilen düğüm tanımlayıcısından elde edilen bir kumaş IP adresi kullanarak bir Weave düğümüne bağlanın.

Ayrıntılar
Parametreler
[in] peerNodeId
Eşin düğüm tanımlayıcısı.
İade Değerleri
WEAVE_NO_ERROR
akranla kurulan bağlantının başarılı bir şekilde başlatılması için.
WEAVE_ERROR_INCORRECT_STATE
WeaveConnection durumu yanlışsa.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
yalnızca istediğiniz kimlik doğrulama modu destekleniyorsa.
WEAVE_ERROR_INVALID_ADDRESS
hedef adresin düğüm kimliğinden belirlenemediği durumlarda.
other
TCPEndPoint Connect işlemleri tarafından oluşturulan katman 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
Benzerin kNodeIdNotSpecified veya bilinmeyen 0 değerindeki düğüm tanımlayıcısı.
[in] peerAddr
Benzerin IP adresi, bilinmiyorsa IPAddress::Tümü.
[in] peerPort
Eşin isteğe bağlı bağlantı noktası, varsayılan olarak WEAVE_PORT değeridir.
İade Değerleri
WEAVE_NO_ERROR
akranla kurulan bağlantının başarılı bir şekilde başlatılması için.
WEAVE_ERROR_INCORRECT_STATE
WeaveConnection durumu yanlışsa.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
yalnızca istediğiniz kimlik doğrulama modu destekleniyorsa.
WEAVE_ERROR_INVALID_ADDRESS
hedef adresin düğüm kimliğinden belirlenemediği durumlarda.
other
TCPEndPoint Connect işlemleri tarafından oluşturulan katman 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ını ve/veya IP adresini kullanarak Weave düğümüne bağlanın.

Ayrıntılar
Parametreler
[in] peerNodeId
Benzerin kNodeIdNotSpecified veya bilinmeyen 0 değerindeki düğüm tanımlayıcısı.
[in] authMode
Eş için istenen kimlik doğrulama modu. Yalnızca CASE, DURUM ve Kimliği doğrulanmamış modlar desteklenir.
[in] peerAddr
Benzerin IP adresi, bilinmiyorsa IPAddress::Tümü.
[in] peerPort
Eşin isteğe bağlı bağlantı noktası, varsayılan olarak WEAVE_PORT değeridir.
[in] intf
Eş düğüme bağlanmak için kullanılacak isteğe bağlı arayüz, varsayılan olarak INET_NULL_INTERFACEID değerine sahiptir.
İade Değerleri
WEAVE_NO_ERROR
akranla kurulan bağlantının başarılı bir şekilde başlatılması için.
WEAVE_ERROR_INCORRECT_STATE
WeaveConnection durumu yanlışsa.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
yalnızca istediğiniz kimlik doğrulama modu destekleniyorsa.
WEAVE_ERROR_INVALID_ADDRESS
hedef adresin düğüm tanımlayıcısından çıkarılamaması durumunda.
other
TCPEndPoint Connect işlemleri tarafından oluşturulan katman 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ını kullanarak Weave düğümüne bağlanın.

Sağlanmışsa peerAddr şunlardan biri olabilir:


:

:

[]:

Ayrıntılar
Parametreler
[in] peerNodeId
Benzerin kNodeIdNotSpecified veya bilinmeyen 0 değerindeki düğüm tanımlayıcısı.
[in] authMode
Eş için istenen kimlik doğrulama modu. Yalnızca CASE, DURUM ve Kimliği doğrulanmamış modlar desteklenir.
[in] peerAddr
Eşin adresi veya ana makine adı, NULL feshedilmiş C dizesi olarak.
[in] defaultPort
PeerAddr dizesinde sağlanmazsa bağlantı için kullanılacak isteğe bağlı varsayılan bağlantı noktası.
İade Değerleri
WEAVE_NO_ERROR
akranla kurulan bağlantının başarılı bir şekilde başlatılması için.
WEAVE_ERROR_INCORRECT_STATE
WeaveConnection durumu yanlışsa.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
yalnızca istediğiniz kimlik doğrulama modu destekleniyorsa.
WEAVE_ERROR_INVALID_ADDRESS
hedef adresin düğüm kimliğinden belirlenemediği durumlarda.
other
TCPEndPoint Connect işlemleri tarafından oluşturulan katman 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ğlanmışsa peerAddr şunlardan biri olabilir:


:

:

[]:

Ayrıntılar
Parametreler
[in] peerNodeId
Benzerin kNodeIdNotSpecified veya bilinmeyen 0 değerindeki düğüm tanımlayıcısı.
[in] authMode
Eş için istenen kimlik doğrulama modu. Yalnızca CASE, DURUM ve Kimliği doğrulanmamış modlar desteklenir.
[in] peerAddr
Eşin NULL olmayan bir C dizesi olarak adresi veya ana makine adı.
[in] peerAddrLen
PeerAddr dizesinin uzunluğu.
[in] defaultPort
PeerAddr dizesinde sağlanmazsa bağlantı için kullanılacak isteğe bağlı varsayılan bağlantı noktası.
İade Değerleri
WEAVE_NO_ERROR
akranla kurulan bağlantının başarılı bir şekilde başlatılması için.
WEAVE_ERROR_INCORRECT_STATE
WeaveConnection durumu yanlışsa.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
yalnızca istediğiniz kimlik doğrulama modu destekleniyorsa.
WEAVE_ERROR_INVALID_ADDRESS
hedef adresin düğüm kimliğinden belirlenemediği durumlarda.
other
TCPEndPoint Connect işlemleri tarafından oluşturulan katman 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ğlanmışsa peerAddr şunlardan biri olabilir:


:

:

[]:

Ayrıntılar
Parametreler
[in] peerNodeId
Benzerin kNodeIdNotSpecified veya bilinmeyen 0 değerindeki düğüm tanımlayıcısı.
[in] authMode
Eş için istenen kimlik doğrulama modu. Yalnızca CASE, DURUM ve Kimliği doğrulanmamış modlar desteklenir.
[in] peerAddr
Eşin NULL olmayan bir C dizesi olarak 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ından bir veya daha fazla değerin VEYA değeri olmalıdır.
[in] defaultPort
PeerAddr dizesinde sağlanmazsa bağlantı için kullanılacak isteğe bağlı varsayılan bağlantı noktası.
İade Değerleri
WEAVE_NO_ERROR
akranla kurulan bağlantının başarılı bir şekilde başlatılması için.
WEAVE_ERROR_INCORRECT_STATE
WeaveConnection durumu yanlışsa.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
yalnızca istediğiniz kimlik doğrulama modu destekleniyorsa.
WEAVE_ERROR_INVALID_ADDRESS
hedef adresin düğüm kimliğinden belirlenemediği durumlarda.
other
TCPEndPoint Connect işlemleri tarafından oluşturulan katman katmanı hataları.

Bağlan

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

Düğüm tanımlayıcısını 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 değerine sahiptir.
İade Değerleri
WEAVE_NO_ERROR
akranla kurulan bağlantının başarılı bir şekilde başlatılması için.
WEAVE_ERROR_INCORRECT_STATE
WeaveConnection durumu yanlışsa.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
yalnızca istediğiniz kimlik doğrulama modu destekleniyorsa.
WEAVE_ERROR_INVALID_ADDRESS
hedef adresin düğüm kimliğinden belirlenemediği durumlarda.
other
TCPEndPoint Connect işlemleri tarafından oluşturulan katman 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ını 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ından 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 değerine sahiptir.
İade Değerleri
WEAVE_NO_ERROR
akranla kurulan bağlantının başarılı bir şekilde başlatılması için.
WEAVE_ERROR_INCORRECT_STATE
WeaveConnection durumu yanlışsa.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
yalnızca istediğiniz kimlik doğrulama modu destekleniyorsa.
WEAVE_ERROR_INVALID_ADDRESS
hedef adresin düğüm kimliğinden belirlenemediği durumlarda.
other
TCPEndPoint Connect işlemleri tarafından oluşturulan katman katmanı hataları.

Devre Dışı Bırak

WEAVE_ERROR DisableKeepAlive(
  void
)

WeaveConnection::DisableKeepAlive.

Alttaki TCP bağlantısında TCP keepalive sondalarını devre dışı bırakın.

Not: Bu yöntem yalnızca TCP bağlantısıyla desteklenen Weave bağlantısında çağrılabilir. Bu yöntem yalnızca bağlantı gönderilmeye izin veren bir durumdayken çağrılabilir.

Bağlantıda keepalive etkinleştirilmediyse bu yöntem işe yaramaz.

Ayrıntılar
İade Değerleri
WEAVE_NO_ERROR
Bu işlem, bağlantıdaki TCP keepalive kontrollerinin başarıyla devre dışı bırakılmasını sağladı.
WEAVE_ERROR_NOT_IMPLEMENTED
Bu işlev uyumsuz bir uç nokta (ör. BLE) kaldırın.
WEAVE_ERROR_INCORRECT_STATE
WeaveConnection nesnesi ileti göndermek için doğru durumda değilse.
other
TCP uç noktasıyla ilgili katman katmanı hataları keepalive işlemini etkinleştirir.

Alma Almayı Devre Dışı Bırak

void DisableReceive(
  void
)

Bu WeaveConnection ayarını almayı devre dışı bırak.

Bu yöntem, uygulama tarafından TCP bağlantısı üzerinden gelen verileri almaya hazır olmadığını belirtmek için kullanılır. Almayı yeniden etkinleştirmek için uygulamanın, WeaveConnection etiketinin uygun verileri geri çağırma yoluyla alınan verileri geri vermesini sağlamak üzere EnableGet() yöntemini çağırması gerekir.

Ayrıca bkz.
EnableGet()

Etkinleştirme ve İzleme

WEAVE_ERROR EnableKeepAlive(
  uint16_t interval,
  uint16_t timeoutCount
)

WeaveConnection::EnableKeepAlive.

Alttaki TCP bağlantısında TCP keepalive sondalarını etkinleştirin.

Not: Bu yöntem yalnızca TCP bağlantısıyla desteklenen Weave bağlantısında çağrılabilir. -Bu yöntem yalnızca bağlantı gönderilmeye izin veren bir durumdayken çağrılabilir.

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

-Keepalive aralığını veya zaman aşımı sayısını ayarlamak için bu yöntem birden fazla kez çağrılabilir.

Ayrıntılar
İade Değerleri
WEAVE_NO_ERROR
bağlantıda TCP keepalive durum kontrollerinin başarıyla etkinleştirilmesi hakkında.
WEAVE_ERROR_NOT_IMPLEMENTED
Bu işlev uyumsuz bir uç nokta (ör. BLE) kaldırın.
WEAVE_ERROR_INCORRECT_STATE
WeaveConnection nesnesi ileti göndermek için doğru durumda değilse.
other
TCP uç noktasıyla ilgili katman katmanı hataları keepalive işlemini etkinleştirir.

Almayı Etkinleştir

void EnableReceive(
  void
)

Bu WeaveConnection değerini almayı etkinleştirin.

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

Şu makaleyi de inceleyebilirsiniz:
DisableGet()

Eş-Adres Adresini Al

WEAVE_ERROR GetPeerAddressInfo(
  IPPacketInfo & addrInfo
)

Eşin IP adresi bilgilerini alın.

Ayrıntılar
Parametreler
[out] addrInfo
IPPacketInfo nesnesine başvuru.
İade Değerleri
WEAVE_NO_ERROR
Başarıyla tamamlandı.
WEAVE_ERROR_NOT_IMPLEMENTED
Bu işlev uyumsuz bir uç nokta (ör. BLE) kaldırın.

Eş-Açıklama Açıklaması

void GetPeerDescription(
  char *buf,
  size_t bufSize
) const 

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

Ayrıntılar
Parametreler
[in] buf
Dizenin yazılması gereken tampon 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 kesilir. Çıkış, her durumda NUL kapatma karakteri içerir.
[in] bufSize
Çubukla belirtilen arabelleğin boyutu.

GetTCPUç Noktası

TCPEndPoint * GetTCPEndPoint(
  void
) const 

Gelen

bool IsIncoming(
  void
) const 

Günlük Kimliği

uint16_t LogId(
  void
) const 

Lansman

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 işlem, referans sayısının sıfıra ulaşmasına neden olursa bağlantı kapanır ve bağlantı nesnesi serbest bırakılır. Böyle bir durumda, uygulamanın nesneyle başka etkileşimi olmamalıdır.

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

WEAVE_ERROR ResetUserTimeout(
  void
)

WeaveConnection::SıfırlaUserTimeout.

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

Not: Bu yöntem yalnızca TCP bağlantısıyla desteklenen Weave bağlantısında çağrılabilir. -Bu yöntem yalnızca bağlantı gönderilmeye izin veren bir durumdayken çağrılabilir.

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

Ayrıntılar
İade Değerleri
WEAVE_NO_ERROR
bağlantıdaki TCP kullanıcı zaman aşımının başarılı bir şekilde sıfırlanmasıyla.
WEAVE_ERROR_NOT_IMPLEMENTED
Bu işlev uyumsuz bir uç nokta (ör. BLE) kaldırın.
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 sıfırlanan TCP uç noktasıyla ilgili katman katmanı hataları.

Mesaj Gönder

WEAVE_ERROR SendMessage(
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

Kurulu bir bağlantı üzerinden Weave mesajı gönderme.

Ayrıntılar
Parametreler
[in] msgInfo
WeaveMessageInfo nesnesine işaret eden bir nesnedir.
[in] msgBuf
Gönderilecek paketi tutan PacketBuffer nesnesinin işaretçisi.
İade Değerleri
WEAVE_NO_ERROR
.
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ı belirtilmemişse.
WEAVE_ERROR_SENDING_BLOCKED
mesaj gönderilemeyecek kadar uzunsa.
other
Belirli uç nokta gönderme işlemleri ile ilgili katman katmanı hataları.

SendTunneledMesaj

WEAVE_ERROR SendTunneledMessage(
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

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

Kurulu bir bağlantı üzerinden tünel tünel Weave mesajı gönderin.

Ayrıntılar
Parametreler
[in] msgInfo
WeaveMessageInfo nesnesine işaret eden bir nesnedir.
[in] msgBuf
Gönderilecek paketi tutan PacketBuffer nesnesinin işaretçisi.
İade Değerleri
WEAVE_NO_ERROR
.
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ı belirtilmemişse.
WEAVE_ERROR_SENDING_BLOCKED
mesaj gönderilemeyecek kadar uzunsa.
other
Belirli uç nokta gönderme işlemleri ile ilgili katman katmanı hataları.

SetConnectTimeout

void SetConnectTimeout(
  const uint32_t connTimeoutMsecs
)

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

Ayrıntılar
Parametreler
[in] connTimeoutMsecs

SetIdleTimeout

WEAVE_ERROR SetIdleTimeout(
  uint32_t timeoutMS
)

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

Ayrıntılar
Parametreler
[in] timeoutMS
milisaniye cinsinden zaman aşımı.
İade Değerleri
WEAVE_NO_ERROR
bağlantı için boşta kalma zaman aşımının başarıyla ayarlanması.
WEAVE_ERROR_INCORRECT_STATE
WeaveConnection nesnesi, ileti almak için doğru durumda değilse.

Geleni Ayarla

void SetIncoming(
  bool val
)

SetUserTimeout

WEAVE_ERROR SetUserTimeout(
  uint32_t userTimeoutMillis
)

WeaveConnection::SetUserTimeout.

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

Değer 0'dan büyük olduğunda, TCP'nin ilgili bağlantıyı zorla kapatmasından önce, aktarılan verilerin onaylanmamış olabileceğ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ısı zaman aşımı değeri (milisaniye cinsinden).

Not: Bu yöntem yalnızca TCP bağlantısıyla desteklenen Weave bağlantısında çağrılabilir. -Bu yöntem yalnızca bağlantı gönderilmeye 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
İade Değerleri
WEAVE_NO_ERROR
bağlantıda TCP kullanıcı zaman aşımının başarıyla ayarlanması.
WEAVE_ERROR_NOT_IMPLEMENTED
Bu işlev uyumsuz bir uç nokta (ör. BLE) kaldırın.
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ç nokta ayarıyla ilgili katman hataları.

Kapat

WEAVE_ERROR Shutdown(
  void
)

Tüm giden verilerin eşin TCP yığını tarafından gönderilip alınmasını sağlayarak kontrollü bir TCP gönderme işlemi gerçekleştirir.

TCP uygulamalarının çoğu (tümü değil) ile, geri çekme bildirimi almak, uzak ana makinenin de bağlantı tarafını kapatmasına neden olur ve bağlantı kapanır. Sonraki bir Close() çağrısı, WeaveConnection bağlantısını sonlandırır.

Ayrıntılar
İade Değerleri
WEAVE_NO_ERROR
tcp bağlantısını başarıyla kapattıktan sonra.
WEAVE_ERROR_NOT_IMPLEMENTED
Bu işlev uyumsuz bir uç nokta (ör. BLE) kaldırın.
WEAVE_ERROR_INCORRECT_STATE
Bir kapatma işlemi başlatmadan önce WeaveConnection nesnesinin doğru durumda olmaması.
other
Belirli uç nokta kapatma işlemleriyle ilgili katman hatalarını ayıklayın.
Şu makaleyi de inceleyebilirsiniz:
Close() ve Abort().