nl::Weave::WeaveExchangeManager

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

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

Resumen

Trabaja en nombre de las capas superiores, ya que crea ExchangeContexts y controla el registro o la anulación de este de los 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 en todos los mensajes pendientes enviados a ese par.
FindContext(uint64_t peerNodeId, WeaveConnection *con, void *appState, bool isInitiator)
Busca el ExchangeContext de 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 par específico de Weave especificado por el identificador de nodo de intercambio de tráfico.
NewContext(const uint64_t & peerNodeId, const IPAddress & peerAddr, void *appState)
Crea un ExchangeContext nuevo con un nodo de par específico de Weave especificado por el identificador de nodo de intercambio de tráfico y la dirección IP de par.
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 que especifica 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 Weave similar determinado sobre una WeaveConnection especificada.
RegisterUnsolicitedMessageHandler(uint32_t profileId, ExchangeContext::MessageReceiveFunct handler, void *appState)
Registrar un controlador de mensajes no solicitado para un identificador de perfil determinado.
RegisterUnsolicitedMessageHandler(uint32_t profileId, ExchangeContext::MessageReceiveFunct handler, bool allowDups, void *appState)
Registrar un controlador de mensajes no solicitado para un identificador de perfil determinado.
RegisterUnsolicitedMessageHandler(uint32_t profileId, uint8_t msgType, ExchangeContext::MessageReceiveFunct handler, void *appState)
Registrar un controlador de mensajes no solicitado 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 solicitado 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)
Registra un controlador de mensajes no solicitado para un identificador de perfil o un tipo de mensaje determinado en una conexión de Weave especificada.
RegisterUnsolicitedMessageHandler(uint32_t profileId, uint8_t msgType, WeaveConnection *con, ExchangeContext::MessageReceiveFunct handler, bool allowDups, void *appState)
Registra un controlador de mensajes no solicitado para un identificador de perfil o un tipo de mensaje determinado en una conexión de Weave especificada.
Shutdown(void)
UnregisterUnsolicitedMessageHandler(uint32_t profileId)
Cancela el registro de un controlador de mensajes no solicitado para un identificador de perfil determinado.
UnregisterUnsolicitedMessageHandler(uint32_t profileId, uint8_t msgType)
Cancelar el registro de un controlador de mensajes no solicitado para un identificador de perfil y tipo de mensaje determinados.
UnregisterUnsolicitedMessageHandler(uint32_t profileId, uint8_t msgType, WeaveConnection *con)
Cancelar el registro de un controlador de mensajes no solicitado 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 se inicializó WeaveExchangeManager.

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 establece el controlador de recepción de mensajes en la conexión de Weave determinada.

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

ClearMsgCounterSyncReq

void ClearMsgCounterSyncReq(
  uint64_t peerNodeId
)

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

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

FindContext

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

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

Detalles
Parámetros
[in] peerNodeId
Es el identificador de nodo del par con el que se configuró el 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 contiene el estado del contexto.
[in] isInitiator
Indicador booleano de si el nodo local es el iniciador del intercambio.
Resultado que se muestra
Un puntero al objeto ExchangeContext que coincide con los parámetros proporcionados si se realiza correctamente, 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 a Shutdown para finalizar la instancia.

Detalles
Parámetros
[in] msgLayer
Un puntero al objeto WeaveMessageLayer.
Valores de retorno
WEAVE_ERROR_INCORRECT_STATE
Si el estado no es igual a kState_NotInitialized.
WEAVE_NO_ERROR
Si tiene éxito.

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 eventos
[in] appState
Un puntero a algún contexto que se llevaría en la devolución de llamada de eventos más tarde
Resultado que se muestra
Un puntero para la vinculación recién asignada, o NULL si se agotó el grupo

NewContext

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

Crea un ExchangeContext nuevo con un nodo de par específico de Weave especificado por el identificador de nodo de intercambio de tráfico.

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

NewContext

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

Crea un ExchangeContext nuevo con un nodo de par específico de Weave especificado por el identificador de nodo de intercambio de tráfico y la dirección IP de par.

Detalles
Parámetros
[in] peerNodeId
El identificador de nodo del par 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 contiene el estado del contexto.
Resultado que se muestra
Un puntero al objeto ExchangeContext creado si la operación es exitosa. De lo contrario, será NULL si no se puede asignar ningún objeto o si no 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 que especifica 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
El identificador de nodo del par 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
Es la interfaz que se usa para enviar mensajes de Weave en este intercambio.
[in] appState
Un puntero a un objeto de capa superior que contiene el estado del contexto.
Resultado que se muestra
Un puntero al objeto ExchangeContext creado si la operación es exitosa. De lo contrario, será NULL si no se puede asignar ningún objeto o si no está disponible.

