nl::Weave::WeaveExchangeManager

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

Questa classe viene utilizzata per gestire ExchangeContexts con altri nodi Weave.

Riepilogo

Funziona per conto di livelli più alti, creando ExchangeContexts e gestendo la registrazione/annullamento della registrazione di gestori di messaggi non richiesti.

Costruttori e distruttori

WeaveExchangeManager(void)
Costruttore per la classe WeaveExchangeManager.

Tipi pubblici

State{
  kState_NotInitialized = 0,
  kState_Initialized = 1
}
enum

Attributi pubblici

FabricState
[SOLO LETTURA] L'oggetto FabricState associato.
MessageLayer
[SOLO LETTURA] L'oggetto WeaveMessageLayer associato.
State
uint8_t
[SOLO LETTURA] Lo stato dell'oggetto WeaveExchangeManager.

Funzioni pubbliche

AllowUnsolicitedMessages(WeaveConnection *con)
void
Consenti la ricezione di messaggi non richiesti sulla connessione specificata.
ClearMsgCounterSyncReq(uint64_t peerNodeId)
void
Cancella il flag MsgCounterSyncReq per tutti i messaggi in attesa inviati al peer.
FindContext(uint64_t peerNodeId, WeaveConnection *con, void *appState, bool isInitiator)
Trova ExchangeContext da un pool corrispondente a un determinato set di parametri.
Init(WeaveMessageLayer *msgLayer)
Inizializza l'oggetto WeaveExchangeManager.
NewBinding(Binding::EventCallback eventCallback, void *appState)
Alloca una nuova associazione con gli argomenti forniti.
NewContext(const uint64_t & peerNodeId, void *appState)
Crea un nuovo ExchangeContext con un determinato nodo Weave peer specificato dall'identificatore del nodo peer.
NewContext(const uint64_t & peerNodeId, const IPAddress & peerAddr, void *appState)
Crea un nuovo ExchangeContext con un determinato nodo Weave specificato dall'identificatore del nodo peer e dall'indirizzo IP peer.
NewContext(const uint64_t & peerNodeId, const IPAddress & peerAddr, uint16_t peerPort, InterfaceId sendIntfId, void *appState)
Crea un nuovo ExchangeContext con un determinato nodo Weave specificato dall'identificatore del nodo peer, dall'indirizzo IP peer e dalla porta di destinazione su un'interfaccia specificata.
NewContext(WeaveConnection *con, void *appState)
Crea un nuovo ExchangeContext con un determinato nodo Weave peer su una WeaveConnection specificata.
RegisterUnsolicitedMessageHandler(uint32_t profileId, ExchangeContext::MessageReceiveFunct handler, void *appState)
Registrare un gestore di messaggi non richiesto per un determinato identificatore di profilo.
RegisterUnsolicitedMessageHandler(uint32_t profileId, ExchangeContext::MessageReceiveFunct handler, bool allowDups, void *appState)
Registrare un gestore di messaggi non richiesto per un determinato identificatore di profilo.
RegisterUnsolicitedMessageHandler(uint32_t profileId, uint8_t msgType, ExchangeContext::MessageReceiveFunct handler, void *appState)
Registrare un gestore di messaggi non richiesto per un determinato identificatore di profilo e tipo di messaggio.
RegisterUnsolicitedMessageHandler(uint32_t profileId, uint8_t msgType, ExchangeContext::MessageReceiveFunct handler, bool allowDups, void *appState)
Registrare un gestore di messaggi non richiesto per un determinato identificatore di profilo e tipo di messaggio.
RegisterUnsolicitedMessageHandler(uint32_t profileId, uint8_t msgType, WeaveConnection *con, ExchangeContext::MessageReceiveFunct handler, void *appState)
Consente di registrare un gestore di messaggi non richiesto per un determinato identificatore di profilo e tipo di messaggio su una connessione Weave specificata.
RegisterUnsolicitedMessageHandler(uint32_t profileId, uint8_t msgType, WeaveConnection *con, ExchangeContext::MessageReceiveFunct handler, bool allowDups, void *appState)
Consente di registrare un gestore di messaggi non richiesto per un determinato identificatore di profilo e tipo di messaggio su una connessione Weave specificata.
Shutdown(void)
UnregisterUnsolicitedMessageHandler(uint32_t profileId)
Annullare la registrazione di un gestore di messaggi non richiesto per un determinato identificatore di profilo.
UnregisterUnsolicitedMessageHandler(uint32_t profileId, uint8_t msgType)
Annulla la registrazione di un gestore di messaggi non richiesto per un determinato identificatore di profilo e tipo di messaggio.
UnregisterUnsolicitedMessageHandler(uint32_t profileId, uint8_t msgType, WeaveConnection *con)
Annulla la registrazione di un gestore di messaggi non richiesto per un determinato identificatore di profilo, tipo di messaggio e connessione Weave.

