nl::Weave::WeaveExchangeManager

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

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

Podsumowanie

Działa w imieniu wyższych warstw, tworzy kontekst ExchangeContext i obsługuje rejestrację lub wyrejestrowanie niezamawianych modułów obsługi wiadomości.

Konstruktory 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
[READ ONLY] 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 dla wszystkich oczekujących wiadomości do tego peera.
FindContext(uint64_t peerNodeId, WeaveConnection *con, void *appState, bool isInitiator)
Znajdź ExchangeContext z puli pasującej do danego zbioru 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 obiekt ExchangeContext z podanym węzłem równorzędnym Weave określonym przez identyfikator węzła równorzędnego.
NewContext(const uint64_t & peerNodeId, const IPAddress & peerAddr, void *appState)
Tworzy nowy obiekt ExchangeContext z podanym węzłem peera weave 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 obiekt ExchangeContext z podanym węzłem peera weave 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 obiekt ExchangeContext z podanym węzłem peera weave w określonym WeaveConnection.
RegisterUnsolicitedMessageHandler(uint32_t profileId, ExchangeContext::MessageReceiveFunct handler, void *appState)
Rejestrowanie niechcianego modułu obsługi wiadomości dla danego identyfikatora profilu.
RegisterUnsolicitedMessageHandler(uint32_t profileId, ExchangeContext::MessageReceiveFunct handler, bool allowDups, void *appState)
Rejestrowanie niechcianego modułu obsługi wiadomości dla danego identyfikatora profilu.
RegisterUnsolicitedMessageHandler(uint32_t profileId, uint8_t msgType, ExchangeContext::MessageReceiveFunct handler, void *appState)
Rejestrowanie niechcianego modułu obsługi wiadomości dla danego identyfikatora profilu i typu wiadomości.
RegisterUnsolicitedMessageHandler(uint32_t profileId, uint8_t msgType, ExchangeContext::MessageReceiveFunct handler, bool allowDups, void *appState)
Rejestrowanie niechcianego modułu obsługi wiadomości dla danego identyfikatora profilu i typu wiadomości.
RegisterUnsolicitedMessageHandler(uint32_t profileId, uint8_t msgType, WeaveConnection *con, ExchangeContext::MessageReceiveFunct handler, void *appState)
Zarejestruj niezamawianą moduł obsługi wiadomości dla podanego identyfikatora profilu i typu wiadomości w określonym połączeniu Weave.
RegisterUnsolicitedMessageHandler(uint32_t profileId, uint8_t msgType, WeaveConnection *con, ExchangeContext::MessageReceiveFunct handler, bool allowDups, void *appState)
Zarejestruj niezamawianą moduł obsługi wiadomości dla podanego identyfikatora profilu i typu wiadomości w określonym połączeniu Weave.
Shutdown(void)
UnregisterUnsolicitedMessageHandler(uint32_t profileId)
Wyrejestruj niezamawianą moduł obsługi wiadomości dla danego identyfikatora profilu.
UnregisterUnsolicitedMessageHandler(uint32_t profileId, uint8_t msgType)
Wyrejestruj niezamawianą moduł obsługi wiadomości dla danego identyfikatora profilu i typu wiadomości.
UnregisterUnsolicitedMessageHandler(uint32_t profileId, uint8_t msgType, WeaveConnection *con)
Wyrejestruj niezamawianą moduł obsługi wiadomości 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

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

Atrybuty publiczne

FabricState

WeaveFabricState * FabricState

[TYLKO DO ODCZYTU] Powiązany obiekt FabricState.

MessageLayer

WeaveMessageLayer * MessageLayer

[READ ONLY] 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 dla wszystkich oczekujących wiadomości do tego peera.

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

FindContext

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

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

Szczegóły
Parametry
[in] peerNodeId
Identyfikator węzła peera, z którym skonfigurowano ExchangeContext.
[in] con
Wskaźnik do obiektu WeaveConnection reprezentującego połączenie TCP z peerem.
[in] appState
Wskaźnik do obiektu wyższego poziomu, który przechowuje stan kontekstu.
[in] isInitiator
Wskaźnik wartości logicznej, który wskazuje, czy węzeł lokalny jest inicjatorem wymiany.
Zwroty
Wskaźnik do obiektu ExchangeContext pasującego do podanych parametrów. W przypadku powodzenia, w przypadku braku dopasowania wartość NULL.

Init

WEAVE_ERROR Init(
  WeaveMessageLayer *msgLayer
)

