nl::Weave::WeaveExchangeManager

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

Ta klasa służy do zarządzania kontekstem ExchangeContext z innymi węzłami Weave.

Podsumowanie

Działa w imieniu wyższych warstw, tworzy konteksty Exchange oraz obsługuje rejestrację i wyrejestrowanie niechcianych modułów obsługi wiadomości.

Konstruktorzy i niszczyciele

WeaveExchangeManager(void)
Konstruktor klasy WeaveExchangeManager.

Typy publiczne

State{
  kState_NotInitialized = 0,
  kState_Initialized = 1
}
enum | typ wyliczeniowy

Atrybuty publiczne

FabricState
[TYLKO DO ODCZYTU] Powiązany obiekt FabricState.
MessageLayer
[TYLKO DO ODCZYTU] Powiązany obiekt WeaveMessageLayer.
State
uint8_t
[TYLKO DO ODCZYTU] Stan obiektu WeaveExchangeManager.

Funkcje publiczne

AllowUnsolicitedMessages(WeaveConnection *con)
void
Zezwalaj na odbieranie niechcianych wiadomości przez określone połączenie.
ClearMsgCounterSyncReq(uint64_t peerNodeId)
void
Wyczyść flagę MsgCounterSyncReq w przypadku wszystkich oczekujących wiadomości do tego połączenia równorzędnego.
FindContext(uint64_t peerNodeId, WeaveConnection *con, void *appState, bool isInitiator)
Znajdź element ExchangeContext z puli pasującej do danego zestawu parametrów.
Init(WeaveMessageLayer *msgLayer)
Zainicjuj obiekt WeaveExchangeManager.
NewBinding(Binding::EventCallback eventCallback, void *appState)
Przydziel nowe Wiązanie z podanymi argumentami.
NewContext(const uint64_t & peerNodeId, void *appState)
Tworzy nowy element ExchangeContext z danym węzłem Weave peer, określonym przez identyfikator węzła równorzędnego.
NewContext(const uint64_t & peerNodeId, const IPAddress & peerAddr, void *appState)
Tworzy nowy element ExchangeContext z danym węzłem Weave peer, określonym przez identyfikator węzła równorzędnego i adres IP peera.
NewContext(const uint64_t & peerNodeId, const IPAddress & peerAddr, uint16_t peerPort, InterfaceId sendIntfId, void *appState)
Tworzy nowy element ExchangeContext z danym węzłem Weave peer, określonym przez identyfikator węzła równorzędnego, adres IP peera i port docelowy w określonym interfejsie.
NewContext(WeaveConnection *con, void *appState)
Tworzy nowy element ExchangeContext z danym węzłem równorzędnym Weave przez określony WeaveConnection.
RegisterUnsolicitedMessageHandler(uint32_t profileId, ExchangeContext::MessageReceiveFunct handler, void *appState)
Zarejestruj moduł obsługi wiadomości niechcianych dla danego identyfikatora profilu.
RegisterUnsolicitedMessageHandler(uint32_t profileId, ExchangeContext::MessageReceiveFunct handler, bool allowDups, void *appState)
Zarejestruj moduł obsługi wiadomości niechcianych dla danego identyfikatora profilu.
RegisterUnsolicitedMessageHandler(uint32_t profileId, uint8_t msgType, ExchangeContext::MessageReceiveFunct handler, void *appState)
Zarejestruj moduł obsługi wiadomości niechcianych dla danego identyfikatora profilu i typu wiadomości.
RegisterUnsolicitedMessageHandler(uint32_t profileId, uint8_t msgType, ExchangeContext::MessageReceiveFunct handler, bool allowDups, void *appState)
Zarejestruj moduł obsługi wiadomości niechcianych dla danego identyfikatora profilu i typu wiadomości.
RegisterUnsolicitedMessageHandler(uint32_t profileId, uint8_t msgType, WeaveConnection *con, ExchangeContext::MessageReceiveFunct handler, void *appState)
Zarejestruj moduł obsługi wiadomości niechcianych dla danego identyfikatora profilu lub typu wiadomości w przypadku określonego połączenia Weave.
RegisterUnsolicitedMessageHandler(uint32_t profileId, uint8_t msgType, WeaveConnection *con, ExchangeContext::MessageReceiveFunct handler, bool allowDups, void *appState)
Zarejestruj moduł obsługi wiadomości niechcianych dla danego identyfikatora profilu lub typu wiadomości w przypadku określonego połączenia Weave.
Shutdown(void)
UnregisterUnsolicitedMessageHandler(uint32_t profileId)
Wyrejestrowanie niechcianego modułu obsługi wiadomości dla danego identyfikatora profilu.
UnregisterUnsolicitedMessageHandler(uint32_t profileId, uint8_t msgType)
Wyrejestrowanie niechcianego modułu obsługi wiadomości dla danego identyfikatora profilu i typu wiadomości.
UnregisterUnsolicitedMessageHandler(uint32_t profileId, uint8_t msgType, WeaveConnection *con)
Wyrejestruj moduł obsługi wiadomości niechcianych dla danego identyfikatora profilu, typu wiadomości i połączenia Weave.

