nl::Weave::WeaveExchangeManager

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

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

Riepilogo

Funziona per conto di livelli superiori, creando ExchangeContext e gestendo la registrazione/annullamento della registrazione dei 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 che corrisponde a un determinato insieme 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 peer specificato dall'identificatore del nodo peer e dall'indirizzo IP del 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 peer specificato dall'identificatore del nodo peer, dall'indirizzo IP del 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 richiesti per un determinato identificatore di profilo.
RegisterUnsolicitedMessageHandler(uint32_t profileId, ExchangeContext::MessageReceiveFunct handler, bool allowDups, void *appState)
Registrare un gestore di messaggi non richiesti per un determinato identificatore di profilo.
RegisterUnsolicitedMessageHandler(uint32_t profileId, uint8_t msgType, ExchangeContext::MessageReceiveFunct handler, void *appState)
Registrare un gestore di messaggi non richiesti 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 richiesti per un determinato identificatore di profilo e tipo di messaggio.
RegisterUnsolicitedMessageHandler(uint32_t profileId, uint8_t msgType, WeaveConnection *con, ExchangeContext::MessageReceiveFunct handler, void *appState)
Registra un gestore di messaggi non richiesti 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)
Registra un gestore di messaggi non richiesti 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 richiesti per un determinato identificatore di profilo.
UnregisterUnsolicitedMessageHandler(uint32_t profileId, uint8_t msgType)
Annulla la registrazione di un gestore di messaggi non richiesti 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 richiesti per un identificatore di profilo, un tipo di messaggio e una connessione Weave specifici.

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 della 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 che corrisponde a un determinato insieme 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 mantiene lo stato del contesto.
[in] isInitiator
Indicatore booleano che indica se il nodo locale è l'iniziatore della piattaforma di scambio pubblicitario.
Restituisce
Un puntatore all'oggetto ExchangeContext che corrisponde ai parametri forniti. Se l'operazione ha esito positivo, NULL in caso di mancata corrispondenza.

Inizia

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 finché 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 è diverso da kState_NotInitialized.
WEAVE_NO_ERROR
In caso di 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 di evento
[in] appState
Un puntatore a un contesto che verrà inserito in un secondo momento nel callback dell'evento
Restituisce
Un puntatore all'Binding appena allocata o 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 cui ExchangeContext viene configurato.
[in] appState
Un puntatore a un oggetto di livello superiore che mantiene lo stato del contesto.
Restituisce
Un puntatore all'oggetto ExchangeContext creato. 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 peer specificato dall'identificatore del nodo peer e dall'indirizzo IP del peer.

Dettagli
Parametri
[in] peerNodeId
L'identificatore del nodo del peer con cui ExchangeContext viene configurato.
[in] peerAddr
L'indirizzo IP del nodo peer.
[in] appState
Un puntatore a un oggetto di livello superiore che mantiene lo stato del contesto.
Restituisce
Un puntatore all'oggetto ExchangeContext creato. 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 peer specificato dall'identificatore del nodo peer, dall'indirizzo IP del peer e dalla porta di destinazione su un'interfaccia specificata.

Dettagli
Parametri
[in] peerNodeId
L'identificatore del nodo del peer con cui ExchangeContext viene configurato.
[in] peerAddr
L'indirizzo IP del nodo peer.
[in] peerPort
La porta del nodo peer.
[in] sendIntfId
L'interfaccia da utilizzare per l'invio di messaggi Weave su questo scambio.
[in] appState
Un puntatore a un oggetto di livello superiore che mantiene lo stato del contesto.
Restituisce
Un puntatore all'oggetto ExchangeContext creato. 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 mantiene lo stato del contesto.
Restituisce
Un puntatore all'oggetto ExchangeContext creato. 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 richiesti per un determinato identificatore di profilo.

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

Dettagli
Parametri
[in] profileId
L'identificatore del profilo del messaggio ricevuto.
[in] handler
Il gestore dei messaggi non richiesti.
[in] appState
Un puntatore a un oggetto di livello superiore che mantiene lo stato del contesto.
Valori restituiti
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
Se il pool di gestori dei messaggi non richiesti è pieno e non è possibile assegnarne uno nuovo.
WEAVE_NO_ERROR
In caso di successo.

