nl::Weave::WeaveExchangeManager

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

Esta clase se usa para administrar ExchangeContexts con otros nodos de Weave.

Resumen

Funciona en nombre de capas superiores, crea ExchangeContexts y controla el registro o la anulación de registro de controladores de mensajes no solicitados.

Constructores y destructores

WeaveExchangeManager(void)
Constructor de la clase WeaveExchangeManager.

Tipos públicos

State{
  kState_NotInitialized = 0,
  kState_Initialized = 1
}
enum

Atributos públicos

FabricState
[SOLO LECTURA] El objeto FabricState asociado.
MessageLayer
[SOLO LECTURA] El objeto WeaveMessageLayer asociado.
State
uint8_t
[SOLO LECTURA] El estado del objeto WeaveExchangeManager.

Funciones públicas

AllowUnsolicitedMessages(WeaveConnection *con)
void
Permite que se reciban mensajes no solicitados en la conexión especificada.
ClearMsgCounterSyncReq(uint64_t peerNodeId)
void
Borra la marca MsgCounterSyncReq para todos los mensajes pendientes enviados a ese par.
FindContext(uint64_t peerNodeId, WeaveConnection *con, void *appState, bool isInitiator)
Busca ExchangeContext en un grupo que coincida con un conjunto determinado de parámetros.
Init(WeaveMessageLayer *msgLayer)
Inicializa el objeto WeaveExchangeManager.
NewBinding(Binding::EventCallback eventCallback, void *appState)
Asigna una Binding nueva con los argumentos proporcionados.
NewContext(const uint64_t & peerNodeId, void *appState)
Crea un ExchangeContext nuevo con un nodo de intercambio de tráfico determinado especificado por el identificador del nodo de intercambio de tráfico.
NewContext(const uint64_t & peerNodeId, const IPAddress & peerAddr, void *appState)
Crea un ExchangeContext nuevo con un nodo de intercambio de tráfico determinado especificado por el identificador del nodo y la dirección IP de intercambio de tráfico.
NewContext(const uint64_t & peerNodeId, const IPAddress & peerAddr, uint16_t peerPort, InterfaceId sendIntfId, void *appState)
Crea un ExchangeContext nuevo con un nodo de Weave de intercambio de tráfico determinado especificado por el identificador del nodo de intercambio de tráfico, la dirección IP de intercambio de tráfico y el puerto de destino en una interfaz especificada.
NewContext(WeaveConnection *con, void *appState)
Crea un ExchangeContext nuevo con un nodo de intercambio de tráfico determinado en una WeaveConnection especificada.
RegisterUnsolicitedMessageHandler(uint32_t profileId, ExchangeContext::MessageReceiveFunct handler, void *appState)
Registrar un controlador de mensajes no solicitados para un identificador de perfil determinado.
RegisterUnsolicitedMessageHandler(uint32_t profileId, ExchangeContext::MessageReceiveFunct handler, bool allowDups, void *appState)
Registrar un controlador de mensajes no solicitados para un identificador de perfil determinado.
RegisterUnsolicitedMessageHandler(uint32_t profileId, uint8_t msgType, ExchangeContext::MessageReceiveFunct handler, void *appState)
Registrar un controlador de mensajes no solicitados para un identificador de perfil y un tipo de mensaje determinados.
RegisterUnsolicitedMessageHandler(uint32_t profileId, uint8_t msgType, ExchangeContext::MessageReceiveFunct handler, bool allowDups, void *appState)
Registrar un controlador de mensajes no solicitados para un identificador de perfil y un tipo de mensaje determinados.
RegisterUnsolicitedMessageHandler(uint32_t profileId, uint8_t msgType, WeaveConnection *con, ExchangeContext::MessageReceiveFunct handler, void *appState)
Registrar un controlador de mensajes no solicitado para un identificador de perfil determinado, un tipo de mensaje en una conexión de Weave especificada
RegisterUnsolicitedMessageHandler(uint32_t profileId, uint8_t msgType, WeaveConnection *con, ExchangeContext::MessageReceiveFunct handler, bool allowDups, void *appState)
Registrar un controlador de mensajes no solicitado para un identificador de perfil determinado, un tipo de mensaje en una conexión de Weave especificada
Shutdown(void)
UnregisterUnsolicitedMessageHandler(uint32_t profileId)
Anula el registro de un controlador de mensajes no solicitados para un identificador de perfil determinado.
UnregisterUnsolicitedMessageHandler(uint32_t profileId, uint8_t msgType)
Anula el registro de un controlador de mensajes no solicitados para un identificador de perfil y un tipo de mensaje determinados.
UnregisterUnsolicitedMessageHandler(uint32_t profileId, uint8_t msgType, WeaveConnection *con)
Anula el registro de un controlador de mensajes no solicitados para un identificador de perfil, un tipo de mensaje y una conexión de Weave determinados.