Typy publiczne

Stan

 State
Właściwości
kState_Initialized

Służy do wskazywania, że obiekt WeaveExchangeManager został zainicjowany.

kState_NotInitialized

Wskazuje, że obiekt WeaveExchangeManager nie został zainicjowany.

Atrybuty publiczne

FabricState

WeaveFabricState * FabricState

[TYLKO DO ODCZYTU] Powiązany obiekt FabricState.

MessageLayer

WeaveMessageLayer * MessageLayer

[TYLKO DO ODCZYTU] Powiązany obiekt WeaveMessageLayer.

Stan

uint8_t State

[TYLKO DO ODCZYTU] Stan obiektu WeaveExchangeManager.

Funkcje publiczne

AllowUnsolicitedMessages

void AllowUnsolicitedMessages(
  WeaveConnection *con
)

Zezwalaj na odbieranie niechcianych wiadomości przez określone połączenie.

Ta metoda ustawia moduł obsługi odbierania wiadomości w danym połączeniu Weave.

Szczegóły
Parametry
[in] con
Wskaźnik do obiektu połączenia Weave.

ClearMsgCounterSyncReq

void ClearMsgCounterSyncReq(
  uint64_t peerNodeId
)

Wyczyść flagę MsgCounterSyncReq w przypadku wszystkich oczekujących wiadomości do tego połączenia równorzędnego.

Szczegóły
Parametry
[in] peerNodeId
Identyfikator węzła węzła docelowego.

FindContext

ExchangeContext * FindContext(
  uint64_t peerNodeId,
  WeaveConnection *con,
  void *appState,
  bool isInitiator
)

Znajdź element ExchangeContext z puli pasującej do danego zestawu parametrów.

Szczegóły
Parametry
[in] peerNodeId
Identyfikator węzła równorzędnego, z którym skonfigurowano ExchangeContext.
[in] con
Wskaźnik do obiektu WeaveConnection reprezentujący połączenie TCP z peerem.
[in] appState
Wskaźnik do obiektu wyższej warstwy, który zawiera stan kontekstu.
[in] isInitiator
Wskaźnik logiczny określający, czy węzeł lokalny jest inicjatorem wymiany.
Zwroty
Wskaźnik do obiektu ExchangeContext pasującego do podanych parametrów. W przypadku powodzenia, wartość NULL w przypadku braku dopasowania.

Zainicjuj

WEAVE_ERROR Init(
  WeaveMessageLayer *msgLayer
)

Zainicjuj obiekt WeaveExchangeManager.

W ciągu całego życia tej instancji ta metoda jest wywoływana raz po utworzeniu obiektu, dopóki nie zostanie wysłane wywołanie wyłączania w celu zakończenia instancji.

Szczegóły
Parametry
[in] msgLayer
Wskaźnik do obiektu WeaveMessageLayer.
Zwracane wartości
WEAVE_ERROR_INCORRECT_STATE
Jeśli stan jest inny niż kState_NotInitialized.
WEAVE_NO_ERROR
Na sukces.

NewBinding

Binding * NewBinding(
  Binding::EventCallback eventCallback,
  void *appState
)

Przydziel nowe Wiązanie z podanymi argumentami.