NewContext

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

Crea un ExchangeContext nuevo con un nodo de Weave similar determinado sobre 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 contiene el estado del contexto.
Resultado que se muestra
Un puntero al objeto ExchangeContext creado si la operación es exitosa. De lo contrario, será NULL si no se puede asignar ningún objeto o si no está disponible.

RegisterUnsolicitedMessageHandler

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

Registrar un controlador de mensajes no solicitado 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 contiene el estado del contexto.
Valores de retorno
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
Si el grupo de controladores de mensajes no solicitados está lleno y no se puede asignar uno nuevo.
WEAVE_NO_ERROR
Si tiene éxito.

RegisterUnsolicitedMessageHandler

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

Registrar un controlador de mensajes no solicitado 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 que indica si se permiten mensajes duplicados para un perfil determinado.
[in] appState
Un puntero a un objeto de capa superior que contiene el estado del contexto.
Valores de retorno
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
Si el grupo de controladores de mensajes no solicitados está lleno y no se puede asignar uno nuevo.
WEAVE_NO_ERROR
Si tiene éxito.

RegisterUnsolicitedMessageHandler

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

Registrar un controlador de mensajes no solicitado 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 contiene el estado del contexto.
Valores de retorno
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
Si el grupo de controladores de mensajes no solicitados está lleno y no se puede asignar uno nuevo.
WEAVE_NO_ERROR
Si tiene éxito.

RegisterUnsolicitedMessageHandler

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

Registrar un controlador de mensajes no solicitado 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 que indica 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 contiene el estado del contexto.
Valores de retorno
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
Si el grupo de controladores de mensajes no solicitados está lleno y no se puede asignar uno nuevo.
WEAVE_NO_ERROR
Si tiene éxito.

RegisterUnsolicitedMessageHandler

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

Registra un controlador de mensajes no solicitado para un identificador de perfil o un tipo de mensaje determinado 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 contiene el estado del contexto.
Valores de retorno
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
Si el grupo de controladores de mensajes no solicitados está lleno y no se puede asignar uno nuevo.
WEAVE_NO_ERROR
Si tiene éxito.

RegisterUnsolicitedMessageHandler

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

Registra un controlador de mensajes no solicitado para un identificador de perfil o un tipo de mensaje determinado 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 y un tipo de mensaje en una conexión de Weave especificada.
[in] appState
Un puntero a un objeto de capa superior que contiene el estado del contexto.
Valores de retorno
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
Si el grupo de controladores de mensajes no solicitados está lleno y no se puede asignar uno nuevo.
WEAVE_NO_ERROR
Si tiene éxito.

Cierre

WEAVE_ERROR Shutdown(
  void
)

Cierra WeaveExchangeManager.

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

Detalles
Resultado que se muestra
WEAVE_NO_ERROR en todos los casos.

UnregisterUnsolicitedMessageHandler

WEAVE_ERROR UnregisterUnsolicitedMessageHandler(
  uint32_t profileId
)

Cancela el registro de un controlador de mensajes no solicitado para un identificador de perfil determinado.

Detalles
Parámetros
[in] profileId
El identificador de perfil del mensaje recibido.
Valores de retorno
WEAVE_ERROR_NO_UNSOLICITED_MESSAGE_HANDLER
Si no se encuentra el controlador de mensajes no solicitado coincidente.
WEAVE_NO_ERROR
Si tiene éxito.

UnregisterUnsolicitedMessageHandler

WEAVE_ERROR UnregisterUnsolicitedMessageHandler(
  uint32_t profileId,
  uint8_t msgType
)

Cancelar el registro de un controlador de mensajes no solicitado para un identificador de perfil y 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 de retorno
WEAVE_ERROR_NO_UNSOLICITED_MESSAGE_HANDLER
Si no se encuentra el controlador de mensajes no solicitado coincidente.
WEAVE_NO_ERROR
Si tiene éxito.

UnregisterUnsolicitedMessageHandler

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

Cancelar el registro de un controlador de mensajes no solicitado 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 de retorno
WEAVE_ERROR_NO_UNSOLICITED_MESSAGE_HANDLER
Si no se encuentra el controlador de mensajes no solicitado coincidente.
WEAVE_NO_ERROR
Si tiene éxito.

WeaveExchangeManager

 WeaveExchangeManager(
  void
)

Constructor de la clase WeaveExchangeManager.

Establece el estado en kState_NotInitialized.

.