Tipos públicos

Estado

 State
Propiedades
kState_Initialized

Se usa para indicar que WeaveExchangeManager se inicializó.

kState_NotInitialized

Se usa para indicar que no se inicializó WeaveExchangeManager.

Atributos públicos

FabricState

WeaveFabricState * FabricState

[SOLO LECTURA] El objeto FabricState asociado.

MessageLayer

WeaveMessageLayer * MessageLayer

[SOLO LECTURA] El objeto WeaveMessageLayer asociado.

Estado

uint8_t State

[SOLO LECTURA] El estado del objeto WeaveExchangeManager.

Funciones públicas

AllowUnsolicitedMessages

void AllowUnsolicitedMessages(
  WeaveConnection *con
)

Permite que se reciban mensajes no solicitados en la conexión especificada.

Este método configura el controlador de recepción de mensajes en la conexión de Weave determinada.

Detalles
Parámetros
[in] con
Un puntero para el objeto de conexión de Weave.

ClearMsgCounterSyncReq

void ClearMsgCounterSyncReq(
  uint64_t peerNodeId
)

Borra la marca MsgCounterSyncReq para todos los mensajes pendientes enviados a ese par.

Detalles
Parámetros
[in] peerNodeId
ID de nodo del nodo de destino.

FindContext

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

Busca ExchangeContext en un grupo que coincida con un conjunto determinado de parámetros.

Detalles
Parámetros
[in] peerNodeId
El identificador de nodo del intercambio de tráfico con el que se configuró ExchangeContext.
[in] con
Un puntero al objeto WeaveConnection que representa la conexión TCP con el par.
[in] appState
Un puntero a un objeto de capa superior que conserva el estado del contexto.
[in] isInitiator
Es un indicador booleano de si el nodo local es el iniciador del intercambio.
Qué muestra
Un puntero para el objeto ExchangeContext que coincide con los parámetros proporcionados si la operación es exitosa y NULL si no hay coincidencia.

Init

WEAVE_ERROR Init(
  WeaveMessageLayer *msgLayer
)

Inicializa el objeto WeaveExchangeManager.

Durante la vida útil de esta instancia, este método se invoca una vez después de la construcción del objeto hasta que se realiza una llamada al cierre para finalizar la instancia.

Detalles
Parámetros
[in] msgLayer
Un puntero para el objeto WeaveMessageLayer.
Valores que se muestran
WEAVE_ERROR_INCORRECT_STATE
Si el estado no es igual a kState_NotInitialized.
WEAVE_NO_ERROR
Si la operación es exitosa.

NewBinding

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

Asigna una Binding nueva con los argumentos proporcionados.

Detalles
Parámetros
[in] eventCallback
Un puntero de función que se usará para la devolución de llamada de un evento
[in] appState
Un puntero a algún contexto que se transmitiría en la devolución de llamada del evento más adelante
Qué muestra
Un puntero para la Binding asignada recientemente, o NULL si el grupo se agotó

NewContext

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

Crea un ExchangeContext nuevo con un nodo de intercambio de tráfico determinado especificado por el identificador del nodo de intercambio de tráfico.

Detalles
Parámetros
[in] peerNodeId
Es el identificador de nodo del intercambio de tráfico con el que se configura ExchangeContext.
[in] appState
Un puntero a un objeto de capa superior que conserva el estado del contexto.
Qué muestra
Un puntero al objeto ExchangeContext creado si la operación es exitosa. De lo contrario, es NULL si no se puede asignar ningún objeto o está disponible.

NewContext

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

Crea un ExchangeContext nuevo con un nodo de intercambio de tráfico determinado especificado por el identificador del nodo y la dirección IP de intercambio de tráfico.