Tipi pubblici

Stato

 State
Proprietà
kState_Initialized

Utilizzato per indicare che WeaveExchangeManager è inizializzato.

kState_NotInitialized

Utilizzato per indicare che WeaveExchangeManager non è inizializzato.

Attributi pubblici

FabricState

WeaveFabricState * FabricState

[SOLO LETTURA] L'oggetto FabricState associato.

MessageLayer

WeaveMessageLayer * MessageLayer

[SOLO LETTURA] L'oggetto WeaveMessageLayer associato.

Stato

uint8_t State

[SOLO LETTURA] Lo stato dell'oggetto WeaveExchangeManager.

Funzioni pubbliche

AllowUnsolicitedMessages

void AllowUnsolicitedMessages(
  WeaveConnection *con
)

Consenti la ricezione di messaggi non richiesti sulla connessione specificata.

Questo metodo imposta il gestore di ricezione dei messaggi sulla connessione Weave specificata.

Dettagli
Parametri
[in] con
Un puntatore all'oggetto di connessione Weave.

ClearMsgCounterSyncReq

void ClearMsgCounterSyncReq(
  uint64_t peerNodeId
)

Cancella il flag MsgCounterSyncReq per tutti i messaggi in attesa inviati al peer.

Dettagli
Parametri
[in] peerNodeId
ID nodo del nodo di destinazione.

FindContext

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

Trova ExchangeContext da un pool corrispondente a un determinato set di parametri.

Dettagli
Parametri
[in] peerNodeId
L'identificatore del nodo del peer con cui è stato configurato ExchangeContext.
[in] con
Un puntatore all'oggetto WeaveConnection che rappresenta la connessione TCP con il peer.
[in] appState
Un puntatore a un oggetto di livello superiore che contiene lo stato del contesto.
[in] isInitiator
Indicatore booleano che indica se il nodo locale è l'iniziatore dello scambio.
Restituisce
Un puntatore all'oggetto ExchangeContext corrispondente ai parametri forniti In caso di successo, NULL in caso di mancata corrispondenza.

Init

WEAVE_ERROR Init(
  WeaveMessageLayer *msgLayer
)

Inizializza l'oggetto WeaveExchangeManager.

Durante la durata di questa istanza, questo metodo viene richiamato una volta dopo la creazione dell'oggetto fino a quando non viene effettuata una chiamata all'arresto per terminare l'istanza.

Dettagli
Parametri
[in] msgLayer
Un puntatore all'oggetto WeaveMessageLayer.
Valori restituiti
WEAVE_ERROR_INCORRECT_STATE
Se lo stato non è uguale a kState_NotInitialized.
WEAVE_NO_ERROR
Un successo.

NewBinding

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

Alloca una nuova associazione con gli argomenti forniti.

Dettagli
Parametri
[in] eventCallback
Un puntatore a funzione da utilizzare per il callback dell'evento
[in] appState
Un puntatore a un contesto che sarebbe riportato nel callback dell'evento in un secondo momento
Restituisce
Un puntatore al Binding allocato appena allocato oppure NULL se il pool è stato esaurito

NewContext

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

Crea un nuovo ExchangeContext con un determinato nodo Weave peer specificato dall'identificatore del nodo peer.

Dettagli
Parametri
[in] peerNodeId
L'identificatore del nodo del peer con il quale viene configurato ExchangeContext.
[in] appState
Un puntatore a un oggetto di livello superiore che contiene lo stato del contesto.
Restituisce
Un puntatore all'oggetto ExchangeContext creato In caso di esito positivo. In caso contrario, NULL se nessun oggetto può essere allocato o disponibile.

NewContext

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

Crea un nuovo ExchangeContext con un determinato nodo Weave specificato dall'identificatore del nodo peer e dall'indirizzo IP peer.

