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 komunikacji z innymi węzłami Weave.
Konstruktorzy i niszczyciele |
|
---|---|
WeaveMessageLayer(void)
Konstruktor warstwy wiadomości Weave.
|
Typy publiczne |
|
---|---|
AcceptErrorFunct)(WeaveMessageLayer *msgLayer, WEAVE_ERROR err)
|
typedefvoid(*
Ta funkcja jest wywołaniem zwrotnym wyż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 to wywołanie zwrotne wyższego poziomu do obsługi przychodzącego połączenia TCP. |
MessageLayerActivityChangeHandlerFunct)(bool messageLayerIsActive)
|
typedefvoid(*
Ta funkcja to wywołanie zwrotne aplikacji do raportowania zmiany aktywności w warstwie wiadomości. |
MessageReceiveFunct)(WeaveMessageLayer *msgLayer, WeaveMessageInfo *msgInfo, PacketBuffer *payload)
|
typedefvoid(*
Jest to wywołanie zwrotne wyższego poziomu, które jest wywoływane po odebraniu wiadomości Weave przez UDP. |
ReceiveErrorFunct)(WeaveMessageLayer *msgLayer, WEAVE_ERROR err, const IPPacketInfo *pktInfo)
|
typedefvoid(*
Jest to wywołanie zwrotne wyższego poziomu, wywoływane w przypadku wystąpienia błędu. |
State{
|
enum | typ wyliczeniowy Stan obiektu WeaveMessageLayer. |
TunneledMsgReceiveFunct)(WeaveMessageLayer *msgLayer, PacketBuffer *payload)
|
typedefvoid(*
Jest to wywołanie zwrotne wyższego poziomu, które jest wywoływane po odebraniu pakietu przez tunel UDP. |
Atrybuty publiczne |
|
---|---|
AppState
|
void *
Wskaźnik do obiektu stanu specyficznego dla aplikacji.
|
ExchangeMgr
|
[TYLKO DO ODCZYTU] Powiązany obiekt WeaveExchangeManager.
|
FabricState
|
[TYLKO DO ODCZYTU] Powiązany obiekt WeaveFabricState.
|
IncomingConIdleTimeout
|
uint32_t
Domyślny limit czasu bezczynności (w milisekundach) dla połączeń przychodzących.
|
Inet
|
InetLayer *
[TYLKO DO ODCZYTU] Powiązany obiekt InetLayer.
|
IsListening
|
bool
[TYLKO DO ODCZYTU] Prawda, jeśli nasłuchiwanie połączeń/wiadomości przychodzących. W przeciwnym razie ma wartość false.
|
OnAcceptError
|
|
OnConnectionReceived
|
|
OnMessageReceived
|
|
OnReceiveError
|
|
OnUDPTunneledMessageReceived
|
|
SecurityMgr
|
[TYLKO DO ODCZYTU] Powiązany obiekt WeaveSecurityManager.
|
State
|
uint8_t
[TYLKO DO ODCZYTU] Stan obiektu WeaveMessageLayer.
|
SystemLayer
|
|
mDropMessage
|
bool
Dane wewnętrzne i tylko do debugowania. Gdy jest ustawione, funkcja WeaveMessageLayer odrzuca komunikat 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 obiekt WeaveConnectionTunnel, łącząc ze sobą 2 określone połączenia WeaveConnections.
|
DecodeHeader(PacketBuffer *msgBuf, WeaveMessageInfo *msgInfo, uint8_t **payloadStart)
|
Zdekoduj nagłówek warstwy Wiadomości Weave z odebranej wiadomości Weave.
|
EncodeMessage(WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf, WeaveConnection *con, uint16_t maxLen, uint16_t reserve)
|
Zakoduj nagłówek WeaveMessageLayer do bufora pakietów.
|
EncodeMessage(const IPAddress & destAddr, uint16_t destPort, InterfaceId sendIntId, WeaveMessageInfo *msgInfo, PacketBuffer *payload)
|
Zakoduj nagłówek warstwy Weave Message w 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
Uzyskaj liczbę używanych połączeń WeaveConnections i rozmiar puli.
|
IPv4ListenEnabled(void) const
|
bool
Sprawdź, czy element WeaveMessageLayer jest skonfigurowany pod kątem nasłuchiwania komunikacji przychodzącej przez IPv4.
|
IPv6ListenEnabled(void) const
|
bool
Sprawdź, czy element WeaveMessageLayer jest skonfigurowany pod kątem nasłuchiwania komunikacji przychodzącej przez IPv4.
|
Init(InitContext *context)
|
Zainicjuj obiekt warstwy Weave Message.
|
IsBoundToLocalIPv4Address(void) const
|
bool
Sprawdź, czy element WeaveMessageLayer jest powiązany z lokalnym adresem IPv4.
|
IsBoundToLocalIPv6Address(void) const
|
bool
Sprawdź, czy element WeaveMessageLayer jest powiązany 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 za pomocą bazowego punktu końcowego UDP Inetlayer.
|
ResendMessage(const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
|
Wyślij ponownie zakodowaną wiadomość Weave za pomocą bazowego punktu końcowego UDP Inetlayer.
|
ResendMessage(const IPAddress & destAddr, uint16_t destPort, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
|
Wyślij ponownie zakodowaną wiadomość Weave za pomocą bazowego punktu końcowego UDP Inetlayer.
|
ResendMessage(const IPAddress & destAddr, uint16_t destPort, InterfaceId interfaceId, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
|
Wyślij ponownie zakodowaną wiadomość Weave za pomocą bazowego punktu końcowego UDP Inetlayer.
|
SendMessage(WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
|
Po zakodowaniu wiadomości Weave wyślij wiadomość za pomocą bazowego punktu końcowego UDP Inetlayer.
|
SendMessage(const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
|
Po zakodowaniu wiadomości Weave wyślij wiadomość za pomocą 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 wiadomość za pomocą bazowego punktu końcowego UDP Inetlayer.
|
SendUDPTunneledMessage(const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
|
Funkcja wysyłająca pakiet przez tunel UDP.
|
SetSignalMessageLayerActivityChanged(MessageLayerActivityChangeHandlerFunct messageLayerActivityChangeHandler)
|
void
Ustaw moduł obsługi aplikacji, który będzie wywoływany za każdym razem, gdy zmieni się działanie warstwy wiadomości.
|
SetTCPListenEnabled(bool val)
|
void
Włącz lub wyłącz nasłuchiwanie przychodzących połączeń TCP w obrębie WeaveMessageLayer.
|
SetUDPListenEnabled(bool val)
|
void
Włącz lub wyłącz nasłuchiwanie przychodzących wiadomości UDP w elemencie WeaveMessageLayer.
|
SetUnsecuredConnectionListener(ConnectionReceiveFunct newOnUnsecuredConnectionReceived, CallbackRemovedFunct newOnUnsecuredConnectionCallbacksRemoved, bool force, void *listenerState)
|
|
Shutdown(void)
|
Wyłącz WeaveMessageLayer.
|
TCPListenEnabled(void) const
|
bool
Sprawdź, czy element WeaveMessageLayer jest skonfigurowany pod kątem nasłuchiwania przychodzących połączeń TCP.
|
UDPListenEnabled(void) const
|
bool
Sprawdź, czy element WeaveMessageLayer jest skonfigurowany pod kątem nasłuchiwania 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
Uzyskaj maksymalny rozmiar ładunku Weave dla konfiguracji wiadomości i dostarczonego 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 lub informacje o połączeniu.
|
GetPeerDescription(char *buf, size_t bufSize, const WeaveMessageInfo *msgInfo)
|
void
Tworzy 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 wyż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 to wywołanie zwrotne 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 do raportowania zmiany aktywności w warstwie wiadomości.
Warstwa wiadomości jest uznawana za aktywną, jeśli istnieje co najmniej 1 otwarta wymiana lub oczekujące żądanie synchronizacji licznika wiadomości.
Szczegóły | |||
---|---|---|---|
Parametry |
|
MessageReceiveFunct
void(* MessageReceiveFunct)(WeaveMessageLayer *msgLayer, WeaveMessageInfo *msgInfo, PacketBuffer *payload)
Jest to wywołanie zwrotne wyższego poziomu, które jest wywoływane po odebraniu wiadomości Weave przez UDP.
Szczegóły | |||||||
---|---|---|---|---|---|---|---|
Parametry |
|
ReceiveErrorFunct
void(* ReceiveErrorFunct)(WeaveMessageLayer *msgLayer, WEAVE_ERROR err, const IPPacketInfo *pktInfo)
Jest to wywołanie zwrotne wyższego poziomu, wywoływane w przypadku wystąpienia błędu.
Szczegóły | |||||||
---|---|---|---|---|---|---|---|
Parametry |
|
Stan
State
Stan obiektu WeaveMessageLayer.
Właściwości | |
---|---|
kState_Initialized
|
Stan zainicjowania obiektu WeaveMessageLayer. |
kState_Initializing
|
Stan, w którym trwa inicjowanie obiektu WeaveMessageLayer. |
kState_NotInitialized
|
Stan, gdy obiekt WeaveMessageLayer nie jest zainicjowany. |
TunneledMsgReceiveFunct
void(* TunneledMsgReceiveFunct)(WeaveMessageLayer *msgLayer, PacketBuffer *payload)
Jest to wywołanie zwrotne wyższego poziomu, które jest wywoływane po odebraniu pakietu przez tunel UDP.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
Atrybuty publiczne
AppState
void * AppState
Wskaźnik do obiektu stanu specyficznego dla 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
[TYLKO DO ODCZYTU] Powiązany obiekt InetLayer.
IsListening
bool IsListening
[TYLKO DO ODCZYTU] Prawda, jeśli nasłuchiwanie połączeń/wiadomości przychodzących. W przeciwnym razie ma wartość false.
OnAcceptError
AcceptErrorFunct OnAcceptError
OnConnectionReceived
ConnectionReceiveFunct OnConnectionReceived
OnMessageReceived
MessageReceiveFunct OnMessageReceived
OnReceiveError
ReceiveErrorFunct OnReceiveError
OnUDPTunneledMessageReceived
TunneledMsgReceiveFunct OnUDPTunneledMessageReceived
SecurityMgr
WeaveSecurityManager * SecurityMgr
[TYLKO DO ODCZYTU] Powiązany obiekt WeaveSecurityManager.
SystemLayer
System::Layer * SystemLayer
mDropMessage
bool mDropMessage
Dane wewnętrzne i tylko do debugowania. Gdy jest ustawione, funkcja WeaveMessageLayer odrzuca komunikat 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 wyłącz wszystkie otwarte obiekty WeaveConnectionTunnel.
Zobacz też:Shutdown().
CreateTunnel
WEAVE_ERROR CreateTunnel( WeaveConnectionTunnel **tunPtr, WeaveConnection & conOne, WeaveConnection & conTwo, uint32_t inactivityTimeoutMS )
Utwórz obiekt WeaveConnectionTunnel, łącząc ze sobą 2 określone połączenia WeaveConnections.
Po udanym utworzeniu punkty TCPEndPoints odpowiadające obiektom WeaveConnection są przekazywane do WeaveConnectionTunnel. W przeciwnym razie obiekty WeaveConnections są zamykane.
Szczegóły | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametry |
|
||||||||
Zwracane wartości |
|
DecodeHeader
WEAVE_ERROR DecodeHeader( PacketBuffer *msgBuf, WeaveMessageInfo *msgInfo, uint8_t **payloadStart )
Zdekoduj nagłówek warstwy Wiadomości Weave 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 do bufora pakietów.
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 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
Uzyskaj liczbę używanych połączeń WeaveConnections i rozmiar puli.
Szczegóły | |||
---|---|---|---|
Parametry |
|
IPv4ListenEnabled
bool IPv4ListenEnabled( void ) const
Sprawdź, czy element WeaveMessageLayer jest skonfigurowany pod kątem nasłuchiwania komunikacji przychodzącej przez IPv4.
IPv6ListenEnabled
bool IPv6ListenEnabled( void ) const
Sprawdź, czy element WeaveMessageLayer jest skonfigurowany pod kątem nasłuchiwania komunikacji przychodzącej przez IPv4.
Zainicjuj
WEAVE_ERROR Init( InitContext *context )
Zainicjuj obiekt warstwy Weave Message.
Szczegóły | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametry |
|
||||||||
Zwracane wartości |
|
IsBoundToLocalIPv4Address
bool IsBoundToLocalIPv4Address( void ) const
Sprawdź, czy element WeaveMessageLayer jest powiązany z lokalnym adresem IPv4.
IsBoundToLocalIPv6Address
bool IsBoundToLocalIPv6Address( void ) const
Sprawdź, czy element WeaveMessageLayer jest powiązany 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. W przeciwnym razie ma 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. W przeciwnym razie ma 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 za pomocą bazowego punktu końcowego UDP Inetlayer.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
||||
Zwracane wartości |
|
ResendMessage
WEAVE_ERROR ResendMessage( const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
Wyślij ponownie zakodowaną wiadomość Weave za pomocą bazowego punktu końcowego UDP 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 za pomocą bazowego punktu końcowego UDP 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 za pomocą bazowego punktu końcowego UDP Inetlayer.
Uwaga: jeśli adres docelowy nie został podany, spróbuj określić go na podstawie identyfikatora węzła w nagłówku wiadomości. Niepowodzenie, jeśli nie można tego zrobić. – Jeśli adres docelowy jest adresem tkaniny lokalnej, a element 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 )
Po zakodowaniu wiadomości Weave wyślij wiadomość za pomocą 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 wiadomość za pomocą bazowego punktu końcowego UDP Inetlayer.
Uwaga: używany port docelowy to WEAVE_PORT. – Jeśli adres docelowy nie został podany, spróbuj określić go na podstawie identyfikatora węzła w nagłówku wiadomości. Niepowodzenie, jeśli nie można tego zrobić.
– Jeśli adres docelowy jest adresem tkaniny lokalnej, a element 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( const IPAddress & destAddr, uint16_t destPort, InterfaceId sendIntfId, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
Po zakodowaniu wiadomości Weave wyślij wiadomość za pomocą bazowego punktu końcowego UDP Inetlayer.
Uwaga: jeśli adres docelowy nie został podany, spróbuj określić go na podstawie identyfikatora węzła w nagłówku wiadomości. Niepowodzenie, jeśli nie można tego zrobić. – Jeśli adres docelowy jest adresem tkaniny lokalnej, a element wywołujący nie określił 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 przez tunel UDP.
Wyślij tunelowaną wiadomość 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 za każdym razem, gdy zmieni się działanie warstwy wiadomości.
W szczególności zgłoszenie jest wysyłane za każdym razem, gdy:
- zmienia się liczba otwartych giełd.
- liczba oczekujących żądań synchronizacji licznika wiadomości zmieni się z 0 na co najmniej 1 i z powrotem na 0. 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 obiektu 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 obrębie WeaveMessageLayer.
UWAGA: po zmianie stanu nasłuchiwania TCP należy wywołać RefreshEndpoints()
.
SetUDPListenEnabled
void SetUDPListenEnabled( bool val )
Włącz lub wyłącz nasłuchiwanie przychodzących wiadomości UDP w elemencie WeaveMessageLayer.
UWAGA: RefreshEndpoints()
musi zostać wywołana po zmianie stanu nasł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, zresetuj wszystkie wywołania zwrotne warstwy wyższej, zmienne składowe i obiekty. Wywołanie Shutdown() kończy działanie obiektu WeaveMessageLayer.
TCPListenEnabled
bool TCPListenEnabled( void ) const
Sprawdź, czy element WeaveMessageLayer jest skonfigurowany pod kątem nasłuchiwania przychodzących połączeń TCP.
UDPListenEnabled
bool UDPListenEnabled( void ) const
Sprawdź, czy element WeaveMessageLayer jest skonfigurowany pod kątem nasłuchiwania 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ć RefreshEndpoints()
. Sprawdź, czy włączone jest niezabezpieczone słuchanie.
WeaveMessageLayer
WeaveMessageLayer( void )
Konstruktor warstwy wiadomości Weave.
Publiczne funkcje statyczne
GetMaxWeavePayloadSize
uint32_t GetMaxWeavePayloadSize( const PacketBuffer *msgBuf, bool isUDP, uint32_t udpMTU )
Uzyskaj maksymalny rozmiar ładunku Weave dla konfiguracji wiadomości i dostarczonego bufora pakietów.
Maksymalny rozmiar zwróconego ładunku nie przekroczy miejsca dostępnego na ładunek w podanym buforze pakietów.
Jeśli wiadomość jest w formacie UDP, maksymalny zwrócony ładunek nie spowoduje wyświetlenia komunikatu Weave, który nie przekroczy określonego protokołu UDP MTU.
Maksymalny zwrócony ładunek nie spowoduje wyświetlenia 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 lub informacje o połączeniu.
Wygenerowany ciąg znaków ma ten format:
([ ]: % , con )
Szczegóły | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parametry |
|
GetPeerDescription
void GetPeerDescription( char *buf, size_t bufSize, const WeaveMessageInfo *msgInfo )
Tworzy 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 |
|