Detalles
Parámetros
[in] peerNodeId
Es el identificador de nodo del intercambio de tráfico con el que se configura ExchangeContext.
[in] peerAddr
La dirección IP del nodo de intercambio de tráfico.
[in] appState
Un puntero a un objeto de capa superior que conserva el estado del contexto.
Qué muestra
Un puntero al objeto ExchangeContext creado si la operación es exitosa. De lo contrario, es NULL si no se puede asignar ningún objeto o si está disponible.

NewContext

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

Crea un ExchangeContext nuevo con un nodo de Weave de intercambio de tráfico determinado especificado por el identificador del nodo de intercambio de tráfico, la dirección IP de intercambio de tráfico y el puerto de destino en una interfaz especificada.

Detalles
Parámetros
[in] peerNodeId
Es el identificador de nodo del intercambio de tráfico con el que se configura ExchangeContext.
[in] peerAddr
La dirección IP del nodo de intercambio de tráfico.
[in] peerPort
El puerto del nodo de intercambio de tráfico.
[in] sendIntfId
La interfaz que se usa para enviar mensajes de Weave en este intercambio.
[in] appState
Un puntero a un objeto de capa superior que conserva el estado del contexto.
Qué muestra
Un puntero al objeto ExchangeContext creado si la operación es exitosa. De lo contrario, es NULL si no se puede asignar ningún objeto o si está disponible.

NewContext

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

Crea un ExchangeContext nuevo con un nodo de intercambio de tráfico determinado en una WeaveConnection especificada.

Detalles
Parámetros
[in] con
Un puntero al objeto WeaveConnection que representa la conexión TCP con el par.
[in] appState
Un puntero a un objeto de capa superior que conserva el estado del contexto.
Qué muestra
Un puntero al objeto ExchangeContext creado si la operación es exitosa. De lo contrario, es NULL si no se puede asignar ningún objeto o si está disponible.

RegisterUnsolicitedMessageHandler

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

Registrar un controlador de mensajes no solicitados para un identificador de perfil determinado.

Este controlador se invocará para todos los mensajes del perfil determinado.

Detalles
Parámetros
[in] profileId
El identificador de perfil del mensaje recibido.
[in] handler
El controlador de mensajes no solicitados.
[in] appState
Un puntero a un objeto de capa superior que conserva el estado del contexto.
Valores que se muestran
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
Si el grupo de controladores de mensajes no solicitado está lleno y no se puede asignar uno nuevo.
WEAVE_NO_ERROR
Si la operación es exitosa.

RegisterUnsolicitedMessageHandler

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

Registrar un controlador de mensajes no solicitados para un identificador de perfil determinado.

Este controlador se invocará para todos los mensajes del perfil determinado.

Detalles
Parámetros
[in] profileId
El identificador de perfil del mensaje recibido.
[in] handler
El controlador de mensajes no solicitados.
[in] allowDups
Indicador booleano de si se permiten mensajes duplicados para un perfil determinado.
[in] appState
Un puntero a un objeto de capa superior que conserva el estado del contexto.
Valores que se muestran
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
Si el grupo de controladores de mensajes no solicitado está lleno y no se puede asignar uno nuevo.
WEAVE_NO_ERROR
Si la operación es exitosa.

RegisterUnsolicitedMessageHandler

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

Registrar un controlador de mensajes no solicitados para un identificador de perfil y un tipo de mensaje determinados.

Detalles
Parámetros
[in] profileId
El identificador de perfil del mensaje recibido.
[in] msgType
El tipo de mensaje del perfil correspondiente.
[in] handler
El controlador de mensajes no solicitados.
[in] appState
Un puntero a un objeto de capa superior que conserva el estado del contexto.
Valores que se muestran
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
Si el grupo de controladores de mensajes no solicitado está lleno y no se puede asignar uno nuevo.
WEAVE_NO_ERROR
Si la operación es exitosa.

RegisterUnsolicitedMessageHandler

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

Registrar un controlador de mensajes no solicitados para un identificador de perfil y un tipo de mensaje determinados.

Detalles
Parámetros
[in] profileId
El identificador de perfil del mensaje recibido.
[in] msgType
El tipo de mensaje del perfil correspondiente.
[in] handler
El controlador de mensajes no solicitados.
[in] allowDups
Indicador booleano de si se permiten mensajes duplicados para un identificador de perfil y un tipo de mensaje determinados.
[in] appState
Un puntero a un objeto de capa superior que conserva el estado del contexto.
Valores que se muestran
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
Si el grupo de controladores de mensajes no solicitado está lleno y no se puede asignar uno nuevo.
WEAVE_NO_ERROR
Si la operación es exitosa.