Zainicjuj obiekt WeaveExchangeManager.

W okresie działania tej instancji metoda ta jest wywoływana raz po utworzeniu obiektu, aż do wywołania funkcji „Wyłącz” w celu zakończenia działania instancji.

Szczegóły
Parametry
[in] msgLayer
Wskaźnik do obiektu WeaveMessageLayer.
Zwracane wartości
WEAVE_ERROR_INCORRECT_STATE
Jeśli stan ma wartość różną od wartości kState_NotInitialized.
WEAVE_NO_ERROR
Powodzenie.

NewBinding

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

Przydziel nowe Wiązanie z podanymi argumentami.

Szczegóły
Parametry
[in] eventCallback
Wskaźnik funkcji do użycia w wywołaniu zwrotnym zdarzenia
[in] appState
wskaźnik do kontekstu, który byłby później przenoszony w wywołaniu zwrotnym zdarzenia.
Zwroty
wskaźnik do nowo przydzielonego powiązania lub wartości NULL, jeśli pula została wyczerpana.

NewContext

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

Tworzy nowy obiekt ExchangeContext z podanym węzłem równorzędnym Weave określonym przez identyfikator węzła równorzędnego.

Szczegóły
Parametry
[in] peerNodeId
Identyfikator węzła peera, dla którego konfigurowany jest ExchangeContext.
[in] appState
Wskaźnik do obiektu wyższego poziomu, który przechowuje stan kontekstu.
Zwroty
Wskaźnik do utworzonego obiektu ExchangeContext Po pomyślnym zakończeniu. W przeciwnym razie ma 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,
  void *appState
)

Tworzy nowy obiekt ExchangeContext z podanym węzłem peera weave określonym przez identyfikator węzła równorzędnego i adres IP peera.

Szczegóły
Parametry
[in] peerNodeId
Identyfikator węzła peera, dla którego konfigurowany jest ExchangeContext.
[in] peerAddr
Adres IP węzła równorzędnego.
[in] appState
Wskaźnik do obiektu wyższego poziomu, który przechowuje stan kontekstu.
Zwroty
Wskaźnik do utworzonego obiektu ExchangeContext Po pomyślnym zakończeniu. W przeciwnym razie wartość NULL, jeśli nie można przydzielić 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 obiekt ExchangeContext z podanym węzłem peera weave 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 peera, dla którego konfigurowany jest 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 w ramach tej wymiany.
[in] appState
Wskaźnik do obiektu wyższego poziomu, który przechowuje stan kontekstu.
Zwroty
Wskaźnik do utworzonego obiektu ExchangeContext Po pomyślnym zakończeniu. W przeciwnym razie wartość NULL, jeśli nie można przydzielić obiektu lub jest on dostępny.

NewContext

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

Tworzy nowy obiekt ExchangeContext z podanym węzłem peera weave w określonym WeaveConnection.

Szczegóły
Parametry
[in] con
Wskaźnik do obiektu WeaveConnection reprezentującego połączenie TCP z peerem.
[in] appState
Wskaźnik do obiektu wyższego poziomu, który przechowuje stan kontekstu.
Zwroty
Wskaźnik do utworzonego obiektu ExchangeContext Po pomyślnym zakończeniu. W przeciwnym razie wartość NULL, jeśli nie można przydzielić obiektu lub jest on dostępny.

RegisterUnsolicitedMessageHandler

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

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

Ten moduł obsługi zostałby wywołany dla 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ższego poziomu, który przechowuje stan kontekstu.
Zwracane wartości
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
Jeśli pula niechcianych modułów obsługi wiadomości jest pełna i nie można przydzielić nowego.
WEAVE_NO_ERROR
Powodzenie.

RegisterUnsolicitedMessageHandler

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

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

Ten moduł obsługi zostałby wywołany dla 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ą zduplikowane wiadomości.
[in] appState
Wskaźnik do obiektu wyższego poziomu, który przechowuje stan kontekstu.
Zwracane wartości
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
Jeśli pula niechcianych modułów obsługi wiadomości jest pełna i nie można przydzielić nowego.
WEAVE_NO_ERROR
Powodzenie.

RegisterUnsolicitedMessageHandler

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

Rejestrowanie 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 odpowiedniego profilu.
[in] handler
Moduł obsługi niechcianych wiadomości.
[in] appState
Wskaźnik do obiektu wyższego poziomu, który przechowuje stan kontekstu.
Zwracane wartości
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
Jeśli pula niechcianych modułów obsługi wiadomości jest pełna i nie można przydzielić nowego.
WEAVE_NO_ERROR
Powodzenie.

