nl:: Weave:: ExchangeContext
#include <src/lib/core/WeaveExchangeMgr.h>
Esta classe representa uma conversa em andamento (ExchangeContext) entre dois ou mais nós.
Resumo
Ela define métodos para codificar e comunicar mensagens do Weave em um ExchangeContext por vários mecanismos de transporte, por exemplo, TCP, UDP ou Weave Reliable Messaging.
Tipos públicos |
|
---|---|
@34{
|
enum |
@35{
|
enum |
ConnectionClosedFunct)(ExchangeContext *ec, WeaveConnection *con, WEAVE_ERROR conErr)
|
typedefvoid(*
Essa função é o callback do aplicativo a ser invocado quando uma conexão do Weave existente for encerrada. |
KeyErrorFunct)(ExchangeContext *ec, WEAVE_ERROR keyErr)
|
typedefvoid(*
Tipo de função principal de tratamento de mensagens de erro. |
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 lidar com 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 a ser invocado quando o tempo limite para retransmissão de uma mensagem enviada anteriormente tiver expirado. |
Timeout
|
typedefuint32_t
Tipo usado para expressar o tempo limite neste 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 solicitou uma como parte do protocolo de mensagens confiáveis do Weave. |
WRMPPauseRcvdFunct)(ExchangeContext *ec, uint32_t pauseTime)
|
typedefvoid(*
Essa função é o callback do aplicativo para invocar quando uma mensagem Throttle ou uma mensagem de entrega atrasada for recebida como parte do Weave Reliable Messaging Protocol. |
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 boleano que indica se mensagens duplicadas são permitidas para uma determinada troca.
|
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] ID de troca atribuído.
|
ExchangeMgr
|
[SOMENTE LEITURA] Gerente de troca proprietário.
|
KeyId
|
uint16_t
Chave de criptografia a ser usada ao enviar uma mensagem.
|
OnAckRcvd
|
Callback do aplicativo para a 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 a mensagem de erro de chave é recebida do peering.
|
OnMessageReceived
|
|
OnResponseTimeout
|
|
OnRetransmissionTimeout
|
|
OnSendError
|
Chamada de retorno do aplicativo para erro durante o envio.
|
OnThrottleRcvd
|
Callback do aplicativo para a mensagem do Throttle recebida.
|
PeerAddr
|
IPAddress
[SOMENTE LEITURA] Endereço IP do nó de peering.
|
PeerIntf
|
InterfaceId
[SOMENTE LEITURA] Interface de saída a ser usada ao enviar mensagens para o ponto.
|
PeerNodeId
|
uint64_t
[SOMENTE LEITURA] ID 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
A versão do protocolo de mensagem do ExchangeContext.
|
mWRMPConfig
|
Configuração do WRMP.
|
Funções públicas |
|
---|---|
Abort(void)
|
void
Cancele o contexto do Exchange imediatamente e libere todas as referências a ele.
|
AddRef(void)
|
void
Incremente 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
Cancelar o mecanismo de retransmissão do Trickle.
|
Close(void)
|
void
Feche adequadamente um contexto de troca.
|
EncodeExchHeader(WeaveExchangeHeader *exchangeHeader, uint32_t profileId, uint8_t msgType, PacketBuffer *msgBuf, uint16_t sendFlags)
|
Codifique o cabeçalho da troca em um buffer de mensagem.
|
GetAutoReleaseKey() const
|
bool
Retorna se a chave de criptografia associada à troca precisa ser liberada quando a troca for liberada.
|
GetCurrentRetransmitTimeout(void)
|
uint32_t
Acessa o tempo limite de retransmissão atual.
|
GetPeerDescription(char *buf, uint32_t bufSize) const
|
void
Constrói 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
Gerencie a mensagem do truque no contexto da troca.
|
HasPeerRequestedAck(void) const
|
bool
Determine se o colega solicitou a confirmação para pelo menos uma mensagem nesta troca.
|
HasRcvdMsgFromPeer(void) const
|
bool
Determine se pelo menos uma mensagem foi recebida nesta troca do ponto.
|
IsAckPending(void) const
|
bool
Determine se já existe uma confirmação pendente a ser enviada ao par nesta troca.
|
IsConnectionClosed(void) const
|
bool
Determine se o ExchangeContext tem uma WeaveConnection ativa associada.
|
IsInitiator(void) const
|
bool
Determine se o contexto é o iniciador da troca.
|
IsResponseExpected(void) const
|
bool
Determine se uma resposta é esperada para as mensagens enviadas nessa troca.
|
Release(void)
|
void
Referência de lançamento para este contexto de troca.
|
SendCommonNullMessage(void)
|
Enviar 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 par nesta troca.
|
SetAutoReleaseKey(bool autoReleaseKey)
|
void
Defina se a chave de criptografia associada à troca será liberada quando ela for liberada.
|
SetAutoRequestAck(bool autoReqAck)
|
void
Defina se uma confirmação precisa ser solicitada sempre que uma mensagem é enviada.
|
SetConnectionClosed(bool inConnectionClosed)
|
void
Define o 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
Define o bit de flag kFlagInitiator.
|
SetMsgRcvdFromPeer(bool inMsgRcvdFromPeer)
|
void
Defina se uma mensagem foi recebida do par nesta troca.
|
SetPeerRequestedAck(bool inPeerRequestedAck)
|
void
Defina 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 do Weave associada à troca será liberada quando ela for liberada.
|
SetupTrickleRetransmit(uint32_t retransInterval, uint8_t threshold, uint32_t timeout)
|
Configure o mecanismo de retransmissão de gotejamento definindo o intervalo e o limite de retransmissão correspondentes.
|
ShouldAutoReleaseConnection() const
|
bool
Retorna se a conexão do Weave associada à troca será liberada quando a troca for liberada.
|
ShouldDropAck(void) const
|
bool
Determine se o WeaveExchangeManager não enviará uma confirmação.
|
StartTimerT(void)
|
Inicie o mecanismo de timer de retransmissão periódica do algoritmo de retransmissão do Trickle.
|
TeardownTrickleRetransmit(void)
|
void
Elimine o mecanismo de retransmissão do Trickle cancelando os timers periódicos dentro dele e liberando o buffer de mensagens que contém a mensagem do Weave.
|
UseEphemeralUDPPort(void) const
|
bool
Retorna se as mensagens de saída enviadas pela troca precisam ser enviadas da porta UDP local temporária.
|
WRMPFlushAcks(void)
|
|
WRMPSendDelayedDelivery(uint32_t PauseTimeMillis, uint64_t DelayedNodeId)
|
Envie uma mensagem de entrega atrasada para notificar um nó remetente que a mensagem enviada anteriormente passaria por um atraso esperado antes da entrega ao destinatário.
|
WRMPSendThrottleFlow(uint32_t PauseTimeMillis)
|
Envie uma mensagem "Acelerar fluxo" ao nó de peering solicitando que 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 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 descontinuado de |
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 da mensagem não deve ser liberado após o envio. |
kSendFlag_RetransmissionTrickle
|
Usado para indicar a necessidade de retransmissões do Trickle. |
kSendFlag_ReuseMessageId
|
Usado para indicar que o ID da mensagem no cabeçalho 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(). |
ConnectionClosedFunct
void(* ConnectionClosedFunct)(ExchangeContext *ec, WeaveConnection *con, WEAVE_ERROR conErr)
Essa função é o callback do aplicativo a ser invocado quando uma conexão do Weave existente for encerrada.
Detalhes | |||||||
---|---|---|---|---|---|---|---|
Parâmetros |
|
KeyErrorFunct
void(* KeyErrorFunct)(ExchangeContext *ec, WEAVE_ERROR keyErr)
Tipo de função principal de tratamento de mensagens de erro.
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 lidar com 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 a ser invocado quando o tempo limite para retransmissão de uma mensagem enviada anteriormente tiver expirado.
Detalhes | |||
---|---|---|---|
Parâmetros |
|
Tempo limite
uint32_t Timeout
Tipo usado para expressar o tempo limite neste 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 solicitou uma como parte do protocolo de mensagens confiáveis do Weave.
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
|
WRMPPauseRcvdFunct
void(* WRMPPauseRcvdFunct)(ExchangeContext *ec, uint32_t pauseTime)
Essa função é o callback do aplicativo para invocar quando uma mensagem Throttle ou uma mensagem de entrega atrasada for recebida como parte do Weave Reliable Messaging Protocol.
Cada uma dessas mensagens é acompanhada de um valor de tempo (em milissegundos) que significa o tempo para 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 boleano que indica se mensagens duplicadas são permitidas para uma determinada troca.
AppState
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.
ExchangeId
uint16_t ExchangeId
[SOMENTE LEITURA] ID de troca atribuído.
KeyId
uint16_t KeyId
Chave de criptografia a 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 a mensagem de erro de chave é recebida do peering.
OnMessageReceived
MessageReceiveFunct OnMessageReceived
OnResponseTimeout
ResponseTimeoutFunct OnResponseTimeout
OnRetransmissionTimeout
RetransmissionTimeoutFunct OnRetransmissionTimeout
OnSendError
WRMPSendErrorFunct OnSendError
Chamada de retorno do aplicativo para erro durante o envio.
OnThrottleRcvd
WRMPPauseRcvdFunct OnThrottleRcvd
Callback do aplicativo para a mensagem do Throttle recebida.
PeerAddr
IPAddress PeerAddr
[SOMENTE LEITURA] Endereço IP do nó de peering.
PeerIntf
InterfaceId PeerIntf
[SOMENTE LEITURA] Interface de saída a ser usada ao enviar mensagens para o ponto.
Significativo somente para UDP.
PeerNodeId
uint64_t PeerNodeId
[SOMENTE LEITURA] ID do nó de peering.
PeerPort
uint16_t PeerPort
[SOMENTE LEITURA] Porta do nó de peering.
ResponseTimeout
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
A versão do protocolo de mensagem do ExchangeContext.
Funções públicas
Cancelar
void Abort( void )
Cancele o contexto do Exchange imediatamente e libere todas as referências a ele.
AddRef
void AddRef( void )
Incremente 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 )
Cancelar o mecanismo de retransmissão do Trickle.
Fechar
void Close( void )
Feche adequadamente 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 da troca em um buffer de mensagem.
Detalhes | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||||||
Valores de retorno |
|
GetAutoReleaseKey
bool GetAutoReleaseKey() const
Retorna se a chave de criptografia associada à troca precisa ser liberada quando a troca for liberada.
GetCurrentRetransmitTimeout
uint32_t GetCurrentRetransmitTimeout( void )
Acessa o tempo limite de retransmissão atual.
Pode ser o tempo limite de retransmissão inicial ou ativo, dependendo se o ExchangeContext tem uma troca de mensagens ativa com o par.
Detalhes | |
---|---|
Retornos |
o horário de retransmissão atual.
|
GetPeerDescription
void GetPeerDescription( char *buf, uint32_t bufSize ) const
Constrói 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 )
Gerencie a mensagem do truque no contexto da troca.
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
|
HasPeerRequestedAck
bool HasPeerRequestedAck( void ) const
Determine se o colega solicitou a confirmação para pelo menos uma mensagem nesta troca.
Detalhes | |
---|---|
Retornos |
Retorna "true" se a confirmação for solicitada, caso contrário, será "false".
|
HasRcvdMsgFromPeer
bool HasRcvdMsgFromPeer( void ) const
Determine se pelo menos uma mensagem foi recebida nesta troca do ponto.
Detalhes | |
---|---|
Retornos |
Retorna "true" se a mensagem foi recebida; caso contrário, será "false".
|
IsAckPending
bool IsAckPending( void ) const
Determine se já existe uma confirmação pendente a ser enviada ao par nesta troca.
IsConnectionClosed
bool IsConnectionClosed( void ) const
Determine se o ExchangeContext tem uma WeaveConnection ativa associada.
Detalhes | |
---|---|
Retornos |
Retorna "true" se a conexão estiver encerrada. Caso contrário, será "false".
|
IsInitiator
bool IsInitiator( void ) const
Determine se o contexto é o iniciador da troca.
Detalhes | |
---|---|
Retornos |
Retorna "true" se ele foi o iniciador, ou 'false'.
|
IsResponseExpected
bool IsResponseExpected( void ) const
Determine se uma resposta é esperada para as mensagens enviadas nessa troca.
Detalhes | |
---|---|
Retornos |
Retorna "true" se a resposta for esperada. Caso contrário, "false".
|
Versão
void Release( void )
Referência de lançamento para este contexto de troca.
Se a contagem for reduzida a um, feche o contexto, redefina todos os callbacks do aplicativo e interrompa todos os timers.
SendCommonNullMessage
WEAVE_ERROR SendCommonNullMessage( void )
Enviar uma mensagem Common::Null.
Detalhes | |||||||
---|---|---|---|---|---|---|---|
Valores de retorno |
|
SendMessage
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 |
|
SendMessage
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 |
|
SetAckPending
void SetAckPending( bool inAckPending )
Defina se uma confirmação precisa ser enviada de volta ao par nesta troca.
Detalhes | |||
---|---|---|---|
Parâmetros |
|
SetAutoReleaseKey
void SetAutoReleaseKey( bool autoReleaseKey )
Defina se a chave de criptografia associada à troca será liberada quando ela for liberada.
Detalhes | |||
---|---|---|---|
Parâmetros |
|
SetAutoRequestAck
void SetAutoRequestAck( bool autoReqAck )
Defina se uma confirmação precisa ser solicitada sempre que uma mensagem é enviada.
Detalhes | |||
---|---|---|---|
Parâmetros |
|
SetConnectionClosed
void SetConnectionClosed( bool inConnectionClosed )
Define o 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.
Apenas para uso interno, de depuração.
Detalhes | |||
---|---|---|---|
Parâmetros |
|
SetInitiator
void SetInitiator( bool inInitiator )
Define o bit de flag kFlagInitiator.
Essa flag é definida pelo nó que inicia uma troca.
Detalhes | |||
---|---|---|---|
Parâmetros |
|
SetMsgRcvdFromPeer
void SetMsgRcvdFromPeer( bool inMsgRcvdFromPeer )
Defina se uma mensagem foi recebida do par nesta troca.
Detalhes | |||
---|---|---|---|
Parâmetros |
|
SetPeerRequestedAck
void SetPeerRequestedAck( bool inPeerRequestedAck )
Defina 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
void SetShouldAutoReleaseConnection( bool autoReleaseCon )
Defina se a conexão do Weave associada à troca será liberada quando ela for liberada.
Detalhes | |||
---|---|---|---|
Parâmetros |
|
SetupTrickleRetransmit
WEAVE_ERROR SetupTrickleRetransmit( uint32_t retransInterval, uint8_t threshold, uint32_t timeout )
Configure o mecanismo de retransmissão de gotejamento definindo o intervalo e o limite de retransmissão correspondentes.
Detalhes | |||||||
---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||
Retornos |
WEAVE_NO_ERROR se a configuração do Trickle tiver sido bem-sucedida. Caso contrário, um INET_ERROR mapeado para um WEAVE_ERROR.
|
ShouldAutoReleaseConnection
bool ShouldAutoReleaseConnection() const
Retorna se a conexão do Weave associada à troca será liberada quando a troca for liberada.
ShouldDropAck
bool ShouldDropAck( void ) const
Determine se o WeaveExchangeManager não enviará uma confirmação.
Apenas para uso interno, de depuração.
StartTimerT
WEAVE_ERROR StartTimerT( void )
Inicie o mecanismo de timer de retransmissão periódica do algoritmo de retransmissão do Trickle.
Detalhes | |
---|---|
Retornos |
WEAVE_NO_ERROR se for bem-sucedido, caso contrário, um INET_ERROR mapeado para um WEAVE_ERROR.
|
TeardownTrickleRetransmit
void TeardownTrickleRetransmit( void )
Elimine o mecanismo de retransmissão do Trickle cancelando os timers periódicos dentro dele e liberando o buffer de mensagens que contém a mensagem do Weave.
UseEphemeralUDPPort
bool UseEphemeralUDPPort( void ) const
Retorna se as mensagens de saída enviadas pela troca precisam ser enviadas da porta UDP local temporária.
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ó remetente que a mensagem enviada anteriormente passaria por um atraso esperado antes da entrega ao destinatário.
Uma das possíveis causas de atraso nas mensagens antes de serem entregues é 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 tenha conhecimento suficiente do destinatário para inferir sobre a entrega atrasada. Ao receber essa mensagem, o remetente reajusta os timers de retransmissão para as mensagens que buscam confirmações de retorno.
Detalhes | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||||||
Valores de retorno |
|
WRMPSendThrottleFlow
WEAVE_ERROR WRMPSendThrottleFlow( uint32_t PauseTimeMillis )
Envie uma mensagem "Acelerar fluxo" ao nó de peering solicitando que limite o envio de mensagens.
Detalhes | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||||||||
Valores de retorno |
|