nl:: 매서:: ExchangeContext
#include <src/lib/core/WeaveExchangeMgr.h>
이 클래스는 두 개 이상의 노드 간에 진행 중인 대화(ExchangeContext)를 나타냅니다.
요약
다양한 전송 메커니즘(예: TCP, UDP, Weave Reliable Messaging)을 통해 ExchangeContext 내에서 Weave 메시지를 인코딩하고 전달하는 메서드를 정의합니다.
공개 유형 |
|
---|---|
@34{
|
enum |
@35{
|
enum |
ConnectionClosedFunct)(ExchangeContext *ec, WeaveConnection *con, WEAVE_ERROR conErr)
|
typedefvoid(*
이 함수는 기존 Weave 연결이 닫힐 때 호출할 애플리케이션 콜백입니다. |
KeyErrorFunct)(ExchangeContext *ec, WEAVE_ERROR keyErr)
|
typedefvoid(*
키 오류 메시지 처리 함수 유형입니다. |
MessageReceiveFunct)(ExchangeContext *ec, const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo, uint32_t profileId, uint8_t msgType, PacketBuffer *payload)
|
typedefvoid(*
이 함수는 수신된 Weave 메시지를 처리하기 위한 애플리케이션 콜백입니다. |
ResponseTimeoutFunct)(ExchangeContext *ec)
|
typedefvoid(*
이 함수는 응답 메시지 수신 제한 시간이 만료되었을 때 호출할 애플리케이션 콜백입니다. |
RetransmissionTimeoutFunct)(ExchangeContext *ec)
|
typedefvoid(*
이 함수는 이전에 보낸 메시지의 재전송 제한 시간이 만료되었을 때 호출할 애플리케이션 콜백입니다. |
Timeout
|
typedefuint32_t
ExchangeContext에서 시간 제한을 밀리초 단위로 표현하는 데 사용되는 유형입니다. |
WRMPAckRcvdFunct)(ExchangeContext *ec, void *msgCtxt)
|
typedefvoid(*
이 함수는 Weave Reliable Messaging 프로토콜의 일부로 요청한 Weave 메시지에 대한 확인이 수신된 경우 호출할 애플리케이션 콜백입니다. |
WRMPPauseRcvdFunct)(ExchangeContext *ec, uint32_t pauseTime)
|
typedefvoid(*
이 함수는 Weave Reliable Messaging 프로토콜의 일부로 제한 메시지 또는 지연된 전송 메시지가 수신될 때 호출하는 애플리케이션 콜백입니다. |
WRMPSendErrorFunct)(ExchangeContext *ec, WEAVE_ERROR err, void *msgCtxt)
|
typedefvoid(*
이 함수는 Weave 메시지를 보내는 동안 오류가 발생하면 호출할 애플리케이션 콜백입니다. |
공개 속성 |
|
---|---|
AllowDuplicateMsgs
|
bool
지정된 거래소에 중복된 메시지가 허용되는지 여부를 나타내는 부울 표시기입니다.
|
AppState
|
void *
애플리케이션별 상태 객체를 가리키는 포인터입니다.
|
Con
|
[읽기 전용] 연결된 Weave 연결입니다.
|
EncryptionType
|
uint8_t
메시지를 보낼 때 사용할 암호화 유형입니다.
|
ExchangeId
|
uint16_t
[읽기 전용] 할당된 거래소 ID입니다.
|
ExchangeMgr
|
[읽기 전용] 거래소 관리자
|
KeyId
|
uint16_t
메시지를 전송할 때 사용할 암호화 키입니다.
|
OnAckRcvd
|
수신된 확인을 위한 애플리케이션 콜백입니다.
|
OnConnectionClosed
|
|
OnDDRcvd
|
수신된 지연된 메시지 수신에 대한 애플리케이션 콜백입니다.
|
OnKeyError
|
이 함수는 키 오류 메시지가 피어로부터 수신될 때 호출할 애플리케이션 콜백입니다.
|
OnMessageReceived
|
|
OnResponseTimeout
|
|
OnRetransmissionTimeout
|
|
OnSendError
|
보내는 동안 오류가 발생한 애플리케이션 콜백입니다.
|
OnThrottleRcvd
|
수신된 Throttle 메시지의 애플리케이션 콜백입니다.
|
PeerAddr
|
IPAddress
[읽기 전용] 피어 노드의 IP 주소입니다.
|
PeerIntf
|
InterfaceId
[읽기 전용] 피어에 메시지를 보낼 때 사용할 발신 인터페이스입니다.
|
PeerNodeId
|
uint64_t
[읽기 전용] 피어 노드의 노드 ID입니다.
|
PeerPort
|
uint16_t
[읽기 전용] 피어 노드 포트입니다.
|
ResponseTimeout
|
응답을 기다리는 최대 시간 (밀리초)입니다. 0은 응답 시간 제한을 사용 중지합니다.
|
RetransInterval
|
uint32_t
재전송 간의 시간 (밀리초)입니다. 0은 재전송을 사용 중지합니다.
|
mMsgProtocolVersion
|
uint16_t
ExchangeContext의 메시지 프로토콜 버전
|
mWRMPConfig
|
WRMP 구성
|
공개 함수 |
|
---|---|
Abort(void)
|
void
Exchange 컨텍스트를 즉시 취소하고 해당 참조를 모두 해제합니다.
|
AddRef(void)
|
void
거래소 컨텍스트의 참조 카운터를 하나씩 늘립니다.
|
AutoRequestAck() const
|
bool
메시지가 전송될 때마다 확인을 요청할지 여부를 반환합니다.
|
CancelRetrans(void)
|
void
Trickle 재전송 메커니즘을 취소합니다.
|
Close(void)
|
void
교환 컨텍스트를 정상적으로 종료하세요.
|
EncodeExchHeader(WeaveExchangeHeader *exchangeHeader, uint32_t profileId, uint8_t msgType, PacketBuffer *msgBuf, uint16_t sendFlags)
|
Exchange 헤더를 메시지 버퍼로 인코딩합니다.
|
GetAutoReleaseKey() const
|
bool
교환 시 해제 시 교환과 연결된 암호화 키를 해제해야 하는지 반환합니다.
|
GetCurrentRetransmitTimeout(void)
|
uint32_t
현재 재전송 제한 시간을 가져옵니다.
|
GetPeerDescription(char *buf, uint32_t bufSize) const
|
void
피어 노드 및 관련 주소 / 연결 정보를 설명하는 문자열을 생성합니다.
|
HandleTrickleMessage(const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo)
|
void
교환 컨텍스트 내에서 까다로운 메시지를 처리합니다.
|
HasPeerRequestedAck(void) const
|
bool
피어에서 이 교환에 대한 하나 이상의 메시지에 대한 확인을 요청했는지 확인합니다.
|
HasRcvdMsgFromPeer(void) const
|
bool
이 거래소에서 하나 이상의 메시지를 동종 앱으로부터 수신했는지 확인합니다.
|
IsAckPending(void) const
|
bool
이 거래소에서 피어에게 전송될 확인이 이미 있는지 확인합니다.
|
IsConnectionClosed(void) const
|
bool
ExchangeContext에 연결된 활성 WeaveConnection이 있는지 확인합니다.
|
IsInitiator(void) const
|
bool
맥락이 거래소의 시작점인지 확인합니다.
|
IsResponseExpected(void) const
|
bool
이 교환을 통해 보낸 메일에 대한 응답 여부를 예상합니다.
|
Release(void)
|
void
이 교환 컨텍스트의 출시 참조입니다.
|
SendCommonNullMessage(void)
|
Common::Null 메시지를 전송합니다.
|
SendMessage(uint32_t profileId, uint8_t msgType, PacketBuffer *msgPayload, uint16_t sendFlags, void *msgCtxt)
|
이 교환에 Weave 메시지를 보냅니다.
|
SendMessage(uint32_t profileId, uint8_t msgType, PacketBuffer *msgBuf, uint16_t sendFlags, WeaveMessageInfo *msgInfo, void *msgCtxt)
|
이 교환에 Weave 메시지를 보냅니다.
|
SetAckPending(bool inAckPending)
|
void
이 거래소에서 동료에게 확인을 다시 보내야 하는지를 설정합니다.
|
SetAutoReleaseKey(bool autoReleaseKey)
|
void
거래소를 해제할 때 거래소와 연결된 암호화 키를 해제할지 설정합니다.
|
SetAutoRequestAck(bool autoReqAck)
|
void
메시지가 전송될 때마다 확인을 요청해야 하는지 설정합니다.
|
SetConnectionClosed(bool inConnectionClosed)
|
void
kFlagConnectionClosed 플래그 비트를 설정합니다.
|
SetDropAck(bool inDropAck)
|
void
WeaveExchangeManager가 이 컨텍스트에 대한 확인을 보내지 않아야 하는지를 설정합니다.
|
SetInitiator(bool inInitiator)
|
void
kFlagInitiator 플래그 비트를 설정합니다.
|
SetMsgRcvdFromPeer(bool inMsgRcvdFromPeer)
|
void
이 거래소에서 피어로부터 메시지를 받았는지 설정합니다.
|
SetPeerRequestedAck(bool inPeerRequestedAck)
|
void
이 교환에 마지막으로 수신된 메시지에 확인이 요청되었는지 여부를 설정합니다.
|
SetResponseExpected(bool inResponseExpected)
|
void
이 교환에서 응답이 예상되는지 여부를 설정합니다.
|
SetShouldAutoReleaseConnection(bool autoReleaseCon)
|
void
교환이 해제될 때 교환과 연결된 Weave 연결을 해제할지 설정합니다.
|
SetupTrickleRetransmit(uint32_t retransInterval, uint8_t threshold, uint32_t timeout)
|
해당 재전송 간격과 재전송 임곗값을 설정하여 리플리 재전송 메커니즘을 설정합니다.
|
ShouldAutoReleaseConnection() const
|
bool
교환이 해제될 때 교환과 연결된 Weave 연결을 해제해야 하는지 반환합니다.
|
ShouldDropAck(void) const
|
bool
WeaveExchangeManager에 확인을 보내지 않아야 하는지 확인합니다.
|
StartTimerT(void)
|
Trickle 재방송 알고리즘의 주기적 재전송 타이머 메커니즘을 시작합니다.
|
TeardownTrickleRetransmit(void)
|
void
Trickle 내의 주기적 타이머를 취소하고 Weave 메시지가 포함된 메시지 버퍼를 해제하여 Trickle 재전송 메커니즘을 해체합니다.
|
UseEphemeralUDPPort(void) const
|
bool
Exchange를 통해 전송된 발신 메일을 로컬 임시 UDP 포트에서 전송할지 여부를 반환합니다.
|
WRMPFlushAcks(void)
|
|
WRMPSendDelayedDelivery(uint32_t PauseTimeMillis, uint64_t DelayedNodeId)
|
지연된 전송 메시지를 보내 발신자 노드에 이전에 보낸 메시지가 수신자에게 전달되기 전에 예상 지연이 발생할 수 있음을 알립니다.
|
WRMPSendThrottleFlow(uint32_t PauseTimeMillis)
|
메시지 전송을 제한하도록 요청하는 피어 노드에 제한 흐름 메시지를 전송합니다.
|
공개 유형
@34
@34
속성 | |
---|---|
kSendFlag_AlreadyEncoded
|
메시지가 이미 인코딩되었음을 나타내는 데 사용됩니다. |
kSendFlag_AutoRetrans
|
자동 재전송이 사용 설정되었음을 나타내는 데 사용됩니다. |
kSendFlag_DefaultMulticastSourceAddress
|
IPv6 멀티캐스트 메시지를 보낼 때 기본 IPv6 소스 주소 선택을 사용해야 함을 나타내는 데 사용됩니다. |
kSendFlag_DelaySend
|
현재 메시지 전송을 지연해야 함을 나타내는 데 사용됩니다. |
kSendFlag_ExpectResponse
|
지정된 제한 시간 내에 응답해야 함을 나타내는 데 사용됩니다. |
kSendFlag_FromInitiator
|
현재 메시지가 교환의 시작점임을 나타내는 데 사용됩니다. |
kSendFlag_MulticastFromLinkLocal
|
|
kSendFlag_NoAutoRequestAck
|
메시지를 보낼 때 자동 요청 확인 기능을 표시하지 않습니다. |
kSendFlag_RequestAck
|
확인을 요청하는 WRM 메시지를 보내는 데 사용됩니다. |
kSendFlag_RetainBuffer
|
전송 후에 메시지 버퍼를 해제해서는 안 된다고 나타내는 데 사용됩니다. |
kSendFlag_RetransmissionTrickle
|
Trickle의 재전송 요구사항을 나타내는 데 사용됩니다. |
kSendFlag_ReuseMessageId
|
메일 헤더의 메일 ID를 재사용할 수 있음을 나타내는 데 사용됩니다. |
kSendFlag_ReuseSourceId
|
메일 헤더의 소스 노드 ID를 재사용할 수 있음을 나타내는 데 사용됩니다. |
ConnectionClosedFunct
void(* ConnectionClosedFunct)(ExchangeContext *ec, WeaveConnection *con, WEAVE_ERROR conErr)
이 함수는 기존 Weave 연결이 닫힐 때 호출할 애플리케이션 콜백입니다.
세부정보 | |||||||
---|---|---|---|---|---|---|---|
매개변수 |
|
KeyErrorFunct
void(* KeyErrorFunct)(ExchangeContext *ec, WEAVE_ERROR keyErr)
키 오류 메시지 처리 함수 유형입니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
MessageReceiveFunct
void(* MessageReceiveFunct)(ExchangeContext *ec, const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo, uint32_t profileId, uint8_t msgType, PacketBuffer *payload)
이 함수는 수신된 Weave 메시지를 처리하기 위한 애플리케이션 콜백입니다.
세부정보 | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
매개변수 |
|
응답 시간 제한 기능
void(* ResponseTimeoutFunct)(ExchangeContext *ec)
RetransmissionTimeoutFunct
void(* RetransmissionTimeoutFunct)(ExchangeContext *ec)
이 함수는 이전에 보낸 메시지의 재전송 제한 시간이 만료되었을 때 호출할 애플리케이션 콜백입니다.
세부정보 | |||
---|---|---|---|
매개변수 |
|
WRMPAckRcvdFunct
void(* WRMPAckRcvdFunct)(ExchangeContext *ec, void *msgCtxt)
이 함수는 Weave Reliable Messaging 프로토콜의 일부로 요청한 Weave 메시지에 대한 확인이 수신된 경우 호출할 애플리케이션 콜백입니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
WRMPPauseRcvdFunct
void(* WRMPPauseRcvdFunct)(ExchangeContext *ec, uint32_t pauseTime)
이 함수는 Weave Reliable Messaging 프로토콜의 일부로 제한 메시지 또는 지연된 전송 메시지가 수신될 때 호출하는 애플리케이션 콜백입니다.
이러한 각 메시지에는 ExchangeContext에서 Weave 메시지 전송을 일시중지하는 시간을 나타내는 시간 값 (밀리초)이 함께 제공됩니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
WRMPSendErrorFunct
void(* WRMPSendErrorFunct)(ExchangeContext *ec, WEAVE_ERROR err, void *msgCtxt)
이 함수는 Weave 메시지를 보내는 동안 오류가 발생하면 호출할 애플리케이션 콜백입니다.
세부정보 | |||||||
---|---|---|---|---|---|---|---|
매개변수 |
|
공개 속성
중복된 메일 허용
bool AllowDuplicateMsgs
지정된 거래소에 중복된 메시지가 허용되는지 여부를 나타내는 부울 표시기입니다.
앱 상태
void * AppState
애플리케이션별 상태 객체를 가리키는 포인터입니다.
EncryptionType
uint8_t EncryptionType
메시지를 보낼 때 사용할 암호화 유형입니다.
거래소 ID
uint16_t ExchangeId
[읽기 전용] 할당된 거래소 ID입니다.
KeyId
uint16_t KeyId
메시지를 전송할 때 사용할 암호화 키입니다.
연결 완료
ConnectionClosedFunct OnConnectionClosed
OnMessageReceived
MessageReceiveFunct OnMessageReceived
응답 없음
ResponseTimeoutFunct OnResponseTimeout
OnRetransmissionTimeout(OnRetransmissionTimeout)
RetransmissionTimeoutFunct OnRetransmissionTimeout
PeerAddr
IPAddress PeerAddr
[읽기 전용] 피어 노드의 IP 주소입니다.
PeerIntf
InterfaceId PeerIntf
[읽기 전용] 피어에 메시지를 보낼 때 사용할 발신 인터페이스입니다.
(UDP에만 의미가 있음)
PeerNodeId
uint64_t PeerNodeId
[읽기 전용] 피어 노드의 노드 ID입니다.
피어포트
uint16_t PeerPort
[읽기 전용] 피어 노드 포트입니다.
재전송
uint32_t RetransInterval
재전송 간의 시간 (밀리초)입니다. 0은 재전송을 사용 중지합니다.
공개 함수
취소
void Abort( void )
Exchange 컨텍스트를 즉시 취소하고 해당 참조를 모두 해제합니다.
추가 참조
void AddRef( void )
거래소 컨텍스트의 참조 카운터를 하나씩 늘립니다.
자동 요청
bool AutoRequestAck() const
메시지가 전송될 때마다 확인을 요청할지 여부를 반환합니다.
ReTrans 취소
void CancelRetrans( void )
Trickle 재전송 메커니즘을 취소합니다.
닫기
void Close( void )
교환 컨텍스트를 정상적으로 종료하세요.
이 호출은 참조 횟수를 줄이고 참조 수가 0이 되면 교환을 해제합니다.
EncodeExchHeader
WEAVE_ERROR EncodeExchHeader( WeaveExchangeHeader *exchangeHeader, uint32_t profileId, uint8_t msgType, PacketBuffer *msgBuf, uint16_t sendFlags )
Exchange 헤더를 메시지 버퍼로 인코딩합니다.
세부정보 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
매개변수 |
|
||||||||||
반환 값 |
|
GetAutoReleaseKey
bool GetAutoReleaseKey() const
교환 시 해제 시 교환과 연결된 암호화 키를 해제해야 하는지 반환합니다.
GetCurrentRetransmitTimeout
uint32_t GetCurrentRetransmitTimeout( void )
현재 재전송 제한 시간을 가져옵니다.
ExchangeContext에 피어와 함께 활성화된 활성 메시지 교환이 있는지에 따라 초기 또는 활성 재전송 시간 제한이 됩니다.
세부정보 | |
---|---|
반환 |
현재 재전송 시간
|
GetPeerDescription
void GetPeerDescription( char *buf, uint32_t bufSize ) const
피어 노드 및 관련 주소 / 연결 정보를 설명하는 문자열을 생성합니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
HandleTrickleMessage
void HandleTrickleMessage( const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo )
교환 컨텍스트 내에서 까다로운 메시지를 처리합니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
HasPeerRequestedAck
bool HasPeerRequestedAck( void ) const
피어에서 이 교환에 대한 하나 이상의 메시지에 대한 확인을 요청했는지 확인합니다.
세부정보 | |
---|---|
반환 |
확인을 요청한 경우 '참' 그 외의 경우 ##39;거짓'.
|
HasRcdMsgFromPeer
bool HasRcvdMsgFromPeer( void ) const
이 거래소에서 하나 이상의 메시지를 동종 앱으로부터 수신했는지 확인합니다.
세부정보 | |
---|---|
반환 |
메시지
|
IsAckPending
bool IsAckPending( void ) const
이 거래소에서 피어에게 전송될 확인이 이미 있는지 확인합니다.
연결 끊김
bool IsConnectionClosed( void ) const
이니시터
bool IsInitiator( void ) const
맥락이 거래소의 시작점인지 확인합니다.
세부정보 | |
---|---|
반환 |
'true' 시작자인 경우 'false'를 반환합니다.
|
응답 응답 예상
bool IsResponseExpected( void ) const
이 교환을 통해 보낸 메일에 대한 응답 여부를 예상합니다.
세부정보 | |
---|---|
반환 |
예상 응답인 경우 'true' else 'false'입니다.
|
출시
void Release( void )
이 교환 컨텍스트의 출시 참조입니다.
개수가 1개 미만인 경우 컨텍스트를 닫고, 모든 애플리케이션 콜백을 재설정하고, 모든 타이머를 중지합니다.
SendCommonNullMessage
WEAVE_ERROR SendCommonNullMessage( void )
Common::Null 메시지를 전송합니다.
세부정보 | |||||||
---|---|---|---|---|---|---|---|
반환 값 |
|
SendMessage
WEAVE_ERROR SendMessage( uint32_t profileId, uint8_t msgType, PacketBuffer *msgPayload, uint16_t sendFlags, void *msgCtxt )
이 교환에 Weave 메시지를 보냅니다.
세부정보 | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
매개변수 |
|
||||||||||||
반환 값 |
|
SendMessage
WEAVE_ERROR SendMessage( uint32_t profileId, uint8_t msgType, PacketBuffer *msgBuf, uint16_t sendFlags, WeaveMessageInfo *msgInfo, void *msgCtxt )
이 교환에 Weave 메시지를 보냅니다.
세부정보 | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
매개변수 |
|
||||||||||||
반환 값 |
|
SetAckPending
void SetAckPending( bool inAckPending )
이 거래소에서 동료에게 확인을 다시 보내야 하는지를 설정합니다.
세부정보 | |||
---|---|---|---|
매개변수 |
|
SetAutoReleaseKey
void SetAutoReleaseKey( bool autoReleaseKey )
거래소를 해제할 때 거래소와 연결된 암호화 키를 해제할지 설정합니다.
세부정보 | |||
---|---|---|---|
매개변수 |
|
SetAutoRequestAck
void SetAutoRequestAck( bool autoReqAck )
메시지가 전송될 때마다 확인을 요청해야 하는지 설정합니다.
세부정보 | |||
---|---|---|---|
매개변수 |
|
SetConnectionClosed
void SetConnectionClosed( bool inConnectionClosed )
kFlagConnectionClosed 플래그 비트를 설정합니다.
이 플래그는 ExchangeContext와 관련된 WeaveConnection이 닫힐 때 설정됩니다.
세부정보 | |||
---|---|---|---|
매개변수 |
|
SetDropAck
void SetDropAck( bool inDropAck )
WeaveExchangeManager가 이 컨텍스트에 대한 확인을 보내지 않아야 하는지를 설정합니다.
내부 전용입니다. 디버그 전용입니다.
세부정보 | |||
---|---|---|---|
매개변수 |
|
세트 시작자
void SetInitiator( bool inInitiator )
kFlagInitiator 플래그 비트를 설정합니다.
이 플래그는 교환을 시작하는 노드에 의해 설정됩니다.
세부정보 | |||
---|---|---|---|
매개변수 |
|
SetMsgRcvdFromPeer
void SetMsgRcvdFromPeer( bool inMsgRcvdFromPeer )
이 거래소에서 피어로부터 메시지를 받았는지 설정합니다.
세부정보 | |||
---|---|---|---|
매개변수 |
|
SetPeerRequestedAck
void SetPeerRequestedAck( bool inPeerRequestedAck )
이 교환에 마지막으로 수신된 메시지에 확인이 요청되었는지 여부를 설정합니다.
세부정보 | |||
---|---|---|---|
매개변수 |
|
SetResponseExpected
void SetResponseExpected( bool inResponseExpected )
이 교환에서 응답이 예상되는지 여부를 설정합니다.
세부정보 | |||
---|---|---|---|
매개변수 |
|
SetShouldAutoReleaseConnection
void SetShouldAutoReleaseConnection( bool autoReleaseCon )
교환이 해제될 때 교환과 연결된 Weave 연결을 해제할지 설정합니다.
세부정보 | |||
---|---|---|---|
매개변수 |
|
설정 TrickleRetransmit
WEAVE_ERROR SetupTrickleRetransmit( uint32_t retransInterval, uint8_t threshold, uint32_t timeout )
해당 재전송 간격과 재전송 임곗값을 설정하여 리플리 재전송 메커니즘을 설정합니다.
세부정보 | |||||||
---|---|---|---|---|---|---|---|
매개변수 |
|
||||||
반환 |
Trickle 설정이 성공한 경우 WEAVE_NO_ERROR, 그렇지 않은 경우 WEAVE_ERROR에 매핑된 INET_ERROR.
|
ShouldAutoReleaseConnection
bool ShouldAutoReleaseConnection() const
교환이 해제될 때 교환과 연결된 Weave 연결을 해제해야 하는지 반환합니다.
ShouldDropAck
bool ShouldDropAck( void ) const
WeaveExchangeManager에 확인을 보내지 않아야 하는지 확인합니다.
내부 전용입니다. 디버그 전용입니다.
시작 타이머
WEAVE_ERROR StartTimerT( void )
Trickle 재방송 알고리즘의 주기적 재전송 타이머 메커니즘을 시작합니다.
세부정보 | |
---|---|
반환 |
성공하면 WEAVE_NO_ERROR입니다. 성공하지 않으면 WEAVE_ERROR에 매핑된 INET_ERROR입니다.
|
티어다운 트릭레레트랜트
void TeardownTrickleRetransmit( void )
Trickle 내의 주기적 타이머를 취소하고 Weave 메시지가 포함된 메시지 버퍼를 해제하여 Trickle 재전송 메커니즘을 해체합니다.
UseEphemeralUDPPort
bool UseEphemeralUDPPort( void ) const
Exchange를 통해 전송된 발신 메일을 로컬 임시 UDP 포트에서 전송할지 여부를 반환합니다.
재택근무자
WEAVE_ERROR WRMPFlushAcks( void )
WRMPSendDelayedDelivery
WEAVE_ERROR WRMPSendDelayedDelivery( uint32_t PauseTimeMillis, uint64_t DelayedNodeId )
지연된 전송 메시지를 보내 발신자 노드에 이전에 보낸 메시지가 수신자에게 전달되기 전에 예상 지연이 발생할 수 있음을 알립니다.
전송되기 전에 메일이 지연되는 원인 중 하나는 수신자 엔드 노드가 유휴 상태일 때입니다. 이 메시지는 지연된 전송을 추론할 수 있는 충분한 수신자를 알고 있는 전송 경로의 적절한 중간 노드에 의해 생성될 수 있습니다. 이 메시지를 수신한 발신자는 확인을 다시 요청하는 메시지의 재전송 타이머를 다시 조정합니다.
세부정보 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
매개변수 |
|
||||||||||
반환 값 |
|
WRMPSendThrottleFlow
WEAVE_ERROR WRMPSendThrottleFlow( uint32_t PauseTimeMillis )
메시지 전송을 제한하도록 요청하는 피어 노드에 제한 흐름 메시지를 전송합니다.
세부정보 | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
매개변수 |
|
||||||||||||
반환 값 |
|