Dettagli
Parametri
[in] peerNodeId
L'identificatore del nodo del peer con il quale viene configurato ExchangeContext.
[in] peerAddr
L'indirizzo IP del nodo peer.
[in] appState
Un puntatore a un oggetto di livello superiore che contiene lo stato del contesto.
Restituisce
Un puntatore all'oggetto ExchangeContext creato In caso di esito positivo. In caso contrario, NULL se nessun oggetto può essere allocato o disponibile.

NewContext

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

Crea un nuovo ExchangeContext con un determinato nodo Weave specificato dall'identificatore del nodo peer, dall'indirizzo IP peer e dalla porta di destinazione su un'interfaccia specificata.

Dettagli
Parametri
[in] peerNodeId
L'identificatore del nodo del peer con il quale viene configurato ExchangeContext.
[in] peerAddr
L'indirizzo IP del nodo peer.
[in] peerPort
La porta del nodo peer.
[in] sendIntfId
L'interfaccia da utilizzare per inviare messaggi Weave su questo scambio.
[in] appState
Un puntatore a un oggetto di livello superiore che contiene lo stato del contesto.
Restituisce
Un puntatore all'oggetto ExchangeContext creato In caso di esito positivo. In caso contrario, NULL se nessun oggetto può essere allocato o disponibile.

NewContext

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

Crea un nuovo ExchangeContext con un determinato nodo Weave peer su una WeaveConnection specificata.

Dettagli
Parametri
[in] con
Un puntatore all'oggetto WeaveConnection che rappresenta la connessione TCP con il peer.
[in] appState
Un puntatore a un oggetto di livello superiore che contiene lo stato del contesto.
Restituisce
Un puntatore all'oggetto ExchangeContext creato In caso di esito positivo. In caso contrario, NULL se nessun oggetto può essere allocato o disponibile.

RegisterUnsolicitedMessageHandler

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

Registrare un gestore di messaggi non richiesto per un determinato identificatore di profilo.

Questo gestore verrebbe richiamato per tutti i messaggi del profilo specificato.

Dettagli
Parametri
[in] profileId
L'identificatore del profilo del messaggio ricevuto.
[in] handler
Il gestore di messaggi non richiesto.
[in] appState
Un puntatore a un oggetto di livello superiore che contiene lo stato del contesto.
Valori restituiti
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
Se il pool di gestori di messaggi non richiesti è pieno e non può essere allocato uno nuovo.
WEAVE_NO_ERROR
Un successo.

RegisterUnsolicitedMessageHandler

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

Registrare un gestore di messaggi non richiesto per un determinato identificatore di profilo.

Questo gestore verrebbe richiamato per tutti i messaggi del profilo specificato.

Dettagli
Parametri
[in] profileId
L'identificatore del profilo del messaggio ricevuto.
[in] handler
Il gestore di messaggi non richiesto.
[in] allowDups
Indicatore booleano che indica se sono consentiti messaggi duplicati per un determinato profilo.
[in] appState
Un puntatore a un oggetto di livello superiore che contiene lo stato del contesto.
Valori restituiti
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
Se il pool di gestori di messaggi non richiesti è pieno e non può essere allocato uno nuovo.
WEAVE_NO_ERROR
Un successo.

RegisterUnsolicitedMessageHandler

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

Registrare un gestore di messaggi non richiesto per un determinato identificatore di profilo e tipo di messaggio.

Dettagli
Parametri
[in] profileId
L'identificatore del profilo del messaggio ricevuto.
[in] msgType
Il tipo di messaggio del profilo corrispondente.
[in] handler
Il gestore di messaggi non richiesto.
[in] appState
Un puntatore a un oggetto di livello superiore che contiene lo stato del contesto.
Valori restituiti
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
Se il pool di gestori di messaggi non richiesti è pieno e non può essere allocato uno nuovo.
WEAVE_NO_ERROR
Un successo.

RegisterUnsolicitedMessageHandler

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

Registrare un gestore di messaggi non richiesto per un determinato identificatore di profilo e tipo di messaggio.

Dettagli
Parametri
[in] profileId
L'identificatore del profilo del messaggio ricevuto.
[in] msgType
Il tipo di messaggio del profilo corrispondente.
[in] handler
Il gestore di messaggi non richiesto.
[in] allowDups
Indicatore booleano che indica se sono consentiti messaggi duplicati per un determinato identificatore di profilo e tipo di messaggio.
[in] appState
Un puntatore a un oggetto di livello superiore che contiene lo stato del contesto.
Valori restituiti
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
Se il pool di gestori di messaggi non richiesti è pieno e non può essere allocato uno nuovo.
WEAVE_NO_ERROR
Un successo.

