Google se compromete a impulsar la igualdad racial para las comunidades afrodescendientes. Obtén información al respecto.
Se usó la API de Cloud Translation para traducir esta página.
Switch to English

nl :: Tejido:: TejidoMessageLayer

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

La definición de la clase WeaveMessageLayer , que gestiona la comunicación con otros nodos de Weave.

Resumen

Emplea uno de varios puntos finales InetLayer para establecer un canal de comunicación con otros nodos Weave.

Constructores y Destructores

WeaveMessageLayer (void)
El constructor de la capa Weave Message.

Tipos públicos

AcceptErrorFunct )(WeaveMessageLayer *msgLayer, WEAVE_ERROR err) typedef
void(*
Esta función es la devolución de llamada de capa superior para informar de un error durante el manejo de una conexión TCP entrante.
CallbackRemovedFunct )(void *listenerState) typedef
void(*
Esta función se invoca para eliminar una devolución de llamada.
ConnectionReceiveFunct )(WeaveMessageLayer *msgLayer, WeaveConnection *con) typedef
void(*
Esta función es la devolución de llamada de capa superior para manejar una conexión TCP entrante.
MessageLayerActivityChangeHandlerFunct )(bool messageLayerIsActive) typedef
void(*
Esta función es la devolución de llamada de la aplicación para informar sobre cambios en la actividad de la capa de mensajes.
MessageReceiveFunct )(WeaveMessageLayer *msgLayer, WeaveMessageInfo *msgInfo, PacketBuffer *payload) typedef
void(*
Esta función es la devolución de llamada de capa superior que se invoca al recibir un mensaje Weave a través de UDP.
ReceiveErrorFunct )(WeaveMessageLayer *msgLayer, WEAVE_ERROR err, const IPPacketInfo *pktInfo) typedef
void(*
Esta función es la devolución de llamada de capa superior que se invoca al encontrar un error.
State {
kState_NotInitialized = 0,
kState_Initializing = 1,
kState_Initialized = 2
}
enumeración
El estado de WeaveMessageLayer .
TunneledMsgReceiveFunct )(WeaveMessageLayer *msgLayer, PacketBuffer *payload) typedef
void(*
Esta función es la devolución de llamada de capa superior que se invoca al recibir un paquete tunelizado a través de un túnel UDP local.

Atributos públicos

AppState
void *
Un puntero a un objeto de estado específico de la aplicación.
ExchangeMgr
[SOLO LEER] El objeto WeaveExchangeManager asociado.
FabricState
[SOLO LEER] El objeto WeaveFabricState asociado.
IncomingConIdleTimeout
uint32_t
Tiempo de espera inactivo predeterminado (en milisegundos) para las conexiones entrantes.
Inet
InetLayer *
[SÓLO LECTURA] El objeto InetLayer asociado.
IsListening
bool
[SÓLO LEER] Verdadero si está escuchando conexiones / mensajes entrantes, falso en caso contrario.
OnAcceptError
OnConnectionReceived
OnMessageReceived
OnReceiveError
OnUDPTunneledMessageReceived
SecurityMgr
[SÓLO LEER] El objeto WeaveSecurityManager asociado.
State
uint8_t
[SOLO LECTURA] El estado del objeto WeaveMessageLayer .
SystemLayer
mDropMessage
bool
Interno y solo para depuración; Cuando se establece, WeaveMessageLayer suelta el mensaje y regresa.

Funciones publicas

ClearUnsecuredConnectionListener ( ConnectionReceiveFunct oldOnUnsecuredConnectionReceived, CallbackRemovedFunct newOnUnsecuredConnectionCallbacksRemoved)
CloseEndpoints (void)
Cierre todos los puntos finales TCP y UDP abiertos.
CreateTunnel ( WeaveConnectionTunnel **tunPtr, WeaveConnection & conOne, WeaveConnection & conTwo, uint32_t inactivityTimeoutMS)
Cree un WeaveConnectionTunnel acoplando dos WeaveConnections especificados.
DecodeHeader ( PacketBuffer *msgBuf, WeaveMessageInfo *msgInfo, uint8_t **payloadStart)
Decodificar un encabezado de capa de mensaje de tejido de un mensaje de tejido recibido.
EncodeMessage ( WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf, WeaveConnection *con, uint16_t maxLen, uint16_t reserve)
Codifique un encabezado WeaveMessageLayer en un PacketBuffer.
EncodeMessage (const IPAddress & destAddr, uint16_t destPort, InterfaceId sendIntId, WeaveMessageInfo *msgInfo, PacketBuffer *payload)
Codifique un encabezado de capa Weave Message en un PacketBuffer.
EphemeralUDPPortEnabled (void) const
bool
Compruebe si los intercambios de Weave UDP iniciados localmente deben enviarse desde un puerto de origen UDP efímero.
GetConnectionPoolStats (nl::Weave::System::Stats::count_t & aOutInUse) const
void
Obtenga la cantidad de WeaveConnections en uso y el tamaño de la piscina.
IPv4ListenEnabled (void) const
bool
Compruebe si WeaveMessageLayer está configurado para escuchar las comunicaciones entrantes a través de IPv4.
IPv6ListenEnabled (void) const
bool
Compruebe si WeaveMessageLayer está configurado para escuchar las comunicaciones entrantes a través de IPv4.
Init ( InitContext *context)
Inicialice el objeto de capa Weave Message.
IsBoundToLocalIPv4Address (void) const
bool
Compruebe si WeaveMessageLayer está vinculado a una dirección IPv4 local.
IsBoundToLocalIPv6Address (void) const
bool
Compruebe si WeaveMessageLayer está vinculado a una dirección IPv6 local.
IsMessageLayerActive (void)
bool
NewConnection (void)
Cree un nuevo objeto WeaveConnection de un grupo.
NewConnectionTunnel (void)
Cree un nuevo objeto WeaveConnectionTunnel de un grupo.
ReEncodeMessage ( PacketBuffer *buf)
RefreshEndpoints (void)
Actualice los extremos de InetLayer según el estado actual de las interfaces de red del sistema.
ResendMessage ( WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
Vuelva a enviar un mensaje Weave codificado utilizando el extremo UDP de Inetlayer subyacente.
ResendMessage (const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
Vuelva a enviar un mensaje Weave codificado utilizando el extremo UDP de Inetlayer subyacente.
ResendMessage (const IPAddress & destAddr, uint16_t destPort, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
Vuelva a enviar un mensaje Weave codificado utilizando el punto final UDP de Inetlayer subyacente.
ResendMessage (const IPAddress & destAddr, uint16_t destPort, InterfaceId interfaceId, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
Vuelva a enviar un mensaje Weave codificado utilizando el punto final UDP de Inetlayer subyacente.
SendMessage ( WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
Envíe un mensaje Weave utilizando el punto final UDP de Inetlayer subyacente después de codificarlo.
SendMessage (const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
Envíe un mensaje Weave utilizando el punto final UDP de Inetlayer subyacente después de codificarlo.
SendMessage (const IPAddress & destAddr, uint16_t destPort, InterfaceId sendIntfId, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
Envíe un mensaje Weave utilizando el punto final UDP de Inetlayer subyacente después de codificarlo.
SendUDPTunneledMessage (const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
Función para enviar un paquete tunelizado a través de un túnel UDP local.
SetSignalMessageLayerActivityChanged ( MessageLayerActivityChangeHandlerFunct messageLayerActivityChangeHandler)
void
Configure un controlador de aplicación al que se llamará cada vez que cambie la actividad de la capa de mensajes.
SetTCPListenEnabled (bool val)
void
Habilite o deshabilite la escucha de conexiones TCP entrantes en WeaveMessageLayer .
SetUDPListenEnabled (bool val)
void
Habilite o deshabilite la escucha de mensajes UDP entrantes en WeaveMessageLayer .
SetUnsecuredConnectionListener ( ConnectionReceiveFunct newOnUnsecuredConnectionReceived, CallbackRemovedFunct newOnUnsecuredConnectionCallbacksRemoved, bool force, void *listenerState)
Shutdown (void)
TCPListenEnabled (void) const
bool
Compruebe si WeaveMessageLayer está configurado para escuchar conexiones TCP entrantes.
UDPListenEnabled (void) const
bool
Verifique si WeaveMessageLayer está configurado para escuchar mensajes UDP entrantes.
UnsecuredListenEnabled (void) const
bool
Habilite o deshabilite el inicio de intercambios de Weave UDP desde un puerto de origen UDP efímero.

Funciones estáticas públicas

GetMaxWeavePayloadSize (const PacketBuffer *msgBuf, bool isUDP, uint32_t udpMTU)
uint32_t
Obtenga el tamaño máximo de carga útil de Weave para una configuración de mensaje y el PacketBuffer proporcionado.
GetPeerDescription (char *buf, size_t bufSize, uint64_t nodeId, const IPAddress *addr, uint16_t port, InterfaceId interfaceId, const WeaveConnection *con)
void
Construye una cadena que describe un nodo par y su dirección / información de conexión asociada.
GetPeerDescription (char *buf, size_t bufSize, const WeaveMessageInfo *msgInfo)
void
Construye una cadena que describe un nodo par basado en la información asociada con un mensaje recibido del par.

Clases

nl :: Weave :: WeaveMessageLayer :: InitContext

La definición de la clase InitContext .

Tipos públicos

AcceptErrorFunct

void(* AcceptErrorFunct)(WeaveMessageLayer *msgLayer, WEAVE_ERROR err)

Esta función es la devolución de llamada de capa superior para informar de un error durante el manejo de una conexión TCP entrante.

Detalles
Parámetros
[in] msgLayer
Un puntero al objeto WeaveMessageLayer .
[in] err
El WEAVE_ERROR encontrado al manejar una conexión TCP entrante.

CallbackRemovedFunct

void(* CallbackRemovedFunct)(void *listenerState)

Esta función se invoca para eliminar una devolución de llamada.

Detalles
Parámetros
[in] listenerState
Un puntero al objeto de estado de la aplicación.

ConnectionReceiveFunct

void(* ConnectionReceiveFunct)(WeaveMessageLayer *msgLayer, WeaveConnection *con)

Esta función es la devolución de llamada de capa superior para manejar una conexión TCP entrante.

Detalles
Parámetros
[in] msgLayer
Un puntero al objeto WeaveMessageLayer .
[in] con
Un puntero al objeto WeaveConnection .

MessageLayerActivityChangeHandlerFunct

void(* MessageLayerActivityChangeHandlerFunct)(bool messageLayerIsActive)

Esta función es la devolución de llamada de la aplicación para informar sobre cambios en la actividad de la capa de mensajes.

La capa de mensajes se considera activa si hay al menos un intercambio abierto o una solicitud de sincronización de contador de mensajes pendiente.

Detalles
Parámetros
[in] messageLayerIsActive
Un valor booleano que indica si la capa de mensajes está activa o no.

MessageReceiveFunct

void(* MessageReceiveFunct)(WeaveMessageLayer *msgLayer, WeaveMessageInfo *msgInfo, PacketBuffer *payload)

Esta función es la devolución de llamada de capa superior que se invoca al recibir un mensaje Weave a través de UDP.

Detalles
Parámetros
[in] msgLayer
Un puntero al objeto WeaveMessageLayer .
[in] msgInfo
Un puntero al objeto WeaveMessageInfo .
[in] payload
Puntero al mensaje PacketBuffer que contiene el paquete tunelizado recibido.

ReceiveErrorFunct

void(* ReceiveErrorFunct)(WeaveMessageLayer *msgLayer, WEAVE_ERROR err, const IPPacketInfo *pktInfo)

Esta función es la devolución de llamada de capa superior que se invoca al encontrar un error.

Detalles
Parámetros
[in] msgLayer
Un puntero al objeto WeaveMessageLayer .
[in] err
El WEAVE_ERROR encontrado al recibir datos.
[in] pktInfo
Un puntero de solo lectura al objeto IPPacketInfo.

Estado

 State

El estado de WeaveMessageLayer .

Propiedades
kState_Initialized

Estado cuando se inicializa WeaveMessageLayer .

kState_Initializing

Indica cuándo WeaveMessageLayer está en proceso de inicialización.

kState_NotInitialized

Estado cuando el WeaveMessageLayer no está inicializado.

TunneledMsgReceiveFunct

void(* TunneledMsgReceiveFunct)(WeaveMessageLayer *msgLayer, PacketBuffer *payload)

Esta función es la devolución de llamada de capa superior que se invoca al recibir un paquete tunelizado a través de un túnel UDP local.

Detalles
Parámetros
[in] msgLayer
Un puntero al objeto WeaveMessageLayer .
[in] payload
Puntero al mensaje PacketBuffer que contiene el paquete tunelizado recibido.

Atributos públicos

AppState

void * AppState

Un puntero a un objeto de estado específico de la aplicación.

ExchangeMgr

WeaveExchangeManager * ExchangeMgr

[SOLO LEER] El objeto WeaveExchangeManager asociado.

Estado de la tela

WeaveFabricState * FabricState

[SOLO LEER] El objeto WeaveFabricState asociado.

IncomingConIdleTimeout

uint32_t IncomingConIdleTimeout

Tiempo de espera inactivo predeterminado (en milisegundos) para las conexiones entrantes.

Inet

InetLayer * Inet

[SÓLO LECTURA] El objeto InetLayer asociado.

Esta escuchando

bool IsListening

[SÓLO LEER] Verdadero si está escuchando conexiones / mensajes entrantes, falso en caso contrario.

OnAcceptError

AcceptErrorFunct OnAcceptError

OnConnectionReceived

ConnectionReceiveFunct OnConnectionReceived

OnMessageReceived

MessageReceiveFunct OnMessageReceived

OnReceiveError

ReceiveErrorFunct OnReceiveError

OnUDPTunneledMessageReceived

TunneledMsgReceiveFunct OnUDPTunneledMessageReceived

SecurityMgr

WeaveSecurityManager * SecurityMgr

[SÓLO LEER] El objeto WeaveSecurityManager asociado.

Estado

uint8_t State

[SOLO LECTURA] El estado del objeto WeaveMessageLayer .

SystemLayer

System::Layer * SystemLayer

mDropMessage

bool mDropMessage

Interno y solo para depuración; Cuando se establece, WeaveMessageLayer suelta el mensaje y regresa.

Funciones publicas

ClearUnsecuredConnectionListener

WEAVE_ERROR ClearUnsecuredConnectionListener(
  ConnectionReceiveFunct oldOnUnsecuredConnectionReceived,
  CallbackRemovedFunct newOnUnsecuredConnectionCallbacksRemoved
)

CerrarPuntos finales

WEAVE_ERROR CloseEndpoints(
  void
)

Cierre todos los puntos finales TCP y UDP abiertos.

Luego, cancele cualquier WeaveConnections abierto y cierre cualquier objeto WeaveConnectionTunnel abierto.

Ver también:
Apagar () .

CreateTunnel

WEAVE_ERROR CreateTunnel(
  WeaveConnectionTunnel **tunPtr,
  WeaveConnection & conOne,
  WeaveConnection & conTwo,
  uint32_t inactivityTimeoutMS
)

Cree un WeaveConnectionTunnel acoplando dos WeaveConnections especificados.

En la creación exitosa, los TCPEndPoints correspondientes a los objetos componentes WeaveConnection se entregan al WeaveConnectionTunnel ; de lo contrario, los WeaveConnections se cierran.

Detalles
Parámetros
[out] tunPtr
Un puntero al puntero de un objeto WeaveConnectionTunnel .
[in] conOne
Una referencia al primer objeto WeaveConnection .
[in] conTwo
Una referencia al segundo objeto WeaveConnection .
[in] inactivityTimeoutMS
El tiempo máximo en milisegundos que el túnel de conexión Weave podría estar inactivo.
Valores devueltos
WEAVE_NO_ERROR
sobre la creación exitosa del WeaveConnectionTunnel .
WEAVE_ERROR_INCORRECT_STATE
si el componente WeaveConnection objetos del WeaveConnectionTunnel no está en el estado correcto.
WEAVE_ERROR_NO_MEMORY
si no se puede crear un nuevo objeto WeaveConnectionTunnel .

DecodeHeader

WEAVE_ERROR DecodeHeader(
  PacketBuffer *msgBuf,
  WeaveMessageInfo *msgInfo,
  uint8_t **payloadStart
)

Decodificar un encabezado de capa de mensaje de tejido de un mensaje de tejido recibido.

Detalles
Parámetros
[in] msgBuf
Un puntero al objeto PacketBuffer que contiene el mensaje Weave.
[in] msgInfo
Un puntero a un objeto WeaveMessageInfo que recibirá información sobre el mensaje.
[out] payloadStart
Un puntero a un puntero a la posición en el búfer de mensajes una vez completada la decodificación.
Valores devueltos
WEAVE_NO_ERROR
Al decodificar correctamente el encabezado del mensaje.
WEAVE_ERROR_INVALID_MESSAGE_LENGTH
Si el búfer de mensajes pasado tiene una longitud no válida.
WEAVE_ERROR_UNSUPPORTED_MESSAGE_VERSION
Si no se admite la versión de formato de encabezado de Weave Message.

EncodeMessage

WEAVE_ERROR EncodeMessage(
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf,
  WeaveConnection *con,
  uint16_t maxLen,
  uint16_t reserve
)

Codifique un encabezado WeaveMessageLayer en un PacketBuffer.

Detalles
Parámetros
[in] msgInfo
Un puntero a un objeto WeaveMessageInfo que contiene información sobre el mensaje que se va a codificar.
[in] msgBuf
Un puntero al objeto PacketBuffer que contendría el mensaje Weave.
[in] con
Un puntero al objeto WeaveConnection .
[in] maxLen
La longitud máxima del mensaje Weave codificado.
[in] reserve
El espacio reservado antes de la carga útil para contener el encabezado del mensaje Weave.
Valores devueltos
WEAVE_NO_ERROR
en la codificación exitosa del mensaje.
WEAVE_ERROR_UNSUPPORTED_MESSAGE_VERSION
si la versión de formato de encabezado de Weave Message no es compatible.
WEAVE_ERROR_INVALID_MESSAGE_LENGTH
si la longitud de la carga útil en el búfer de mensajes es cero.
WEAVE_ERROR_UNSUPPORTED_ENCRYPTION_TYPE
si el tipo de cifrado en el encabezado del mensaje no es compatible.
WEAVE_ERROR_MESSAGE_TOO_LONG
si el mensaje codificado fuera más largo que el máximo solicitado.
WEAVE_ERROR_BUFFER_TOO_SMALL
si no hay suficiente espacio antes o después de la carga útil del mensaje.
other
errores generados por el objeto de estado de la estructura al obtener el estado de la sesión.

EncodeMessage

WEAVE_ERROR EncodeMessage(
  const IPAddress & destAddr,
  uint16_t destPort,
  InterfaceId sendIntId,
  WeaveMessageInfo *msgInfo,
  PacketBuffer *payload
)

Codifique un encabezado de capa Weave Message en un PacketBuffer.

Detalles
Parámetros
[in] destAddr
La dirección IP de destino.
[in] destPort
El puerto de destino.
[in] sendIntId
La interfaz en la que enviar el mensaje Weave.
[in] msgInfo
Un puntero a un objeto WeaveMessageInfo .
[in] payload
Un puntero al objeto PacketBuffer que contendría el mensaje Weave.
Valores devueltos
WEAVE_NO_ERROR
en la codificación exitosa del mensaje Weave.
WEAVE_ERROR_UNSUPPORTED_MESSAGE_VERSION
si la versión Weave Message no es compatible.
WEAVE_ERROR_INVALID_MESSAGE_LENGTH
si la longitud de la carga útil en el búfer de mensajes es cero.
WEAVE_ERROR_UNSUPPORTED_ENCRYPTION_TYPE
si el tipo de cifrado no es compatible.
WEAVE_ERROR_MESSAGE_TOO_LONG
si el mensaje codificado fuera más largo que el máximo solicitado.
WEAVE_ERROR_BUFFER_TOO_SMALL
si no hay suficiente espacio antes o después de la carga útil del mensaje.
other
errores generados por el objeto de estado de la estructura al obtener el estado de la sesión.

EphemeralUDPPortEnabled

bool EphemeralUDPPortEnabled(
  void
) const 

Compruebe si los intercambios de Weave UDP iniciados localmente deben enviarse desde un puerto de origen UDP efímero.

GetConnectionPoolStats

void GetConnectionPoolStats(
  nl::Weave::System::Stats::count_t & aOutInUse
) const 

Obtenga la cantidad de WeaveConnections en uso y el tamaño de la piscina.

Detalles
Parámetros
[out] aOutInUse
Referencia a size_t, en la que se almacena el número de conexiones en uso.

IPv4ListenEnabled

bool IPv4ListenEnabled(
  void
) const 

Compruebe si WeaveMessageLayer está configurado para escuchar las comunicaciones entrantes a través de IPv4.

IPv6ListenEnabled

bool IPv6ListenEnabled(
  void
) const 

Compruebe si WeaveMessageLayer está configurado para escuchar las comunicaciones entrantes a través de IPv4.

En eso

WEAVE_ERROR Init(
  InitContext *context
)

Inicialice el objeto de capa Weave Message.

Detalles
Parámetros
[in] context
Un puntero al objeto InitContext .
Valores devueltos
WEAVE_NO_ERROR
en la inicialización exitosa.
WEAVE_ERROR_INVALID_ARGUMENT
si el objeto InitContext pasado es NULL.
WEAVE_ERROR_INCORRECT_STATE
si el estado del objeto WeaveMessageLayer es incorrecto.
other
errores generados desde la capa inferior de Inet durante la creación del punto final.

IsBoundToLocalIPv4Address

bool IsBoundToLocalIPv4Address(
  void
) const 

Compruebe si WeaveMessageLayer está vinculado a una dirección IPv4 local.

IsBoundToLocalIPv6Address

bool IsBoundToLocalIPv6Address(
  void
) const 

Compruebe si WeaveMessageLayer está vinculado a una dirección IPv6 local.

IsMessageLayerActive

bool IsMessageLayerActive(
  void
)

Nueva conexión

WeaveConnection * NewConnection(
  void
)

Cree un nuevo objeto WeaveConnection de un grupo.

Detalles
Devoluciones
un puntero al objeto WeaveConnection recién creado si tiene éxito, de lo contrario, NULL.

NewConnectionTunnel

WeaveConnectionTunnel * NewConnectionTunnel(
  void
)

Cree un nuevo objeto WeaveConnectionTunnel de un grupo.

Detalles
Devoluciones
un puntero al objeto WeaveConnectionTunnel recién creado si tiene éxito, en caso contrario, NULL.

ReencodeMessage

WEAVE_ERROR ReEncodeMessage(
  PacketBuffer *buf
)

RefreshEndpoints

WEAVE_ERROR RefreshEndpoints(
  void
)

Actualice los extremos de InetLayer según el estado actual de las interfaces de red del sistema.

Detalles
Valores devueltos
WEAVE_NO_ERROR
sobre la actualización exitosa de los puntos finales.
InetLayer
errores basados ​​en llamadas para crear puntos finales TCP / UDP.

Reenviar mensaje

WEAVE_ERROR ResendMessage(
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

Vuelva a enviar un mensaje Weave codificado utilizando el punto final UDP de Inetlayer subyacente.

Detalles
Parámetros
[in] msgInfo
Un puntero al objeto WeaveMessageInfo .
[in] payload
Un puntero al objeto PacketBuffer que contiene el mensaje Weave codificado.
Valores devueltos
WEAVE_NO_ERROR
al enviar con éxito el mensaje a la capa de red.
errors
generado desde el extremo UDP de la capa Inet inferior durante el envío.

Reenviar mensaje

WEAVE_ERROR ResendMessage(
  const IPAddress & destAddr,
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

Vuelva a enviar un mensaje Weave codificado utilizando el punto final UDP de Inetlayer subyacente.

Detalles
Parámetros
[in] destAddr
La dirección IP de destino.
[in] msgInfo
Un puntero al objeto WeaveMessageInfo .
[in] payload
Un puntero al objeto PacketBuffer que contiene el mensaje Weave codificado.
Valores devueltos
WEAVE_NO_ERROR
al enviar con éxito el mensaje a la capa de red.
errors
generado desde el extremo UDP de la capa Inet inferior durante el envío.

Reenviar mensaje

WEAVE_ERROR ResendMessage(
  const IPAddress & destAddr,
  uint16_t destPort,
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

Vuelva a enviar un mensaje Weave codificado utilizando el extremo UDP de Inetlayer subyacente.

Detalles
Parámetros
[in] destAddr
La dirección IP de destino.
[in] destPort
El puerto de destino.
[in] msgInfo
Un puntero al objeto WeaveMessageInfo .
[in] payload
Un puntero al objeto PacketBuffer que contiene el mensaje Weave codificado.
Valores devueltos
WEAVE_NO_ERROR
al enviar con éxito el mensaje a la capa de red.
errors
generado desde el extremo UDP de la capa Inet inferior durante el envío.

Reenviar mensaje

WEAVE_ERROR ResendMessage(
  const IPAddress & destAddr,
  uint16_t destPort,
  InterfaceId interfaceId,
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

Vuelva a enviar un mensaje Weave codificado utilizando el extremo UDP de Inetlayer subyacente.

Nota: -Si no se ha proporcionado la dirección de destino, intente determinarla a partir del identificador de nodo en el encabezado del mensaje. Falla si esto no se puede hacer. -Si la dirección de destino es una dirección de estructura para la estructura local, y la persona que llama no especificó la identificación del nodo de destino, extráigala de la dirección de destino.

Detalles
Parámetros
[in] aDestAddr
La dirección IP de destino.
[in] destPort
El puerto de destino.
[in] interfaceId
La interfaz en la que enviar el mensaje Weave.
[in] msgInfo
Un puntero al objeto WeaveMessageInfo .
[in] payload
Un puntero al objeto PacketBuffer que contiene el mensaje Weave codificado.
Valores devueltos
WEAVE_NO_ERROR
al enviar con éxito el mensaje a la capa de red.
errors
generado desde el extremo UDP de la capa Inet inferior durante el envío.

Enviar mensaje

WEAVE_ERROR SendMessage(
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

Envíe un mensaje Weave utilizando el punto final UDP de Inetlayer subyacente después de codificarlo.

Detalles
Parámetros
[in] msgInfo
Un puntero a un objeto WeaveMessageInfo que contiene información sobre el mensaje que se enviará.
[in] payload
Un puntero al objeto PacketBuffer que contiene el mensaje Weave codificado.
Valores devueltos
WEAVE_NO_ERROR
al enviar con éxito el mensaje a la capa de red.
errors
generado desde el extremo UDP de la capa Inet inferior durante el envío.

Enviar mensaje

WEAVE_ERROR SendMessage(
  const IPAddress & destAddr,
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

Envíe un mensaje Weave utilizando el punto final UDP de Inetlayer subyacente después de codificarlo.

Nota: -El puerto de destino utilizado es WEAVE_PORT . -Si no se ha proporcionado la dirección de destino, intente determinarla a partir del identificador de nodo en el encabezado del mensaje. Falla si esto no se puede hacer.

-Si la dirección de destino es una dirección de estructura para la estructura local, y la persona que llama no especificó la identificación del nodo de destino, extráigala de la dirección de destino.

Detalles
Parámetros
[in] destAddr
La dirección IP de destino.
[in] msgInfo
Un puntero a un objeto WeaveMessageInfo que contiene información sobre el mensaje que se enviará.
[in] payload
Un puntero al objeto PacketBuffer que contiene el mensaje Weave codificado.
Valores devueltos
WEAVE_NO_ERROR
al enviar con éxito el mensaje a la capa de red.
errors
generado desde el extremo UDP de la capa Inet inferior durante el envío.

Enviar mensaje

WEAVE_ERROR SendMessage(
  const IPAddress & destAddr,
  uint16_t destPort,
  InterfaceId sendIntfId,
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

Envíe un mensaje Weave utilizando el punto final UDP de Inetlayer subyacente después de codificarlo.

Nota: -Si no se ha proporcionado la dirección de destino, intente determinarla a partir del identificador de nodo en el encabezado del mensaje. Falla si esto no se puede hacer. -Si la dirección de destino es una dirección de estructura para la estructura local, y la persona que llama no especificó la identificación del nodo de destino, extráigala de la dirección de destino.

Detalles
Parámetros
[in] aDestAddr
La dirección IP de destino.
[in] destPort
El puerto de destino.
[in] sendIntfId
La interfaz en la que enviar el mensaje Weave.
[in] msgInfo
Un puntero a un objeto WeaveMessageInfo que contiene información sobre el mensaje que se enviará.
[in] payload
Un puntero al objeto PacketBuffer que contiene el mensaje Weave codificado.
Valores devueltos
WEAVE_NO_ERROR
al enviar con éxito el mensaje a la capa de red.
WEAVE_ERROR_INVALID_ADDRESS
si no se especifica destAddr o no se puede determinar a partir de la identificación del nodo de destino.
errors
generado desde el extremo UDP de la capa Inet inferior durante el envío.

SendUDPTunneledMessage

WEAVE_ERROR SendUDPTunneledMessage(
  const IPAddress & destAddr,
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

Función para enviar un paquete tunelizado a través de un túnel UDP local.

Envíe un mensaje de datos IPv6 tunelizado a través de UDP.

Detalles
Parámetros
[in] msgInfo
Un puntero a un objeto WeaveMessageInfo .
[in] destAddr
Dirección IP del destino del túnel UDP.
[in] msgBuf
Un puntero al objeto PacketBuffer que contiene el paquete a enviar.
Valores devueltos
WEAVE_NO_ERROR
al enviar con éxito el mensaje a la capa de red.
WEAVE_ERROR_INVALID_ADDRESS
si no se especifica destAddr o no se puede determinar a partir de la identificación del nodo de destino.
errors
generado desde el extremo UDP de la capa Inet inferior durante el envío.

SetSignalMessageLayerActivityChanged

void SetSignalMessageLayerActivityChanged(
  MessageLayerActivityChangeHandlerFunct messageLayerActivityChangeHandler
)

Configure un controlador de aplicación al que se llamará cada vez que cambie la actividad de la capa de mensajes.

Específicamente, la aplicación será notificada cada vez:

  • el número de intercambios abiertos cambia.
  • el número de solicitudes de sincronización del contador de mensajes pendientes cambia de cero a al menos uno y de nuevo a cero. El controlador se sirve como señal general que indica si hay conversaciones de Weave en curso o respuestas pendientes. El controlador debe establecerse después de que se haya inicializado WeaveMessageLayer ; cerrar WeaveMessageLayer borrará el controlador actual.

Detalles
Parámetros
[in] messageLayerActivityChangeHandler
Un puntero a una función que se llamará cada vez que cambie la actividad de la capa de mensajes.
Valores devueltos
None.

SetTCPListenEnabled

void SetTCPListenEnabled(
  bool val
)

Habilite o deshabilite la escucha de conexiones TCP entrantes en WeaveMessageLayer .

NOTA: RefreshEndpoints() debe llamar a RefreshEndpoints() después de que se cambie el estado de escucha de TCP.

SetUDPListenEnabled

void SetUDPListenEnabled(
  bool val
)

Habilite o deshabilite la escucha de mensajes UDP entrantes en WeaveMessageLayer .

NOTA: RefreshEndpoints() debe llamar a RefreshEndpoints() después de que se cambie el estado de escucha de UDP.

SetUnsecuredConnectionListener

WEAVE_ERROR SetUnsecuredConnectionListener(
  ConnectionReceiveFunct newOnUnsecuredConnectionReceived,
  CallbackRemovedFunct newOnUnsecuredConnectionCallbacksRemoved,
  bool force,
  void *listenerState
)

Apagar

WEAVE_ERROR Shutdown(
  void
)

Cierre el WeaveMessageLayer .

Cierre todos los puntos finales de la capa Inet abiertos, restablezca todas las devoluciones de llamada de la capa superior, las variables miembro y los objetos. Una llamada a Shutdown () finaliza el objeto WeaveMessageLayer .

TCPListenEnabled

bool TCPListenEnabled(
  void
) const 

Compruebe si WeaveMessageLayer está configurado para escuchar las conexiones TCP entrantes.

UDPListenEnabled

bool UDPListenEnabled(
  void
) const 

Verifique si WeaveMessageLayer está configurado para escuchar mensajes UDP entrantes.

UnsecuredListenEnabled

bool UnsecuredListenEnabled(
  void
) const 

Habilite o deshabilite el inicio de intercambios de Weave UDP desde un puerto de origen UDP efímero.

NOTA: RefreshEndpoints() debe llamar a RefreshEndpoints() después de cambiar el estado del puerto efímero. Compruebe si la escucha no segura está habilitada.

TejidoMessageLayer

 WeaveMessageLayer(
  void
)

El constructor de la capa Weave Message.

Funciones estáticas públicas

GetMaxWeavePayloadSize

uint32_t GetMaxWeavePayloadSize(
  const PacketBuffer *msgBuf,
  bool isUDP,
  uint32_t udpMTU
)

Obtenga el tamaño máximo de carga útil de Weave para una configuración de mensaje y el PacketBuffer proporcionado.

El tamaño máximo de carga útil devuelto no excederá el espacio disponible para una carga útil dentro del PacketBuffer suministrado.

Si el mensaje es UDP, el tamaño máximo de carga útil devuelto no dará como resultado un mensaje Weave que no desbordará la MTU UDP especificada.

Finalmente, el tamaño máximo de carga útil devuelto no dará como resultado un mensaje Weave que sobrepase el tamaño máximo del mensaje Weave.

Detalles
Parámetros
[in] msgBuf
Un puntero al PacketBuffer en el que se escribirá la carga útil del mensaje.
[in] isUDP
Verdadero si el mensaje es un mensaje UDP.
[in] udpMTU
El tamaño de UDP MTU. Se ignora si isUDP es falso.
Devoluciones
el tamaño máximo de carga útil de Weave.

GetPeerDescription

void GetPeerDescription(
  char *buf,
  size_t bufSize,
  uint64_t nodeId,
  const IPAddress *addr,
  uint16_t port,
  InterfaceId interfaceId,
  const WeaveConnection *con
)

Construye una cadena que describe un nodo par y su dirección / información de conexión asociada.

La cadena generada tiene el siguiente formato:

 ([]:%, con )

Detalles
Parámetros
[in] buf
Un puntero a un búfer en el que se debe escribir la cadena. El búfer suministrado debe ser al menos tan grande como kWeavePeerDescription_MaxLength. Si se proporciona un búfer más pequeño, la cadena se truncará para que quepa. La salida incluirá un carácter de terminación NUL en todos los casos.
[in] bufSize
El tamaño del búfer al que apunta buf.
[in] nodeId
El ID de nodo que se va a imprimir.
[in] addr
Un puntero a una dirección IP que se imprimirá; o NULL si no se debe imprimir ninguna dirección IP.
[in] port
Un número de puerto IP que se imprimirá. No se imprimirá ningún número de puerto si addr es NULL.
[in] interfaceId
Un InterfaceId que identifica la interfaz que se imprimirá. La cadena de salida contendrá el nombre de la interfaz como la conoce la pila de red subyacente. No se imprimirá ningún nombre de interfaz si interfaceId es INET_NULL_INTERFACEID o si addr es NULL.
[in] con
Un puntero a un objeto WeaveConnection cuya identificación de registro debe imprimirse; o NULL si no se debe imprimir ninguna identificación de conexión.

GetPeerDescription

void GetPeerDescription(
  char *buf,
  size_t bufSize,
  const WeaveMessageInfo *msgInfo
)

Construye una cadena que describe un nodo par basado en la información asociada con un mensaje recibido del par.

Detalles
Parámetros
[in] buf
Un puntero a un búfer en el que se debe escribir la cadena. El búfer suministrado debe ser al menos tan grande como kWeavePeerDescription_MaxLength. Si se proporciona un búfer más pequeño, la cadena se truncará para que quepa. La salida incluirá un carácter de terminación NUL en todos los casos.
[in] bufSize
El tamaño del búfer al que apunta buf.
[in] msgInfo
Un puntero a una estructura WeaveMessageInfo que contiene información sobre el mensaje.