Szczegóły
Parametry
[in] eventCallback
Wskaźnik funkcji, który ma być używany do wywołania zwrotnego zdarzenia
[in] appState
Wskaźnik kontekstu, który będzie przenoszony w późniejszym wywołaniu zdarzenia.
Zwroty
wskaźnik do nowo przydzielonego parametru Binding lub NULL, jeśli pula została wyczerpana;

NewContext

ExchangeContext * NewContext(
  const uint64_t & peerNodeId,
  void *appState
)

Tworzy nowy element ExchangeContext z danym węzłem Weave peer, określonym przez identyfikator węzła równorzędnego.

Szczegóły
Parametry
[in] peerNodeId
Identyfikator węzła równorzędnego, z którym jest konfigurowany ExchangeContext.
[in] appState
Wskaźnik do obiektu wyższej warstwy, który zawiera stan kontekstu.
Zwroty
Wskaźnik do utworzonego obiektu ExchangeContext w przypadku powodzenia. Jeśli nie można przydzielić żadnego obiektu lub nie jest on dostępny, ma wartość NULL.

NewContext

ExchangeContext * NewContext(
  const uint64_t & peerNodeId,
  const IPAddress & peerAddr,
  void *appState
)

Tworzy nowy element ExchangeContext z danym węzłem Weave peer, określonym przez identyfikator węzła równorzędnego i adres IP peera.

Szczegóły
Parametry
[in] peerNodeId
Identyfikator węzła równorzędnego, z którym jest konfigurowany ExchangeContext.
[in] peerAddr
Adres IP węzła równorzędnego.
[in] appState
Wskaźnik do obiektu wyższej warstwy, który zawiera stan kontekstu.
Zwroty
Wskaźnik do utworzonego obiektu ExchangeContext w przypadku powodzenia. W przeciwnym razie wartość NULL, jeśli nie można przydzielić żadnego obiektu lub jest on dostępny.

NewContext

ExchangeContext * NewContext(
  const uint64_t & peerNodeId,
  const IPAddress & peerAddr,
  uint16_t peerPort,
  InterfaceId sendIntfId,
  void *appState
)

Tworzy nowy element ExchangeContext z danym węzłem Weave peer, określonym przez identyfikator węzła równorzędnego, adres IP peera i port docelowy w określonym interfejsie.

Szczegóły
Parametry
[in] peerNodeId
Identyfikator węzła równorzędnego, z którym jest konfigurowany ExchangeContext.
[in] peerAddr
Adres IP węzła równorzędnego.
[in] peerPort
Port węzła równorzędnego.
[in] sendIntfId
Interfejs używany do wysyłania wiadomości Weave na tej wymianie.
[in] appState
Wskaźnik do obiektu wyższej warstwy, który zawiera stan kontekstu.
Zwroty
Wskaźnik do utworzonego obiektu ExchangeContext w przypadku powodzenia. W przeciwnym razie wartość NULL, jeśli nie można przydzielić żadnego obiektu lub jest on dostępny.

NewContext

ExchangeContext * NewContext(
  WeaveConnection *con,
  void *appState
)

Tworzy nowy element ExchangeContext z danym węzłem równorzędnym Weave przez określony WeaveConnection.

Szczegóły
Parametry
[in] con
Wskaźnik do obiektu WeaveConnection reprezentujący połączenie TCP z peerem.
[in] appState
Wskaźnik do obiektu wyższej warstwy, który zawiera stan kontekstu.
Zwroty
Wskaźnik do utworzonego obiektu ExchangeContext w przypadku powodzenia. W przeciwnym razie wartość NULL, jeśli nie można przydzielić żadnego obiektu lub jest on dostępny.

RegisterUnsolicitedMessageHandler

WEAVE_ERROR RegisterUnsolicitedMessageHandler(
  uint32_t profileId,
  ExchangeContext::MessageReceiveFunct handler,
  void *appState
)

Zarejestruj moduł obsługi wiadomości niechcianych dla danego identyfikatora profilu.

Ten moduł obsługi zostanie wywołany w przypadku wszystkich wiadomości danego profilu.

