nl::Weave::WeaveConnection

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

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

Özet

Başka bir Weave düğümüne yönelik TCP veya BDE 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ğı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 bir mesaj alındığında çağrılan 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ındığında 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 Tünel'li bir veri paketi alındığında çağrılan uygulama geri çağırmasıdır.

Herkese açık özellikler

AppState
void *
Uygulamaya özel durum nesnesine işaret eden bir işaretçi.
AuthMode
WeaveAuthMode
[YALNIZCA OKUYUN] Bağlantı için varsayılan şifreleme anahtarlarını belirlemek ü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ı.
MessageLayer
[YALNIZCA OKUYUN] İlişkili WeaveMessageLayer nesnesi.
NetworkType
uint8_t
[READ ONLY] İlişkilendirilen uç noktanın ağ türü.
OnConnectionClosed
OnConnectionComplete
OnMessageReceived
OnReceiveError
OnTunneledMessageReceived
PeerAddr
IPAddress
[READ ONLY] Eş düğümün IP adresi.
PeerNodeId
uint64_t
[SALT OKUMA] Eşin düğüm tanımlayıcısı.
PeerPort
uint16_t
[YALNIZCA OKUYUN] Eş düğümün bağlantı noktası numarası.
ReceiveEnabled
bool
[READ ONLY] Alma etkinse doğru, aksi takdirde yanlış değerini alır.
SendDestNodeId
bool
Bu bağlantı üzerinden gönderilen tüm iletilerin açık bir şekilde kodlanmış hedef düğüm tanımlayıcısı içermesi gerekiyorsa doğru değerini, aksi takdirde yanlış değerini alır.
SendSourceNodeId
bool
Bu bağlantı aracılığıyla gönderilen tüm iletilerin açık bir şekilde kodlanmış kaynak düğüm tanımlayıcısı içermesi gerekiyorsa doğru değerini, aksi takdirde yanlış değerini alır.
State
uint8_t
[YALNIZCA OKUYUN] WeaveConnection nesnesinin durumu.

Kamu işlevleri

Abort(void)
void
TCP veya BLE tabanlı WeaveConnection'ı hassas olmayan bir şekilde kapatarak benzerler ile ilgili veya eşlerden giden yolda olabilecek tüm verileri siler.
AddRef(void)
void
WeaveConnection nesnesine bir referans ayırın.
Close(void)
TCP veya BLE tabanlı WeaveConnection'ı engellemeyen kontrollü bir kapatma işlemi gerçekleştirerek uzak ana makineye bağlantıyı sıfırladığımızı nazikçe bildirmeden önce kalan giden verileri teslim eder.
Close(bool suppressCloseLog)
TCP veya BLE tabanlı WeaveConnection'ı engellemeyen kontrollü bir kapatma işlemi gerçekleştirerek uzak ana makineye bağlantıyı sıfırladığımızı nazikçe bildirmeden önce kalan giden verileri teslim eder.
Connect(uint64_t peerNodeId)
Belirtilen düğüm tanımlayıcısından türetilmiş bir yapı IP adresini 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 bir Weave düğümüne bağlanın.
Connect(uint64_t peerNodeId, WeaveAuthMode authMode, const IPAddress & peerAddr, uint16_t peerPort, InterfaceId intf)
Bir düğüm tanımlayıcısını ve/veya belirli bir arayüzdeki IP adresini kullanarak bir 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ı kullanarak bir 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 bir 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 bir 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ı noktaları listesi kullanarak bir 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ı noktaları listesi kullanarak bir 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 bilgilerini alın.
GetPeerDescription(char *buf, size_t bufSize) const
void
Bağlantıyla ilişkilendirilmiş 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önderilip alınmasını sağlayarak hassas bir TCP göndermeyi kapatma işlemi gerçekleştirilir.

Herkese açık türler

@58

 @58
Özellikler
kGetPeerDescription_MaxLength

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

ConnectionClosedFunct

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

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

