nl::Weave::WeaveConnection

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

Definicja klasy połączenia Weave.

Podsumowanie

Reprezentuje połączenie TCP lub BLE z innym węzłem Weave.

Typy publiczne

@58{
  kGetPeerDescription_MaxLength = nl::Weave::kWeavePeerDescription_MaxLength
}
enum | typ wyliczeniowy
ConnectionClosedFunct)(WeaveConnection *con, WEAVE_ERROR conErr) typedef
void(*
Ta funkcja jest wywołaniem zwrotnym aplikacji, które jest wywoływane po zamknięciu połączenia.
ConnectionCompleteFunct)(WeaveConnection *con, WEAVE_ERROR conErr) typedef
void(*
Ta funkcja jest wywołaniem zwrotnym aplikacji, które jest wywoływane po zakończeniu konfiguracji połączenia.
MessageReceiveFunct)(WeaveConnection *con, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf) typedef
void(*
Ta funkcja jest wywołaniem zwrotnym aplikacji, które jest wywoływane po otrzymaniu wiadomości przez połączenie Weave.
NetworkType{
  kNetworkType_Unassigned = 0,
  kNetworkType_IP = 1,
  kNetworkType_BLE = 2
}
enum | typ wyliczeniowy
Typ sieci obiektu połączenia Weave.
ReceiveErrorFunct)(WeaveConnection *con, WEAVE_ERROR err) typedef
void(*
Ta funkcja to wywołanie zwrotne aplikacji wywoływane po napotkaniu błędu podczas odbierania komunikatu Weave.
State{
  kState_ReadyToConnect = 0,
  kState_Resolving = 1,
  kState_Connecting = 2,
  kState_EstablishingSession = 3,
  kState_Connected = 4,
  kState_SendShutdown = 5,
  kState_Closed = 6
}
enum | typ wyliczeniowy
Stan obiektu połączenia Weave.
TunneledMsgReceiveFunct)(WeaveConnection *con, const WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf) typedef
void(*
Ta funkcja jest wywołaniem zwrotnym aplikacji, które jest wywoływane po otrzymaniu przez tunelu pakietu danych przez połączenie Weave.

Atrybuty publiczne

AppState
void *
Wskaźnik do obiektu stanu danej aplikacji.
AuthMode
WeaveAuthMode
[ODCZYT] Tryb uwierzytelniania używany do ustanawiania domyślnych kluczy szyfrowania dla połączenia.
DefaultEncryptionType
uint8_t
Domyślny typ szyfrowania wiadomości.
DefaultKeyId
uint16_t
Domyślny klucz szyfrowania używany podczas wysyłania wiadomości.
MessageLayer
[READ ONLY] Powiązany obiekt WeaveMessageLayer.
NetworkType
uint8_t
[READ ONLY] Typ sieci powiązanego punktu końcowego.
OnConnectionClosed
OnConnectionComplete
OnMessageReceived
OnReceiveError
OnTunneledMessageReceived
PeerAddr
IPAddress
[READ ONLY] Adres IP węzła równorzędnego.
PeerNodeId
uint64_t
[READ ONLY] Identyfikator węzła równorzędnego.
PeerPort
uint16_t
[READ ONLY] Numer portu węzła równorzędnego.
ReceiveEnabled
bool
[READ ONLY] Prawda, jeśli odbieranie jest włączone. W przeciwnym razie ma wartość false (fałsz).
SendDestNodeId
bool
Wartość „prawda”, jeśli wszystkie wiadomości wysyłane przez to połączenie muszą zawierać wyraźnie zakodowany identyfikator węzła docelowego. W przeciwnym razie wartość „false”.
SendSourceNodeId
bool
Wartość „prawda”, jeśli wszystkie wiadomości wysyłane przez to połączenie muszą zawierać jawnie zakodowany identyfikator węzła źródłowego. W przeciwnym razie wartość „false”.
State
uint8_t
[READ ONLY] Stan obiektu WeaveConnection.

Funkcje publiczne

Abort(void)
void
Kończy połączenie WeaveConnection oparte na TCP lub BLE, odrzucając wszystkie dane, które mogą być przesyłane do peera lub z niego.
AddRef(void)
void
Zarezerwuj odniesienie do obiektu WeaveConnection.
Close(void)
Wykonuje nieblokujące połączenie bez przerw w połączeniach WeaveConnection opartych na TCP lub BLE, przesyłając wszystkie pozostałe dane wychodzące przed uprzejmą informacją dla hosta zdalnego o zresetowaniu połączenia.
Close(bool suppressCloseLog)
Wykonuje nieblokujące połączenie bez przerw w połączeniach WeaveConnection opartych na TCP lub BLE, przesyłając wszystkie pozostałe dane wychodzące przed uprzejmą informacją dla hosta zdalnego o zresetowaniu połączenia.
Connect(uint64_t peerNodeId)
Połącz się z węzłem Weave za pomocą adresu IP tkaniny pobranego z określonego identyfikatora węzła.
Connect(uint64_t peerNodeId, const IPAddress & peerAddr, uint16_t peerPort)
Połącz się z węzłem Weave przy użyciu identyfikatora węzła lub adresu IP.
Connect(uint64_t peerNodeId, WeaveAuthMode authMode, const IPAddress & peerAddr, uint16_t peerPort, InterfaceId intf)
Połącz się z węzłem Weave za pomocą identyfikatora węzła lub adresu IP w konkretnym interfejsie.
Connect(uint64_t peerNodeId, WeaveAuthMode authMode, const char *peerAddr, uint16_t defaultPort)
Połącz się z węzłem Weave przy użyciu identyfikatora węzła lub nazwy hosta w postaci ciągu znaków.
Connect(uint64_t peerNodeId, WeaveAuthMode authMode, const char *peerAddr, uint16_t peerAddrLen, uint16_t defaultPort)
Połącz się z węzłem Weave przy użyciu identyfikatora węzła lub adresu równorzędnego ciągu tekstowego.
Connect(uint64_t peerNodeId, WeaveAuthMode authMode, const char *peerAddr, uint16_t peerAddrLen, uint8_t dnsOptions, uint16_t defaultPort)
Połącz się z węzłem Weave przy użyciu identyfikatora węzła lub adresu równorzędnego ciągu tekstowego.
Connect(uint64_t peerNodeId, WeaveAuthMode authMode, HostPortList hostPortList, InterfaceId intf)
Połącz się z węzłem Weave przy użyciu identyfikatora węzła lub listy nazw hostów i portów.
Connect(uint64_t peerNodeId, WeaveAuthMode authMode, HostPortList hostPortList, uint8_t dnsOptions, InterfaceId intf)
Połącz się z węzłem Weave przy użyciu identyfikatora węzła lub listy nazw hostów i portów.
DisableKeepAlive(void)
DisableReceive(void)
void
Wyłącz odbieranie przez to połączenie WeaveConnection.
EnableKeepAlive(uint16_t interval, uint16_t timeoutCount)
EnableReceive(void)
void
Włącz odbieranie przez to WeaveConnection.
GetPeerAddressInfo(IPPacketInfo & addrInfo)
Pobieranie informacji o adresie IP peera.
GetPeerDescription(char *buf, size_t bufSize) const
void
Konstruuje ciąg znaków opisujący węzeł równorzędny powiązany z połączeniem.
GetTCPEndPoint(void) const
TCPEndPoint *
IsIncoming(void) const
bool
LogId(void) const
uint16_t
Release(void)
void
Zmniejsz liczbę odwołań w obiekcie WeaveConnection.
ResetUserTimeout(void)
SendMessage(WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
Wyślij wiadomość Weave przez nawiązane połączenie.
SendTunneledMessage(WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
Funkcja wysyłająca pakiet przez tunel.
SetConnectTimeout(const uint32_t connTimeoutMsecs)
void
Ustaw czas oczekiwania na powodzenie połączenia lub zwrócenie błędu.
SetIdleTimeout(uint32_t timeoutMS)
Ustaw limit czasu bezczynności bazowego połączenia w warstwie sieciowej.
SetIncoming(bool val)
void
SetUserTimeout(uint32_t userTimeoutMillis)
Shutdown(void)
Wykonuje bezproblemowe wyłączenie wysyłania TCP, upewniając się, że wszystkie dane wychodzące zostały wysłane i odebrane przez stos TCP peera.

Typy publiczne

@58

 @58
Właściwości
kGetPeerDescription_MaxLength

Maksymalna długość ciągu znaków (łącznie ze znakiem NUL) zwracanym przez funkcję GetPeerDescription().

ConnectionClosedFunct

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

Ta funkcja jest wywołaniem zwrotnym aplikacji, które jest wywoływane po zamknięciu połączenia.

Szczegóły
Parametry
[in] con
Wskaźnik do obiektu WeaveConnection.
[in] conErr
Błąd WEAVE_ERROR napotkany podczas zamykania połączenia.

ConnectionCompleteFunct

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

Ta funkcja jest wywołaniem zwrotnym aplikacji, które jest wywoływane po zakończeniu konfiguracji połączenia.

Szczegóły
Parametry
[in] con
Wskaźnik do obiektu WeaveConnection.
[in] conErr
Podczas konfigurowania połączenia wystąpił błąd WEAVE_ERROR.

MessageReceiveFunct

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

Ta funkcja jest wywołaniem zwrotnym aplikacji, które jest wywoływane po otrzymaniu wiadomości przez połączenie Weave.

Szczegóły
Parametry
[in] con
Wskaźnik do obiektu WeaveConnection.
[in] msgInfo
Wskaźnik do struktury WeaveMessageInfo zawierającej informacje o wiadomości.
[in] msgBuf
Wskaźnik do obiektu PacketBuffer zawierającego wiadomość.

NetworkType

 NetworkType

Typ sieci obiektu połączenia Weave.

Właściwości
kNetworkType_BLE

Typ sieci BLE.

kNetworkType_IP

Typ sieci TCP/IP.

kNetworkType_Unassigned

Nieprzypisany typ sieci.

ReceiveErrorFunct

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

Ta funkcja to wywołanie zwrotne aplikacji wywoływane po napotkaniu błędu podczas odbierania komunikatu Weave.

Szczegóły
Parametry
[in] con
Wskaźnik do obiektu WeaveConnection.
[in] err
Wystąpił błąd WEAVE_ERROR podczas odbierania danych przez połączenie.

Stan

 State

Stan obiektu połączenia Weave.

Właściwości
kState_Closed

informacje o zamknięciu połączenia,

kState_Connected

określać, kiedy połączenie zostało nawiązane.

kState_Connecting

Stan, kiedy jest próba nawiązania połączenia.

kState_EstablishingSession

Określa, kiedy tworzona jest bezpieczna sesja.

kState_ReadyToConnect

Stan po zainicjowaniu połączenia Weave.

kState_Resolving

Informuje o tym, że trwa rozpoznawanie nazw DNS.

kState_SendShutdown

informacje o tym, kiedy połączenie jest wyłączane;

TunneledMsgReceiveFunct

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

Ta funkcja jest wywołaniem zwrotnym aplikacji, które jest wywoływane po otrzymaniu przez tunelu pakietu danych przez połączenie Weave.

Szczegóły
Parametry
[in] con
Wskaźnik do obiektu WeaveConnection.
[in] msgInfo
Wskaźnik do obiektu WeaveMessageInfo.
[in] msgBuf
Wskaźnik do obiektu PacketBuffer zawierającego odebrany tunelowany pakiet.

Atrybuty publiczne

AppState

void * AppState

Wskaźnik do obiektu stanu danej aplikacji.

AuthMode

WeaveAuthMode AuthMode

[ODCZYT] Tryb uwierzytelniania używany do ustanawiania domyślnych kluczy szyfrowania dla połączenia.

DefaultEncryptionType

uint8_t DefaultEncryptionType

Domyślny typ szyfrowania wiadomości.

DefaultKeyId

uint16_t DefaultKeyId

Domyślny klucz szyfrowania używany podczas wysyłania wiadomości.

MessageLayer

WeaveMessageLayer * MessageLayer

[READ ONLY] Powiązany obiekt WeaveMessageLayer.

NetworkType

uint8_t NetworkType

[READ ONLY] Typ sieci powiązanego punktu końcowego.

OnConnectionClosed

ConnectionClosedFunct OnConnectionClosed

OnConnectionComplete

ConnectionCompleteFunct OnConnectionComplete

OnMessageReceived

MessageReceiveFunct OnMessageReceived

OnReceiveError

ReceiveErrorFunct OnReceiveError

OnTunneledMessageReceived

TunneledMsgReceiveFunct OnTunneledMessageReceived

PeerAddr

IPAddress PeerAddr

[READ ONLY] Adres IP węzła równorzędnego.

PeerNodeId

uint64_t PeerNodeId

[READ ONLY] Identyfikator węzła równorzędnego.

PeerPort

uint16_t PeerPort

[READ ONLY] Numer portu węzła równorzędnego.

ReceiveEnabled

bool ReceiveEnabled

[READ ONLY] Prawda, jeśli odbieranie jest włączone. W przeciwnym razie ma wartość false (fałsz).

SendDestNodeId

bool SendDestNodeId

Wartość „prawda”, jeśli wszystkie wiadomości wysyłane przez to połączenie muszą zawierać wyraźnie zakodowany identyfikator węzła docelowego. W przeciwnym razie wartość „false”.

SendSourceNodeId

bool SendSourceNodeId

Wartość „prawda”, jeśli wszystkie wiadomości wysyłane przez to połączenie muszą zawierać jawnie zakodowany identyfikator węzła źródłowego. W przeciwnym razie wartość „false”.

Stan

uint8_t State

[READ ONLY] Stan obiektu WeaveConnection.

Funkcje publiczne

Przerwij

void Abort(
  void
)

Kończy połączenie WeaveConnection oparte na TCP lub BLE, odrzucając wszystkie dane, które mogą być przesyłane do peera lub z niego.

Wywołanie Abort() powoduje natychmiastowe zakończenie połączenia bazowego. Od tego momentu obiektu WeaveConnection nie można już używać do dalszej komunikacji.

Wywołanie Abort() zmniejsza liczbę odwołań powiązanych z obiektem WeaveConnection, niezależnie od tego, czy połączenie jest otwarte/aktywne w momencie wywołania metody. Jeśli liczba odwołań osiągnie 0, zasoby powiązane z obiektem połączenia zostaną zwolnione. W takim przypadku aplikacja nie może mieć dalszych interakcji z obiektem.

Zobacz też:
Disabledown(), Abort(), AddRef() i Release().

AddRef

void AddRef(
  void
)

Zarezerwuj odniesienie do obiektu WeaveConnection.

Metoda AddRef() zwiększa liczbę odwołań powiązanych z obiektem WeaveConnection. Każde wywołanie funkcji AddRef() odpowiada za wywołanie odpowiedniej funkcji Release(), Close() lub Abort().

Zamknij

WEAVE_ERROR Close(
  void
)

Wykonuje nieblokujące połączenie bez przerw w połączeniach WeaveConnection opartych na TCP lub BLE, przesyłając wszystkie pozostałe dane wychodzące przed uprzejmą informacją dla hosta zdalnego o zresetowaniu połączenia.

Ta metoda nie daje całkowitej gwarancji, że wszystkie wiadomości wychodzące, które nie zostały potwierdzone na poziomie protokołu aplikacji, zostały odebrane przez zdalny peer. W przypadku TCP i BLE bazowy stos protokołów dołoży wszelkich starań, aby dostarczyć oczekujące dane wychodzące przed zresetowaniem połączenia. W przypadku protokołu TCP polecenie disabledown() należy użyć przed funkcją Close(), jeśli przed zamknięciem połączenia wymagane jest potwierdzenie otrzymania wiadomości w warstwie transportu. Połączenia BLE nie mają odpowiednika Disabledown().

W przypadku połączeń opartych na BLE funkcja Close() zamyka funkcję WeaveConnection i zwraca natychmiast, ale może spowodować, że bazowy obiekt BLEEndPoint zatrzymuje się do czasu wysłania wszystkich danych wychodzących. Jest to efekt uboczny implementacji protokołu transportowego Weave over BLE w ramach rozwiązania Weave BleLayer.

Po wywołaniu funkcji Close() nie można już używać obiektu WeaveConnection do dalszej komunikacji.

Wywołanie Close() zmniejsza liczbę referencji powiązanych z obiektem WeaveConnection, niezależnie od tego, czy połączenie jest otwarte/aktywne w momencie wywołania metody. Jeśli liczba odwołań osiągnie 0, zasoby powiązane z obiektem połączenia zostaną zwolnione. W takim przypadku aplikacja nie może mieć dalszych interakcji z obiektem.

Szczegóły
Zwroty
WEAVE_NO_ERROR bezwarunkowo.
Zobacz też:
Disabledown(), Abort(), AddRef() i Release().

Zamknij

WEAVE_ERROR Close(
  bool suppressCloseLog
)

Wykonuje nieblokujące połączenie bez przerw w połączeniach WeaveConnection opartych na TCP lub BLE, przesyłając wszystkie pozostałe dane wychodzące przed uprzejmą informacją dla hosta zdalnego o zresetowaniu połączenia.

Ta metoda nie daje całkowitej gwarancji, że wszystkie wiadomości wychodzące, które nie zostały potwierdzone na poziomie protokołu aplikacji, zostały odebrane przez zdalny peer. W przypadku TCP i BLE bazowy stos protokołów dołoży wszelkich starań, aby dostarczyć oczekujące dane wychodzące przed zresetowaniem połączenia. W przypadku protokołu TCP polecenie disabledown() należy użyć przed funkcją Close(), jeśli przed zamknięciem połączenia wymagane jest potwierdzenie otrzymania wiadomości w warstwie transportu. Połączenia BLE nie mają odpowiednika Disabledown().

W przypadku połączeń opartych na BLE funkcja Close() zamyka funkcję WeaveConnection i zwraca natychmiast, ale może spowodować, że bazowy obiekt BLEEndPoint zatrzymuje się do czasu wysłania wszystkich danych wychodzących. Jest to efekt uboczny implementacji protokołu transportowego Weave over BLE w ramach rozwiązania Weave BleLayer.

Po wywołaniu funkcji Close() nie można już używać obiektu WeaveConnection do dalszej komunikacji.

Wywołanie Close() zmniejsza liczbę referencji powiązanych z obiektem WeaveConnection, niezależnie od tego, czy połączenie jest otwarte/aktywne w momencie wywołania metody. Jeśli liczba odwołań osiągnie 0, zasoby powiązane z obiektem połączenia zostaną zwolnione. W takim przypadku aplikacja nie może mieć dalszych interakcji z obiektem.

Szczegóły
Parametry
[in] suppressCloseLog
true (prawda), jeśli logi muszą być pomijane. W przeciwnym razie ma wartość false (fałsz).
Zwroty
WEAVE_NO_ERROR bezwarunkowo.
Zobacz też:
Disabledown(), Abort(), AddRef() i Release().

Connect

WEAVE_ERROR Connect(
  uint64_t peerNodeId
)

Połącz się z węzłem Weave za pomocą adresu IP tkaniny pobranego z określonego identyfikatora węzła.

Szczegóły
Parametry
[in] peerNodeId
Identyfikator węzła peera.
Zwracane wartości
WEAVE_NO_ERROR
po udanym zainicjowaniu połączenia z peerem.
WEAVE_ERROR_INCORRECT_STATE
jeśli stan WeaveConnection jest nieprawidłowy.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
, jeśli żądany tryb uwierzytelniania nie jest obsługiwany.
WEAVE_ERROR_INVALID_ADDRESS
jeśli adresu docelowego nie można usunąć z identyfikatora węzła.
other
Błędy warstwy wewnętrznej generowane przez operacje połączenia TCPEndPoint.

Connect

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

Połącz się z węzłem Weave przy użyciu identyfikatora węzła lub adresu IP.

Szczegóły
Parametry
[in] peerNodeId
Identyfikator węzła peera (kNodeIdNotSpecified) lub 0, jeśli jest nieznany.
[in] peerAddr
Adres IP peera (IPAddress::Any), jeśli nie jest znany.
[in] peerPort
Opcjonalny port połączenia równorzędnego (domyślnie WEAVE_PORT).
Zwracane wartości
WEAVE_NO_ERROR
po udanym zainicjowaniu połączenia z peerem.
WEAVE_ERROR_INCORRECT_STATE
jeśli stan WeaveConnection jest nieprawidłowy.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
, jeśli żądany tryb uwierzytelniania nie jest obsługiwany.
WEAVE_ERROR_INVALID_ADDRESS
jeśli adresu docelowego nie można usunąć z identyfikatora węzła.
other
Błędy warstwy wewnętrznej generowane przez operacje połączenia TCPEndPoint.

Connect

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

Połącz się z węzłem Weave za pomocą identyfikatora węzła lub adresu IP w konkretnym interfejsie.

Szczegóły
Parametry
[in] peerNodeId
Identyfikator węzła peera (kNodeIdNotSpecified) lub 0, jeśli jest nieznany.
[in] authMode
Żądany tryb uwierzytelniania dla peera. Obsługiwane są tylko tryby CASE, PASE i nieuwierzytelnione.
[in] peerAddr
Adres IP peera (IPAddress::Any), jeśli nie jest znany.
[in] peerPort
Opcjonalny port połączenia równorzędnego (domyślnie WEAVE_PORT).
[in] intf
Opcjonalny interfejs służący do łączenia się z węzłem równorzędnym, domyślnie INET_NULL_INTERFACEID.
Zwracane wartości
WEAVE_NO_ERROR
po udanym zainicjowaniu połączenia z peerem.
WEAVE_ERROR_INCORRECT_STATE
jeśli stan WeaveConnection jest nieprawidłowy.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
, jeśli żądany tryb uwierzytelniania nie jest obsługiwany.
WEAVE_ERROR_INVALID_ADDRESS
jeśli adresu docelowego nie można usunąć z identyfikatora węzła.
other
Błędy warstwy wewnętrznej generowane przez operacje połączenia TCPEndPoint.

Connect

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

Połącz się z węzłem Weave przy użyciu identyfikatora węzła lub nazwy hosta w postaci ciągu znaków.

Jeśli został podany, parametr peerAddr może być dowolnym z tych elementów:


:

:

[]:

Szczegóły
Parametry
[in] peerNodeId
Identyfikator węzła peera (kNodeIdNotSpecified) lub 0, jeśli jest nieznany.
[in] authMode
Żądany tryb uwierzytelniania dla peera. Obsługiwane są tylko tryby CASE, PASE i nieuwierzytelnione.
[in] peerAddr
Adres lub nazwa hosta peera w formie ciągu znaków C z zakończeniem NULL.
[in] defaultPort
Opcjonalny port domyślny, który będzie używany na potrzeby połączenia, jeśli nie został podany w ciągu znaków peerAddr.
Zwracane wartości
WEAVE_NO_ERROR
po udanym zainicjowaniu połączenia z peerem.
WEAVE_ERROR_INCORRECT_STATE
jeśli stan WeaveConnection jest nieprawidłowy.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
, jeśli żądany tryb uwierzytelniania nie jest obsługiwany.
WEAVE_ERROR_INVALID_ADDRESS
jeśli adresu docelowego nie można usunąć z identyfikatora węzła.
other
Błędy warstwy wewnętrznej generowane przez operacje połączenia TCPEndPoint.

Connect

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

Połącz się z węzłem Weave przy użyciu identyfikatora węzła lub adresu równorzędnego ciągu tekstowego.

Jeśli został podany, parametr peerAddr może być dowolnym z tych elementów:


:

:

[]:

Szczegóły
Parametry
[in] peerNodeId
Identyfikator węzła peera (kNodeIdNotSpecified) lub 0, jeśli jest nieznany.
[in] authMode
Żądany tryb uwierzytelniania dla peera. Obsługiwane są tylko tryby CASE, PASE i nieuwierzytelnione.
[in] peerAddr
Adres lub nazwa hosta peera w postaci ciągu C bez wartości NULL.
[in] peerAddrLen
Długość ciągu znaków peerAddr.
[in] defaultPort
Opcjonalny port domyślny, który będzie używany na potrzeby połączenia, jeśli nie został podany w ciągu znaków peerAddr.
Zwracane wartości
WEAVE_NO_ERROR
po udanym zainicjowaniu połączenia z peerem.
WEAVE_ERROR_INCORRECT_STATE
jeśli stan WeaveConnection jest nieprawidłowy.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
, jeśli żądany tryb uwierzytelniania nie jest obsługiwany.
WEAVE_ERROR_INVALID_ADDRESS
jeśli adresu docelowego nie można usunąć z identyfikatora węzła.
other
Błędy warstwy wewnętrznej generowane przez operacje połączenia TCPEndPoint.

Connect

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

Połącz się z węzłem Weave przy użyciu identyfikatora węzła lub adresu równorzędnego ciągu tekstowego.

Jeśli został podany, parametr peerAddr może być dowolnym z tych elementów:


:

:

[]:

Szczegóły
Parametry
[in] peerNodeId
Identyfikator węzła peera (kNodeIdNotSpecified) lub 0, jeśli jest nieznany.
[in] authMode
Żądany tryb uwierzytelniania dla peera. Obsługiwane są tylko tryby CASE, PASE i nieuwierzytelnione.
[in] peerAddr
Adres lub nazwa hosta peera w postaci ciągu C bez wartości NULL.
[in] peerAddrLen
Długość ciągu znaków peerAddr.
[in] dnsOptions
Wartość całkowita określająca sposób rozpoznawania nazwy hosta. Wartość powinna być operatorem LUB co najmniej 1 wartości z wyliczenia #::nl::Inet::DNSOptions.
[in] defaultPort
Opcjonalny port domyślny, który będzie używany na potrzeby połączenia, jeśli nie został podany w ciągu znaków peerAddr.
Zwracane wartości
WEAVE_NO_ERROR
po udanym zainicjowaniu połączenia z peerem.
WEAVE_ERROR_INCORRECT_STATE
jeśli stan WeaveConnection jest nieprawidłowy.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
, jeśli żądany tryb uwierzytelniania nie jest obsługiwany.
WEAVE_ERROR_INVALID_ADDRESS
jeśli adresu docelowego nie można usunąć z identyfikatora węzła.
other
Błędy warstwy wewnętrznej generowane przez operacje połączenia TCPEndPoint.

Connect

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

Połącz się z węzłem Weave przy użyciu identyfikatora węzła lub listy nazw hostów i portów.

Szczegóły
Parametry
[in] peerNodeId
Identyfikator węzła peera.
[in] authMode
Tryb uwierzytelniania używany w połączeniu.
[in] hostPortList
Lista nazw hostów i portów.
[in] intf
Opcjonalny interfejs służący do łączenia się z węzłem równorzędnym, domyślnie INET_NULL_INTERFACEID.
Zwracane wartości
WEAVE_NO_ERROR
po udanym zainicjowaniu połączenia z peerem.
WEAVE_ERROR_INCORRECT_STATE
jeśli stan WeaveConnection jest nieprawidłowy.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
, jeśli żądany tryb uwierzytelniania nie jest obsługiwany.
WEAVE_ERROR_INVALID_ADDRESS
jeśli adresu docelowego nie można usunąć z identyfikatora węzła.
other
Błędy warstwy wewnętrznej generowane przez operacje połączenia TCPEndPoint.

Connect

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

Połącz się z węzłem Weave przy użyciu identyfikatora węzła lub listy nazw hostów i portów.

Szczegóły
Parametry
[in] peerNodeId
Identyfikator węzła peera.
[in] authMode
Tryb uwierzytelniania używany w połączeniu.
[in] hostPortList
Lista nazw hostów i portów.
[in] dnsOptions
Wartość całkowita określająca sposób rozpoznawania nazwy hosta. Wartość powinna być operatorem LUB co najmniej 1 wartości z wyliczenia #::nl::Inet::DNSOptions.
[in] intf
Opcjonalny interfejs służący do łączenia się z węzłem równorzędnym, domyślnie INET_NULL_INTERFACEID.
Zwracane wartości
WEAVE_NO_ERROR
po udanym zainicjowaniu połączenia z peerem.
WEAVE_ERROR_INCORRECT_STATE
jeśli stan WeaveConnection jest nieprawidłowy.
WEAVE_ERROR_UNSUPPORTED_AUTH_MODE
, jeśli żądany tryb uwierzytelniania nie jest obsługiwany.
WEAVE_ERROR_INVALID_ADDRESS
jeśli adresu docelowego nie można usunąć z identyfikatora węzła.
other
Błędy warstwy wewnętrznej generowane przez operacje połączenia TCPEndPoint.

DisableKeepAlive

WEAVE_ERROR DisableKeepAlive(
  void
)

WeaveConnection::DisableKeepAlive.

Wyłącz sondy utrzymywania aktywności TCP w bazowym połączeniu TCP.

Uwaga: tę metodę można wywołać tylko w przypadku połączenia Weave obsługiwanego przez połączenie TCP. Tę metodę można wywołać tylko wtedy, gdy połączenie jest w stanie umożliwiającym wysyłanie.

Ta metoda nie działa, jeśli w połączeniu nie włączono utrzymywania aktywności.

Szczegóły
Zwracane wartości
WEAVE_NO_ERROR
po wyłączeniu sond utrzymywania aktywności TCP w połączeniu.
WEAVE_ERROR_NOT_IMPLEMENTED
jeśli ta funkcja jest wywoływana dla niezgodnego punktu końcowego (np. BLE) w warstwie sieciowej.
WEAVE_ERROR_INCORRECT_STATE
jeśli obiekt WeaveConnection nie jest w odpowiednim stanie do wysyłania wiadomości.
other
Błędy warstwy wewnętrznej związane z punktem końcowym TCP włączą operację utrzymywania aktywności.

DisableReceive

void DisableReceive(
  void
)

Wyłącz odbieranie przez to połączenie WeaveConnection.

Ta metoda jest wykorzystywana przez aplikację do sygnalizowania, że nie jest gotowa do odbierania żadnych danych przychodzących przez połączenie TCP. Aby ponownie włączyć odbieranie, aplikacja musi wywołać funkcję EnableReceive(), aby umożliwić WeaveConnection przekazanie wszelkich odebranych danych przez wywołanie odpowiednich wywołań zwrotnych.

Zobacz też:
EnableReceive()

EnableKeepAlive

WEAVE_ERROR EnableKeepAlive(
  uint16_t interval,
  uint16_t timeoutCount
)

WeaveConnection::EnableKeepAlive.

Włącz sondy utrzymywania aktywności TCP w bazowym połączeniu TCP.

Uwaga: tę metodę można wywołać tylko w przypadku połączenia Weave obsługiwanego przez połączenie TCP. – Metodę można wywołać tylko wtedy, gdy połączenie jest w stanie umożliwiającym wysyłanie.

Szczegóły
Parametry
[in] interval
Odstęp (w sekundach) między sondami utrzymywania aktywności. Ta wartość określa również czas między wysłaniem ostatniego pakietu danych a wysłaniem pierwszej sondy utrzymywania aktywności.
[in] timeoutCount
Maksymalna liczba niepotwierdzonych sond, zanim połączenie zostanie uznane za nieudane.

– Tę metodę można wywoływać wiele razy, aby dostosować interwał utrzymywania aktywności lub liczbę czasów oczekiwania.

Szczegóły
Zwracane wartości
WEAVE_NO_ERROR
po pomyślnym włączeniu sond utrzymywania aktywności TCP w połączeniu.
WEAVE_ERROR_NOT_IMPLEMENTED
jeśli ta funkcja jest wywoływana dla niezgodnego punktu końcowego (np. BLE) w warstwie sieciowej.
WEAVE_ERROR_INCORRECT_STATE
jeśli obiekt WeaveConnection nie jest w odpowiednim stanie do wysyłania wiadomości.
other
Błędy warstwy wewnętrznej związane z punktem końcowym TCP włączą operację utrzymywania aktywności.

EnableReceive

void EnableReceive(
  void
)

Włącz odbieranie przez to WeaveConnection.

Ta metoda jest wykorzystywana przez aplikację, aby wskazać obiektowi WeaveConnection, że jest gotowa na odbiór wszelkich danych napływających przez połączenie TCP.

Zobacz też:
DisableReceive()

GetPeerAddressInfo

WEAVE_ERROR GetPeerAddressInfo(
  IPPacketInfo & addrInfo
)

Pobieranie informacji o adresie IP peera.

Szczegóły
Parametry
[out] addrInfo
Odwołanie do obiektu IPPacketInfo.
Zwracane wartości
WEAVE_NO_ERROR
Powodzenie.
WEAVE_ERROR_NOT_IMPLEMENTED
Jeśli ta funkcja jest wywoływana dla niezgodnego punktu końcowego (np. BLE) w warstwie sieciowej.

GetPeerDescription

void GetPeerDescription(
  char *buf,
  size_t bufSize
) const 

Konstruuje ciąg znaków opisujący węzeł równorzędny powiązany z połączeniem.

Szczegóły
Parametry
[in] buf
Wskaźnik do bufora, w którym ma zostać zapisany ciąg. Podany bufor powinien być co najmniej tak duży, jak kGetPeerDescription_MaxLength. Jeśli podasz mniejszy bufor, ciąg znaków zostanie skrócony w celu dopasowania. We wszystkich przypadkach wynik będzie zawierał znak zakończenia NUL.
[in] bufSize
Rozmiar bufora wskazywanego przez buf.

GetTCPEndPoint

TCPEndPoint * GetTCPEndPoint(
  void
) const 

IsIncoming

bool IsIncoming(
  void
) const 

LogId

uint16_t LogId(
  void
) const 

Wersja

void Release(
  void
)

Zmniejsz liczbę odwołań w obiekcie WeaveConnection.

Metoda Release() zmniejsza liczbę referencji powiązaną z obiektem WeaveConnection. Jeśli liczba odwołań osiągnie 0, połączenie zostanie zamknięte, a obiekt połączenia zostanie uwolniony. W takim przypadku aplikacja nie może mieć dalszych interakcji z obiektem.

ResetUserTimeout

WEAVE_ERROR ResetUserTimeout(
  void
)

WeaveConnection::ResetUserTimeout.

Zresetuj opcję limitu czasu oczekiwania gniazda użytkownika TCP do wartości domyślnej systemowej.

Uwaga: tę metodę można wywołać tylko w przypadku połączenia Weave obsługiwanego przez połączenie TCP. – Metodę można wywołać tylko wtedy, gdy połączenie jest w stanie umożliwiającym wysyłanie.

– Ta metoda nie działa, jeśli nie ustawiono limitu czasu połączenia przez użytkownika.

Szczegóły
Zwracane wartości
WEAVE_NO_ERROR
po zresetowaniu limitu czasu połączenia przez użytkownika TCP.
WEAVE_ERROR_NOT_IMPLEMENTED
jeśli ta funkcja jest wywoływana dla niezgodnego punktu końcowego (np. BLE) w warstwie sieciowej.
WEAVE_ERROR_INCORRECT_STATE
jeśli obiekt WeaveConnection nie jest w odpowiednim stanie do wysyłania wiadomości.
other
Błędy warstwy wewnętrznej związane z resetowaniem czasu oczekiwania użytkownika TCP przez punkt końcowy TCP.

SendMessage

WEAVE_ERROR SendMessage(
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

Wyślij wiadomość Weave przez nawiązane połączenie.

Szczegóły
Parametry
[in] msgInfo
Wskaźnik do obiektu WeaveMessageInfo.
[in] msgBuf
Wskaźnik do obiektu PacketBuffer zawierającego pakiet do wysłania.
Zwracane wartości
WEAVE_NO_ERROR
na wysłanie wiadomości do warstwy sieciowej.
WEAVE_ERROR_INCORRECT_STATE
jeśli obiekt WeaveConnection nie jest w odpowiednim stanie do wysyłania wiadomości.
WEAVE_ERROR_INVALID_DESTINATION_NODE_ID
jeśli identyfikator węzła docelowego jest nieokreślony.
WEAVE_ERROR_SENDING_BLOCKED
jeśli wiadomość jest zbyt długa, by ją wysłać.
other
Błędy warstwy związane z konkretnymi operacjami wysyłania w punkcie końcowym.

SendTunneledMessage

WEAVE_ERROR SendTunneledMessage(
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

Funkcja wysyłająca pakiet przez tunel.

Wysyłaj tunelowaną wiadomość Weave przez ustanowione połączenie.

Szczegóły
Parametry
[in] msgInfo
Wskaźnik do obiektu WeaveMessageInfo.
[in] msgBuf
Wskaźnik do obiektu PacketBuffer zawierającego pakiet do wysłania.
Zwracane wartości
WEAVE_NO_ERROR
na wysłanie wiadomości do warstwy sieciowej.
WEAVE_ERROR_INCORRECT_STATE
jeśli obiekt WeaveConnection nie jest w odpowiednim stanie do wysyłania wiadomości.
WEAVE_ERROR_INVALID_DESTINATION_NODE_ID
jeśli identyfikator węzła docelowego jest nieokreślony.
WEAVE_ERROR_SENDING_BLOCKED
jeśli wiadomość jest zbyt długa, by ją wysłać.
other
Błędy warstwy związane z konkretnymi operacjami wysyłania w punkcie końcowym.

SetConnectTimeout

void SetConnectTimeout(
  const uint32_t connTimeoutMsecs
)

Ustaw czas oczekiwania na powodzenie połączenia lub zwrócenie błędu.

Szczegóły
Parametry
[in] connTimeoutMsecs

SetIdleTimeout

WEAVE_ERROR SetIdleTimeout(
  uint32_t timeoutMS
)

Ustaw limit czasu bezczynności bazowego połączenia w warstwie sieciowej.

Szczegóły
Parametry
[in] timeoutMS
czas oczekiwania w milisekundach.
Zwracane wartości
WEAVE_NO_ERROR
po pomyślnym ustawieniu limitu czasu bezczynności połączenia.
WEAVE_ERROR_INCORRECT_STATE
jeśli obiekt WeaveConnection nie jest w odpowiednim stanie do odbierania wiadomości.

SetIncoming

void SetIncoming(
  bool val
)

SetUserTimeout

WEAVE_ERROR SetUserTimeout(
  uint32_t userTimeoutMillis
)

WeaveConnection::SetUserTimeout.

Ustaw opcję limitu czasu gniazda użytkownika TCP.

Jeśli wartość jest większa niż 0, określa maksymalny czas (w milisekundach), przez jaki przesyłane dane mogą pozostawać niepotwierdzone, zanim TCP wymusi zamknięcie odpowiedniego połączenia. Jeśli wartość opcji to 0, TCP użyje wartości domyślnej systemu. Więcej informacji znajdziesz w dokumencie RFC 5482.

Szczegóły
Parametry
[in] userTimeoutMillis
Wartość limitu czasu oczekiwania użytkownika TCP (w milisekundach).

Uwaga: tę metodę można wywołać tylko w przypadku połączenia Weave obsługiwanego przez połączenie TCP. – Metodę można wywołać tylko wtedy, gdy połączenie jest w stanie umożliwiającym wysyłanie.

– Tę metodę można wywoływać wiele razy, aby dostosować limit czasu oczekiwania użytkownika TCP.

Szczegóły
Zwracane wartości
WEAVE_NO_ERROR
po pomyślnym ustawieniu limitu czasu połączenia przez użytkownika TCP.
WEAVE_ERROR_NOT_IMPLEMENTED
jeśli ta funkcja jest wywoływana dla niezgodnego punktu końcowego (np. BLE) w warstwie sieciowej.
WEAVE_ERROR_INCORRECT_STATE
jeśli obiekt WeaveConnection nie jest w odpowiednim stanie do wysyłania wiadomości.
other
Błędy warstwy wewnętrznej związane z ustawieniem punktu końcowego TCP przekroczenia limitu czasu użytkownika TCP.

Wyłączono

WEAVE_ERROR Shutdown(
  void
)

Wykonuje bezproblemowe wyłączenie wysyłania TCP, upewniając się, że wszystkie dane wychodzące zostały wysłane i odebrane przez stos TCP peera.

W przypadku większości implementacji TCP (ale nie wszystkie) jego wyłączenie spowoduje wyłączenie hosta zdalnego również po jego stronie, co spowoduje jego zamknięcie. Kolejne wywołanie metody Close() spowoduje zakończenie działania WeaveConnection.

Szczegóły
Zwracane wartości
WEAVE_NO_ERROR
po pomyślnym wyłączeniu połączenia tcp.
WEAVE_ERROR_NOT_IMPLEMENTED
jeśli ta funkcja jest wywoływana dla niezgodnego punktu końcowego (np. BLE) w warstwie sieciowej.
WEAVE_ERROR_INCORRECT_STATE
jeśli obiekt WeaveConnection nie jest w prawidłowym stanie przed zainicjowaniem wyłączenia.
other
Błędy warstwy związane z określonymi operacjami wyłączania punktu końcowego.
Zobacz też:
Close() i Abort().