nl:: Weave:: ExchangeContext
#include <src/lib/core/WeaveExchangeMgr.h>
Essa classe representa uma conversa em andamento (ExchangeContext) entre dois ou mais nós.
Resumo
Ela define os métodos para codificar e comunicar mensagens do Weave em um ExchangeContext em vários mecanismos de transporte, por exemplo, TCP, UDP ou mensagens confiáveis do Weave.
Tipos públicos |
|
---|---|
@34{
|
tipo enumerado |
@35{
|
tipo enumerado |
ConnectionClosedFunct)(ExchangeContext *ec, WeaveConnection *con, WEAVE_ERROR conErr)
|
typedefvoid(*
Essa função é o callback do aplicativo a ser invocado quando uma conexão existente do Weave é encerrada. |
KeyErrorFunct)(ExchangeContext *ec, WEAVE_ERROR keyErr)
|
typedefvoid(*
Tipo de função de tratamento de mensagens de erro de chave. |
MessageReceiveFunct)(ExchangeContext *ec, const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo, uint32_t profileId, uint8_t msgType, PacketBuffer *payload)
|
typedefvoid(*
Essa função é o callback do aplicativo para processar uma mensagem do Weave recebida. |
ResponseTimeoutFunct)(ExchangeContext *ec)
|
typedefvoid(*
Essa função é o callback do aplicativo a ser invocado quando o tempo limite para o recebimento de uma mensagem de resposta expirar. |
RetransmissionTimeoutFunct)(ExchangeContext *ec)
|
typedefvoid(*
Essa função é o callback do aplicativo que será invocado quando o tempo limite para a retransmissão de uma mensagem enviada expirar. |
Timeout
|
typedefuint32_t
Tipo usado para expressar o tempo limite nesse ExchangeContext, em milissegundos. |
WRMPAckRcvdFunct)(ExchangeContext *ec, void *msgCtxt)
|
typedefvoid(*
Essa função é o callback do aplicativo a ser invocado quando uma confirmação é recebida para uma mensagem do Weave que a solicitou como parte do protocolo de mensagem confiável do Weave. |
WRMPPauseRcvdFunct)(ExchangeContext *ec, uint32_t pauseTime)
|
typedefvoid(*
Essa função é o callback do aplicativo a ser invocado quando uma mensagem de limitação ou mensagem de entrega atrasada é recebida como parte do protocolo de mensagem confiável do Weave. |
WRMPSendErrorFunct)(ExchangeContext *ec, WEAVE_ERROR err, void *msgCtxt)
|
typedefvoid(*
Essa função é o callback do aplicativo a ser invocado quando um erro é encontrado durante o envio de uma mensagem do Weave. |
Atributos públicos |
|
---|---|
AllowDuplicateMsgs
|
bool
Indicador booleano que indica se mensagens duplicadas são permitidas em uma troca específica.
|
AppState
|
void *
Ponteiro para o objeto de estado específico do aplicativo.
|
Con
|
[SOMENTE LEITURA] Conexão do Weave associada.
|
EncryptionType
|
uint8_t
Tipo de criptografia a ser usado ao enviar uma mensagem.
|
ExchangeId
|
uint16_t
[SOMENTE LEITURA] Código da troca atribuído.
|
ExchangeMgr
|
[SOMENTE LEITURA] Proprietário do Exchange.
|
KeyId
|
uint16_t
Chave de criptografia que deve ser usada ao enviar uma mensagem.
|
OnAckRcvd
|
Chamada de retorno do aplicativo para confirmação recebida.
|
OnConnectionClosed
|
|
OnDDRcvd
|
Chamada de retorno do aplicativo para a mensagem de entrega atrasada recebida.
|
OnKeyError
|
Essa função é o callback do aplicativo a ser invocado quando uma mensagem de erro importante é recebida do terminal.
|
OnMessageReceived
|
|
OnResponseTimeout
|
|
OnRetransmissionTimeout
|
|
OnSendError
|
Callback de aplicativo com erro durante o envio.
|
OnThrottleRcvd
|
Callback de aplicativo da mensagem Throttle recebida.
|
PeerAddr
|
IPAddress
[SOMENTE LEITURA] Endereço IP do nó de peering.
|
PeerIntf
|
InterfaceId
[SOMENTE LEITURA] A interface de saída a ser usada ao enviar mensagens para o par.
|
PeerNodeId
|
uint64_t
[SOMENTE LEITURA] ID do nó do nó de peering.
|
PeerPort
|
uint16_t
[SOMENTE LEITURA] Porta do nó de peering.
|
ResponseTimeout
|
Tempo máximo de espera pela 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 mensagem para ExchangeContext.
|
mWRMPConfig
|
Configuração do WRMP.
|
Funções públicas |
|
---|---|
Abort(void)
|
void
Cancela imediatamente o contexto do Exchange e libera todas as referências a ele.
|
AddRef(void)
|
void
Incremente o contador de referência para o contexto da troca.
|
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 do Trickle.
|
Close(void)
|
void
Fechar 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 será liberada quando a troca for liberada.
|
GetCurrentRetransmitTimeout(void)
|
uint32_t
Define o tempo limite de retransmissão atual.
|
GetPeerDescription(char *buf, uint32_t bufSize) const
|
void
Cria uma string que descreve o nó de peering e as informações de endereço / conexão associadas.
|
HandleTrickleMessage(const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo)
|
void
Processar mensagens de texto dentro do contexto da troca.
|
HasPeerRequestedAck(void) const
|
bool
Determine se o pared solicitou a confirmação de pelo menos uma mensagem nesta troca.
|
HasRcvdMsgFromPeer(void) const
|
bool
Determine se pelo menos uma mensagem foi recebida desta troca do par.
|
IsAckPending(void) const
|
bool
Determine se já existe uma confirmação pendente para ser enviada ao peer nessa 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 essa troca.
|
Release(void)
|
void
Referência da versão a esse 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 do Weave nesta troca.
|
SendMessage(uint32_t profileId, uint8_t msgType, PacketBuffer *msgBuf, uint16_t sendFlags, WeaveMessageInfo *msgInfo, void *msgCtxt)
|
Envie uma mensagem do Weave nesta troca.
|
SetAckPending(bool inAckPending)
|
void
Defina se uma confirmação precisa ser enviada de volta ao peering nessa troca.
|
SetAutoReleaseKey(bool autoReleaseKey)
|
void
Defina se a chave de criptografia associada à troca será liberada quando a troca for liberada.
|
SetAutoRequestAck(bool autoReqAck)
|
void
Definir se uma confirmação precisa ser solicitada sempre que uma mensagem for enviada.
|
SetConnectionClosed(bool inConnectionClosed)
|
void
Defina a bit de sinalização kFlagConnectionClosed.
|
SetDropAck(bool inDropAck)
|
void
Defina se o WeaveExchangeManager não deve enviar confirmações para esse contexto.
|
SetInitiator(bool inInitiator)
|
void
Defina a bit de sinalização kFlagInitiator.
|
SetMsgRcvdFromPeer(bool inMsgRcvdFromPeer)
|
void
Define se uma mensagem foi recebida do terminal nessa troca.
|
SetPeerRequestedAck(bool inPeerRequestedAck)
|
void
Define 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 será liberada quando a troca for liberada.
|
SetupTrickleRetransmit(uint32_t retransInterval, uint8_t threshold, uint32_t timeout)
|
Configure o mecanismo de retransmissão de transmissão com o intervalo de retransmissão correspondente e o limite de retransmissão.
|
ShouldAutoReleaseConnection() const
|
bool
Retorne se a conexão Weave associada à troca 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 algoritmo de retransmissão periódico do algoritmo do Trickle.
|
TeardownTrickleRetransmit(void)
|
void
Para eliminar o mecanismo de retransmissão Trickle, cancele os temporizadores periódicos no Trickle e libere o buffer da mensagem com a mensagem Weave.
|
UseEphemeralUDPPort(void) const
|
bool
Retorne se as mensagens de saída enviadas pela troca precisam ser enviadas da porta UDP temporária local.
|
WRMPFlushAcks(void)
|
|
WRMPSendDelayedDelivery(uint32_t PauseTimeMillis, uint64_t DelayedNodeId)
|
Enviar uma mensagem de entrega atrasada para notificar um nó do remetente de que a mensagem enviada anteriormente sofreria um atraso esperado antes de ser entregue ao destinatário.
|
WRMPSendThrottleFlow(uint32_t PauseTimeMillis)
|
Envie uma mensagem Throttle Flow ao nó de peering solicitando que ele limite 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á ativada. |
kSendFlag_DefaultMulticastSourceAddress
|
Usado para indicar que a seleção de endereço de origem padrão do IPv6 deve ser usada ao enviar mensagens de 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 descontinuado para |
kSendFlag_NoAutoRequestAck
|
Suprimir 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 mensagens não deve ser liberado depois do envio. |
kSendFlag_RetransmissionTrickle
|
Usado para indicar o requisito de retransmissões para o 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
|
Tamanho máximo da string (incluindo o caractere NUL) retornado por GetPeerDescription(). |
FunClosedFunct
void(* ConnectionClosedFunct)(ExchangeContext *ec, WeaveConnection *con, WEAVE_ERROR conErr)
Essa função é o callback do aplicativo a ser invocado quando uma conexão existente do Weave é encerrada.
Detalhes | |||||||
---|---|---|---|---|---|---|---|
Parâmetros |
|
KeyErrorFunct
void(* KeyErrorFunct)(ExchangeContext *ec, WEAVE_ERROR keyErr)
Tipo de função de tratamento de mensagens de erro de chave.
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
|
MessageReceiveFunct
void(* MessageReceiveFunct)(ExchangeContext *ec, const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo, uint32_t profileId, uint8_t msgType, PacketBuffer *payload)
Essa função é o callback do aplicativo para processar uma mensagem do Weave recebida.
Detalhes | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parâmetros |
|
ResponseTimeoutFunct
void(* ResponseTimeoutFunct)(ExchangeContext *ec)
Essa função é o callback do aplicativo a ser invocado quando o tempo limite para o recebimento de uma mensagem de resposta expirar.
Detalhes | |||
---|---|---|---|
Parâmetros |
|
RetransmissionTimeoutFunct
void(* RetransmissionTimeoutFunct)(ExchangeContext *ec)
Essa função é o callback do aplicativo que será invocado quando o tempo limite para a retransmissão de uma mensagem enviada expirar.
Detalhes | |||
---|---|---|---|
Parâmetros |
|
Tempo limite
uint32_t Timeout
Tipo usado para expressar o tempo limite nesse ExchangeContext, em milissegundos.
WRMPAckRcvdFunct.
void(* WRMPAckRcvdFunct)(ExchangeContext *ec, void *msgCtxt)
Essa função é o callback do aplicativo a ser invocado quando uma confirmação é recebida para uma mensagem do Weave que a solicitou como parte do protocolo de mensagem confiável do Weave.
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
|
WRMPPauseRcvdFunct.
void(* WRMPPauseRcvdFunct)(ExchangeContext *ec, uint32_t pauseTime)
Essa função é o callback do aplicativo a ser invocado quando uma mensagem de limitação ou mensagem de entrega atrasada é recebida como parte do protocolo de mensagem confiável do Weave.
Cada uma dessas mensagens é acompanhada de um valor de tempo (em milissegundos), que significa a hora de pausar o envio de mensagens do Weave neste ExchangeContext.
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
|
WRMPSendErrorFunct
void(* WRMPSendErrorFunct)(ExchangeContext *ec, WEAVE_ERROR err, void *msgCtxt)
Essa função é o callback do aplicativo a ser invocado quando um erro é encontrado durante o envio de uma mensagem do Weave.
Detalhes | |||||||
---|---|---|---|---|---|---|---|
Parâmetros |
|
Atributos públicos
AllowDuplicateMsgs
bool AllowDuplicateMsgs
Indicador booleano que indica se mensagens duplicadas são permitidas em uma troca específica.
Estado do aplicativo
void * AppState
Ponteiro para o objeto de estado específico do aplicativo.
EncryptionType
uint8_t EncryptionType
Tipo de criptografia a ser usado ao enviar uma mensagem.
Código da troca
uint16_t ExchangeId
[SOMENTE LEITURA] Código da troca atribuído.
KeyId
uint16_t KeyId
Chave de criptografia que deve ser usada ao enviar uma mensagem.
OnConnectionClosed.
ConnectionClosedFunct OnConnectionClosed
OnDDRcvd.
WRMPPauseRcvdFunct OnDDRcvd
Chamada de retorno do aplicativo para a mensagem de entrega atrasada recebida.
OnKeyError
KeyErrorFunct OnKeyError
Essa função é o callback do aplicativo a ser invocado quando uma mensagem de erro importante é recebida do terminal.
OnMessageReceived
MessageReceiveFunct OnMessageReceived
OnResponseTimeout
ResponseTimeoutFunct OnResponseTimeout
OnRetransmissionTimeout
RetransmissionTimeoutFunct OnRetransmissionTimeout
OnThrottleRcvd
WRMPPauseRcvdFunct OnThrottleRcvd
Callback de aplicativo da mensagem Throttle recebida.
Peering
IPAddress PeerAddr
[SOMENTE LEITURA] Endereço IP do nó de peering.
PeeringIntf
InterfaceId PeerIntf
[SOMENTE LEITURA] A interface de saída a ser usada ao enviar mensagens para o par.
Só é importante para UDP.
ID de peering
uint64_t PeerNodeId
[SOMENTE LEITURA] ID do nó do nó de peering.
Porta de peering
uint16_t PeerPort
[SOMENTE LEITURA] Porta do nó de peering.
Tempo limite de resposta
Timeout ResponseTimeout
Tempo máximo de espera pela 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 mensagem para ExchangeContext.
Funções públicas
Cancelar
void Abort( void )
Cancela imediatamente o contexto do Exchange e libera todas as referências a ele.
Adicionar referência
void AddRef( void )
Incremente o contador de referência para o contexto da troca.
AutoRequestAck
bool AutoRequestAck() const
Retorna se uma confirmação será solicitada sempre que uma mensagem for enviada.
CancelarRetrans
void CancelRetrans( void )
Cancele o mecanismo de retransmissão do Trickle.
Fechar
void Close( void )
Fechar um contexto de troca
Essa chamada diminui a contagem de referência e libera a troca quando a contagem de referência chega a 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 |
|
||||||||||
Valores de retorno |
|
GetAutoReleaseKey
bool GetAutoReleaseKey() const
Retorne se a chave de criptografia associada à troca será liberada quando a troca for liberada.
GetCurrentRebroadcastTimeout
uint32_t GetCurrentRetransmitTimeout( void )
Define o tempo limite de retransmissão atual.
Pode ser o tempo limite de retransmissão inicial ou ativo com base no fato de o ExchangeContext ter uma troca de mensagens ativa com o par.
Detalhes | |
---|---|
Retorna |
a hora de retransmissão atual.
|
GetPeerDescription
void GetPeerDescription( char *buf, uint32_t bufSize ) const
Cria uma string que descreve o nó de peering e as informações de endereço / conexão associadas.
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
|
HandleTrickleMessage
void HandleTrickleMessage( const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo )
Processar mensagens de texto dentro do contexto da troca.
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
|
HasPeerRequestedAck
bool HasPeerRequestedAck( void ) const
Determine se o pared solicitou a confirmação de pelo menos uma mensagem nesta troca.
Detalhes | |
---|---|
Retorna |
Retorna 'true' se o reconhecimento for solicitado, caso contrário, 'false'.
|
HasRcvdMsgFromPeer
bool HasRcvdMsgFromPeer( void ) const
Determine se pelo menos uma mensagem foi recebida desta troca do par.
Detalhes | |
---|---|
Retorna |
Retorna 'true' se a mensagem foi recebida; caso contrário, 'false'.
|
IsAckPendente
bool IsAckPending( void ) const
Determine se já existe uma confirmação pendente para ser enviada ao peer nessa troca.
IsConnectionClosed.
bool IsConnectionClosed( void ) const
Determine se o ExchangeContext tem um WeaveConnection ativo associado.
Detalhes | |
---|---|
Retorna |
Retorna 'true' se a conexão for fechada, caso contrário, 'false'.
|
Iniciador
bool IsInitiator( void ) const
Determine se o contexto é o iniciador da troca.
Detalhes | |
---|---|
Retorna |
Retorna 'true' se for o iniciador, caso contrário, 'false'.
|
IsResponseExpected
bool IsResponseExpected( void ) const
Determine se uma resposta é esperada para mensagens enviadas por essa troca.
Detalhes | |
---|---|
Retorna |
Retorna 'true' se a resposta for esperada, ou 'false'.
|
Versão
void Release( void )
Referência da versão a esse contexto de troca.
Se a contagem for baixa para um, feche o contexto, redefina todos os callbacks de aplicativos e interrompa todos os timers.
SendCommonNullMessage
WEAVE_ERROR SendCommonNullMessage( void )
Envie uma mensagem Common::Null.
Detalhes | |||||||
---|---|---|---|---|---|---|---|
Valores de retorno |
|
Mensagem de envio
WEAVE_ERROR SendMessage( uint32_t profileId, uint8_t msgType, PacketBuffer *msgPayload, uint16_t sendFlags, void *msgCtxt )
Envie uma mensagem do Weave nesta troca.
Detalhes | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||||||||
Valores de retorno |
|
Mensagem de envio
WEAVE_ERROR SendMessage( uint32_t profileId, uint8_t msgType, PacketBuffer *msgBuf, uint16_t sendFlags, WeaveMessageInfo *msgInfo, void *msgCtxt )
Envie uma mensagem do Weave nesta troca.
Detalhes | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||||||||
Valores de retorno |
|
SetAckPendente
void SetAckPending( bool inAckPending )
Defina se uma confirmação precisa ser enviada de volta ao peering nessa troca.
Detalhes | |||
---|---|---|---|
Parâmetros |
|
Chave de liberação automática
void SetAutoReleaseKey( bool autoReleaseKey )
Defina se a chave de criptografia associada à troca será liberada quando a troca for liberada.
Detalhes | |||
---|---|---|---|
Parâmetros |
|
SetAutoRequestAck
void SetAutoRequestAck( bool autoReqAck )
Definir se uma confirmação precisa ser solicitada sempre que uma mensagem for enviada.
Detalhes | |||
---|---|---|---|
Parâmetros |
|
SetConnectionClosed.
void SetConnectionClosed( bool inConnectionClosed )
Defina a bit de sinalização kFlagConnectionClosed.
Essa sinalização é definida quando um WeaveConnection associado a um ExchangeContext é fechado.
Detalhes | |||
---|---|---|---|
Parâmetros |
|
SetDropAck
void SetDropAck( bool inDropAck )
Defina se o WeaveExchangeManager não deve enviar confirmações para esse contexto.
Somente para uso interno de depuração.
Detalhes | |||
---|---|---|---|
Parâmetros |
|
Iniciador
void SetInitiator( bool inInitiator )
Defina a bit de sinalização kFlagInitiator.
Essa sinalização é definida pelo nó que inicia a troca.
Detalhes | |||
---|---|---|---|
Parâmetros |
|
SetMsgRcvdFromPeer
void SetMsgRcvdFromPeer( bool inMsgRcvdFromPeer )
Define se uma mensagem foi recebida do terminal nessa troca.
Detalhes | |||
---|---|---|---|
Parâmetros |
|
SetPeerRequestedAck
void SetPeerRequestedAck( bool inPeerRequestedAck )
Define se uma confirmação foi solicitada na última mensagem recebida nesta troca.
Detalhes | |||
---|---|---|---|
Parâmetros |
|
SetResponseExpected
void SetResponseExpected( bool inResponseExpected )
Defina se uma resposta é esperada nesta troca.
Detalhes | |||
---|---|---|---|
Parâmetros |
|
SetShouldAutoReleaseConnection (link em inglês)
void SetShouldAutoReleaseConnection( bool autoReleaseCon )
Defina se a conexão Weave associada à troca será liberada quando a troca for liberada.
Detalhes | |||
---|---|---|---|
Parâmetros |
|
SetupTrickleRebroadcast
WEAVE_ERROR SetupTrickleRetransmit( uint32_t retransInterval, uint8_t threshold, uint32_t timeout )
Configure o mecanismo de retransmissão de transmissão com o intervalo de retransmissão correspondente e o limite de retransmissão.
Detalhes | |||||||
---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||
Retorna |
WEAVE_NO_ERROR se a configuração do Trickle tiver sido bem-sucedida, caso contrário, um INET_ERROR mapeado em um WEAVE_ERROR.
|
DeveAutoReleaseConnection
bool ShouldAutoReleaseConnection() const
Retorne se a conexão Weave associada à troca será liberada quando a troca for liberada.
MustDropAck
bool ShouldDropAck( void ) const
Determine se o WeaveExchangeManager não deve enviar uma confirmação.
Somente para uso interno de depuração.
StartTimerT
WEAVE_ERROR StartTimerT( void )
Inicie o algoritmo de retransmissão periódico do algoritmo do Trickle.
Detalhes | |
---|---|
Retorna |
WEAVE_NO_ERROR se for bem-sucedido, caso contrário, um INET_ERROR mapeado em um WEAVE_ERROR.
|
TeardownTrickleRebroadcast (em inglês)
void TeardownTrickleRetransmit( void )
Para eliminar o mecanismo de retransmissão Trickle, cancele os temporizadores periódicos no Trickle e libere o buffer da mensagem com a mensagem Weave.
UsePortEUDPemeral
bool UseEphemeralUDPPort( void ) const
Retorne se as mensagens de saída enviadas pela troca precisam ser enviadas da porta UDP temporária local.
WRMPFlushAcks
WEAVE_ERROR WRMPFlushAcks( void )
WRMPSendDelayedDelivery
WEAVE_ERROR WRMPSendDelayedDelivery( uint32_t PauseTimeMillis, uint64_t DelayedNodeId )
Enviar uma mensagem de entrega atrasada para notificar um nó do remetente de que a mensagem enviada anteriormente sofreria um atraso esperado antes de ser entregue ao destinatário.
Uma das possíveis causas do atraso nas mensagens antes da entrega é quando o nó final do destinatário está inativo. Essa mensagem pode ser 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 reajusta os temporizadores de retransmissão de mensagens que buscam reconhecimentos.
Detalhes | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||||||
Valores de retorno |
|
WRMPSendThrottleFlow
WEAVE_ERROR WRMPSendThrottleFlow( uint32_t PauseTimeMillis )
Envie uma mensagem Throttle Flow ao nó de peering solicitando que ele limite o envio de mensagens.
Detalhes | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||||||||
Valores de retorno |
|