RegisterUnsolicitedMessageHandler

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

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

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

Dettagli
Parametri
[in] profileId
L'identificatore del profilo del messaggio ricevuto.
[in] handler
Il gestore dei messaggi non richiesti.
[in] allowDups
Indicatore booleano che specifica se i messaggi duplicati sono consentiti per un determinato profilo.
[in] appState
Un puntatore a un oggetto di livello superiore che mantiene lo stato del contesto.
Valori restituiti
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
Se il pool di gestori dei messaggi non richiesti è pieno e non è possibile assegnarne uno nuovo.
WEAVE_NO_ERROR
In caso di successo.

RegisterUnsolicitedMessageHandler

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

Registrare un gestore di messaggi non richiesti 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 dei messaggi non richiesti.
[in] appState
Un puntatore a un oggetto di livello superiore che mantiene lo stato del contesto.
Valori restituiti
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
Se il pool di gestori dei messaggi non richiesti è pieno e non è possibile assegnarne uno nuovo.
WEAVE_NO_ERROR
In caso di successo.

RegisterUnsolicitedMessageHandler

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

Registrare un gestore di messaggi non richiesti 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 dei messaggi non richiesti.
[in] allowDups
Indicatore booleano che specifica se i messaggi duplicati sono consentiti per un determinato identificatore di profilo e tipo di messaggio.
[in] appState
Un puntatore a un oggetto di livello superiore che mantiene lo stato del contesto.
Valori restituiti
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
Se il pool di gestori dei messaggi non richiesti è pieno e non è possibile assegnarne uno nuovo.
WEAVE_NO_ERROR
In caso di successo.

RegisterUnsolicitedMessageHandler

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

Registra un gestore di messaggi non richiesti 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 dei messaggi non richiesti.
[in] appState
Un puntatore a un oggetto di livello superiore che mantiene lo stato del contesto.
Valori restituiti
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
Se il pool di gestori dei messaggi non richiesti è pieno e non è possibile assegnarne uno nuovo.
WEAVE_NO_ERROR
In caso di successo.

RegisterUnsolicitedMessageHandler

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

Registra un gestore di messaggi non richiesti 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 dei messaggi non richiesti.
[in] allowDups
Indicatore booleano che specifica se sono consentiti messaggi duplicati per un determinato identificatore di profilo o tipo di messaggio su una connessione Weave specificata.
[in] appState
Un puntatore a un oggetto di livello superiore che mantiene lo stato del contesto.
Valori restituiti
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
Se il pool di gestori dei messaggi non richiesti è pieno e non è possibile assegnarne uno nuovo.
WEAVE_NO_ERROR
In caso di successo.

Arresto

WEAVE_ERROR Shutdown(
  void
)

Arresta WeaveExchangeManager.

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

Dettagli
Restituisce
WEAVE_NO_ERROR in modo incondizionato.

UnregisterUnsolicitedMessageHandler

WEAVE_ERROR UnregisterUnsolicitedMessageHandler(
  uint32_t profileId
)

Annullare la registrazione di un gestore di messaggi non richiesti 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 il gestore dei messaggi non richiesti corrispondente non viene trovato.
WEAVE_NO_ERROR
In caso di successo.

UnregisterUnsolicitedMessageHandler

WEAVE_ERROR UnregisterUnsolicitedMessageHandler(
  uint32_t profileId,
  uint8_t msgType
)

Annulla la registrazione di un gestore di messaggi non richiesti 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 il gestore dei messaggi non richiesti corrispondente non viene trovato.
WEAVE_NO_ERROR
In caso di successo.

UnregisterUnsolicitedMessageHandler

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

Annulla la registrazione di un gestore di messaggi non richiesti per un identificatore di profilo, un tipo di messaggio e una connessione Weave specifici.

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 il gestore dei messaggi non richiesti corrispondente non viene trovato.
WEAVE_NO_ERROR
In caso di successo.

WeaveExchangeManager

 WeaveExchangeManager(
  void
)

Costruttore per la classe WeaveExchangeManager.

Imposta lo stato su kState_NotInitialized.