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 niszczyciele |
|
---|---|
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 w zakresie obsługi przychodzącego połączenia TCP. |
MessageLayerActivityChangeHandlerFunct)(bool messageLayerIsActive)
|
typedefvoid(*
Ta funkcja jest wywołaniem zwrotnym aplikacji służącym do raportowania zmiany aktywności warstwy wiadomości. |
MessageReceiveFunct)(WeaveMessageLayer *msgLayer, WeaveMessageInfo *msgInfo, PacketBuffer *payload)
|
typedefvoid(*
Ta funkcja to wywołanie zwrotne wyższej warstwy, 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 z wyższej warstwy, który jest wywoływany po napotkaniu błędu. |
State{
|
enum | typ wyliczeniowy Stan obiektu WeaveMessageLayer. |
TunneledMsgReceiveFunct)(WeaveMessageLayer *msgLayer, PacketBuffer *payload)
|
typedefvoid(*
Ta funkcja to wywołanie zwrotne wyższej warstwy, które jest wywoływane po otrzymaniu pakietu z tunelu przez lokalny tunel UDP. |
Atrybuty publiczne |
|
---|---|
AppState
|
void *
Wskaźnik do obiektu stanu określonej aplikacji.
|
ExchangeMgr
|
[TYLKO DO ODCZYTU] Powiązany obiekt WeaveExchangeManager.
|
FabricState
|
[READ ONLY] Powiązany obiekt WeaveFabricState.
|
IncomingConIdleTimeout
|
uint32_t
Domyślny limit czasu bezczynności (w milisekundach) dla połączeń przychodzących.
|
Inet
|
InetLayer *
[READ ONLY] 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
|
[READ ONLY] Powiązany obiekt WeaveSecurityManager.
|
State
|
uint8_t
[READ ONLY] Stan obiektu WeaveMessageLayer.
|
SystemLayer
|
|
mDropMessage
|
bool
Tylko do użytku wewnętrznego i do debugowania; Po ustawieniu funkcja WeaveMessageLayer usuwa wiadomość i zwraca ją.
|
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 element WeaveConnectionTunnel, łącząc ze sobą 2 określone połączenia WeaveConnections.
|
DecodeHeader(PacketBuffer *msgBuf, WeaveMessageInfo *msgInfo, uint8_t **payloadStart)
|
Dekodowanie nagłówka warstwy Weave Message z odebranej wiadomości Weave.
|
EncodeMessage(WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf, WeaveConnection *con, uint16_t maxLen, uint16_t reserve)
|
Zakoduj nagłówek WeaveMessageLayer w PacketBuffer.
|
EncodeMessage(const IPAddress & destAddr, uint16_t destPort, InterfaceId sendIntId, WeaveMessageInfo *msgInfo, PacketBuffer *payload)
|
Zakoduj nagłówek warstwy Weave Message w elemencie PacketBuffer.
|
EphemeralUDPPortEnabled(void) const
|
bool
Sprawdź, czy inicjowane lokalnie giełdy UDP Weave 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ń WeaveConnections i rozmiar puli.
|
IPv4ListenEnabled(void) const
|
bool
Sprawdź, czy w interfejsie WeaveMessageLayer skonfigurowano nasłuchiwanie komunikacji przychodzącej przez IPv4.
|
IPv6ListenEnabled(void) const
|
bool
Sprawdź, czy w interfejsie WeaveMessageLayer skonfigurowano nasłuchiwanie komunikacji przychodzącej przez IPv4.
|
Init(InitContext *context)
|
Zainicjuj obiekt warstwy Weave Message.
|
IsBoundToLocalIPv4Address(void) const
|
bool
Sprawdź, czy kolumna WeaveMessageLayer jest powiązana 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ż punkty końcowe InetLayer na podstawie bieżącego stanu interfejsów sieciowych systemu.
|
ResendMessage(WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
|
Wyślij ponownie zakodowaną wiadomość Weave przy użyciu bazowego punktu końcowego UDP usługi Inetlayer.
|
ResendMessage(const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
|
Wyślij ponownie zakodowaną wiadomość Weave przy użyciu bazowego punktu końcowego UDP usługi Inetlayer.
|
ResendMessage(const IPAddress & destAddr, uint16_t destPort, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
|
Wyślij ponownie zakodowaną wiadomość Weave przy użyciu bazowego punktu końcowego UDP usługi Inetlayer.
|
ResendMessage(const IPAddress & destAddr, uint16_t destPort, InterfaceId interfaceId, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
|
Wyślij ponownie zakodowaną wiadomość Weave przy użyciu bazowego punktu końcowego UDP usługi Inetlayer.
|
SendMessage(WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
|
Po zakodowaniu wiadomości weave wyślij ją, korzystając z bazowego punktu końcowego UDP Inetlayer.
|
SendMessage(const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
|
Po zakodowaniu wiadomości weave wyślij ją, korzystając z bazowego punktu końcowego UDP Inetlayer.
|
SendMessage(const IPAddress & destAddr, uint16_t destPort, InterfaceId sendIntfId, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
|
Po zakodowaniu wiadomości weave wyślij ją, korzystając z bazowego punktu końcowego UDP Inetlayer.
|
SendUDPTunneledMessage(const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
|
Funkcja wysyłająca pakiet z tunelu przez lokalny tunel UDP.
|
SetSignalMessageLayerActivityChanged(MessageLayerActivityChangeHandlerFunct messageLayerActivityChangeHandler)
|
void
Ustaw moduł obsługi aplikacji, który będzie wywoływany po każdej zmianie aktywności warstwy wiadomości.
|
SetTCPListenEnabled(bool val)
|
void
Włącz lub wyłącz nasłuchiwanie przychodzących połączeń TCP w panelu WeaveMessageLayer.
|
SetUDPListenEnabled(bool val)
|
void
W narzędziu WeaveMessageLayer możesz włączyć lub wyłączyć nasłuchiwanie przychodzących wiadomości UDP.
|
SetUnsecuredConnectionListener(ConnectionReceiveFunct newOnUnsecuredConnectionReceived, CallbackRemovedFunct newOnUnsecuredConnectionCallbacksRemoved, bool force, void *listenerState)
|
|
Shutdown(void)
|
Wyłącz WeaveMessageLayer.
|
TCPListenEnabled(void) const
|
bool
Sprawdź, czy w interfejsie WeaveMessageLayer skonfigurowano nasłuchiwanie przychodzących połączeń TCP.
|
UDPListenEnabled(void) const
|
bool
Sprawdź, czy w interfejsie WeaveMessageLayer skonfigurowano nasłuchiwanie przychodzących wiadomości UDP.
|
UnsecuredListenEnabled(void) const
|
bool
Włącz lub wyłącz inicjowanie wymiany UDP Weave z efemerycznego portu źródłowego UDP.
|
Publiczne funkcje statyczne |
|
---|---|
GetMaxWeavePayloadSize(const PacketBuffer *msgBuf, bool isUDP, uint32_t udpMTU)
|
uint32_t
Pobierz maksymalny rozmiar ładunku Weave dla konfiguracji wiadomości i dostarczonego bufora PacketBuffer.
|
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
Konstruuje ciąg znaków opisujący węzeł równorzędny na podstawie informacji powiązanych z wiadomością otrzymaną od peera.
|
Zajęcia |
|
---|---|
nl:: |
Definicja klasy InitContext. |
Typy publiczne
AcceptErrorFunct
void(* AcceptErrorFunct)(WeaveMessageLayer *msgLayer, WEAVE_ERROR err)
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.
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 w zakresie obsługi przychodzącego połączenia TCP.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
MessageLayerActivityChangeHandlerFunct
void(* MessageLayerActivityChangeHandlerFunct)(bool messageLayerIsActive)
Ta funkcja to wywołanie zwrotne aplikacji do raportowania zmiany 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ższej warstwy, które jest wywoływane po otrzymaniu komunikatu Weave przez UDP.
Szczegóły | |||||||
---|---|---|---|---|---|---|---|
Parametry |
|
ReceiveErrorFunct
void(* ReceiveErrorFunct)(WeaveMessageLayer *msgLayer, WEAVE_ERROR err, const IPPacketInfo *pktInfo)
Ta funkcja jest wywołaniem zwrotnym z wyższej warstwy, który jest wywoływany po napotkaniu błędu.
Szczegóły | |||||||
---|---|---|---|---|---|---|---|
Parametry |
|
Stan
State
Stan obiektu WeaveMessageLayer.
Właściwości | |
---|---|
kState_Initialized
|
Określa, kiedy zasada WeaveMessageLayer jest inicjowana. |
kState_Initializing
|
Wskazuje, kiedy trwa inicjowanie WeaveMessageLayer. |
kState_NotInitialized
|
Stan, w którym nie zainicjowano WeaveMessageLayer. |
TunneledMsgReceiveFunct
void(* TunneledMsgReceiveFunct)(WeaveMessageLayer *msgLayer, PacketBuffer *payload)
Ta funkcja to wywołanie zwrotne wyższej warstwy, które jest wywoływane po otrzymaniu pakietu z tunelu 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 ODCZYTU] Powiązany obiekt WeaveExchangeManager.
IncomingConIdleTimeout
uint32_t IncomingConIdleTimeout
Domyślny limit czasu bezczynności (w milisekundach) dla połączeń przychodzących.
Inet
InetLayer * Inet
[READ ONLY] Powiązany obiekt InetLayer.
IsListening
bool IsListening
[READ ONLY] Prawda, jeśli nasłuchuje połączeń/wiadomości przychodzących. W przeciwnym razie ma wartość false (fałsz).
OnAcceptError
AcceptErrorFunct OnAcceptError
OnConnectionReceived
ConnectionReceiveFunct OnConnectionReceived
OnMessageReceived
MessageReceiveFunct OnMessageReceived
OnReceiveError
ReceiveErrorFunct OnReceiveError
OnUDPTunneledMessageReceived
TunneledMsgReceiveFunct OnUDPTunneledMessageReceived
SystemLayer
System::Layer * SystemLayer
mDropMessage
bool mDropMessage
Tylko do użytku wewnętrznego i debugowania; Po ustawieniu zasada WeaveMessageLayer usuwa wiadomość i zwraca ją.
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 obiekty WeaveConnections i wyłącz wszystkie otwarte obiekty WeaveConnectionTunnel.
Zobacz też:Wyłączanie().
CreateTunnel
WEAVE_ERROR CreateTunnel( WeaveConnectionTunnel **tunPtr, WeaveConnection & conOne, WeaveConnection & conTwo, uint32_t inactivityTimeoutMS )
Utwórz element WeaveConnectionTunnel, łącząc ze sobą 2 określone połączenia WeaveConnections.
Po utworzeniu połączenia punkty TCPEndPoint odpowiadające obiektom WeaveConnection komponentu są przekazywane do WeaveConnectionTunnel. W przeciwnym razie obiekt WeaveConnections jest zamknięty.
Szczegóły | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametry |
|
||||||||
Zwracane wartości |
|
DecodeHeader
WEAVE_ERROR DecodeHeader( PacketBuffer *msgBuf, WeaveMessageInfo *msgInfo, uint8_t **payloadStart )
Dekodowanie nagłówka warstwy Weave Message z odebranej 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 )
Zakoduj nagłówek warstwy Weave Message w elemencie PacketBuffer.
Szczegóły | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parametry |
|
||||||||||||||
Zwracane wartości |
|
EphemeralUDPPortEnabled
bool EphemeralUDPPortEnabled( void ) const
Sprawdź, czy inicjowane lokalnie giełdy UDP Weave 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ń WeaveConnections i rozmiar puli.
Szczegóły | |||
---|---|---|---|
Parametry |
|
IPv4ListenEnabled
bool IPv4ListenEnabled( void ) const
Sprawdź, czy w interfejsie WeaveMessageLayer skonfigurowano nasłuchiwanie komunikacji przychodzącej przez IPv4.
IPv6ListenEnabled
bool IPv6ListenEnabled( void ) const
Sprawdź, czy w interfejsie WeaveMessageLayer skonfigurowano nasłuchiwanie komunikacji przychodzącej przez IPv4.
Init
WEAVE_ERROR Init( InitContext *context )
Zainicjuj 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ę uda, lub wskaż wartość NULL.
|
ReEncodeMessage
WEAVE_ERROR ReEncodeMessage( PacketBuffer *buf )
RefreshEndpoints
WEAVE_ERROR RefreshEndpoints( void )
Odśwież punkty końcowe InetLayer na podstawie bieżącego stanu interfejsów sieciowych systemu.
Szczegóły | |||||
---|---|---|---|---|---|
Zwracane wartości |
|
ResendMessage
WEAVE_ERROR ResendMessage( WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
Wyślij ponownie zakodowaną wiadomość Weave przy użyciu bazowego punktu końcowego UDP usługi Inetlayer.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
||||
Zwracane wartości |
|
ResendMessage
WEAVE_ERROR ResendMessage( const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
Wyślij ponownie zakodowaną wiadomość Weave przy użyciu bazowego punktu końcowego UDP usługi Inetlayer.
Szczegóły | |||||||
---|---|---|---|---|---|---|---|
Parametry |
|
||||||
Zwracane wartości |
|
ResendMessage
WEAVE_ERROR ResendMessage( const IPAddress & destAddr, uint16_t destPort, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
Wyślij ponownie zakodowaną wiadomość Weave przy użyciu bazowego punktu końcowego UDP usługi Inetlayer.
Szczegóły | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametry |
|
||||||||
Zwracane wartości |
|
ResendMessage
WEAVE_ERROR ResendMessage( const IPAddress & destAddr, uint16_t destPort, InterfaceId interfaceId, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
Wyślij ponownie zakodowaną wiadomość Weave przy użyciu bazowego punktu końcowego UDP usługi Inetlayer.
Uwaga: 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 można tego zrobić, zrób błąd. - Jeśli adres miejsca docelowego jest adresem w tkaninie dla lokalnej tkaniny, a użytkownik 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( WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
Po zakodowaniu wiadomości weave wyślij ją, korzystając z bazowego punktu końcowego UDP Inetlayer.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
||||
Zwracane wartości |
|
SendMessage
WEAVE_ERROR SendMessage( const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
Po zakodowaniu wiadomości weave wyślij ją, korzystając z bazowego punktu końcowego UDP Inetlayer.
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 można tego zrobić, zrób błąd.
- Jeśli adres miejsca docelowego jest adresem w tkaninie dla lokalnej tkaniny, a użytkownik 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 )
Po zakodowaniu wiadomości weave wyślij ją, korzystając z bazowego punktu końcowego UDP Inetlayer.
Uwaga: 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 można tego zrobić, zrób błąd. - Jeśli adres miejsca docelowego jest adresem w tkaninie dla lokalnej tkaniny, a użytkownik 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łająca pakiet z tunelu przez lokalny tunel UDP.
Wyślij tunelowany komunikat danych IPv6 przez UDP.
Szczegóły | |||||||
---|---|---|---|---|---|---|---|
Parametry |
|
||||||
Zwracane wartości |
|
SetSignalMessageLayerActivityChanged
void SetSignalMessageLayerActivityChanged( MessageLayerActivityChangeHandlerFunct messageLayerActivityChangeHandler )
Ustaw moduł obsługi aplikacji, który będzie wywoływany po każdej zmianie aktywności warstwy wiadomości.
W szczególności aplikacja będzie powiadamiana za każdym razem:
- liczba otwartych giełd zmienia się.
- liczba oczekujących żądań synchronizacji licznika wiadomości zmieni się od 0 na co najmniej 1 i cofnie się do zera. Moduł obsługi służy jako ogólny sygnał wskazujący, czy są jakieś trwające rozmowy Weave lub oczekujące odpowiedzi. Moduł obsługi musi być ustawiony po zainicjowaniu WeaveMessageLayer. wyłączenie modułu WeaveMessageLayer spowoduje wyczyszczenie bieżącego modułu obsługi.
Szczegóły | |||
---|---|---|---|
Parametry |
|
||
Zwracane wartości |
|
SetTCPListenEnabled
void SetTCPListenEnabled( bool val )
Włącz lub wyłącz nasłuchiwanie przychodzących połączeń TCP w panelu WeaveMessageLayer.
UWAGA: po zmianie stanu nasłuchiwania TCP musi zostać wywołana funkcja RefreshEndpoints()
.
SetUDPListenEnabled
void SetUDPListenEnabled( bool val )
W narzędziu WeaveMessageLayer możesz włączyć lub wyłączyć nasłuchiwanie przychodzących wiadomości UDP.
UWAGA: po zmianie stanu nasłuchiwania UDP należy wywołać funkcję RefreshEndpoints()
.
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() zamyka obiekt WeaveMessageLayer.
TCPListenEnabled
bool TCPListenEnabled( void ) const
Sprawdź, czy w interfejsie WeaveMessageLayer skonfigurowano nasłuchiwanie przychodzących połączeń 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łącz lub wyłącz inicjowanie wymiany UDP Weave z efemerycznego portu źródłowego UDP.
UWAGA: po zmianie stanu portu efemerycznego należy wywołać funkcję RefreshEndpoints()
. Sprawdź, czy jest włączona opcja słuchania bez zabezpieczeń.
WeaveMessageLayer
WeaveMessageLayer( void )
Konstruktor warstwy Weave Message.
.Publiczne funkcje statyczne
GetMaxWeavePayloadSize
uint32_t GetMaxWeavePayloadSize( const PacketBuffer *msgBuf, bool isUDP, uint32_t udpMTU )
Pobierz maksymalny rozmiar ładunku Weave dla konfiguracji wiadomości i dostarczonego bufora PacketBuffer.
Maksymalny zwrócony ładunek nie przekroczy miejsca dostępnego dla ładunku w podanym pakiecie PacketBuffer.
Jeśli wiadomość jest UDP, maksymalny zwrócony ładunek nie spowoduje otrzymania komunikatu Weave, który nie przekroczy określonego limitu MTU UDP.
Maksymalny zwrócony ładunek nie spowoduje przesłania komunikatu Weave, który 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 |
|