RegisterUnsolicitedMessageHandler

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

Consente di registrare un gestore di messaggi non richiesto per un determinato identificatore di profilo e tipo di messaggio su una connessione Weave specificata.

Dettagli
Parametri
[in] profileId
L'identificatore del profilo del messaggio ricevuto.
[in] msgType
Il tipo di messaggio del profilo corrispondente.
[in] con
Un puntatore all'oggetto WeaveConnection che rappresenta la connessione TCP con il peer.
[in] handler
Il gestore di messaggi non richiesto.
[in] appState
Un puntatore a un oggetto di livello superiore che contiene lo stato del contesto.
Valori restituiti
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
Se il pool di gestori di messaggi non richiesti è pieno e non può essere allocato uno nuovo.
WEAVE_NO_ERROR
Un successo.

RegisterUnsolicitedMessageHandler

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

Consente di registrare un gestore di messaggi non richiesto per un determinato identificatore di profilo e tipo di messaggio su una connessione Weave specificata.

Dettagli
Parametri
[in] profileId
L'identificatore del profilo del messaggio ricevuto.
[in] msgType
Il tipo di messaggio del profilo corrispondente.
[in] con
Un puntatore all'oggetto WeaveConnection che rappresenta la connessione TCP con il peer.
[in] handler
Il gestore di messaggi non richiesto.
[in] allowDups
Indicatore booleano che indica se sono consentiti messaggi duplicati per un determinato identificatore di profilo e tipo di messaggio su una connessione Weave specificata.
[in] appState
Un puntatore a un oggetto di livello superiore che contiene lo stato del contesto.
Valori restituiti
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
Se il pool di gestori di messaggi non richiesti è pieno e non può essere allocato uno nuovo.
WEAVE_NO_ERROR
Un successo.

Arresto

WEAVE_ERROR Shutdown(
  void
)

Arresta WeaveExchangeManager.

Questa operazione termina l'istanza dell'oggetto e rilascia tutte le risorse conservate.

Dettagli
Restituisce
WEAVE_NO_ERROR incondizionatamente.

UnregisterUnsolicitedMessageHandler

WEAVE_ERROR UnregisterUnsolicitedMessageHandler(
  uint32_t profileId
)

Annullare la registrazione di un gestore di messaggi non richiesto per un determinato identificatore di profilo.

Dettagli
Parametri
[in] profileId
L'identificatore del profilo del messaggio ricevuto.
Valori restituiti
WEAVE_ERROR_NO_UNSOLICITED_MESSAGE_HANDLER
Se non viene trovato il gestore di messaggi non richiesti corrispondente.
WEAVE_NO_ERROR
Un successo.

UnregisterUnsolicitedMessageHandler

WEAVE_ERROR UnregisterUnsolicitedMessageHandler(
  uint32_t profileId,
  uint8_t msgType
)

Annulla la registrazione di un gestore di messaggi non richiesto per un determinato identificatore di profilo e tipo di messaggio.

Dettagli
Parametri
[in] profileId
L'identificatore del profilo del messaggio ricevuto.
[in] msgType
Il tipo di messaggio del profilo corrispondente.
Valori restituiti
WEAVE_ERROR_NO_UNSOLICITED_MESSAGE_HANDLER
Se non viene trovato il gestore di messaggi non richiesti corrispondente.
WEAVE_NO_ERROR
Un successo.

UnregisterUnsolicitedMessageHandler

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

Annulla la registrazione di un gestore di messaggi non richiesto per un determinato identificatore di profilo, tipo di messaggio e connessione Weave.

Dettagli
Parametri
[in] profileId
L'identificatore del profilo del messaggio ricevuto.
[in] msgType
Il tipo di messaggio del profilo corrispondente.
[in] con
Un puntatore all'oggetto WeaveConnection che rappresenta la connessione TCP con il peer.
Valori restituiti
WEAVE_ERROR_NO_UNSOLICITED_MESSAGE_HANDLER
Se non viene trovato il gestore di messaggi non richiesti corrispondente.
WEAVE_NO_ERROR
Un successo.

WeaveExchangeManager

 WeaveExchangeManager(
  void
)

Costruttore per la classe WeaveExchangeManager.

Imposta lo stato su kState_NotInitialized.