O Google tem o compromisso de promover a igualdade racial para as comunidades negras. Saiba como.
Esta página foi traduzida pela API Cloud Translation.
Switch to English

nl :: Tecer:: ExchangeContext

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

Esta classe representa uma conversa em andamento ( ExchangeContext ) entre dois ou mais nós.

Resumo

Ele define métodos para codificação e comunicação de mensagens Weave em um ExchangeContext por meio de vários mecanismos de transporte, por exemplo, TCP, UDP ou 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
}
enum
@35 {
kGetPeerDescription_MaxLength = nl::Weave::kWeavePeerDescription_MaxLength
}
enum
ConnectionClosedFunct )(ExchangeContext *ec, WeaveConnection *con, WEAVE_ERROR conErr) typedef
void(*
Esta função é o retorno de chamada do aplicativo a ser invocado quando uma conexão Weave existente for fechada.
KeyErrorFunct )(ExchangeContext *ec, WEAVE_ERROR keyErr) typedef
void(*
Tipo de função de tratamento da mensagem de erro principal.
MessageReceiveFunct )(ExchangeContext *ec, const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo, uint32_t profileId, uint8_t msgType, PacketBuffer *payload) typedef
void(*
Esta função é o retorno de chamada do aplicativo para lidar com uma mensagem Weave recebida.
ResponseTimeoutFunct )(ExchangeContext *ec) typedef
void(*
Essa função é o retorno de chamada do aplicativo a ser invocado quando o tempo limite para o recebimento de uma mensagem de resposta expirar.
RetransmissionTimeoutFunct )(ExchangeContext *ec) typedef
void(*
Esta função é o retorno de chamada do aplicativo a ser invocado quando o tempo limite para a retransmissão de uma mensagem enviada anteriormente expirar.
Timeout typedef
uint32_t
Tipo usado para expressar o tempo limite neste ExchangeContext , em milissegundos.
WRMPAckRcvdFunct )(ExchangeContext *ec, void *msgCtxt) typedef
void(*
Esta função é o retorno de chamada do aplicativo a ser invocado quando um reconhecimento é recebido para uma mensagem do Weave que solicitou uma como parte do Protocolo de mensagens confiáveis ​​do Weave.
WRMPPauseRcvdFunct )(ExchangeContext *ec, uint32_t pauseTime) typedef
void(*
Esta função é o retorno de chamada do aplicativo a ser invocado quando uma mensagem Throttle ou Delayed Delivery é recebida como parte do Weave Reliable Messaging Protocol.
WRMPSendErrorFunct )(ExchangeContext *ec, WEAVE_ERROR err, void *msgCtxt) typedef
void(*
Esta função é o retorno de chamada do aplicativo para invocar quando um erro é encontrado ao enviar uma mensagem Weave.

Atributos públicos

AllowDuplicateMsgs
bool
Indicador booleano de se mensagens duplicadas são permitidas para uma determinada troca.
AppState
void *
Ponteiro para objeto de estado específico do aplicativo.
Con
[SOMENTE LEITURA] Conexão de trama associada.
EncryptionType
uint8_t
Tipo de criptografia a ser usado ao enviar uma mensagem.
ExchangeId
uint16_t
[SOMENTE LEIA] ID de troca atribuído.
ExchangeMgr
[SOMENTE LEIA] Possuir gerente de câmbio.
KeyId
uint16_t
Chave de criptografia a ser usada ao enviar uma mensagem.
OnAckRcvd
Retorno de chamada do aplicativo para confirmação recebida.
OnConnectionClosed
OnDDRcvd
Retorno de chamada do aplicativo para mensagem de entrega atrasada recebida
OnKeyError
Esta função é o retorno de chamada do aplicativo a ser invocado quando a mensagem de erro principal for recebida do par.
OnMessageReceived
OnResponseTimeout
OnRetransmissionTimeout
OnSendError
Retorno de chamada do aplicativo para erro durante o envio.
OnThrottleRcvd
Retorno de chamada do aplicativo para mensagem de aceleração recebida.
PeerAddr
IPAddress
[READ ONLY] Endereço IP do nó do par.
PeerIntf
InterfaceId
[READ ONLY] Interface de saída a ser usada ao enviar mensagens para o par.
PeerNodeId
uint64_t
[SOMENTE LEITURA] ID do nó do nó par.
PeerPort
uint16_t
[READ ONLY] Porta do nó do par.
ResponseTimeout
Tempo máximo de espera por resposta (em milissegundos); 0 desativa o tempo limite de resposta.
RetransInterval
uint32_t
Tempo entre retransmissões (em milissegundos); 0 desativa as retransmissões.
mMsgProtocolVersion
uint16_t
Versão do protocolo de mensagens para o ExchangeContext .
mWRMPConfig
Configuração WRMP.

Funções públicas

Abort (void)
void
Aborte o contexto do Exchange imediatamente e libere todas as referências a ele.
AddRef (void)
void
Aumente o contador de referência para o contexto de troca em um.
AutoRequestAck () const
bool
Retorna se uma confirmação será solicitada sempre que uma mensagem for enviada.
CancelRetrans (void)
void
Cancele o mecanismo de retransmissão Trickle.
Close (void)
void
Feche normalmente um contexto de troca.
EncodeExchHeader ( WeaveExchangeHeader *exchangeHeader, uint32_t profileId, uint8_t msgType, PacketBuffer *msgBuf, uint16_t sendFlags)
Codifique o cabeçalho de troca em um buffer de mensagem.
GetAutoReleaseKey () const
bool
Retorne se a chave de criptografia associada à troca deve ser liberada quando a troca for liberada.
GetCurrentRetransmitTimeout (void)
uint32_t
Obtenha o tempo limite de retransmissão atual.
GetPeerDescription (char *buf, uint32_t bufSize) const
void
Constrói uma string que descreve o nó de mesmo nível e seu endereço / informações de conexão associados.
HandleTrickleMessage (const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo)
void
Trate a mensagem de fluxo dentro do contexto de troca.
HasPeerRequestedAck (void) const
bool
Determine se o par solicitou confirmação para pelo menos uma mensagem nesta troca.
HasRcvdMsgFromPeer (void) const
bool
Determine se pelo menos uma mensagem foi recebida nesta troca do par.
IsAckPending (void) const
bool
Determine se já existe uma confirmação pendente para ser enviada ao par nesta troca.
IsConnectionClosed (void) const
bool
Determine se o ExchangeContext tem um WeaveConnection ativo associado.
IsInitiator (void) const
bool
Determine se o contexto é o iniciador da troca.
IsResponseExpected (void) const
bool
Determine se uma resposta é esperada para mensagens enviadas por meio dessa troca.
Release (void)
void
Libere a referência a este contexto de troca.
SendCommonNullMessage (void)
Envie uma mensagem Common :: Null.
SendMessage (uint32_t profileId, uint8_t msgType, PacketBuffer *msgPayload, uint16_t sendFlags, void *msgCtxt)
Envie uma mensagem Weave nesta troca.
SendMessage (uint32_t profileId, uint8_t msgType, PacketBuffer *msgBuf, uint16_t sendFlags, WeaveMessageInfo *msgInfo, void *msgCtxt)
Envie uma mensagem Weave nesta troca.
SetAckPending (bool inAckPending)
void
Defina se uma confirmação precisa ser enviada de volta ao par nesta troca.
SetAutoReleaseKey (bool autoReleaseKey)
void
Defina se a chave de criptografia associada à troca deve ser liberada quando a troca for liberada.
SetAutoRequestAck (bool autoReqAck)
void
Defina se uma confirmação deve ser solicitada sempre que uma mensagem é enviada.
SetConnectionClosed (bool inConnectionClosed)
void
Defina o bit do sinalizador kFlagConnectionClosed.
SetDropAck (bool inDropAck)
void
Defina se o WeaveExchangeManager não deve enviar confirmações para este contexto.
SetInitiator (bool inInitiator)
void
Defina o bit do sinalizador kFlagInitiator.
SetMsgRcvdFromPeer (bool inMsgRcvdFromPeer)
void
Definido se uma mensagem foi recebida do par nesta troca.
SetPeerRequestedAck (bool inPeerRequestedAck)
void
Definido se uma confirmação foi solicitada na última mensagem recebida nesta troca.
SetResponseExpected (bool inResponseExpected)
void
Defina se uma resposta é esperada nesta troca.
SetShouldAutoReleaseConnection (bool autoReleaseCon)
void
Defina se a conexão Weave associada à troca deve ser liberada quando a troca for liberada.
SetupTrickleRetransmit (uint32_t retransInterval, uint8_t threshold, uint32_t timeout)
Configure o mecanismo de retransmissão lenta, definindo o intervalo de retransmissão correspondente e o limite de retransmissão.
ShouldAutoReleaseConnection () const
bool
Retorne se a conexão Weave associada à troca deve ser liberada quando a troca for liberada.
ShouldDropAck (void) const
bool
Determine se o WeaveExchangeManager não deve enviar uma confirmação.
StartTimerT (void)
Inicie o mecanismo de cronômetro de retransmissão periódica do algoritmo de retransmissão Trickle.
TeardownTrickleRetransmit (void)
void
Destrua o mecanismo de retransmissão Trickle cancelando os temporizadores periódicos dentro do Trickle e liberando o buffer de mensagem que contém a mensagem Weave.
UseEphemeralUDPPort (void) const
bool
Retorne se as mensagens de saída enviadas por meio da troca devem ser enviadas da porta UDP efêmera local.
WRMPFlushAcks (void)
WRMPSendDelayedDelivery (uint32_t PauseTimeMillis, uint64_t DelayedNodeId)
Envie uma mensagem de Entrega Atrasada para notificar um nó remetente de que sua mensagem enviada anteriormente sofreria um atraso esperado antes de ser entregue ao destinatário.
WRMPSendThrottleFlow (uint32_t PauseTimeMillis)
Envie uma mensagem Throttle Flow para o nó de mesmo nível solicitando que ele regule o envio de mensagens.

Tipos públicos

@ 34

 @34
Propriedades
kSendFlag_AlreadyEncoded

Usado para indicar que a mensagem já está codificada.

kSendFlag_AutoRetrans

Usado para indicar que a retransmissão automática está habilitada.

kSendFlag_DefaultMulticastSourceAddress

Usado para indicar que a seleção de endereço de origem IPv6 padrão deve ser usada ao enviar mensagens multicast IPv6.

kSendFlag_DelaySend

Usado para indicar que o envio da mensagem atual precisa ser atrasado.

kSendFlag_ExpectResponse

Usado para indicar que uma resposta é esperada dentro de um tempo limite especificado.

kSendFlag_FromInitiator

Usado para indicar que a mensagem atual é o iniciador da troca.

kSendFlag_MulticastFromLinkLocal

Alias ​​obsoleto para kSendFlag_DefaultMulticastSourceAddress .

kSendFlag_NoAutoRequestAck

Suprima o recurso de confirmação de solicitação automática ao enviar uma mensagem.

kSendFlag_RequestAck

Usado para enviar uma mensagem WRM solicitando uma confirmação.

kSendFlag_RetainBuffer

Usado para indicar que o buffer de mensagem não deve ser liberado após o envio.

kSendFlag_RetransmissionTrickle

Usado para indicar a necessidade de retransmissões para Trickle.

kSendFlag_ReuseMessageId

Usado para indicar que o ID da mensagem no cabeçalho da mensagem pode ser reutilizado.

kSendFlag_ReuseSourceId

Usado para indicar que o ID do nó de origem no cabeçalho da mensagem pode ser reutilizado.

@ 35

 @35
Propriedades
kGetPeerDescription_MaxLength

Comprimento máximo da string (incluindo o caractere NUL) retornado por GetPeerDescription () .

ConnectionClosedFunct

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

Esta função é o retorno de chamada do aplicativo a ser invocado quando uma conexão Weave existente for fechada.

Detalhes
Parâmetros
[in] ec
Um ponteiro para o objeto ExchangeContext .
[in] con
Um ponteiro para o objeto WeaveConnection .
[in] conErr
O tipo WEAVE_ERROR que foi relatado quando a conexão foi fechada.

KeyErrorFunct

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

Tipo de função de tratamento da mensagem de erro principal.

Detalhes
Parâmetros
[in] ec
Um ponteiro para o objeto ExchangeContext .
[in] keyErr
O tipo WEAVE_ERROR que foi relatado na mensagem de erro principal.

MessageReceiveFunct

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

Esta função é o retorno de chamada do aplicativo para lidar com uma mensagem Weave recebida.

Detalhes
Parâmetros
[in] ec
Um ponteiro para o objeto ExchangeContext .
[in] pktInfo
Um ponteiro para o objeto IPPacketInfo.
[in] msgInfo
Um ponteiro para o objeto WeaveMessageInfo .
[in] profileId
O identificador de perfil da mensagem recebida.
[in] msgType
O tipo de mensagem do perfil correspondente.
[in] payload
Um ponteiro para o objeto PacketBuffer que contém a carga útil da mensagem.

ResponseTimeoutFunct

void(* ResponseTimeoutFunct)(ExchangeContext *ec)

Essa função é o retorno de chamada do aplicativo a ser invocado quando o tempo limite para o recebimento de uma mensagem de resposta expirar.

Detalhes
Parâmetros
[in] ec
Um ponteiro para o objeto ExchangeContext .

RetransmissionTimeoutFunct

void(* RetransmissionTimeoutFunct)(ExchangeContext *ec)

Esta função é o retorno de chamada do aplicativo a ser invocado quando o tempo limite para a retransmissão de uma mensagem enviada anteriormente expirar.

Detalhes
Parâmetros
[in] ec
Um ponteiro para o objeto ExchangeContext .

Tempo esgotado

uint32_t Timeout

Tipo usado para expressar o tempo limite neste ExchangeContext , em milissegundos.

WRMPAckRcvdFunct

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

Esta função é o retorno de chamada do aplicativo a ser invocado quando um reconhecimento é recebido para uma mensagem do Weave que solicitou uma como parte do Protocolo de mensagens confiáveis ​​do Weave.

Detalhes
Parâmetros
[in] ec
Um ponteiro para o objeto ExchangeContext .
[in] msgCtxt
Um ponteiro para algum objeto de contexto específico associado à mensagem original que está sendo confirmada.

WRMPPauseRcvdFunct

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

Esta função é o retorno de chamada do aplicativo a ser invocado quando uma mensagem Throttle ou Delayed Delivery é recebida como parte do Weave Reliable Messaging Protocol.

Cada uma dessas mensagens é acompanhada por um valor de tempo (em milissegundos) que significa o tempo para pausar o envio de mensagens Weave neste ExchangeContext .

Detalhes
Parâmetros
[in] ec
Um ponteiro para o objeto ExchangeContext .
[in] pauseTime
Tempo para pausar a transmissão (em milissegundos).

WRMPSendErrorFunct

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

Esta função é o retorno de chamada do aplicativo a ser invocado quando um erro é encontrado ao enviar uma mensagem do Weave.

Detalhes
Parâmetros
[in] ec
Um ponteiro para o objeto ExchangeContext .
[in] err
O tipo WEAVE_ERROR encontrado durante o envio da mensagem.
[in] msgCtxt
Um ponteiro para algum objeto de contexto específico associado à mensagem original que está sendo relatada.

Atributos públicos

AllowDuplicateMsgs

bool AllowDuplicateMsgs

Indicador booleano de se mensagens duplicadas são permitidas para uma determinada troca.

AppState

void * AppState

Ponteiro para objeto de estado específico do aplicativo.

Vigarista

WeaveConnection * Con

[SOMENTE LEITURA] Conexão de trama associada.

Tipo de encriptação

uint8_t EncryptionType

Tipo de criptografia a ser usado ao enviar uma mensagem.

ExchangeId

uint16_t ExchangeId

[SOMENTE LEIA] ID de troca atribuída.

ExchangeMgr

WeaveExchangeManager * ExchangeMgr

[SOMENTE LEIA] Possuir gerente de câmbio.

KeyId

uint16_t KeyId

Chave de criptografia a ser usada ao enviar uma mensagem.

OnAckRcvd

WRMPAckRcvdFunct OnAckRcvd

Retorno de chamada do aplicativo para confirmação recebida.

OnConnectionClosed

ConnectionClosedFunct OnConnectionClosed

OnDDRcvd

WRMPPauseRcvdFunct OnDDRcvd

Retorno de chamada do aplicativo para mensagem de Entrega Atrasada recebida.

OnKeyError

KeyErrorFunct OnKeyError

Esta função é o retorno de chamada do aplicativo a ser invocado quando a mensagem de erro principal for recebida do par.

OnMessageReceived

MessageReceiveFunct OnMessageReceived

OnResponseTimeout

ResponseTimeoutFunct OnResponseTimeout

OnRetransmissionTimeout

RetransmissionTimeoutFunct OnRetransmissionTimeout

OnSendError

WRMPSendErrorFunct OnSendError

Retorno de chamada do aplicativo para erro durante o envio.

OnThrottleRcvd

WRMPPauseRcvdFunct OnThrottleRcvd

Retorno de chamada do aplicativo para mensagem de aceleração recebida.

PeerAddr

IPAddress PeerAddr

[READ ONLY] Endereço IP do nó do par.

PeerIntf

InterfaceId PeerIntf

[READ ONLY] Interface de saída a ser usada ao enviar mensagens para o par.

(Somente significativo para UDP.)

PeerNodeId

uint64_t PeerNodeId

[SOMENTE LEITURA] ID do nó do nó do par.

PeerPort

uint16_t PeerPort

[READ ONLY] Porta do nó do par.

ResponseTimeout

Timeout ResponseTimeout

Tempo máximo de espera por resposta (em milissegundos); 0 desativa o tempo limite de resposta.

RetransInterval

uint32_t RetransInterval

Tempo entre retransmissões (em milissegundos); 0 desativa as retransmissões.

mMsgProtocolVersion

uint16_t mMsgProtocolVersion

Versão do protocolo de mensagens para o ExchangeContext .

mWRMPConfig

WRMPConfig mWRMPConfig

Configuração WRMP.

Funções públicas

Abortar

void Abort(
  void
)

Aborte o contexto do Exchange imediatamente e libere todas as referências a ele.

AddRef

void AddRef(
  void
)

Aumente o contador de referência para o contexto de troca em um.

AutoRequestAck

bool AutoRequestAck() const 

Retorna se uma confirmação será solicitada sempre que uma mensagem for enviada.

CancelRetrans

void CancelRetrans(
  void
)

Cancele o mecanismo de retransmissão Trickle.

Perto

void Close(
  void
)

Feche normalmente um contexto de troca.

Esta chamada diminui a contagem de referência e libera a troca quando a contagem de referência vai para zero.

EncodeExchHeader

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

Codifique o cabeçalho de troca em um buffer de mensagem.

Detalhes
Parâmetros
[in] exchangeHeader
Um ponteiro para o objeto de cabeçalho do Weave Exchange.
[in] profileId
O identificador de perfil da mensagem Weave a ser enviada.
[in] msgType
O tipo de mensagem do perfil correspondente.
[in] msgBuf
Um ponteiro para o PacketBuffer necessário para a mensagem Weave.
[in] sendFlags
Sinalizadores definidos pelo aplicativo para o envio da mensagem do Weave.
Valores Retornados
WEAVE_ERROR_BUFFER_TOO_SMALL
Se o buffer de mensagem não tiver espaço suficiente para codificar o cabeçalho de troca.
WEAVE_NO_ERROR
Se a codificação da mensagem foi bem-sucedida.

GetAutoReleaseKey

bool GetAutoReleaseKey() const 

Retorne se a chave de criptografia associada à troca deve ser liberada quando a troca for liberada.

GetCurrentRetransmitTimeout

uint32_t GetCurrentRetransmitTimeout(
  void
)

Obtenha o tempo limite de retransmissão atual.

Seria o tempo limite de retransmissão inicial ou ativo com base no fato de o ExchangeContext ter uma troca de mensagens ativa com seu par.

Detalhes
Devoluções
o tempo de retransmissão atual.

GetPeerDescription

void GetPeerDescription(
  char *buf,
  uint32_t bufSize
) const 

Constrói uma string que descreve o nó de mesmo nível e seu endereço / informações de conexão associados.

Detalhes
Parâmetros
[in] buf
Um ponteiro para um buffer no qual a string deve ser gravada. O buffer fornecido deve ser pelo menos tão grande quanto kGetPeerDescription_MaxLength. Se um buffer menor for fornecido, a string será truncada para caber. A saída incluirá um caractere de terminação NUL em todos os casos.
[in] bufSize
O tamanho do buffer apontado por buf.

HandleTrickleMessage

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

Trate a mensagem de fluxo dentro do contexto de troca.

Detalhes
Parâmetros
[in] pktInfo
Um ponteiro para o objeto IPPacketInfo.
[in] msgInfo
Um ponteiro para a estrutura de informações da mensagem Weave.

HasPeerRequestedAck

bool HasPeerRequestedAck(
  void
) const 

Determine se o par solicitou confirmação para pelo menos uma mensagem nesta troca.

Detalhes
Devoluções
Retorna 'verdadeiro' se o reconhecimento for solicitado, caso contrário, 'falso'.

HasRcvdMsgFromPeer

bool HasRcvdMsgFromPeer(
  void
) const 

Determine se pelo menos uma mensagem foi recebida nesta troca do par.

Detalhes
Devoluções
Retorna 'verdadeiro' se a mensagem for recebida, senão 'falso'.

IsAckPending

bool IsAckPending(
  void
) const 

Determine se já existe uma confirmação pendente para ser enviada ao par nesta troca.

IsConnectionClosed

bool IsConnectionClosed(
  void
) const 

Determine se o ExchangeContext tem um WeaveConnection ativo associado.

Detalhes
Devoluções
Retorna 'verdadeiro' se a conexão for fechada, senão 'falso'.

IsInitiator

bool IsInitiator(
  void
) const 

Determine se o contexto é o iniciador da troca.

Detalhes
Devoluções
Retorna 'verdadeiro' se for o iniciador, caso contrário, 'falso'.

IsResponseExpected

bool IsResponseExpected(
  void
) const 

Determine se uma resposta é esperada para mensagens enviadas por meio dessa troca.

Detalhes
Devoluções
Retorna 'verdadeiro' se a resposta for esperada, caso contrário, 'falso'.

Liberação

void Release(
  void
)

Libere a referência a este contexto de troca.

Se a contagem chegar a um, feche o contexto, redefina todos os retornos de chamada do aplicativo e pare todos os cronômetros.

SendCommonNullMessage

WEAVE_ERROR SendCommonNullMessage(
  void
)

Envie uma mensagem Common :: Null.

Detalhes
Valores Retornados
WEAVE_ERROR_NO_MEMORY
Se nenhum PacketBuffers estiver disponível.
WEAVE_NO_ERROR
Se o método foi bem-sucedido ou se o erro não foi crítico.
other
Outro erro crítico retornado por SendMessage () .

Enviar mensagem

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

Envie uma mensagem Weave nesta troca.

Detalhes
Parâmetros
[in] profileId
O identificador de perfil da mensagem Weave a ser enviada.
[in] msgType
O tipo de mensagem do perfil correspondente.
[in] msgBuf
Um ponteiro para o objeto PacketBuffer que contém a mensagem Weave.
[in] sendFlags
Sinalizadores definidos pelo aplicativo para o envio da mensagem do Weave.
[in] msgCtxt
Um ponteiro para um objeto de contexto específico do aplicativo a ser associado à mensagem que está sendo enviada.
Valores Retornados
WEAVE_ERROR_INVALID_ARGUMENT
se um argumento inválido foi passado para esta API SendMessage.
WEAVE_ERROR_SEND_THROTTLED
se este contexto de troca foi limitado ao usar o protocolo de mensagens confiável Weave.
WEAVE_ERROR_WRONG_MSG_VERSION_FOR_EXCHANGE
se houver uma incompatibilidade na operação de envio específica e a versão do protocolo de mensagem Weave que é compatível. Por exemplo, esse erro seria gerado se a semântica do Weave Reliable Messaging estivesse sendo tentada quando a versão do protocolo de mensagem do Weave fosse V1.
WEAVE_ERROR_NOT_CONNECTED
se o contexto estava associado a uma conexão que agora está fechada.
WEAVE_ERROR_INCORRECT_STATE
se o estado do contexto de troca estiver incorreto.
WEAVE_NO_ERROR
se a camada Weave enviou com sucesso a mensagem para a camada de rede.

Enviar mensagem

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

Envie uma mensagem Weave nesta troca.

Detalhes
Parâmetros
[in] profileId
O identificador de perfil da mensagem Weave a ser enviada.
[in] msgType
O tipo de mensagem do perfil correspondente.
[in] msgBuf
Um ponteiro para o objeto PacketBuffer que contém a mensagem Weave.
[in] sendFlags
Sinalizadores definidos pelo aplicativo para o envio da mensagem do Weave.
[in] msgInfo
Um ponteiro para o objeto WeaveMessageInfo .
[in] msgCtxt
Um ponteiro para um objeto de contexto específico do aplicativo a ser associado à mensagem que está sendo enviada.
Valores Retornados
WEAVE_ERROR_INVALID_ARGUMENT
se um argumento inválido foi passado para esta API SendMessage.
WEAVE_ERROR_SEND_THROTTLED
se este contexto de troca foi limitado ao usar o protocolo de mensagens confiável Weave.
WEAVE_ERROR_WRONG_MSG_VERSION_FOR_EXCHANGE
se houver uma incompatibilidade na operação de envio específica e a versão do protocolo de mensagem Weave que é compatível. Por exemplo, esse erro seria gerado se a semântica do Weave Reliable Messaging estivesse sendo tentada quando a versão do protocolo de mensagem do Weave fosse V1.
WEAVE_ERROR_NOT_CONNECTED
se o contexto foi associado a uma conexão que agora está fechada.
WEAVE_ERROR_INCORRECT_STATE
se o estado do contexto de troca estiver incorreto.
WEAVE_NO_ERROR
se a camada Weave enviou com sucesso a mensagem para a camada de rede.

SetAckPending

void SetAckPending(
  bool inAckPending
)

Defina se uma confirmação precisa ser enviada de volta ao par nesta troca.

Detalhes
Parâmetros
[in] inAckPending
Um booleano que indica se (verdadeiro) ou não (falso) uma confirmação deve ser enviada de volta em resposta a uma mensagem recebida.

SetAutoReleaseKey

void SetAutoReleaseKey(
  bool autoReleaseKey
)

Defina se a chave de criptografia associada à troca deve ser liberada quando a troca for liberada.

Detalhes
Parâmetros
[in] autoReleaseKey
Verdadeiro se a chave de criptografia da mensagem deve ser liberada automaticamente.

SetAutoRequestAck

void SetAutoRequestAck(
  bool autoReqAck
)

Defina se uma confirmação deve ser solicitada sempre que uma mensagem é enviada.

Detalhes
Parâmetros
[in] autoReqAck
Um booleano que indica se uma confirmação deve ou não ser solicitada sempre que uma mensagem é enviada.

SetConnectionClosed

void SetConnectionClosed(
  bool inConnectionClosed
)

Defina o bit do sinalizador kFlagConnectionClosed.

Este sinalizador é definido quando um WeaveConnection associado a um ExchangeContext é fechado.

Detalhes
Parâmetros
[in] inConnectionClosed
Um booleano que indica se (verdadeiro) ou não (falso) o contexto foi associado a uma conexão.

SetDropAck

void SetDropAck(
  bool inDropAck
)

Defina se o WeaveExchangeManager não deve enviar confirmações para este contexto.

Para uso interno, depuração apenas.

Detalhes
Parâmetros
[in] inDropAck
Um booleano que indica se (verdadeiro) ou não (falso) os reconhecimentos não devem ser enviados para troca.

SetInitiator

void SetInitiator(
  bool inInitiator
)

Defina o bit do sinalizador kFlagInitiator.

Este sinalizador é definido pelo nó que inicia uma troca.

Detalhes
Parâmetros
[in] inInitiator
Um booleano que indica se (verdadeiro) ou não (falso) o contexto é o iniciador da troca.

SetMsgRcvdFromPeer

void SetMsgRcvdFromPeer(
  bool inMsgRcvdFromPeer
)

Definido se uma mensagem foi recebida do par nesta troca.

Detalhes
Parâmetros
[in] inMsgRcvdFromPeer
Um booleano que indica se (verdadeiro) ou não (falso) uma mensagem foi recebida do par neste contexto de troca.

SetPeerRequestedAck

void SetPeerRequestedAck(
  bool inPeerRequestedAck
)

Definido se uma confirmação foi solicitada na última mensagem recebida nesta troca.

Detalhes
Parâmetros
[in] inPeerRequestedAck
Um booleano que indica se (verdadeiro) ou não (falso) uma confirmação foi solicitada na última mensagem recebida.

SetResponseExpected

void SetResponseExpected(
  bool inResponseExpected
)

Defina se uma resposta é esperada nesta troca.

Detalhes
Parâmetros
[in] inResponseExpected
Um booleano que indica se (verdadeiro) ou não (falso) uma resposta é esperada nesta troca.

SetShouldAutoReleaseConnection

void SetShouldAutoReleaseConnection(
  bool autoReleaseCon
)

Defina se a conexão Weave associada à troca deve ser liberada quando a troca for liberada.

Detalhes
Parâmetros
[in] autoReleaseCon
Verdadeiro se a conexão Weave tiver que ser liberada automaticamente.

SetupTrickleRetransmit

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

Configure o mecanismo de retransmissão lenta, definindo o intervalo de retransmissão correspondente e o limite de retransmissão.

Detalhes
Parâmetros
[in] retransInterval
O intervalo de retransmissão do algoritmo de retransmissão Trickle.
[in] threshold
O número máximo de vezes que uma mensagem é retransmitida.
[in] timeout
O tempo máximo de espera antes de cancelar o temporizador de retransmissão Trickle.
Devoluções
WEAVE_NO_ERROR se a configuração do Trickle foi bem-sucedida, caso contrário, um INET_ERROR mapeado em um WEAVE_ERROR.

ShouldAutoReleaseConnection

bool ShouldAutoReleaseConnection() const 

Retorne se a conexão Weave associada à troca deve ser liberada quando a troca for liberada.

ShouldDropAck

bool ShouldDropAck(
  void
) const 

Determine se o WeaveExchangeManager não deve enviar uma confirmação.

Para uso interno, depuração apenas.

StartTimerT

WEAVE_ERROR StartTimerT(
  void
)

Inicie o mecanismo de cronômetro de retransmissão periódica do algoritmo de retransmissão Trickle.

Detalhes
Devoluções
WEAVE_NO_ERROR se for bem-sucedido, caso contrário, um INET_ERROR mapeado em um WEAVE_ERROR.

TeardownTrickleRetransmit

void TeardownTrickleRetransmit(
  void
)

Destrua o mecanismo de retransmissão Trickle cancelando os temporizadores periódicos dentro do Trickle e liberando o buffer de mensagem que contém a mensagem Weave.

UseEphemeralUDPPort

bool UseEphemeralUDPPort(
  void
) const 

Retorne se as mensagens de saída enviadas por meio da troca devem ser enviadas da porta UDP efêmera local.

WRMPFlushAcks

WEAVE_ERROR WRMPFlushAcks(
  void
)

WRMPSendDelayedDelivery

WEAVE_ERROR WRMPSendDelayedDelivery(
  uint32_t PauseTimeMillis,
  uint64_t DelayedNodeId
)

Envie uma mensagem de Entrega Atrasada para notificar um nó emissor de que sua mensagem enviada anteriormente sofreria um atraso esperado antes de ser entregue ao destinatário.

Uma das possíveis causas do atraso das mensagens antes de serem entregues é quando o nó final do destinatário está inativo. Essa mensagem é potencialmente gerada por um nó intermediário adequado no caminho de envio que tem conhecimento suficiente do destinatário para inferir sobre a entrega atrasada. Ao receber essa mensagem, o remetente reajustaria seus temporizadores de retransmissão para mensagens que buscam confirmações de volta.

Detalhes
Parâmetros
[in] pauseTimeMillis
O tempo (em milissegundos) que se espera que a mensagem enviada anteriormente seja atrasada antes de ser entregue.
[in] delayedNodeId
O identificador de nó do nó par para o qual a entrega da mensagem seria atrasada.
Valores Retornados
WEAVE_ERROR_INVALID_ARGUMENT
se um argumento inválido foi passado para esta API SendMessage.
WEAVE_ERROR_WRONG_MSG_VERSION_FOR_EXCHANGE
se houver uma incompatibilidade na operação de envio específica e a versão do protocolo de mensagem Weave que é compatível. Por exemplo, esse erro seria gerado se a semântica do Weave Reliable Messaging estivesse sendo tentada quando a versão do protocolo de mensagem do Weave fosse V1.
WEAVE_ERROR_NOT_CONNECTED
se o contexto foi associado a uma conexão que agora está fechada.
WEAVE_ERROR_INCORRECT_STATE
se o estado do contexto de troca estiver incorreto.
WEAVE_NO_ERROR
se a camada Weave enviou com sucesso a mensagem para a camada de rede.

WRMPSendThrottleFlow

WEAVE_ERROR WRMPSendThrottleFlow(
  uint32_t PauseTimeMillis
)

Envie uma mensagem Throttle Flow para o nó de mesmo nível solicitando que ele regule o envio de mensagens.

Detalhes
Parâmetros
[in] pauseTimeMillis
O tempo (em milissegundos) que se espera que o destinatário acelere seu envio.
Valores Retornados
WEAVE_ERROR_INVALID_ARGUMENT
Se um argumento inválido foi passado para esta API SendMessage.
WEAVE_ERROR_SEND_THROTTLED
Se este contexto de troca foi limitado ao usar o protocolo de mensagens confiável Weave.
WEAVE_ERROR_WRONG_MSG_VERSION_FOR_EXCHANGE
Se houver uma incompatibilidade na operação de envio específica e na versão do protocolo de mensagem do Weave que é compatível. Por exemplo, esse erro seria gerado se a semântica do Weave Reliable Messaging estivesse sendo tentada quando a versão do protocolo de mensagem do Weave fosse V1.
WEAVE_ERROR_NOT_CONNECTED
Se o contexto estava associado a uma conexão que agora está fechada.
WEAVE_ERROR_INCORRECT_STATE
Se o estado do contexto de troca estiver incorreto.
WEAVE_NO_ERROR
Se a camada Weave tiver enviado com sucesso a mensagem para a camada de rede.