Ayrıntılar
Parametreler
[in] con
WeaveConnection nesnesine işaret eden bir işaretçi.
[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 nesnesine işaret eden bir işaretçi.
[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 bir mesaj alındığında çağrılan uygulama geri çağırmasıdır.

Ayrıntılar
Parametreler
[in] con
WeaveConnection nesnesine işaret eden bir işaretçi.
[in] msgInfo
İletiyle ilgili bilgileri içeren WeaveMessageInfo yapısının işaretçisi.
[in] msgBuf
İletinin bulunduğu PacketBuffer nesnesine işaret eden işaretçi.

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ındığında hatayla karşılaşıldığında çağrılan uygulama geri çağırma işlevidir.

Ayrıntılar
Parametreler
[in] con
WeaveConnection nesnesine işaret eden bir işaretçi.
[in] err
Bağlantı üzerinden veri alınırken WEAVE_ERROR hatasıyla karşılaşıldı.

Eyalet

 State

Weave bağlantı nesnesinin durumu.

Özellikler
kState_Closed

Bağlantının ne zaman kapatıldığını gösterir.

kState_Connected

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

kState_Connecting

Bağlantı yapılmaya çalışıldığı durumu.

kState_EstablishingSession

Güvenli bir oturumun oluşturulmakta olduğunu belirtir.

kState_ReadyToConnect

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

kState_Resolving

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

kState_SendShutdown

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

TunneledMsgReceiveFunct

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

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

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

Herkese açık özellikler

AppState

void * AppState

Uygulamaya özel durum nesnesine işaret eden bir işaretçi.

AuthMode

WeaveAuthMode AuthMode

[YALNIZCA OKUYUN] Bağlantı için varsayılan şifreleme anahtarlarını belirlemek ü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önderirken kullanılacak varsayılan şifreleme anahtarı.

MessageLayer

WeaveMessageLayer * MessageLayer

[YALNIZCA OKUYUN] İlişkili WeaveMessageLayer nesnesi.

NetworkType

uint8_t NetworkType

[READ ONLY] İlişkilendirilen uç noktanı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

[SALT OKUMA] Eşin düğüm tanımlayıcısı.

PeerPort

uint16_t PeerPort

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

ReceiveEnabled

bool ReceiveEnabled

[READ ONLY] Alma etkinse doğru, aksi takdirde yanlış değerini alır.

SendDestNodeId

bool SendDestNodeId

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

SendSourceNodeId

bool SendSourceNodeId

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

Eyalet

uint8_t State

[YALNIZCA OKUYUN] WeaveConnection nesnesinin durumu.

Kamu işlevleri

İptal et

void Abort(
  void
)

TCP veya BLE tabanlı WeaveConnection'ı hassas olmayan bir şekilde kapatarak benzerler ile ilgili veya eşlerden giden yolda olabilecek 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ı, yöntemin çağrıldığı sırada bağlantının açık/etkin olup olmamasına bakılmaksızın WeaveConnection nesnesiyle ilişkilendirilen referans sayısını azaltır. Bu durumda referans sayısı sıfıra ulaşırsa bağlantı nesnesiyle ilişkili kaynaklar serbest bırakılır. Böyle bir durumda, uygulamanın nesneyle başka hiçbir etkileşimi kalmamalıdır.

Şu kaynakları da inceleyin:
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() işlevine karşılık gelen bir çağrı yapmaktan sorumludur.

Kapat

WEAVE_ERROR Close(
  void
)

TCP veya BLE tabanlı WeaveConnection'ı engellemeyen kontrollü bir kapatma işlemi gerçekleştirerek uzak ana makineye bağlantıyı sıfırladığımızı nazikçe bildirmeden önce kalan giden verileri teslim eder.

Bu yöntem, uygulama protokolü düzeyinde onaylanmayan giden iletilerin 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 tüm giden verileri teslim etmek için elimizden geleni yapar. TCP için, bağlantı kapatılmadan önce aktarım katmanı mesaj makbuzu onayı gerekiyorsa Close() öncesinde Shutdown() kullanılmalıdır. BDE bağlantıları Shutdown() eşdeğeri sağlamaz.

BLE tabanlı bağlantılarda Close(), WeaveConnection'ı hemen kapatır ve hemen geri döndürür, ancak temel BLEEndPoint nesnesinin, tüm giden veriler gönderilene kadar beklemesine neden olabilir. Bu, Weave Blelayer içinde mevcut olan BLE aktarım protokolü uygulamasına kıyasla Weave'in yan etkisidir.

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

Close() işlevi çağrılırsa, 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ı azalır. Bu durumda referans sayısı sıfıra ulaşırsa bağlantı nesnesiyle ilişkili kaynaklar serbest bırakılır. Böyle bir durumda, uygulamanın nesneyle başka hiçbir etkileşimi kalmamalıdır.

Ayrıntılar
İadeler
Koşulsuz olarak WEAVE_NO_ERROR.
Şu kaynakları da inceleyin:
Shutdown(), Abort(), AddRef() ve Release().

Kapat

WEAVE_ERROR Close(
  bool suppressCloseLog
)

TCP veya BLE tabanlı WeaveConnection'ı engellemeyen kontrollü bir kapatma işlemi gerçekleştirerek uzak ana makineye bağlantıyı sıfırladığımızı nazikçe bildirmeden önce kalan giden verileri teslim eder.

Bu yöntem, uygulama protokolü düzeyinde onaylanmayan giden iletilerin 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 tüm giden verileri teslim etmek için elimizden geleni yapar. TCP için, bağlantı kapatılmadan önce aktarım katmanı mesaj makbuzu onayı gerekiyorsa Close() öncesinde Shutdown() kullanılmalıdır. BDE bağlantıları Shutdown() eşdeğeri sağlamaz.

BLE tabanlı bağlantılarda Close(), WeaveConnection'ı hemen kapatır ve hemen geri döndürür, ancak temel BLEEndPoint nesnesinin, tüm giden veriler gönderilene kadar beklemesine neden olabilir. Bu, Weave Blelayer içinde mevcut olan BLE aktarım protokolü uygulamasına kıyasla Weave'in yan etkisidir.

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

Close() işlevi çağrılırsa, 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ı azalır. Bu durumda referans sayısı sıfıra ulaşırsa bağlantı nesnesiyle ilişkili kaynaklar serbest bırakılır. Böyle bir durumda, uygulamanın nesneyle başka hiçbir etkileşimi kalmamalıdır.

Ayrıntılar
Parametreler
[in] suppressCloseLog
Günlüklerin engellenmesi gerekiyorsa true, aksi takdirde yanlış değerini alır.
İadeler
Koşulsuz olarak WEAVE_NO_ERROR.
Şu kaynakları da inceleyin:
Shutdown(), Abort(), AddRef() ve Release().

Bağla

WEAVE_ERROR Connect(
  uint64_t peerNodeId
)

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

Ayrıntılar
Parametreler
[in] peerNodeId
Eşin düğüm tanımlayıcısı.
Döndürülen Değerler
WEAVE_NO_ERROR
belirtebilirsiniz.
WEAVE_ERROR_INCORRECT_STATE
WeaveConnection durumu yanlışsa.
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 giriş katmanı hataları.

Bağla

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

Düğüm tanımlayıcısı ve/veya 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ıdır; 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ğeri kullanılır.
Döndürülen Değerler
WEAVE_NO_ERROR
belirtebilirsiniz.
WEAVE_ERROR_INCORRECT_STATE
WeaveConnection durumu yanlışsa.
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 giriş katmanı hataları.

Bağla

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

Bir düğüm tanımlayıcısını ve/veya belirli bir arayüzdeki IP adresini kullanarak bir Weave düğümüne bağlanın.

Ayrıntılar
Parametreler
[in] peerNodeId
Eşin düğüm tanımlayıcısıdır; 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ğeri kullanılır.
[in] intf
Eş düğüme bağlanmak için kullanılan isteğe bağlı arayüz, varsayılan olarak INET_NULL_INTERFACEID değerine sahiptir.
Döndürülen Değerler
WEAVE_NO_ERROR
belirtebilirsiniz.
WEAVE_ERROR_INCORRECT_STATE
WeaveConnection durumu yanlışsa.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
istenen kimlik doğrulama modu desteklenmiyorsa
WEAVE_ERROR_INVALID_ADDRESS
hedef adres düğüm tanımlayıcısından belirlenemezse.
other
TCPEndPoint bağlantı işlemleri tarafından oluşturulan giriş katmanı hataları.

Bağla

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 bir Weave düğümüne bağlanın.

peerAddr (sağlanmışsa) şunlardan herhangi biri olabilir:


:

:

[]:

Ayrıntılar
Parametreler
[in] peerNodeId
Eşin düğüm tanımlayıcısıdır; 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ılmış C dizesi olarak eşin adresi veya ana makine adı.
[in] defaultPort
peerAddr dizesinde sağlanmazsa bağlantı için kullanılacak isteğe bağlı varsayılan bağlantı noktası.
Döndürülen Değerler
WEAVE_NO_ERROR
belirtebilirsiniz.
WEAVE_ERROR_INCORRECT_STATE
WeaveConnection durumu yanlışsa.
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 giriş katmanı hataları.

Bağla

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 bir Weave düğümüne bağlanın.

peerAddr (sağlanmışsa) şunlardan herhangi biri olabilir:


:

:

[]:

Ayrıntılar
Parametreler
[in] peerNodeId
Eşin düğüm tanımlayıcısıdır; 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ış C dizesinin 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ı.
Döndürülen Değerler
WEAVE_NO_ERROR
belirtebilirsiniz.
WEAVE_ERROR_INCORRECT_STATE
WeaveConnection durumu yanlışsa.
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 giriş katmanı hataları.

Bağla

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 bir Weave düğümüne bağlanın.

peerAddr (sağlanmışsa) şunlardan herhangi biri olabilir:


:

:

[]:

Ayrıntılar
Parametreler
[in] peerNodeId
Eşin düğüm tanımlayıcısıdır; 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ış C dizesinin 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ğeridir. Değer, #::nl::Inet::DNSOptions numaralandırmasındaki bir veya daha fazla değerin VEYA'sı olmalıdır.
[in] defaultPort
peerAddr dizesinde sağlanmazsa bağlantı için kullanılacak isteğe bağlı varsayılan bağlantı noktası.
Döndürülen Değerler
WEAVE_NO_ERROR
belirtebilirsiniz.
WEAVE_ERROR_INCORRECT_STATE
WeaveConnection durumu yanlışsa.
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 giriş katmanı hataları.

Bağla

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ı noktaları listesi kullanarak bir 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ılan isteğe bağlı arayüz, varsayılan olarak INET_NULL_INTERFACEID değerine sahiptir.
Döndürülen Değerler
WEAVE_NO_ERROR
belirtebilirsiniz.
WEAVE_ERROR_INCORRECT_STATE
WeaveConnection durumu yanlışsa.
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 giriş katmanı hataları.

Bağla

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ı noktaları listesi kullanarak bir 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ğeridir. Değer, #::nl::Inet::DNSOptions numaralandırmasındaki bir veya daha fazla değerin VEYA'sı olmalıdır.
[in] intf
Eş düğüme bağlanmak için kullanılan isteğe bağlı arayüz, varsayılan olarak INET_NULL_INTERFACEID değerine sahiptir.
Döndürülen Değerler
WEAVE_NO_ERROR
belirtebilirsiniz.
WEAVE_ERROR_INCORRECT_STATE
WeaveConnection durumu yanlışsa.
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 giriş katmanı hataları.

DisableKeepAlive

WEAVE_ERROR DisableKeepAlive(
  void
)

WeaveConnection::DisableKeepAlivelerini kaldırın.

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

Not: Bu yöntem yalnızca TCP bağlantısı tarafından desteklenen bir Weave bağlantısında çağrılabilir. Bu yöntem yalnızca bağlantı gönderme işlemine izin verecek bir durumda olduğunda çağrılabilir.

Bağlantıda keepalives etkinleştirilmemişse bu yöntem hiçbir şey yapmaz.

Ayrıntılar
Döndürülen Değerler
WEAVE_NO_ERROR
bağlantısındaki TCP keepalive kontrollerinin başarıyla devre dışı bırakılmasıyla ilgili
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ıyla ilgili inet katmanı hataları keepalive işlemini etkinleştirir.

DisableReceive

void DisableReceive(
  void
)

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

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, uygun geri çağırmaları çağırarak WeaveConnection'ın alınan verileri aktarmasına izin vermek üzere EnableReceive() yöntemini çağırması gerekir.

Şu makaleyi de inceleyebilirsiniz:
EnableReceive()

EnableKeepAlive

WEAVE_ERROR EnableKeepAlive(
  uint16_t interval,
  uint16_t timeoutCount
)

WeaveConnection::EtkinleştirKeepAlive.

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

Not: Bu yöntem yalnızca TCP bağlantısı tarafından desteklenen bir Weave bağlantısında çağrılabilir. -Bu yöntem yalnızca bağlantı gönderme işlemine izin verecek bir duruma geldiğinde çağrılabilir.

Ayrıntılar
Parametreler
[in] interval
Keepalive probları arasındaki aralık (saniye cinsinden). Bu değer ayrıca, gönderilen son veri paketi ile ilk keepalive yoklamasının 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ış arama 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
Döndürülen Değerler
WEAVE_NO_ERROR
bağlantıda TCP keepalive problarının başarıyla etkinleştirilmesiyle ilgili.
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ıyla ilgili inet katmanı hataları keepalive işlemini etkinleştirir.

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 makaleyi de inceleyebilirsiniz:
DisableReceive()

GetPeerAddressInfo

WEAVE_ERROR GetPeerAddressInfo(
  IPPacketInfo & addrInfo
)

Eşin IP adresi bilgilerini alın.

Ayrıntılar
Parametreler
[out] addrInfo
IPPacketInfo nesnesine referans.
Döndürülen Değerler
WEAVE_NO_ERROR
Başarılı olun.
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şkilendirilmiş eş düğümü açıklayan bir dize oluşturur.

Ayrıntılar
Parametreler
[in] buf
Dizenin yazılması gereken arabelleğin 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 kısaltılır. Çıkış, her durumda bir NUL sonlandırma karakteri içerir.
[in] bufSize
Tampon tarafından işaret edilen tamponun boyutu.

GetTCPEndPoint

TCPEndPoint * GetTCPEndPoint(
  void
) const 

IsIncoming

bool IsIncoming(
  void
) const 

LogId

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 durumda referans sayısı sıfıra ulaşırsa bağlantı kapatılır ve bağlantı nesnesi serbest bırakılır. Böyle bir durumda, uygulamanın nesneyle başka hiçbir etkileşimi kalmamalıdır.

ResetUserTimeout

WEAVE_ERROR ResetUserTimeout(
  void
)

WeaveConnection::ResetUserTimeout.

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ı tarafından desteklenen bir Weave bağlantısında çağrılabilir. -Bu yöntem yalnızca bağlantı gönderme işlemine izin verecek bir duruma geldiğinde çağrılabilir.

- Bağlantıda kullanıcı zaman aşımı ayarlanmamışsa bu yöntem işe yaramaz.

Ayrıntılar
Döndürülen Değerler
WEAVE_NO_ERROR
bağlantısında TCP kullanıcı zaman aşımının başarıyla sıfırlanması.
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ının sıfırlanması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 nesnesine işaret eden bir işaret.
[in] msgBuf
Gönderilecek paketi tutan PacketBuffer nesnesinin işaretçisi.
Döndürülen Değerler
WEAVE_NO_ERROR
ağ katmanına başarıyla gönderilmesi gerekir.
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
gönderilemez.
other
Belirli uç nokta gönderme işlemleriyle ilgili içi 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ünellü Weave mesajı gönderin.

Ayrıntılar
Parametreler
[in] msgInfo
WeaveMessageInfo nesnesine işaret eden bir işaret.
[in] msgBuf
Gönderilecek paketi tutan PacketBuffer nesnesinin işaretçisi.
Döndürülen Değerler
WEAVE_NO_ERROR
ağ katmanına başarıyla gönderilmesi gerekir.
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
gönderilemez.
other
Belirli uç nokta gönderme işlemleriyle ilgili içi 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
milisaniye cinsinden zaman aşımını tanımlar.
Döndürülen Değerler
WEAVE_NO_ERROR
bağlantı için boşta kalma zaman aşımı başarıyla belirlendi.
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.

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

Değer 0'dan büyük olduğunda, TCP ilgili bağlantıyı zorla kapatmadan önce iletilen verilerin onaylanmamış olarak 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
TCP kullanıcı zaman aşımı değeri (milisaniye cinsinden).

Not: Bu yöntem yalnızca TCP bağlantısı tarafından desteklenen bir Weave bağlantısında çağrılabilir. -Bu yöntem yalnızca bağlantı gönderme işlemine izin verecek bir duruma geldiğinde ç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öndürülen Değerler
WEAVE_NO_ERROR
, bağlantıda TCP kullanıcı zaman aşımının başarıyla ayarlanması durumunda.
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ç nokta ayarıyla ilgili giriş 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 hassas bir TCP göndermeyi kapatma işlemi gerçekleştirilir.

Çoğu TCP uygulamasında (tümü değil) gönderilen kapatma işleminin alınması, uzak ana makinenin de bağlantı tarafında da kapanmasına neden olur. Bu da bağlantının kapanmasına neden olur. Close() işlevine yapılan sonraki bir çağrı, WeaveConnection'ı sonlandırır.

Ayrıntılar
Döndürülen Değerler
WEAVE_NO_ERROR
TCP bağlantısı başarıyla kapatıldığında.
WEAVE_ERROR_NOT_IMPLEMENTED
Bu işlev uyumsuz bir uç nokta (ör. BDE) kullanır.
WEAVE_ERROR_INCORRECT_STATE
WeaveConnection nesnesini kapatmadan önce doğru durumda değilse.
other
Belirli uç nokta kapatma işlemleriyle ilgili entegre katman hataları.
Şu kaynakları da inceleyin:
Close() ve Abort().