RegisterUnsolicitedMessageHandler

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

Rejestrowanie 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 odpowiedniego profilu.
[in] handler
Moduł obsługi niechcianych wiadomości.
[in] allowDups
Wartość logiczna wskazująca, czy w przypadku danego identyfikatora profilu i typu wiadomości dozwolone są zduplikowane wiadomości.
[in] appState
Wskaźnik do obiektu wyższego poziomu, który przechowuje stan kontekstu.
Zwracane wartości
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
Jeśli pula niechcianych modułów obsługi wiadomości jest pełna i nie można przydzielić nowego.
WEAVE_NO_ERROR
Powodzenie.

RegisterUnsolicitedMessageHandler

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

Zarejestruj niezamawianą moduł obsługi wiadomości dla podanego identyfikatora profilu i typu wiadomości w określonym połączeniu Weave.

Szczegóły
Parametry
[in] profileId
Identyfikator profilu odebranej wiadomości.
[in] msgType
Typ wiadomości odpowiedniego profilu.
[in] con
Wskaźnik do obiektu WeaveConnection reprezentującego połączenie TCP z peerem.
[in] handler
Moduł obsługi niechcianych wiadomości.
[in] appState
Wskaźnik do obiektu wyższego poziomu, który przechowuje stan kontekstu.
Zwracane wartości
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
Jeśli pula niechcianych modułów obsługi wiadomości jest pełna i nie można przydzielić nowego.
WEAVE_NO_ERROR
Powodzenie.

RegisterUnsolicitedMessageHandler

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

Zarejestruj niezamawianą moduł obsługi wiadomości dla podanego identyfikatora profilu i typu wiadomości w określonym połączeniu Weave.

Szczegóły
Parametry
[in] profileId
Identyfikator profilu odebranej wiadomości.
[in] msgType
Typ wiadomości odpowiedniego profilu.
[in] con
Wskaźnik do obiektu WeaveConnection reprezentującego połączenie TCP z peerem.
[in] handler
Moduł obsługi niechcianych wiadomości.
[in] allowDups
Wartość logiczna wskazująca, czy w przypadku danego identyfikatora profilu dozwolone jest powielanie wiadomości, typ wiadomości w przypadku określonego połączenia Weave.
[in] appState
Wskaźnik do obiektu wyższego poziomu, który przechowuje stan kontekstu.
Zwracane wartości
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
Jeśli pula niechcianych modułów obsługi wiadomości jest pełna i nie można przydzielić nowego.
WEAVE_NO_ERROR
Powodzenie.

Wyłączono

WEAVE_ERROR Shutdown(
  void
)

Wyłącz WeaveExchangeManager.

Spowoduje to zakończenie tej instancji obiektu i zwolnienie wszystkich przechowywanych zasobów.

Szczegóły
Zwroty
WEAVE_NO_ERROR bezwarunkowo.

UnregisterUnsolicitedMessageHandler

WEAVE_ERROR UnregisterUnsolicitedMessageHandler(
  uint32_t profileId
)

Wyrejestruj niezamawianą moduł 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 niechcianego modułu obsługi wiadomości.
WEAVE_NO_ERROR
Powodzenie.

UnregisterUnsolicitedMessageHandler

WEAVE_ERROR UnregisterUnsolicitedMessageHandler(
  uint32_t profileId,
  uint8_t msgType
)

Wyrejestruj niezamawianą moduł 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 odpowiedniego profilu.
Zwracane wartości
WEAVE_ERROR_NO_UNSOLICITED_MESSAGE_HANDLER
Jeśli nie znaleziono pasującego niechcianego modułu obsługi wiadomości.
WEAVE_NO_ERROR
Powodzenie.

UnregisterUnsolicitedMessageHandler

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

Wyrejestruj niezamawianą moduł obsługi wiadomości 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 odpowiedniego profilu.
[in] con
Wskaźnik do obiektu WeaveConnection reprezentującego połączenie TCP z peerem.
Zwracane wartości
WEAVE_ERROR_NO_UNSOLICITED_MESSAGE_HANDLER
Jeśli nie znaleziono pasującego niechcianego modułu obsługi wiadomości.
WEAVE_NO_ERROR
Powodzenie.

WeaveExchangeManager

 WeaveExchangeManager(
  void
)

Konstruktor klasy WeaveExchangeManager.

Ustawia stan na kState_NotInitialized.

.