Szczegóły
Parametry
[in] profileId
Identyfikator profilu odebranej wiadomości.
[in] handler
Moduł obsługi niechcianych wiadomości.
[in] appState
Wskaźnik do obiektu wyższej warstwy, który zawiera stan kontekstu.
Zwracane wartości
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
Jeśli pula modułów obsługi niechcianych wiadomości jest pełna i nie można przydzielić nowej.
WEAVE_NO_ERROR
Na sukces.

RegisterUnsolicitedMessageHandler

WEAVE_ERROR RegisterUnsolicitedMessageHandler(
  uint32_t profileId,
  ExchangeContext::MessageReceiveFunct handler,
  bool allowDups,
  void *appState
)

Zarejestruj moduł obsługi wiadomości niechcianych dla danego identyfikatora profilu.

Ten moduł obsługi zostanie wywołany w przypadku wszystkich wiadomości danego profilu.

Szczegóły
Parametry
[in] profileId
Identyfikator profilu odebranej wiadomości.
[in] handler
Moduł obsługi niechcianych wiadomości.
[in] allowDups
Wartość logiczna wskazująca, czy w danym profilu dozwolone są duplikaty wiadomości.
[in] appState
Wskaźnik do obiektu wyższej warstwy, który zawiera stan kontekstu.
Zwracane wartości
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
Jeśli pula modułów obsługi niechcianych wiadomości jest pełna i nie można przydzielić nowej.
WEAVE_NO_ERROR
Na sukces.

RegisterUnsolicitedMessageHandler

WEAVE_ERROR RegisterUnsolicitedMessageHandler(
  uint32_t profileId,
  uint8_t msgType,
  ExchangeContext::MessageReceiveFunct handler,
  void *appState
)

Zarejestruj moduł obsługi wiadomości niechcianych dla danego identyfikatora profilu i typu wiadomości.

Szczegóły
Parametry
[in] profileId
Identyfikator profilu odebranej wiadomości.
[in] msgType
Typ wiadomości dla danego profilu.
[in] handler
Moduł obsługi niechcianych wiadomości.
[in] appState
Wskaźnik do obiektu wyższej warstwy, który zawiera stan kontekstu.
Zwracane wartości
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
Jeśli pula modułów obsługi niechcianych wiadomości jest pełna i nie można przydzielić nowej.
WEAVE_NO_ERROR
Na sukces.

RegisterUnsolicitedMessageHandler

WEAVE_ERROR RegisterUnsolicitedMessageHandler(
  uint32_t profileId,
  uint8_t msgType,
  ExchangeContext::MessageReceiveFunct handler,
  bool allowDups,
  void *appState
)

Zarejestruj moduł obsługi wiadomości niechcianych dla danego identyfikatora profilu i typu wiadomości.

Szczegóły
Parametry
[in] profileId
Identyfikator profilu odebranej wiadomości.
[in] msgType
Typ wiadomości dla danego profilu.
[in] handler
Moduł obsługi niechcianych wiadomości.
[in] allowDups
Wartość logiczna wskazująca, czy duplikaty wiadomości są dozwolone w przypadku danego identyfikatora profilu i typu wiadomości.
[in] appState
Wskaźnik do obiektu wyższej warstwy, który zawiera stan kontekstu.
Zwracane wartości
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
Jeśli pula modułów obsługi niechcianych wiadomości jest pełna i nie można przydzielić nowej.
WEAVE_NO_ERROR
Na sukces.

RegisterUnsolicitedMessageHandler

WEAVE_ERROR RegisterUnsolicitedMessageHandler(
  uint32_t profileId,
  uint8_t msgType,
  WeaveConnection *con,
  ExchangeContext::MessageReceiveFunct handler,
  void *appState
)

Zarejestruj moduł obsługi wiadomości niechcianych dla danego identyfikatora profilu lub typu wiadomości w przypadku określonego połączenia Weave.

Szczegóły
Parametry
[in] profileId
Identyfikator profilu odebranej wiadomości.
[in] msgType
Typ wiadomości dla danego profilu.
[in] con
Wskaźnik do obiektu WeaveConnection reprezentujący połączenie TCP z peerem.
[in] handler
Moduł obsługi niechcianych wiadomości.
[in] appState
Wskaźnik do obiektu wyższej warstwy, który zawiera stan kontekstu.
Zwracane wartości
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
Jeśli pula modułów obsługi niechcianych wiadomości jest pełna i nie można przydzielić nowej.
WEAVE_NO_ERROR
Na sukces.

