nl:: Weave:: WeaveMessageLayer
#include <src/lib/core/WeaveMessageLayer.h>
Definicja klasy WeaveMessageLayer, która zarządza komunikacją z innymi węzłami Weave.
Podsumowanie
Wykorzystuje jeden z kilku punktów końcowych InetLayer do ustanowienia kanału komunikacyjnego z innymi węzłami Weave.
Konstruktory i destruktory |
|
---|---|
WeaveMessageLayer(void)
Konstruktor warstwy Weave Message.
|
Typy publiczne |
|
---|---|
AcceptErrorFunct)(WeaveMessageLayer *msgLayer, WEAVE_ERROR err)
|
typedefvoid(*
Ta funkcja jest wywołaniem zwrotnym najwyższego poziomu służącym do zgłaszania błędu podczas obsługi przychodzącego połączenia TCP. |
CallbackRemovedFunct)(void *listenerState)
|
typedefvoid(*
Ta funkcja jest wywoływana w celu usunięcia wywołania zwrotnego. |
ConnectionReceiveFunct)(WeaveMessageLayer *msgLayer, WeaveConnection *con)
|
typedefvoid(*
Ta funkcja jest wywołaniem zwrotnym wyższego poziomu do obsługi przychodzącego połączenia TCP. |
MessageLayerActivityChangeHandlerFunct)(bool messageLayerIsActive)
|
typedefvoid(*
Ta funkcja to wywołanie zwrotne aplikacji służące do zgłaszania zmian aktywności warstwy wiadomości. |
MessageReceiveFunct)(WeaveMessageLayer *msgLayer, WeaveMessageInfo *msgInfo, PacketBuffer *payload)
|
typedefvoid(*
Ta funkcja jest wywołaniem zwrotnym wyższego poziomu, które jest wywoływane po otrzymaniu komunikatu Weave przez UDP. |
ReceiveErrorFunct)(WeaveMessageLayer *msgLayer, WEAVE_ERROR err, const IPPacketInfo *pktInfo)
|
typedefvoid(*
Ta funkcja jest wywołaniem zwrotnym wyższego poziomu wywoływanym po napotkaniu błędu. |
State{
|
enum | typ wyliczeniowy Stan WeaveMessageLayer. |
TunneledMsgReceiveFunct)(WeaveMessageLayer *msgLayer, PacketBuffer *payload)
|
typedefvoid(*
Ta funkcja to wywołanie zwrotne wyższego poziomu, które jest wywoływane po otrzymaniu tunelowanego pakietu przez lokalny tunel UDP. |
Atrybuty publiczne |
|
---|---|
AppState
|
void *
Wskaźnik do obiektu stanu konkretnej aplikacji.
|
ExchangeMgr
|
[TYLKO DO ODCZYTU] Powiązany obiekt WeaveExchangeManager.
|
FabricState
|
[TYLKO DO CZYTANIA] Powiązany obiekt WeaveFabricState.
|
IncomingConIdleTimeout
|
uint32_t
Domyślny czas bezczynności (w milisekundach) dla połączeń przychodzących.
|
Inet
|
InetLayer *
[TYLKO DO CZYTANIA] Powiązany obiekt InetLayer.
|
IsListening
|
bool
[READ ONLY] Prawda, jeśli nasłuchuje połączeń/wiadomości przychodzących. W przeciwnym razie ma wartość false (fałsz).
|
OnAcceptError
|
|
OnConnectionReceived
|
|
OnMessageReceived
|
|
OnReceiveError
|
|
OnUDPTunneledMessageReceived
|
|
SecurityMgr
|
[TYLKO DO CZYTANIA] Powiązany obiekt WeaveSecurityManager.
|
State
|
uint8_t
[TYLKO DO CZYTANIA] Stan obiektu WeaveMessageLayer.
|
SystemLayer
|
|
mDropMessage
|
bool
Wewnętrzny i tylko do debugowania. Gdy jest ustawiony, WeaveMessageLayer odrzuca wiadomość i zwraca.
|
Funkcje publiczne |
|
---|---|
ClearUnsecuredConnectionListener(ConnectionReceiveFunct oldOnUnsecuredConnectionReceived, CallbackRemovedFunct newOnUnsecuredConnectionCallbacksRemoved)
|
|
CloseEndpoints(void)
|
Zamknij wszystkie otwarte punkty końcowe TCP i UDP.
|
CreateTunnel(WeaveConnectionTunnel **tunPtr, WeaveConnection & conOne, WeaveConnection & conTwo, uint32_t inactivityTimeoutMS)
|
Utwórz tunel WeaveConnection, łącząc 2 wybrane połączenia Weave.
|
DecodeHeader(PacketBuffer *msgBuf, WeaveMessageInfo *msgInfo, uint8_t **payloadStart)
|
Odkoduj nagłówek warstwy Weave Message z otrzymanej wiadomości Weave.
|
EncodeMessage(WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf, WeaveConnection *con, uint16_t maxLen, uint16_t reserve)
|
Kodowanie nagłówka WeaveMessageLayer w buforze pakietów.
|
EncodeMessage(const IPAddress & destAddr, uint16_t destPort, InterfaceId sendIntId, WeaveMessageInfo *msgInfo, PacketBuffer *payload)
|
Kodowanie nagłówka warstwy Weave Message w buforze pakietów.
|
EphemeralUDPPortEnabled(void) const
|
bool
Sprawdź, czy wymiany UDP Weave inicjowane lokalnie powinny być wysyłane z efemerycznego portu źródłowego UDP.
|
GetConnectionPoolStats(nl::Weave::System::Stats::count_t & aOutInUse) const
|
void
Pobierz liczbę używanych połączeń Weave i rozmiar puli.
|
IPv4ListenEnabled(void) const
|
bool
Sprawdź, czy komponent WeaveMessageLayer jest skonfigurowany tak, aby nasłuchiwać przychodzącej komunikacji przez IPv4.
|
IPv6ListenEnabled(void) const
|
bool
Sprawdź, czy komponent WeaveMessageLayer jest skonfigurowany tak, aby nasłuchiwać przychodzącej komunikacji przez IPv4.
|
Init(InitContext *context)
|
Inicjalizacja obiektu warstwy Weave Message.
|
IsBoundToLocalIPv4Address(void) const
|
bool
Sprawdź, czy WeaveMessageLayer jest powiązany z lokalnym adresem IPv4.
|
IsBoundToLocalIPv6Address(void) const
|
bool
Sprawdź, czy kolumna WeaveMessageLayer jest powiązana z lokalnym adresem IPv6.
|
IsMessageLayerActive(void)
|
bool
|
NewConnection(void)
|
Utwórz nowy obiekt WeaveConnection z puli.
|
NewConnectionTunnel(void)
|
Utwórz nowy obiekt WeaveConnectionTunnel z puli.
|
ReEncodeMessage(PacketBuffer *buf)
|
|
RefreshEndpoints(void)
|
Odświeżanie punktów końcowych InetLayer na podstawie bieżącego stanu interfejsów sieciowych systemu.
|
ResendMessage(WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
|
Ponowne wysłanie zakodowanej wiadomości Weave za pomocą podstawowego punktu końcowego Inetlayer UDP.
|
ResendMessage(const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
|
Ponowne wysłanie zakodowanego komunikatu Weave za pomocą podstawowego punktu końcowego Inetlayer UDP.
|
ResendMessage(const IPAddress & destAddr, uint16_t destPort, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
|
Ponowne wysłanie zakodowanego komunikatu Weave za pomocą podstawowego punktu końcowego Inetlayer UDP.
|
ResendMessage(const IPAddress & destAddr, uint16_t destPort, InterfaceId interfaceId, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
|
Ponowne wysłanie zakodowanego komunikatu Weave za pomocą podstawowego punktu końcowego Inetlayer UDP.
|
SendMessage(WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
|
Wysyłanie wiadomości Weave za pomocą podstawowego punktu końcowego Inetlayer UDP po jej zakodowaniu.
|
SendMessage(const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
|
Wysyłanie wiadomości Weave za pomocą podstawowego punktu końcowego Inetlayer UDP po jej zakodowaniu.
|
SendMessage(const IPAddress & destAddr, uint16_t destPort, InterfaceId sendIntfId, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
|
Wysyłanie wiadomości Weave za pomocą podstawowego punktu końcowego Inetlayer UDP po jej zakodowaniu.
|
SendUDPTunneledMessage(const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
|
Funkcja wysyłania tunelowanego pakietu przez lokalny tunel UDP.
|
SetSignalMessageLayerActivityChanged(MessageLayerActivityChangeHandlerFunct messageLayerActivityChangeHandler)
|
void
Ustaw moduł obsługi aplikacji, który będzie wywoływany za każdym razem, gdy zmieni się aktywność warstwy komunikatu.
|
SetTCPListenEnabled(bool val)
|
void
Włącz lub wyłącz nasłuchiwanie przychodzących połączeń TCP w WeaveMessageLayer.
|
SetUDPListenEnabled(bool val)
|
void
Włącz lub wyłącz nasłuchiwanie przychodzących wiadomości UDP w WeaveMessageLayer.
|
SetUnsecuredConnectionListener(ConnectionReceiveFunct newOnUnsecuredConnectionReceived, CallbackRemovedFunct newOnUnsecuredConnectionCallbacksRemoved, bool force, void *listenerState)
|
|
Shutdown(void)
|
Wyłącz WeaveMessageLayer.
|
TCPListenEnabled(void) const
|
bool
Sprawdź, czy komponent WeaveMessageLayer jest skonfigurowany do nasłuchiwania połączeń przychodzących TCP.
|
UDPListenEnabled(void) const
|
bool
Sprawdź, czy WeaveMessageLayer jest skonfigurowany do nasłuchiwania przychodzących wiadomości UDP.
|
UnsecuredListenEnabled(void) const
|
bool
Włączanie lub wyłączanie inicjowania wymiany danych Weave UDP z efemerycznego portu źródłowego UDP.
|
Public static functions |
|
---|---|
GetMaxWeavePayloadSize(const PacketBuffer *msgBuf, bool isUDP, uint32_t udpMTU)
|
uint32_t
Pobiera maksymalny rozmiar ładunku Weave dla konfiguracji wiadomości i podawanego bufora pakietów.
|
GetPeerDescription(char *buf, size_t bufSize, uint64_t nodeId, const IPAddress *addr, uint16_t port, InterfaceId interfaceId, const WeaveConnection *con)
|
void
Konstruuje ciąg znaków opisujący węzeł równorzędny i powiązany z nim adres / informacje o połączeniu.
|
GetPeerDescription(char *buf, size_t bufSize, const WeaveMessageInfo *msgInfo)
|
void
Tworzy ciąg znaków opisujący węzeł peera na podstawie informacji powiązanych z otrzymaną od niego wiadomością.
|
Zajęcia |
|
---|---|
nl:: |
Definicja klasy InitContext. |
Typy publiczne
AcceptErrorFunct
void(* AcceptErrorFunct)(WeaveMessageLayer *msgLayer, WEAVE_ERROR err)
Ta funkcja jest wywoływana z wyższego poziomu w celu zgłaszania błędów podczas obsługi przychodzącego połączenia TCP.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
CallbackRemovedFunct
void(* CallbackRemovedFunct)(void *listenerState)
Ta funkcja jest wywoływana w celu usunięcia wywołania zwrotnego.
Szczegóły | |||
---|---|---|---|
Parametry |
|
ConnectionReceiveFunct
void(* ConnectionReceiveFunct)(WeaveMessageLayer *msgLayer, WeaveConnection *con)
Ta funkcja jest wywołaniem zwrotnym wyższego poziomu do obsługi przychodzącego połączenia TCP.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
MessageLayerActivityChangeHandlerFunct
void(* MessageLayerActivityChangeHandlerFunct)(bool messageLayerIsActive)
Ta funkcja to wywołanie zwrotne aplikacji służące do zgłaszania zmian aktywności warstwy wiadomości.
Warstwa wiadomości jest uznawana za aktywną, jeśli istnieje co najmniej jedno otwarte żądanie wymiany lub oczekujące żądanie synchronizacji licznika wiadomości.
Szczegóły | |||
---|---|---|---|
Parametry |
|
MessageReceiveFunct
void(* MessageReceiveFunct)(WeaveMessageLayer *msgLayer, WeaveMessageInfo *msgInfo, PacketBuffer *payload)
Ta funkcja to wywołanie zwrotne wyższego poziomu, które jest wywoływane po otrzymaniu wiadomości Weave przez UDP.
Szczegóły | |||||||
---|---|---|---|---|---|---|---|
Parametry |
|
ReceiveErrorFunct
void(* ReceiveErrorFunct)(WeaveMessageLayer *msgLayer, WEAVE_ERROR err, const IPPacketInfo *pktInfo)
Ta funkcja jest wywołaniem zwrotnym wyższego poziomu wywoływanym po napotkaniu błędu.
Szczegóły | |||||||
---|---|---|---|---|---|---|---|
Parametry |
|
Stan
State
Stan WeaveMessageLayer.
Właściwości | |
---|---|
kState_Initialized
|
Określa, kiedy zasada WeaveMessageLayer jest inicjowana. |
kState_Initializing
|
Wskazuje, kiedy trwa inicjowanie WeaveMessageLayer. |
kState_NotInitialized
|
Stan, gdy WeaveMessageLayer nie jest zainicjowany. |
TunneledMsgReceiveFunct
void(* TunneledMsgReceiveFunct)(WeaveMessageLayer *msgLayer, PacketBuffer *payload)
Ta funkcja to wywołanie zwrotne wyższego poziomu, które jest wywoływane po otrzymaniu tunelowanego pakietu przez lokalny tunel UDP.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
Atrybuty publiczne
AppState
void * AppState
Wskaźnik do obiektu stanu określonej aplikacji.
ExchangeMgr
WeaveExchangeManager * ExchangeMgr
[TYLKO DO CZYTANIA] Powiązany obiekt WeaveExchangeManager.
IncomingConIdleTimeout
uint32_t IncomingConIdleTimeout
Domyślny limit czasu bezczynności (w milisekundach) dla połączeń przychodzących.
Inet
InetLayer * Inet
[TYLKO DO CZYTANIA] Powiązany obiekt InetLayer.
IsListening
bool IsListening
[TYLKO DO CZYTANIA] Wartość „prawda”, jeśli nasłuchuje przychodzących połączeń lub wiadomości, a w przeciwnym razie – „fałsz”.
OnAcceptError
AcceptErrorFunct OnAcceptError
OnConnectionReceived
ConnectionReceiveFunct OnConnectionReceived
OnMessageReceived
MessageReceiveFunct OnMessageReceived
OnReceiveError
ReceiveErrorFunct OnReceiveError
OnUDPTunneledMessageReceived
TunneledMsgReceiveFunct OnUDPTunneledMessageReceived
SecurityMgr
WeaveSecurityManager * SecurityMgr
[TYLKO DO CZYTANIA] Powiązany obiekt WeaveSecurityManager.
SystemLayer
System::Layer * SystemLayer
mDropMessage
bool mDropMessage
Wewnętrzny i tylko do debugowania. Gdy jest ustawiony, WeaveMessageLayer odrzuca wiadomość i zwraca.
Funkcje publiczne
ClearUnsecuredConnectionListener
WEAVE_ERROR ClearUnsecuredConnectionListener( ConnectionReceiveFunct oldOnUnsecuredConnectionReceived, CallbackRemovedFunct newOnUnsecuredConnectionCallbacksRemoved )
CloseEndpoints
WEAVE_ERROR CloseEndpoints( void )
Zamknij wszystkie otwarte punkty końcowe TCP i UDP.
Następnie przerwij wszystkie otwarte połączenia WeaveConnections i zamknij wszystkie otwarte obiekty WeaveConnectionTunnel.
Zobacz też:Wyłączanie().
CreateTunnel
WEAVE_ERROR CreateTunnel( WeaveConnectionTunnel **tunPtr, WeaveConnection & conOne, WeaveConnection & conTwo, uint32_t inactivityTimeoutMS )
Utwórz tunel WeaveConnection, łącząc 2 wybrane połączenia Weave.
Po utworzeniu obiektów TCPEndPoints odpowiadających obiektom WeaveConnection komponentu są przekazywane do WeaveConnectionTunnel. W przeciwnym razie połączenia Weave są zamykane.
Szczegóły | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametry |
|
||||||||
Zwracane wartości |
|
DecodeHeader
WEAVE_ERROR DecodeHeader( PacketBuffer *msgBuf, WeaveMessageInfo *msgInfo, uint8_t **payloadStart )
Odkoduj nagłówek warstwy Weave Message z otrzymanej wiadomości Weave.
Szczegóły | |||||||
---|---|---|---|---|---|---|---|
Parametry |
|
||||||
Zwracane wartości |
|
EncodeMessage
WEAVE_ERROR EncodeMessage( WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf, WeaveConnection *con, uint16_t maxLen, uint16_t reserve )
Zakoduj nagłówek WeaveMessageLayer w PacketBuffer.
Szczegóły | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parametry |
|
||||||||||||||
Zwracane wartości |
|
EncodeMessage
WEAVE_ERROR EncodeMessage( const IPAddress & destAddr, uint16_t destPort, InterfaceId sendIntId, WeaveMessageInfo *msgInfo, PacketBuffer *payload )
Kodowanie nagłówka warstwy Weave Message w buforze pakietów.
Szczegóły | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parametry |
|
||||||||||||||
Zwracane wartości |
|
EphemeralUDPPortEnabled
bool EphemeralUDPPortEnabled( void ) const
Sprawdź, czy wymiany Weave UDP inicjowane lokalnie powinny być wysyłane z efemerycznego portu źródłowego UDP.
GetConnectionPoolStats
void GetConnectionPoolStats( nl::Weave::System::Stats::count_t & aOutInUse ) const
Pobierz liczbę używanych połączeń Weave i rozmiar puli.
Szczegóły | |||
---|---|---|---|
Parametry |
|
IPv4ListenEnabled
bool IPv4ListenEnabled( void ) const
Sprawdź, czy usługa WeaveMessageLayer jest skonfigurowana tak, aby nasłuchiwać przychodzącej komunikacji przez IPv4.
IPv6ListenEnabled
bool IPv6ListenEnabled( void ) const
Sprawdź, czy komponent WeaveMessageLayer jest skonfigurowany tak, aby nasłuchiwać przychodzącej komunikacji przez IPv4.
Init
WEAVE_ERROR Init( InitContext *context )
Inicjuje obiekt warstwy Weave Message.
Szczegóły | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametry |
|
||||||||
Zwracane wartości |
|
IsBoundToLocalIPv4Address
bool IsBoundToLocalIPv4Address( void ) const
Sprawdź, czy kolumna WeaveMessageLayer jest powiązana z lokalnym adresem IPv4.
IsBoundToLocalIPv6Address
bool IsBoundToLocalIPv6Address( void ) const
Sprawdź, czy kolumna WeaveMessageLayer jest powiązana z lokalnym adresem IPv6.
IsMessageLayerActive
bool IsMessageLayerActive( void )
NewConnection
WeaveConnection * NewConnection( void )
Utwórz nowy obiekt WeaveConnection z puli.
Szczegóły | |
---|---|
Zwroty |
wskaźnik do nowo utworzonego obiektu WeaveConnection, jeśli operacja się uda, lub wskaż wartość NULL.
|
NewConnectionTunnel
WeaveConnectionTunnel * NewConnectionTunnel( void )
Utwórz nowy obiekt WeaveConnectionTunnel z puli.
Szczegóły | |
---|---|
Zwroty |
wskaźnik do nowo utworzonego obiektu WeaveConnectionTunnel, jeśli operacja się powiodła, w przeciwnym razie NULL.
|
ReEncodeMessage
WEAVE_ERROR ReEncodeMessage( PacketBuffer *buf )
RefreshEndpoints
WEAVE_ERROR RefreshEndpoints( void )
Odświeżanie punktów końcowych InetLayer na podstawie bieżącego stanu interfejsów sieciowych systemu.
Szczegóły | |||||
---|---|---|---|---|---|
Zwracane wartości |
|
ResendMessage
WEAVE_ERROR ResendMessage( WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
Ponowne wysłanie zakodowanego komunikatu Weave za pomocą podstawowego punktu końcowego Inetlayer UDP.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
||||
Zwracane wartości |
|
ResendMessage
WEAVE_ERROR ResendMessage( const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
Ponowne wysłanie zakodowanej wiadomości Weave za pomocą podstawowego punktu końcowego Inetlayer UDP.
Szczegóły | |||||||
---|---|---|---|---|---|---|---|
Parametry |
|
||||||
Zwracane wartości |
|
ResendMessage
WEAVE_ERROR ResendMessage( const IPAddress & destAddr, uint16_t destPort, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
Ponowne wysłanie zakodowanego komunikatu Weave za pomocą podstawowego punktu końcowego Inetlayer UDP.
Szczegóły | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametry |
|
||||||||
Zwracane wartości |
|
ResendMessage
WEAVE_ERROR ResendMessage( const IPAddress & destAddr, uint16_t destPort, InterfaceId interfaceId, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
Ponowne wysłanie zakodowanej wiadomości Weave za pomocą podstawowego punktu końcowego Inetlayer UDP.
Uwaga: jeśli adres docelowy nie został podany, spróbuj go określić na podstawie identyfikatora węzła w nagłówku wiadomości. Niepowodzenie, jeśli nie można tego zrobić. – Jeśli adres docelowy to adres sieci lokalnej, a wywołujący nie określił identyfikatora węzła docelowego, wyodrębnij go z adresu docelowego.
Szczegóły | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parametry |
|
||||||||||
Zwracane wartości |
|
SendMessage
WEAVE_ERROR SendMessage( WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
Wysyłanie wiadomości Weave za pomocą podstawowego punktu końcowego Inetlayer UDP po jej zakodowaniu.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
||||
Zwracane wartości |
|
SendMessage
WEAVE_ERROR SendMessage( const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
Wysyłanie wiadomości Weave za pomocą podstawowego punktu końcowego Inetlayer UDP po jej zakodowaniu.
Uwaga: używany port docelowy to WEAVE_PORT. – Jeśli adres docelowy nie został podany, spróbuj go określić na podstawie identyfikatora węzła w nagłówku wiadomości. Jeśli nie będzie można tego zrobić, zrób błąd.
– Jeśli adres docelowy to adres sieci lokalnej, a wywołujący nie podał identyfikatora węzła docelowego, wyodrębnij go z adresu docelowego.
Szczegóły | |||||||
---|---|---|---|---|---|---|---|
Parametry |
|
||||||
Zwracane wartości |
|
SendMessage
WEAVE_ERROR SendMessage( const IPAddress & destAddr, uint16_t destPort, InterfaceId sendIntfId, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
Wysyłanie wiadomości Weave za pomocą podstawowego punktu końcowego Inetlayer UDP po jej zakodowaniu.
Uwaga: jeśli adres docelowy nie został podany, spróbuj go określić na podstawie identyfikatora węzła w nagłówku wiadomości. Niepowodzenie, jeśli nie można tego zrobić. – Jeśli adres docelowy to adres sieci lokalnej, a wywołujący nie podał identyfikatora węzła docelowego, wyodrębnij go z adresu docelowego.
Szczegóły | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parametry |
|
||||||||||
Zwracane wartości |
|
SendUDPTunneledMessage
WEAVE_ERROR SendUDPTunneledMessage( const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
Funkcja wysyłania tunelowanego pakietu przez lokalny tunel UDP.
wysyłać wiadomości danych IPv6 w tunelu przez UDP.
Szczegóły | |||||||
---|---|---|---|---|---|---|---|
Parametry |
|
||||||
Zwracane wartości |
|
SetSignalMessageLayerActivityChanged
void SetSignalMessageLayerActivityChanged( MessageLayerActivityChangeHandlerFunct messageLayerActivityChangeHandler )
Ustaw moduł obsługi aplikacji, który będzie wywoływany za każdym razem, gdy zmieni się aktywność warstwy komunikatu.
Aplikacja będzie otrzymywać powiadomienia za każdym razem, gdy:
- zmienia się liczba otwartych wymian.
- liczba oczekujących żądań synchronizacji zlicznika wiadomości zmienia się z 0 na co najmniej 1 i z powrotem na 0. Obsługa jest wyświetlana jako sygnał ogólny wskazujący, czy są jakieś trwające rozmowy Weave lub oczekujące odpowiedzi. Moduł obsługi musi być ustawiony po zainicjowaniu WeaveMessageLayer. Wyłączenie WeaveMessageLayer spowoduje wyczyszczenie bieżącego modułu.
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwracane wartości |
|
SetTCPListenEnabled
void SetTCPListenEnabled( bool val )
Włącz lub wyłącz nasłuchiwanie przychodzących połączeń TCP w WeaveMessageLayer.
UWAGA: funkcja RefreshEndpoints()
musi zostać wywołana po zmianie stanu nasłuchiwania TCP.
SetUDPListenEnabled
void SetUDPListenEnabled( bool val )
W narzędziu WeaveMessageLayer możesz włączyć lub wyłączyć nasłuchiwanie przychodzących wiadomości UDP.
UWAGA: funkcja RefreshEndpoints()
musi zostać wywołana po zmianie stanu odsłuchiwania UDP.
SetUnsecuredConnectionListener
WEAVE_ERROR SetUnsecuredConnectionListener( ConnectionReceiveFunct newOnUnsecuredConnectionReceived, CallbackRemovedFunct newOnUnsecuredConnectionCallbacksRemoved, bool force, void *listenerState )
Wyłączono
WEAVE_ERROR Shutdown( void )
Wyłącz WeaveMessageLayer.
Zamknij wszystkie otwarte punkty końcowe warstwy Inet i zresetuj wszystkie wywołania zwrotne, zmienne składowe i obiekty wyższej warstwy. Wywołanie disabledown() kończy działanie obiektu WeaveMessageLayer.
TCPListenEnabled
bool TCPListenEnabled( void ) const
Sprawdź, czy komponent WeaveMessageLayer jest skonfigurowany do nasłuchiwania połączeń przychodzących TCP.
UDPListenEnabled
bool UDPListenEnabled( void ) const
Sprawdź, czy w interfejsie WeaveMessageLayer skonfigurowano nasłuchiwanie przychodzących wiadomości UDP.
UnsecuredListenEnabled
bool UnsecuredListenEnabled( void ) const
Włączanie lub wyłączanie inicjowania wymiany danych Weave UDP z efemerycznego portu źródłowego UDP.
UWAGA: po zmianie stanu portu efemerycznego należy wywołać funkcję RefreshEndpoints()
. Sprawdź, czy odtwarzanie bez zabezpieczeń jest włączone.
WeaveMessageLayer
WeaveMessageLayer( void )
Konstruktor warstwy wiadomości Weave.
Public static functions
GetMaxWeavePayloadSize
uint32_t GetMaxWeavePayloadSize( const PacketBuffer *msgBuf, bool isUDP, uint32_t udpMTU )
Pobiera maksymalny rozmiar ładunku Weave dla konfiguracji wiadomości i podawanego bufora pakietów.
Zwrócony maksymalny rozmiar ładunku nie przekroczy dostępnej przestrzeni na ładunek w dostarczonym buforze pakietów.
Jeśli wiadomość jest w formacie UDP, zwrócony maksymalny rozmiar ładunku nie spowoduje, że wiadomość Weave przekroczy określony MTU UDP.
Wreszcie zwrócony maksymalny rozmiar ładunku nie spowoduje, że wiadomość Weave przekroczy maksymalny rozmiar wiadomości Weave.
Szczegóły | |||||||
---|---|---|---|---|---|---|---|
Parametry |
|
||||||
Zwroty |
maksymalny rozmiar ładunku Weave.
|
GetPeerDescription
void GetPeerDescription( char *buf, size_t bufSize, uint64_t nodeId, const IPAddress *addr, uint16_t port, InterfaceId interfaceId, const WeaveConnection *con )
Konstruuje ciąg znaków opisujący węzeł równorzędny i powiązany z nim adres / informacje o połączeniu.
Wygenerowany ciąg ma taki format:
([ ]: % , con )
Szczegóły | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parametry |
|
GetPeerDescription
void GetPeerDescription( char *buf, size_t bufSize, const WeaveMessageInfo *msgInfo )
Konstruuje ciąg znaków opisujący węzeł równorzędny na podstawie informacji powiązanych z wiadomością otrzymaną od peera.
Szczegóły | |||||||
---|---|---|---|---|---|---|---|
Parametry |
|