nl:: Weave:: ExchangeContext
#include <src/lib/core/WeaveExchangeMgr.h>
이 클래스는 둘 이상의 노드 간에 진행 중인 대화 (ExchangeContext)를 나타냅니다.
요약
ExchangeContext 내에서 다양한 전송 메커니즘(예: TCP, UDP, Weave Reliable Messaging)을 통해 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 신뢰할 수 있는 메시징 프로토콜의 일부로 요청된 Weave 메시지에 대한 확인을 받으면 호출할 애플리케이션 콜백입니다. |
WRMPPauseRcvdFunct)(ExchangeContext *ec, uint32_t pauseTime)
|
typedefvoid(*
이 함수는 제한 메시지 또는 지연된 전송 메시지가 Weave Reliable Messaging Protocol의 일부로 수신될 때 호출할 애플리케이션 콜백입니다. |
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
|
수신된 제한 메시지의 애플리케이션 콜백입니다.
|
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
거래소 컨텍스트의 참조 카운터를 1씩 늘립니다.
|
AutoRequestAck() const
|
bool
메시지를 보낼 때마다 확인을 요청할지 여부를 반환합니다.
|
CancelRetrans(void)
|
void
Trickle 재전송 메커니즘을 취소합니다.
|
Close(void)
|
void
교환 컨텍스트를 단계적으로 닫습니다.
|
EncodeExchHeader(WeaveExchangeHeader *exchangeHeader, uint32_t profileId, uint8_t msgType, PacketBuffer *msgBuf, uint16_t sendFlags)
|
교환 헤더를 메시지 버퍼로 인코딩합니다.
|
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
피어가 이 교환의 메시지 1개 이상에 대한 확인을 요청했는지 확인합니다.
|
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
교환을 통해 전송된 발신 메시지를 로컬 임시 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 메시지를 처리하기 위한 애플리케이션 콜백입니다.
세부정보 | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
매개변수 |
|
ResponseTimeoutFunct
void(* ResponseTimeoutFunct)(ExchangeContext *ec)
RetransmissionTimeoutFunct
void(* RetransmissionTimeoutFunct)(ExchangeContext *ec)
이 함수는 이전에 보낸 메시지의 재전송에 대한 제한 시간이 만료될 때 호출할 애플리케이션 콜백입니다.
세부정보 | |||
---|---|---|---|
매개변수 |
|
WRMPAckRcvdFunct
void(* WRMPAckRcvdFunct)(ExchangeContext *ec, void *msgCtxt)
이 함수는 Weave 신뢰할 수 있는 메시징 프로토콜의 일부로 요청된 Weave 메시지에 대한 확인을 받으면 호출할 애플리케이션 콜백입니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
WRMPPauseRcvdFunct
void(* WRMPPauseRcvdFunct)(ExchangeContext *ec, uint32_t pauseTime)
이 함수는 제한 메시지 또는 지연된 전송 메시지가 Weave Reliable Messaging Protocol의 일부로 수신될 때 호출할 애플리케이션 콜백입니다.
각 메시지에는 이 ExchangeContext에서 Weave 메시지 전송을 일시중지할 시간을 나타내는 시간 값 (밀리초 단위)이 함께 제공됩니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
WRMPSendErrorFunct
void(* WRMPSendErrorFunct)(ExchangeContext *ec, WEAVE_ERROR err, void *msgCtxt)
이 함수는 Weave 메시지를 보내는 동안 오류가 발생하면 호출할 애플리케이션 콜백입니다.
세부정보 | |||||||
---|---|---|---|---|---|---|---|
매개변수 |
|
공개 속성
AllowDuplicateMsgs
bool AllowDuplicateMsgs
특정 교환에 중복 메시지가 허용되는지 여부를 나타내는 부울 표시기입니다.
AppState
void * AppState
애플리케이션별 상태 객체를 가리키는 포인터입니다.
EncryptionType
uint8_t EncryptionType
메일을 보낼 때 사용할 암호화 유형입니다.
ExchangeId
uint16_t ExchangeId
[읽기 전용] 할당된 거래소 ID입니다.
KeyId
uint16_t KeyId
메시지를 보낼 때 사용할 암호화 키입니다.
OnConnectionClosed
ConnectionClosedFunct OnConnectionClosed
OnMessageReceived
MessageReceiveFunct OnMessageReceived
OnResponseTimeout
ResponseTimeoutFunct OnResponseTimeout
OnRetransmissionTimeout
RetransmissionTimeoutFunct OnRetransmissionTimeout
PeerAddr
IPAddress PeerAddr
[읽기 전용] 피어 노드의 IP 주소입니다.
PeerIntf
InterfaceId PeerIntf
[읽기 전용] 피어에 메시지를 보낼 때 사용되는 아웃바운드 인터페이스입니다.
(UDP에만 의미가 있습니다.)
PeerNodeId
uint64_t PeerNodeId
[읽기 전용] 피어 노드의 노드 ID입니다.
PeerPort
uint16_t PeerPort
[읽기 전용] 피어 노드의 포트입니다.
RetransInterval
uint32_t RetransInterval
재전송 간 시간 (밀리초 단위) 0은 재전송을 사용 중지합니다.
공개 함수
취소
void Abort( void )
Exchange 컨텍스트를 즉시 취소하고 컨텍스트에 대한 모든 참조를 해제합니다.
AddRef
void AddRef( void )
거래소 컨텍스트의 참조 카운터를 1씩 늘립니다.
AutoRequestAck
bool AutoRequestAck() const
메시지를 보낼 때마다 확인을 요청할지 여부를 반환합니다.
CancelRetrans
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 )
교환 헤더를 메시지 버퍼로 인코딩합니다.
세부정보 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
매개변수 |
|
||||||||||
반환 값 |
|
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
피어가 이 교환의 메시지 1개 이상에 대한 확인을 요청했는지 확인합니다.
세부정보 | |
---|---|
반환 |
'true'를 반환합니다. 확인이 요청된 경우, 그렇지 않은 경우 'false'입니다.
|
HasRcvdMsgFromPeer
bool HasRcvdMsgFromPeer( void ) const
이 교환에서 피어로부터 하나 이상의 메시지가 수신되었는지 확인합니다.
세부정보 | |
---|---|
반환 |
'true'를 반환합니다. 메시지를 수신한 경우 그렇지 않으면 'false'입니다.
|
IsAckPending
bool IsAckPending( void ) const
이 거래소의 피어에 전송되기 위해 대기 중인 확인이 이미 있는지 확인합니다.
IsConnectionClosed
bool IsConnectionClosed( void ) const
IsInitiator
bool IsInitiator( void ) const
컨텍스트가 교환을 시작한 사람인지 확인합니다.
세부정보 | |
---|---|
반환 |
'true'를 반환합니다. 시작자인 경우 그렇지 않으면 'false'입니다.
|
IsResponseExpected
bool IsResponseExpected( void ) const
이 교환을 통해 전송된 메시지에 대한 응답이 예상되는지 확인합니다.
세부정보 | |
---|---|
반환 |
'true'를 반환합니다. 응답이 예상된 경우, 그렇지 않은 경우 '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가 이 컨텍스트에 대한 확인을 전송하면 안 되는지 여부를 설정합니다.
내부용 디버그 전용입니다.
세부정보 | |||
---|---|---|---|
매개변수 |
|
SetInitiator
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 연결을 해제할지 여부를 설정합니다.
세부정보 | |||
---|---|---|---|
매개변수 |
|
SetupTrickleRetransmit
WEAVE_ERROR SetupTrickleRetransmit( uint32_t retransInterval, uint8_t threshold, uint32_t timeout )
상응하는 재전송 간격과 재방송 기준점을 설정하여 트리클 재전송 메커니즘을 설정합니다.
세부정보 | |||||||
---|---|---|---|---|---|---|---|
매개변수 |
|
||||||
반환 |
WEAVE_NO_ERROR(트릭 설정이 성공한 경우), 그렇지 않으면 INET_ERROR가 WEAVE_ERROR에 매핑됩니다.
|
ShouldAutoReleaseConnection
bool ShouldAutoReleaseConnection() const
교환이 해제되면 교환과 연결된 Weave 연결을 해제해야 하는지 여부를 반환합니다.
ShouldDropAck
bool ShouldDropAck( void ) const
WeaveExchangeManager가 확인을 전송하면 안 되는지를 결정합니다.
내부용 디버그 전용입니다.
StartTimerT
WEAVE_ERROR StartTimerT( void )
Trickle 재방송 알고리즘의 주기적 재전송 타이머 메커니즘을 시작합니다.
세부정보 | |
---|---|
반환 |
성공한 경우 WEAVE_NO_ERROR, 그렇지 않으면 INET_ERROR가 WEAVE_ERROR에 매핑됩니다.
|
TeardownTrickleRetransmit
void TeardownTrickleRetransmit( void )
Trickle 내에서 주기적 타이머를 취소하고 Weave 메시지를 보유한 메시지 버퍼를 해제하여 Trickle 재전송 메커니즘을 해제합니다.
UseEphemeralUDPPort
bool UseEphemeralUDPPort( void ) const
교환을 통해 전송된 발신 메시지를 로컬 임시 UDP 포트에서 전송해야 하는지 여부를 반환합니다.
WRMPFlushAcks
WEAVE_ERROR WRMPFlushAcks( void )
WRMPSendDelayedDelivery
WEAVE_ERROR WRMPSendDelayedDelivery( uint32_t PauseTimeMillis, uint64_t DelayedNodeId )
전송 지연 메시지를 전송하여 이전에 보낸 메시지가 수신자에게 전송되기 전에 예상되는 지연이 발생한다는 것을 발신자 노드에 알립니다.
메시지가 전달되기 전에 지연될 수 있는 원인 중 하나는 수신자 측 노드가 휴면 상태일 때입니다. 지연된 전송을 추론할 수 있을 만큼 수신자를 충분히 이해하고 있는 전송 경로의 적절한 중간 노드에 의해 이 메시지가 생성될 수 있습니다. 이 메시지를 수신한 발신자는 확인을 다시 요구하는 메시지에 대해 재전송 타이머를 재조정합니다.
세부정보 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
매개변수 |
|
||||||||||
반환 값 |
|
WRMPSendThrottleFlow
WEAVE_ERROR WRMPSendThrottleFlow( uint32_t PauseTimeMillis )
메시지 전송을 제한하도록 요청하는 제한 흐름 메시지를 피어 노드에 보냅니다.
세부정보 | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
매개변수 |
|
||||||||||||
반환 값 |
|