RegisterUnsolicitedMessageHandler

WEAVE_ERROR RegisterUnsolicitedMessageHandler(
  uint32_t profileId,
  uint8_t msgType,
  WeaveConnection *con,
  ExchangeContext::MessageReceiveFunct handler,
  bool allowDups,
  void *appState
)

Zarejestruj moduł obsługi wiadomości niechcianych dla danego identyfikatora profilu lub typu wiadomości w przypadku określonego połączenia Weave.

Szczegóły
Parametry
[in] profileId
Identyfikator profilu odebranej wiadomości.
[in] msgType
Typ wiadomości dla danego profilu.
[in] con
Wskaźnik do obiektu WeaveConnection reprezentujący połączenie TCP z peerem.
[in] handler
Moduł obsługi niechcianych wiadomości.
[in] allowDups
Wartość logiczna wskazująca, czy duplikaty wiadomości są dozwolone w przypadku danego identyfikatora profilu i typu wiadomości w przypadku określonego połączenia Weave.
[in] appState
Wskaźnik do obiektu wyższej warstwy, który zawiera stan kontekstu.
Zwracane wartości
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
Jeśli pula modułów obsługi niechcianych wiadomości jest pełna i nie można przydzielić nowej.
WEAVE_NO_ERROR
Na sukces.

Wyłączono

WEAVE_ERROR Shutdown(
  void
)

Wyłącz WeaveExchangeManager.

Spowoduje to zamknięcie tej instancji obiektu i zwolnienie wszystkich zablokowanych zasobów.

Szczegóły
Zwroty
WEAVE_NO_ERROR bezwarunkowo.

UnregisterUnsolicitedMessageHandler

WEAVE_ERROR UnregisterUnsolicitedMessageHandler(
  uint32_t profileId
)

Wyrejestrowanie niechcianego modułu obsługi wiadomości dla danego identyfikatora profilu.

Szczegóły
Parametry
[in] profileId
Identyfikator profilu odebranej wiadomości.
Zwracane wartości
WEAVE_ERROR_NO_UNSOLICITED_MESSAGE_HANDLER
Jeśli nie znaleziono pasującego modułu obsługi niechcianych wiadomości.
WEAVE_NO_ERROR
Na sukces.

UnregisterUnsolicitedMessageHandler

WEAVE_ERROR UnregisterUnsolicitedMessageHandler(
  uint32_t profileId,
  uint8_t msgType
)

Wyrejestrowanie niechcianego modułu obsługi wiadomości dla danego identyfikatora profilu i typu wiadomości.

Szczegóły
Parametry
[in] profileId
Identyfikator profilu odebranej wiadomości.
[in] msgType
Typ wiadomości dla danego profilu.
Zwracane wartości
WEAVE_ERROR_NO_UNSOLICITED_MESSAGE_HANDLER
Jeśli nie znaleziono pasującego modułu obsługi niechcianych wiadomości.
WEAVE_NO_ERROR
Na sukces.

UnregisterUnsolicitedMessageHandler

WEAVE_ERROR UnregisterUnsolicitedMessageHandler(
  uint32_t profileId,
  uint8_t msgType,
  WeaveConnection *con
)

Wyrejestruj moduł obsługi wiadomości niechcianych dla danego identyfikatora profilu, typu wiadomości i połączenia Weave.

Szczegóły
Parametry
[in] profileId
Identyfikator profilu odebranej wiadomości.
[in] msgType
Typ wiadomości dla danego profilu.
[in] con
Wskaźnik do obiektu WeaveConnection reprezentujący połączenie TCP z peerem.
Zwracane wartości
WEAVE_ERROR_NO_UNSOLICITED_MESSAGE_HANDLER
Jeśli nie znaleziono pasującego modułu obsługi niechcianych wiadomości.
WEAVE_NO_ERROR
Na sukces.

WeaveExchangeManager

 WeaveExchangeManager(
  void
)

Konstruktor klasy WeaveExchangeManager.

Ustawia on stan na kState_NotInitialized.