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:: ExchangeContext

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

Esta clase representa una conversación en curso ( ExchangeContext ) entre dos o más nodos.

Resumen

Define métodos para codificar y comunicar mensajes Weave dentro de ExchangeContext a través de varios mecanismos de transporte, por ejemplo, TCP, UDP o Weave Reliable Messaging.

Tipos públicos

@34 {
kSendFlag_AutoRetrans = 0x0001,
kSendFlag_ExpectResponse = 0x0002,
kSendFlag_RetransmissionTrickle = 0x0004,
kSendFlag_DelaySend = 0x0008,
kSendFlag_ReuseMessageId = 0x0010,
kSendFlag_ReuseSourceId = 0x0020,
kSendFlag_RetainBuffer = 0x0040,
kSendFlag_AlreadyEncoded = 0x0080,
kSendFlag_DefaultMulticastSourceAddress = 0x0100,
kSendFlag_FromInitiator = 0x0200,
kSendFlag_RequestAck = 0x0400,
kSendFlag_NoAutoRequestAck = 0x0800,
kSendFlag_MulticastFromLinkLocal = kSendFlag_DefaultMulticastSourceAddress
}
enumeración
@35 {
kGetPeerDescription_MaxLength = nl::Weave::kWeavePeerDescription_MaxLength
}
enumeración
ConnectionClosedFunct )(ExchangeContext *ec, WeaveConnection *con, WEAVE_ERROR conErr) typedef
void(*
Esta función es la devolución de llamada de la aplicación para invocar cuando se ha cerrado una conexión Weave existente.
KeyErrorFunct )(ExchangeContext *ec, WEAVE_ERROR keyErr) typedef
void(*
Tipo de función de manejo de mensajes de error clave.
MessageReceiveFunct )(ExchangeContext *ec, const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo, uint32_t profileId, uint8_t msgType, PacketBuffer *payload) typedef
void(*
Esta función es la devolución de llamada de la aplicación para manejar un mensaje Weave recibido.
ResponseTimeoutFunct )(ExchangeContext *ec) typedef
void(*
Esta función es la devolución de llamada de la aplicación para invocar cuando ha expirado el tiempo de espera para la recepción de un mensaje de respuesta.
RetransmissionTimeoutFunct )(ExchangeContext *ec) typedef
void(*
Esta función es la devolución de llamada de la aplicación para invocar cuando el tiempo de espera para la retransmisión de un mensaje enviado previamente ha expirado.
Timeout typedef
uint32_t
Tipo utilizado para expresar el tiempo de espera en este ExchangeContext , en milisegundos.
WRMPAckRcvdFunct )(ExchangeContext *ec, void *msgCtxt) typedef
void(*
Esta función es la devolución de llamada de la aplicación para invocar cuando se recibe un Acuse de recibo para un mensaje Weave que solicitó uno como parte del Protocolo de mensajería confiable de Weave.
WRMPPauseRcvdFunct )(ExchangeContext *ec, uint32_t pauseTime) typedef
void(*
Esta función es la devolución de llamada de la aplicación para invocar cuando se recibe un mensaje de aceleración o un mensaje de entrega retrasada como parte del protocolo de mensajería confiable de Weave.
WRMPSendErrorFunct )(ExchangeContext *ec, WEAVE_ERROR err, void *msgCtxt) typedef
void(*
Esta función es la devolución de llamada de la aplicación para invocar cuando se encuentra un error al enviar un mensaje Weave.

Atributos públicos

AllowDuplicateMsgs
bool
Indicador booleano de si se permiten mensajes duplicados para un intercambio determinado.
AppState
void *
Puntero al objeto de estado específico de la aplicación.
Con
[LEA SOLAMENTE] Conexión de tejido asociado.
EncryptionType
uint8_t
Tipo de cifrado que se utilizará al enviar un mensaje.
ExchangeId
uint16_t
[SOLO LEER] ID de intercambio asignado.
ExchangeMgr
[SOLO LEER] Administrador de intercambio propietario.
KeyId
uint16_t
Clave de encriptación para usar al enviar un mensaje.
OnAckRcvd
Devolución de llamada de aplicación para acuse de recibo.
OnConnectionClosed
OnDDRcvd
Devolución de llamada de la aplicación para el mensaje de entrega retrasada recibido.
OnKeyError
Esta función es la devolución de llamada de la aplicación para invocar cuando se ha recibido un mensaje de error clave del par.
OnMessageReceived
OnResponseTimeout
OnRetransmissionTimeout
OnSendError
Devolución de llamada de la aplicación por error durante el envío.
OnThrottleRcvd
Devolución de llamada de la aplicación para el mensaje Throttle recibido.
PeerAddr
IPAddress
[SÓLO LEER] Dirección IP del nodo del mismo nivel.
PeerIntf
InterfaceId
[SOLO LECTURA] Interfaz de salida que se utilizará al enviar mensajes al par.
PeerNodeId
uint64_t
[SÓLO LEER] ID de nodo del nodo del mismo nivel.
PeerPort
uint16_t
[LEER SOLAMENTE] Puerto del nodo del mismo nivel.
ResponseTimeout
Tiempo máximo de espera de respuesta (en milisegundos); 0 desactiva el tiempo de espera de respuesta.
RetransInterval
uint32_t
Tiempo entre retransmisiones (en milisegundos); 0 desactiva las retransmisiones.
mMsgProtocolVersion
uint16_t
Versión del protocolo de mensajes para ExchangeContext .
mWRMPConfig
Configuración WRMP.

Funciones publicas

Abort (void)
void
Aborte el contexto de Exchange inmediatamente y libere todas las referencias al mismo.
AddRef (void)
void
Incrementar el contador de referencia para el contexto de intercambio en uno.
AutoRequestAck () const
bool
Devuelve si se solicitará un acuse de recibo cada vez que se envíe un mensaje.
CancelRetrans (void)
void
Cancele el mecanismo de retransmisión Trickle.
Close (void)
void
Cierra con gracia un contexto de intercambio.
EncodeExchHeader ( WeaveExchangeHeader *exchangeHeader, uint32_t profileId, uint8_t msgType, PacketBuffer *msgBuf, uint16_t sendFlags)
Codifique el encabezado del intercambio en un búfer de mensajes.
GetAutoReleaseKey () const
bool
Devuelve si la clave de cifrado asociada con el intercambio debe liberarse cuando se libere el intercambio.
GetCurrentRetransmitTimeout (void)
uint32_t
Obtiene el tiempo de espera de retransmisión actual.
GetPeerDescription (char *buf, uint32_t bufSize) const
void
Construye una cadena que describe el nodo par y su dirección / información de conexión asociada.
HandleTrickleMessage (const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo)
void
Manejar mensajes de goteo dentro del contexto de intercambio.
HasPeerRequestedAck (void) const
bool
Determine si el par solicitó el reconocimiento de al menos un mensaje en este intercambio.
HasRcvdMsgFromPeer (void) const
bool
Determine si se ha recibido al menos un mensaje en este intercambio del par.
IsAckPending (void) const
bool
Determine si ya hay un acuse de recibo pendiente para enviarse al par en este intercambio.
IsConnectionClosed (void) const
bool
Determine si ExchangeContext tiene una WeaveConnection activa asociada .
IsInitiator (void) const
bool
Determine si el contexto es el iniciador del intercambio.
IsResponseExpected (void) const
bool
Determine si se espera una respuesta para los mensajes enviados a través de este intercambio.
Release (void)
void
Suelte la referencia a este contexto de intercambio.
SendCommonNullMessage (void)
Envíe un mensaje Common :: Null.
SendMessage (uint32_t profileId, uint8_t msgType, PacketBuffer *msgPayload, uint16_t sendFlags, void *msgCtxt)
Envíe un mensaje de Weave en este intercambio.
SendMessage (uint32_t profileId, uint8_t msgType, PacketBuffer *msgBuf, uint16_t sendFlags, WeaveMessageInfo *msgInfo, void *msgCtxt)
Envíe un mensaje de Weave en este intercambio.
SetAckPending (bool inAckPending)
void
Establezca si es necesario enviar un acuse de recibo al par en este intercambio.
SetAutoReleaseKey (bool autoReleaseKey)
void
Establezca si la clave de cifrado asociada con el intercambio debe liberarse cuando se libere el intercambio.
SetAutoRequestAck (bool autoReqAck)
void
Establezca si se debe solicitar un acuse de recibo cada vez que se envía un mensaje.
SetConnectionClosed (bool inConnectionClosed)
void
Establezca el bit de marca kFlagConnectionClosed.
SetDropAck (bool inDropAck)
void
Establezca si WeaveExchangeManager no debe enviar reconocimientos para este contexto.
SetInitiator (bool inInitiator)
void
Establezca el bit de bandera kFlagInitiator.
SetMsgRcvdFromPeer (bool inMsgRcvdFromPeer)
void
Establezca si se ha recibido un mensaje del par en este intercambio.
SetPeerRequestedAck (bool inPeerRequestedAck)
void
Establezca si se solicitó un acuse de recibo en el último mensaje recibido en este intercambio.
SetResponseExpected (bool inResponseExpected)
void
Establezca si se espera una respuesta en este intercambio.
SetShouldAutoReleaseConnection (bool autoReleaseCon)
void
Establezca si la conexión Weave asociada con el intercambio debe liberarse cuando se libere el intercambio.
SetupTrickleRetransmit (uint32_t retransInterval, uint8_t threshold, uint32_t timeout)
Configure el mecanismo de retransmisión por goteo estableciendo el intervalo de retransmisión y el umbral de retransmisión correspondientes.
ShouldAutoReleaseConnection () const
bool
Devuelva si la conexión Weave asociada con el intercambio debe liberarse cuando se libere el intercambio.
ShouldDropAck (void) const
bool
Determine si WeaveExchangeManager no debe enviar una confirmación.
StartTimerT (void)
Inicie el mecanismo de temporizador de retransmisión periódica del algoritmo de retransmisión Trickle.
TeardownTrickleRetransmit (void)
void
Derriba el mecanismo de retransmisión de Trickle cancelando los temporizadores periódicos dentro de Trickle y liberando el búfer de mensajes que contiene el mensaje Weave.
UseEphemeralUDPPort (void) const
bool
Devuelve si los mensajes salientes enviados a través del intercambio deben enviarse desde el puerto UDP efímero local.
WRMPFlushAcks (void)
WRMPSendDelayedDelivery (uint32_t PauseTimeMillis, uint64_t DelayedNodeId)
Envíe un mensaje de Entrega retrasada para notificar a un nodo remitente que su mensaje enviado anteriormente experimentaría un retraso esperado antes de ser entregado al destinatario.
WRMPSendThrottleFlow (uint32_t PauseTimeMillis)
Envíe un mensaje de Throttle Flow al nodo par solicitándole que acelere el envío de mensajes.

Tipos públicos

@ 34

 @34
Propiedades
kSendFlag_AlreadyEncoded

Se usa para indicar que el mensaje ya está codificado.

kSendFlag_AutoRetrans

Se usa para indicar que la retransmisión automática está habilitada.

kSendFlag_DefaultMulticastSourceAddress

Se utiliza para indicar que se debe usar la selección de dirección de origen IPv6 predeterminada al enviar mensajes de multidifusión IPv6.

kSendFlag_DelaySend

Se utiliza para indicar que es necesario retrasar el envío del mensaje actual.

kSendFlag_ExpectResponse

Se utiliza para indicar que se espera una respuesta dentro de un tiempo de espera especificado.

kSendFlag_FromInitiator

Se usa para indicar que el mensaje actual es el iniciador del intercambio.

kSendFlag_MulticastFromLinkLocal

Alias ​​obsoleto para kSendFlag_DefaultMulticastSourceAddress .

kSendFlag_NoAutoRequestAck

Suprime la función de confirmación de solicitud automática al enviar un mensaje.

kSendFlag_RequestAck

Se utiliza para enviar un mensaje WRM solicitando un reconocimiento.

kSendFlag_RetainBuffer

Se usa para indicar que el búfer de mensajes no debe liberarse después del envío.

kSendFlag_RetransmissionTrickle

Se utiliza para indicar el requisito de retransmisiones de Trickle.

kSendFlag_ReuseMessageId

Se usa para indicar que el ID del mensaje en el encabezado del mensaje se puede reutilizar.

kSendFlag_ReuseSourceId

Se utiliza para indicar que el ID del nodo de origen en el encabezado del mensaje se puede reutilizar.

@ 35

 @35
Propiedades
kGetPeerDescription_MaxLength

Longitud máxima de la cadena (incluido el carácter NUL) devuelta por GetPeerDescription () .

ConexiónCerradoFunción

void(* ConnectionClosedFunct)(ExchangeContext *ec, WeaveConnection *con, WEAVE_ERROR conErr)

Esta función es la devolución de llamada de la aplicación para invocar cuando se ha cerrado una conexión Weave existente.

Detalles
Parámetros
[in] ec
Un puntero al objeto ExchangeContext .
[in] con
Un puntero al objeto WeaveConnection .
[in] conErr
El tipo WEAVE_ERROR que se informó cuando se cerró la conexión.

KeyErrorFunct

void(* KeyErrorFunct)(ExchangeContext *ec, WEAVE_ERROR keyErr)

Tipo de función de manejo de mensajes de error clave.

Detalles
Parámetros
[in] ec
Un puntero al objeto ExchangeContext .
[in] keyErr
El tipo WEAVE_ERROR que se informó en el mensaje de error de clave.

MessageReceiveFunct

void(* MessageReceiveFunct)(ExchangeContext *ec, const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo, uint32_t profileId, uint8_t msgType, PacketBuffer *payload)

Esta función es la devolución de llamada de la aplicación para manejar un mensaje Weave recibido.

Detalles
Parámetros
[in] ec
Un puntero al objeto ExchangeContext .
[in] pktInfo
Un puntero al objeto IPPacketInfo.
[in] msgInfo
Un puntero al objeto WeaveMessageInfo .
[in] profileId
El identificador de perfil del mensaje recibido.
[in] msgType
El tipo de mensaje del perfil correspondiente.
[in] payload
Un puntero al objeto PacketBuffer que contiene la carga útil del mensaje.

ResponseTimeoutFunct

void(* ResponseTimeoutFunct)(ExchangeContext *ec)

Esta función es la devolución de llamada de la aplicación para invocar cuando ha expirado el tiempo de espera para la recepción de un mensaje de respuesta.

Detalles
Parámetros
[in] ec
Un puntero al objeto ExchangeContext .

RetransmissionTimeoutFunct

void(* RetransmissionTimeoutFunct)(ExchangeContext *ec)

Esta función es la devolución de llamada de la aplicación para invocar cuando el tiempo de espera para la retransmisión de un mensaje enviado previamente ha expirado.

Detalles
Parámetros
[in] ec
Un puntero al objeto ExchangeContext .

Se acabó el tiempo

uint32_t Timeout

Tipo utilizado para expresar el tiempo de espera en este ExchangeContext , en milisegundos.

WRMPAckRcvdFunct

void(* WRMPAckRcvdFunct)(ExchangeContext *ec, void *msgCtxt)

Esta función es la devolución de llamada de la aplicación para invocar cuando se recibe un Acuse de recibo para un mensaje Weave que solicitó uno como parte del Protocolo de mensajería confiable de Weave.

Detalles
Parámetros
[in] ec
Un puntero al objeto ExchangeContext .
[in] msgCtxt
Un puntero a algún objeto de contexto específico asociado con el mensaje original que se reconoce.

WRMPPauseRcvdFunct

void(* WRMPPauseRcvdFunct)(ExchangeContext *ec, uint32_t pauseTime)

Esta función es la devolución de llamada de la aplicación para invocar cuando se recibe un mensaje de aceleración o un mensaje de entrega retrasada como parte del protocolo de mensajería confiable de Weave.

Cada uno de estos mensajes va acompañado de un valor de tiempo (en milisegundos) que indica el tiempo para pausar el envío de mensajes Weave en este ExchangeContext .

Detalles
Parámetros
[in] ec
Un puntero al objeto ExchangeContext .
[in] pauseTime
Tiempo para pausar la transmisión (en milisegundos).

WRMPSendErrorFunct

void(* WRMPSendErrorFunct)(ExchangeContext *ec, WEAVE_ERROR err, void *msgCtxt)

Esta función es la devolución de llamada de la aplicación para invocar cuando se encuentra un error al enviar un mensaje Weave.

Detalles
Parámetros
[in] ec
Un puntero al objeto ExchangeContext .
[in] err
El tipo WEAVE_ERROR que se encontró durante el envío del mensaje.
[in] msgCtxt
Un puntero a algún objeto de contexto específico asociado con el mensaje original sobre el que se informa.

Atributos públicos

AllowDuplicateMsgs

bool AllowDuplicateMsgs

Indicador booleano de si se permiten mensajes duplicados para un intercambio determinado.

AppState

void * AppState

Puntero al objeto de estado específico de la aplicación.

Estafa

WeaveConnection * Con

[LECTURA SOLAMENTE] Conexión de tejido asociado.

Tipo de cifrado

uint8_t EncryptionType

Tipo de cifrado que se utilizará al enviar un mensaje.

ExchangeId

uint16_t ExchangeId

[SOLO LEER] ID de intercambio asignado.

ExchangeMgr

WeaveExchangeManager * ExchangeMgr

[SOLO LEER] Administrador de intercambio propietario.

KeyId

uint16_t KeyId

Clave de encriptación para usar al enviar un mensaje.

OnAckRcvd

WRMPAckRcvdFunct OnAckRcvd

Devolución de llamada de aplicación para acuse de recibo.

OnConnectionClosed

ConnectionClosedFunct OnConnectionClosed

OnDDRcvd

WRMPPauseRcvdFunct OnDDRcvd

Devolución de llamada de la aplicación para el mensaje de entrega retrasada recibido.

OnKeyError

KeyErrorFunct OnKeyError

Esta función es la devolución de llamada de la aplicación para invocar cuando se ha recibido un mensaje de error de clave del par.

OnMessageReceived

MessageReceiveFunct OnMessageReceived

OnResponseTimeout

ResponseTimeoutFunct OnResponseTimeout

OnRetransmissionTimeout

RetransmissionTimeoutFunct OnRetransmissionTimeout

OnSendError

WRMPSendErrorFunct OnSendError

Devolución de llamada de la aplicación por error durante el envío.

OnThrottleRcvd

WRMPPauseRcvdFunct OnThrottleRcvd

Devolución de llamada de la aplicación para el mensaje Throttle recibido.

PeerAddr

IPAddress PeerAddr

[SÓLO LEER] Dirección IP del nodo del mismo nivel.

PeerIntf

InterfaceId PeerIntf

[SOLO LECTURA] Interfaz de salida que se utilizará al enviar mensajes al par.

(Solo significativo para UDP).

PeerNodeId

uint64_t PeerNodeId

[LEER SOLAMENTE] ID de nodo del nodo del mismo nivel.

PeerPort

uint16_t PeerPort

[LEER SOLAMENTE] Puerto del nodo del mismo nivel.

ResponseTimeout

Timeout ResponseTimeout

Tiempo máximo de espera de respuesta (en milisegundos); 0 desactiva el tiempo de espera de respuesta.

RetransInterval

uint32_t RetransInterval

Tiempo entre retransmisiones (en milisegundos); 0 desactiva las retransmisiones.

mMsgProtocolVersion

uint16_t mMsgProtocolVersion

Versión del protocolo de mensajes para ExchangeContext .

mWRMPConfig

WRMPConfig mWRMPConfig

Configuración WRMP.

Funciones publicas

Abortar

void Abort(
  void
)

Aborte el contexto de Exchange inmediatamente y libere todas las referencias al mismo.

AddRef

void AddRef(
  void
)

Incrementar el contador de referencia para el contexto de intercambio en uno.

AutoRequestAck

bool AutoRequestAck() const 

Devuelve si se solicitará un acuse de recibo cada vez que se envíe un mensaje.

CancelarRetrans

void CancelRetrans(
  void
)

Cancele el mecanismo de retransmisión Trickle.

Cerrar

void Close(
  void
)

Cierra con gracia un contexto de intercambio.

Esta llamada disminuye el recuento de referencia y libera el intercambio cuando el recuento de referencia llega a cero.

EncodeExchHeader

WEAVE_ERROR EncodeExchHeader(
  WeaveExchangeHeader *exchangeHeader,
  uint32_t profileId,
  uint8_t msgType,
  PacketBuffer *msgBuf,
  uint16_t sendFlags
)

Codifique el encabezado del intercambio en un búfer de mensajes.

Detalles
Parámetros
[in] exchangeHeader
Un puntero al objeto de encabezado de Weave Exchange.
[in] profileId
El identificador de perfil del mensaje Weave que se enviará.
[in] msgType
El tipo de mensaje del perfil correspondiente.
[in] msgBuf
Un puntero al PacketBuffer necesario para el mensaje Weave.
[in] sendFlags
Banderas establecidas por la aplicación para el mensaje de Weave que se envía.
Valores devueltos
WEAVE_ERROR_BUFFER_TOO_SMALL
Si el búfer de mensajes no tiene suficiente espacio para codificar el encabezado de intercambio.
WEAVE_NO_ERROR
Si la codificación del mensaje fue exitosa.

GetAutoReleaseKey

bool GetAutoReleaseKey() const 

Devuelve si la clave de cifrado asociada con el intercambio debe liberarse cuando se libere el intercambio.

GetCurrentRetransmitTimeout

uint32_t GetCurrentRetransmitTimeout(
  void
)

Obtiene el tiempo de espera de retransmisión actual.

Sería el tiempo de espera de retransmisión inicial o activo en función de si ExchangeContext tiene un intercambio de mensajes activo con su par.

Detalles
Devoluciones
el tiempo de retransmisión actual.

GetPeerDescription

void GetPeerDescription(
  char *buf,
  uint32_t bufSize
) const 

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

Detalles
Parámetros
[in] buf
Un puntero a un búfer en el que se debe escribir la cadena. El búfer proporcionado debe ser al menos tan grande como kGetPeerDescription_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.

MangoTrickleMensaje

void HandleTrickleMessage(
  const IPPacketInfo *pktInfo,
  const WeaveMessageInfo *msgInfo
)

Manejar mensajes de goteo dentro del contexto de intercambio.

Detalles
Parámetros
[in] pktInfo
Un puntero al objeto IPPacketInfo.
[in] msgInfo
Un puntero a la estructura de información del mensaje Weave.

HasPeerRequestedAck

bool HasPeerRequestedAck(
  void
) const 

Determine si el par solicitó el reconocimiento de al menos un mensaje en este intercambio.

Detalles
Devoluciones
Devuelve 'verdadero' si se solicita confirmación, de lo contrario 'falso'.

HasRcvdMsgFromPeer

bool HasRcvdMsgFromPeer(
  void
) const 

Determine si se ha recibido al menos un mensaje en este intercambio del par.

Detalles
Devoluciones
Devuelve 'verdadero' si se recibe el mensaje, de lo contrario 'falso'.

IsAckPending

bool IsAckPending(
  void
) const 

Determine si ya hay un acuse de recibo pendiente para enviarse al par en este intercambio.

IsConnectionClosed

bool IsConnectionClosed(
  void
) const 

Determine si ExchangeContext tiene una WeaveConnection activa asociada .

Detalles
Devoluciones
Devuelve 'verdadero' si la conexión está cerrada, de lo contrario 'falso'.

IsInitiator

bool IsInitiator(
  void
) const 

Determine si el contexto es el iniciador del intercambio.

Detalles
Devoluciones
Devuelve 'verdadero' si es el iniciador, de lo contrario 'falso'.

IsResponseExpected

bool IsResponseExpected(
  void
) const 

Determine si se espera una respuesta para los mensajes enviados a través de este intercambio.

Detalles
Devoluciones
Devuelve 'verdadero' si se espera una respuesta, de lo contrario 'falso'.

Lanzamiento

void Release(
  void
)

Suelte la referencia a este contexto de intercambio.

Si la cuenta se reduce a uno, cierre el contexto, restablezca todas las devoluciones de llamada de la aplicación y detenga todos los temporizadores.

SendCommonNullMessage

WEAVE_ERROR SendCommonNullMessage(
  void
)

Envíe un mensaje Common :: Null.

Detalles
Valores devueltos
WEAVE_ERROR_NO_MEMORY
Si no hay PacketBuffers.
WEAVE_NO_ERROR
Si el método tuvo éxito o el error no fue crítico.
other
Otro error crítico devuelto por SendMessage () .

Enviar mensaje

WEAVE_ERROR SendMessage(
  uint32_t profileId,
  uint8_t msgType,
  PacketBuffer *msgPayload,
  uint16_t sendFlags,
  void *msgCtxt
)

Envíe un mensaje de Weave en este intercambio.

Detalles
Parámetros
[in] profileId
El identificador de perfil del mensaje Weave que se enviará.
[in] msgType
El tipo de mensaje del perfil correspondiente.
[in] msgBuf
Un puntero al objeto PacketBuffer que contiene el mensaje Weave.
[in] sendFlags
Banderas establecidas por la aplicación para el mensaje de Weave que se envía.
[in] msgCtxt
Un puntero a un objeto de contexto específico de la aplicación que se asociará con el mensaje que se envía.
Valores devueltos
WEAVE_ERROR_INVALID_ARGUMENT
si se pasó un argumento no válido a esta API SendMessage.
WEAVE_ERROR_SEND_THROTTLED
si este contexto de intercambio se ha limitado al utilizar el protocolo de mensajería confiable Weave.
WEAVE_ERROR_WRONG_MSG_VERSION_FOR_EXCHANGE
si hay una discrepancia en la operación de envío específica y la versión del protocolo de mensajes Weave que es compatible. Por ejemplo, este error se generaría si se intenta la semántica de Weave Reliable Messaging cuando la versión del protocolo de mensajes de Weave es V1.
WEAVE_ERROR_NOT_CONNECTED
si el contexto estaba asociado con una conexión que ahora está cerrada.
WEAVE_ERROR_INCORRECT_STATE
si el estado del contexto de intercambio es incorrecto.
WEAVE_NO_ERROR
si la capa Weave envió correctamente el mensaje a la capa de red.

Enviar mensaje

WEAVE_ERROR SendMessage(
  uint32_t profileId,
  uint8_t msgType,
  PacketBuffer *msgBuf,
  uint16_t sendFlags,
  WeaveMessageInfo *msgInfo,
  void *msgCtxt
)

Envíe un mensaje de Weave en este intercambio.

Detalles
Parámetros
[in] profileId
El identificador de perfil del mensaje Weave que se enviará.
[in] msgType
El tipo de mensaje del perfil correspondiente.
[in] msgBuf
Un puntero al objeto PacketBuffer que contiene el mensaje Weave.
[in] sendFlags
Banderas establecidas por la aplicación para el mensaje de Weave que se envía.
[in] msgInfo
Un puntero al objeto WeaveMessageInfo .
[in] msgCtxt
Un puntero a un objeto de contexto específico de la aplicación que se asociará con el mensaje que se envía.
Valores devueltos
WEAVE_ERROR_INVALID_ARGUMENT
si se pasó un argumento no válido a esta API SendMessage.
WEAVE_ERROR_SEND_THROTTLED
si este contexto de intercambio se ha limitado al utilizar el protocolo de mensajería confiable Weave.
WEAVE_ERROR_WRONG_MSG_VERSION_FOR_EXCHANGE
si hay una discrepancia en la operación de envío específica y la versión del protocolo de mensajes Weave que es compatible. Por ejemplo, este error se generaría si se intenta la semántica de Weave Reliable Messaging cuando la versión del protocolo de mensajes de Weave es V1.
WEAVE_ERROR_NOT_CONNECTED
si el contexto estaba asociado con una conexión que ahora está cerrada.
WEAVE_ERROR_INCORRECT_STATE
si el estado del contexto de intercambio es incorrecto.
WEAVE_NO_ERROR
si la capa Weave envió correctamente el mensaje a la capa de red.

SetAckPending

void SetAckPending(
  bool inAckPending
)

Establezca si es necesario enviar un acuse de recibo al par en este intercambio.

Detalles
Parámetros
[in] inAckPending
Un booleano que indica si (verdadero) o no (falso) se debe enviar un acuse de recibo en respuesta a un mensaje recibido.

SetAutoReleaseKey

void SetAutoReleaseKey(
  bool autoReleaseKey
)

Establezca si la clave de cifrado asociada con el intercambio debe liberarse cuando se libere el intercambio.

Detalles
Parámetros
[in] autoReleaseKey
Verdadero si la clave de cifrado del mensaje debe liberarse automáticamente.

SetAutoRequestAck

void SetAutoRequestAck(
  bool autoReqAck
)

Establezca si se debe solicitar un acuse de recibo cada vez que se envía un mensaje.

Detalles
Parámetros
[in] autoReqAck
Un booleano que indica si se debe solicitar o no un reconocimiento cada vez que se envía un mensaje.

SetConnectionClosed

void SetConnectionClosed(
  bool inConnectionClosed
)

Establezca el bit de marca kFlagConnectionClosed.

Esta bandera se establece cuando se cierra una WeaveConnection asociada con un ExchangeContext .

Detalles
Parámetros
[in] inConnectionClosed
Un booleano que indica si (verdadero) o no (falso) el contexto estaba asociado con una conexión.

SetDropAck

void SetDropAck(
  bool inDropAck
)

Establezca si WeaveExchangeManager no debe enviar reconocimientos para este contexto.

Solo para uso interno de depuración.

Detalles
Parámetros
[in] inDropAck
Un booleano que indica si (verdadero) o no (falso) los acuses de recibo no deben enviarse para el intercambio.

SetInitiator

void SetInitiator(
  bool inInitiator
)

Establezca el bit de bandera kFlagInitiator.

Esta bandera la establece el nodo que inicia un intercambio.

Detalles
Parámetros
[in] inInitiator
Un booleano que indica si (verdadero) o no (falso) el contexto es el iniciador del intercambio.

SetMsgRcvdFromPeer

void SetMsgRcvdFromPeer(
  bool inMsgRcvdFromPeer
)

Establezca si se ha recibido un mensaje del par en este intercambio.

Detalles
Parámetros
[in] inMsgRcvdFromPeer
Un booleano que indica si (verdadero) o no (falso) se ha recibido un mensaje del par en este contexto de intercambio.

SetPeerRequestedAck

void SetPeerRequestedAck(
  bool inPeerRequestedAck
)

Establezca si se solicitó un acuse de recibo en el último mensaje recibido en este intercambio.

Detalles
Parámetros
[in] inPeerRequestedAck
Un booleano que indica si (verdadero) o no (falso) se solicitó un acuse de recibo en el último mensaje recibido.

SetResponseExpected

void SetResponseExpected(
  bool inResponseExpected
)

Establezca si se espera una respuesta en este intercambio.

Detalles
Parámetros
[in] inResponseExpected
Un booleano que indica si (verdadero) o no (falso) se espera una respuesta en este intercambio.

SetShouldAutoReleaseConnection

void SetShouldAutoReleaseConnection(
  bool autoReleaseCon
)

Establezca si la conexión Weave asociada con el intercambio debe liberarse cuando se libera el intercambio.

Detalles
Parámetros
[in] autoReleaseCon
Verdadero si la conexión Weave debería liberarse automáticamente.

ConfiguraciónTrickleRetransmit

WEAVE_ERROR SetupTrickleRetransmit(
  uint32_t retransInterval,
  uint8_t threshold,
  uint32_t timeout
)

Configure el mecanismo de retransmisión por goteo estableciendo el intervalo de retransmisión y el umbral de retransmisión correspondientes.

Detalles
Parámetros
[in] retransInterval
El intervalo de retransmisión del algoritmo de retransmisión de Trickle.
[in] threshold
El número máximo de veces que se retransmite un mensaje.
[in] timeout
El tiempo máximo de espera antes de cancelar el temporizador de retransmisión Trickle.
Devoluciones
WEAVE_NO_ERROR si la configuración de Trickle fue exitosa, de lo contrario un INET_ERROR asignado a un WEAVE_ERROR.

ShouldAutoReleaseConnection

bool ShouldAutoReleaseConnection() const 

Devuelva si la conexión Weave asociada con el intercambio debe liberarse cuando se libere el intercambio.

ShouldDropAck

bool ShouldDropAck(
  void
) const 

Determine si WeaveExchangeManager no debe enviar una confirmación.

Solo para uso interno de depuración.

StartTimerT

WEAVE_ERROR StartTimerT(
  void
)

Inicie el mecanismo de temporizador de retransmisión periódica del algoritmo de retransmisión Trickle.

Detalles
Devoluciones
WEAVE_NO_ERROR si tiene éxito, de lo contrario, un INET_ERROR asignado a un WEAVE_ERROR.

DesmontajeTrickleRetransmitir

void TeardownTrickleRetransmit(
  void
)

Derriba el mecanismo de retransmisión de Trickle cancelando los temporizadores periódicos dentro de Trickle y liberando el búfer de mensajes que contiene el mensaje Weave.

UseEphemeralUDPPort

bool UseEphemeralUDPPort(
  void
) const 

Devuelve si los mensajes salientes enviados a través del intercambio deben enviarse desde el puerto UDP efímero local.

WRMPFlushAcks

WEAVE_ERROR WRMPFlushAcks(
  void
)

WRMPSendDelayedDelivery

WEAVE_ERROR WRMPSendDelayedDelivery(
  uint32_t PauseTimeMillis,
  uint64_t DelayedNodeId
)

Envíe un mensaje de Entrega retrasada para notificar a un nodo remitente que su mensaje enviado anteriormente experimentaría un retraso esperado antes de ser entregado al destinatario.

Una de las posibles causas por las que los mensajes se retrasan antes de ser entregados es cuando el nodo final del destinatario está adormecido. Este mensaje es potencialmente generado por un nodo intermedio adecuado en la ruta de envío que tiene suficiente conocimiento del destinatario para inferir sobre la entrega retrasada. Al recibir este mensaje, el remitente reajustaría sus temporizadores de retransmisión para los mensajes que buscan confirmaciones.

Detalles
Parámetros
[in] pauseTimeMillis
El tiempo (en milisegundos) que se espera que el mensaje enviado previamente se demore antes de ser entregado.
[in] delayedNodeId
El identificador de nodo del nodo par al que se retrasaría la entrega del mensaje.
Valores devueltos
WEAVE_ERROR_INVALID_ARGUMENT
si se pasó un argumento no válido a esta API SendMessage.
WEAVE_ERROR_WRONG_MSG_VERSION_FOR_EXCHANGE
si hay una discrepancia en la operación de envío específica y la versión del protocolo de mensajes Weave que es compatible. Por ejemplo, este error se generaría si se intenta la semántica de Weave Reliable Messaging cuando la versión del protocolo de mensajes de Weave es V1.
WEAVE_ERROR_NOT_CONNECTED
si el contexto estaba asociado con una conexión que ahora está cerrada.
WEAVE_ERROR_INCORRECT_STATE
si el estado del contexto de intercambio es incorrecto.
WEAVE_NO_ERROR
si la capa Weave envió correctamente el mensaje a la capa de red.

WRMPSendThrottleFlow

WEAVE_ERROR WRMPSendThrottleFlow(
  uint32_t PauseTimeMillis
)

Envíe un mensaje de Throttle Flow al nodo par solicitándole que acelere el envío de mensajes.

Detalles
Parámetros
[in] pauseTimeMillis
El tiempo (en milisegundos) que se espera que el destinatario acelere su envío.
Valores devueltos
WEAVE_ERROR_INVALID_ARGUMENT
Si se pasó un argumento no válido a esta API SendMessage.
WEAVE_ERROR_SEND_THROTTLED
Si este contexto de intercambio se ha limitado al utilizar el protocolo de mensajería confiable de Weave.
WEAVE_ERROR_WRONG_MSG_VERSION_FOR_EXCHANGE
Si hay una discrepancia en la operación de envío específica y la versión del protocolo de mensajes Weave que es compatible. Por ejemplo, este error se generaría si se intenta la semántica de Weave Reliable Messaging cuando la versión del protocolo de mensajes de Weave es V1.
WEAVE_ERROR_NOT_CONNECTED
Si el contexto estaba asociado con una conexión que ahora está cerrada.
WEAVE_ERROR_INCORRECT_STATE
Si el estado del contexto de intercambio es incorrecto.
WEAVE_NO_ERROR
Si la capa Weave envió correctamente el mensaje a la capa de red.