RegisterUnsolicitedMessageHandler

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

Registrar un controlador de mensajes no solicitado para un identificador de perfil determinado, un tipo de mensaje en una conexión de Weave especificada

Detalles
Parámetros
[in] profileId
El identificador de perfil del mensaje recibido.
[in] msgType
El tipo de mensaje del perfil correspondiente.
[in] con
Un puntero al objeto WeaveConnection que representa la conexión TCP con el par.
[in] handler
El controlador de mensajes no solicitados.
[in] appState
Un puntero a un objeto de capa superior que conserva el estado del contexto.
Valores que se muestran
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
Si el grupo de controladores de mensajes no solicitado está lleno y no se puede asignar uno nuevo.
WEAVE_NO_ERROR
Si la operación es exitosa.

RegisterUnsolicitedMessageHandler

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

Registrar un controlador de mensajes no solicitado para un identificador de perfil determinado, un tipo de mensaje en una conexión de Weave especificada

Detalles
Parámetros
[in] profileId
El identificador de perfil del mensaje recibido.
[in] msgType
El tipo de mensaje del perfil correspondiente.
[in] con
Un puntero al objeto WeaveConnection que representa la conexión TCP con el par.
[in] handler
El controlador de mensajes no solicitados.
[in] allowDups
Indicador booleano de si se permiten mensajes duplicados para un identificador de perfil determinado, tipo de mensaje en una conexión de Weave especificada.
[in] appState
Un puntero a un objeto de capa superior que conserva el estado del contexto.
Valores que se muestran
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
Si el grupo de controladores de mensajes no solicitado está lleno y no se puede asignar uno nuevo.
WEAVE_NO_ERROR
Si la operación es exitosa.

Cierre

WEAVE_ERROR Shutdown(
  void
)

Apaga WeaveExchangeManager.

Esto finaliza esta instancia del objeto y libera todos los recursos retenidos.

Detalles
Qué muestra
WEAVE_NO_ERROR de forma incondicional.

UnregisterUnsolicitedMessageHandler

WEAVE_ERROR UnregisterUnsolicitedMessageHandler(
  uint32_t profileId
)

Anula el registro de un controlador de mensajes no solicitados para un identificador de perfil determinado.

Detalles
Parámetros
[in] profileId
El identificador de perfil del mensaje recibido.
Valores que se muestran
WEAVE_ERROR_NO_UNSOLICITED_MESSAGE_HANDLER
Si no se encuentra el controlador de mensajes no solicitados que coincide.
WEAVE_NO_ERROR
Si la operación es exitosa.

UnregisterUnsolicitedMessageHandler

WEAVE_ERROR UnregisterUnsolicitedMessageHandler(
  uint32_t profileId,
  uint8_t msgType
)

Anula el registro de un controlador de mensajes no solicitados para un identificador de perfil y un tipo de mensaje determinados.

Detalles
Parámetros
[in] profileId
El identificador de perfil del mensaje recibido.
[in] msgType
El tipo de mensaje del perfil correspondiente.
Valores que se muestran
WEAVE_ERROR_NO_UNSOLICITED_MESSAGE_HANDLER
Si no se encuentra el controlador de mensajes no solicitados que coincide.
WEAVE_NO_ERROR
Si la operación es exitosa.

UnregisterUnsolicitedMessageHandler

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

Anula el registro de un controlador de mensajes no solicitados para un identificador de perfil, un tipo de mensaje y una conexión de Weave determinados.

Detalles
Parámetros
[in] profileId
El identificador de perfil del mensaje recibido.
[in] msgType
El tipo de mensaje del perfil correspondiente.
[in] con
Un puntero al objeto WeaveConnection que representa la conexión TCP con el par.
Valores que se muestran
WEAVE_ERROR_NO_UNSOLICITED_MESSAGE_HANDLER
Si no se encuentra el controlador de mensajes no solicitados que coincide.
WEAVE_NO_ERROR
Si la operación es exitosa.

WeaveExchangeManager

 WeaveExchangeManager(
  void
)

Constructor de la clase WeaveExchangeManager.

Establece el estado en kState_NotInitialized.