nl:: 매트:: WeaveMessageLayer
#include <src/lib/core/WeaveMessageLayer.h>
다른 Weave 노드와의 통신을 관리하는 WeaveMessageLayer 클래스의 정의입니다.
요약
여러 InetLayer 엔드포인트 중 하나를 사용하여 다른 Weave 노드와 통신 채널을 설정합니다.
생성자 및 소멸자 |
|
---|---|
WeaveMessageLayer(void)
Weave 메시지 레이어 생성자
|
공개 유형 |
|
---|---|
AcceptErrorFunct)(WeaveMessageLayer *msgLayer, WEAVE_ERROR err)
|
typedefvoid(*
이 함수는 수신 TCP 연결을 처리하는 동안 오류를 보고하는 상위 레이어 콜백입니다. |
CallbackRemovedFunct)(void *listenerState)
|
typedefvoid(*
이 함수는 콜백을 삭제하기 위해 호출됩니다. |
ConnectionReceiveFunct)(WeaveMessageLayer *msgLayer, WeaveConnection *con)
|
typedefvoid(*
이 함수는 수신 TCP 연결을 처리하기 위한 상위 계층 콜백입니다. |
MessageLayerActivityChangeHandlerFunct)(bool messageLayerIsActive)
|
typedefvoid(*
이 함수는 메시지 레이어 활동 변경사항을 보고하는 애플리케이션 콜백입니다. |
MessageReceiveFunct)(WeaveMessageLayer *msgLayer, WeaveMessageInfo *msgInfo, PacketBuffer *payload)
|
typedefvoid(*
이 함수는 UDP를 통해 Weave 메시지를 수신할 때 호출되는 상위 레이어 콜백입니다. |
ReceiveErrorFunct)(WeaveMessageLayer *msgLayer, WEAVE_ERROR err, const IPPacketInfo *pktInfo)
|
typedefvoid(*
이 함수는 오류가 발생할 때 호출되는 상위 계층 콜백입니다. |
State{
|
enum WeaveMessageLayer의 상태입니다. |
TunneledMsgReceiveFunct)(WeaveMessageLayer *msgLayer, PacketBuffer *payload)
|
typedefvoid(*
이 함수는 로컬 UDP 터널을 통해 터널링된 패킷을 수신하면 호출되는 상위 레이어 콜백입니다. |
공개 속성 |
|
---|---|
AppState
|
void *
애플리케이션별 상태 객체에 대한 포인터입니다.
|
ExchangeMgr
|
[읽기 전용] 연결된 WeaveExchangeManager 객체입니다.
|
FabricState
|
[읽기 전용] 연결된 WeaveFabricState 객체입니다.
|
IncomingConIdleTimeout
|
uint32_t
수신 연결에 대한 기본 유휴 제한 시간 (밀리초)입니다.
|
Inet
|
InetLayer *
[읽기 전용] 연결된 InetLayer 객체입니다.
|
IsListening
|
bool
[읽기 전용] 수신 연결/메시지를 수신 대기하는 경우 true, 그렇지 않은 경우 false
|
OnAcceptError
|
|
OnConnectionReceived
|
|
OnMessageReceived
|
|
OnReceiveError
|
|
OnUDPTunneledMessageReceived
|
|
SecurityMgr
|
[읽기 전용] 연결된 WeaveSecurityManager 객체입니다.
|
State
|
uint8_t
[읽기 전용] WeaveMessageLayer 객체의 상태입니다.
|
SystemLayer
|
|
mDropMessage
|
bool
내부 및 디버그 전용입니다. 설정되면 WeaveMessageLayer는 메시지를 삭제하고 반환합니다.
|
공개 함수 |
|
---|---|
ClearUnsecuredConnectionListener(ConnectionReceiveFunct oldOnUnsecuredConnectionReceived, CallbackRemovedFunct newOnUnsecuredConnectionCallbacksRemoved)
|
|
CloseEndpoints(void)
|
열려 있는 TCP 및 UDP 엔드포인트를 모두 닫습니다.
|
CreateTunnel(WeaveConnectionTunnel **tunPtr, WeaveConnection & conOne, WeaveConnection & conTwo, uint32_t inactivityTimeoutMS)
|
지정된 두 WeaveConnection을 결합하여 WeaveConnectionTunnel을 만듭니다.
|
DecodeHeader(PacketBuffer *msgBuf, WeaveMessageInfo *msgInfo, uint8_t **payloadStart)
|
수신된 Weave 메시지에서 Weave 메시지 레이어 헤더를 디코딩합니다.
|
EncodeMessage(WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf, WeaveConnection *con, uint16_t maxLen, uint16_t reserve)
|
WeaveMessageLayer 헤더를 PacketBuffer에 인코딩합니다.
|
EncodeMessage(const IPAddress & destAddr, uint16_t destPort, InterfaceId sendIntId, WeaveMessageInfo *msgInfo, PacketBuffer *payload)
|
Weave 메시지 레이어 헤더를 PacketBuffer에 인코딩합니다.
|
EphemeralUDPPortEnabled(void) const
|
bool
로컬로 시작된 Weave UDP 교환이 임시 UDP 소스 포트에서 전송되어야 하는지 확인합니다.
|
GetConnectionPoolStats(nl::Weave::System::Stats::count_t & aOutInUse) const
|
void
사용 중인 WeaveConnections 수와 풀 크기를 가져옵니다.
|
IPv4ListenEnabled(void) const
|
bool
IPv4를 통한 인바운드 통신을 수신 대기하도록 WeaveMessageLayer가 구성되었는지 확인합니다.
|
IPv6ListenEnabled(void) const
|
bool
IPv4를 통한 인바운드 통신을 수신 대기하도록 WeaveMessageLayer가 구성되었는지 확인합니다.
|
Init(InitContext *context)
|
Weave 메시지 레이어 객체를 초기화합니다.
|
IsBoundToLocalIPv4Address(void) const
|
bool
WeaveMessageLayer가 로컬 IPv4 주소에 바인딩되는지 확인합니다.
|
IsBoundToLocalIPv6Address(void) const
|
bool
WeaveMessageLayer가 로컬 IPv6 주소에 바인딩되어 있는지 확인합니다.
|
IsMessageLayerActive(void)
|
bool
|
NewConnection(void)
|
풀에서 새 WeaveConnection 객체를 만듭니다.
|
NewConnectionTunnel(void)
|
풀에서 새 WeaveConnectionTunnel 객체를 만듭니다.
|
ReEncodeMessage(PacketBuffer *buf)
|
|
RefreshEndpoints(void)
|
시스템 네트워크 인터페이스의 현재 상태를 기반으로 InetLayer 엔드포인트를 새로고침합니다.
|
ResendMessage(WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
|
기본 Inetlayer UDP 엔드포인트를 사용하여 인코딩된 Weave 메시지를 다시 보냅니다.
|
ResendMessage(const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
|
기본 Inetlayer UDP 엔드포인트를 사용하여 인코딩된 Weave 메시지를 다시 보냅니다.
|
ResendMessage(const IPAddress & destAddr, uint16_t destPort, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
|
기본 Inetlayer UDP 엔드포인트를 사용하여 인코딩된 Weave 메시지를 다시 보냅니다.
|
ResendMessage(const IPAddress & destAddr, uint16_t destPort, InterfaceId interfaceId, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
|
기본 Inetlayer UDP 엔드포인트를 사용하여 인코딩된 Weave 메시지를 다시 보냅니다.
|
SendMessage(WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
|
인코딩 후에 기본 Inetlayer UDP 엔드포인트를 사용하여 Weave 메시지를 보냅니다.
|
SendMessage(const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
|
인코딩 후에 기본 Inetlayer UDP 엔드포인트를 사용하여 Weave 메시지를 보냅니다.
|
SendMessage(const IPAddress & destAddr, uint16_t destPort, InterfaceId sendIntfId, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
|
인코딩 후에 기본 Inetlayer UDP 엔드포인트를 사용하여 Weave 메시지를 보냅니다.
|
SendUDPTunneledMessage(const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
|
로컬 UDP 터널을 통해 터널링된 패킷을 전송하는 함수입니다.
|
SetSignalMessageLayerActivityChanged(MessageLayerActivityChangeHandlerFunct messageLayerActivityChangeHandler)
|
void
메시지 레이어의 활동이 변경될 때마다 호출되는 애플리케이션 핸들러를 설정합니다.
|
SetTCPListenEnabled(bool val)
|
void
WeaveMessageLayer에서 인바운드 TCP 연결 수신을 사용 설정 또는 사용 중지합니다.
|
SetUDPListenEnabled(bool val)
|
void
WeaveMessageLayer에서 수신 UDP 메시지 수신을 사용 또는 사용 중지합니다.
|
SetUnsecuredConnectionListener(ConnectionReceiveFunct newOnUnsecuredConnectionReceived, CallbackRemovedFunct newOnUnsecuredConnectionCallbacksRemoved, bool force, void *listenerState)
|
|
Shutdown(void)
|
WeaveMessageLayer를 종료합니다.
|
TCPListenEnabled(void) const
|
bool
인바운드 TCP 연결을 수신 대기하도록 WeaveMessageLayer가 구성되었는지 확인합니다.
|
UDPListenEnabled(void) const
|
bool
인바운드 UDP 메시지를 수신 대기하도록 WeaveMessageLayer가 구성되었는지 확인합니다.
|
UnsecuredListenEnabled(void) const
|
bool
임시 UDP 소스 포트에서 Weave UDP 교환 시작을 사용 설정 또는 사용 중지합니다.
|
공개 정적 함수 |
|
---|---|
GetMaxWeavePayloadSize(const PacketBuffer *msgBuf, bool isUDP, uint32_t udpMTU)
|
uint32_t
메시지 구성 및 제공된 PacketBuffer의 최대 Weave 페이로드 크기를 가져옵니다.
|
GetPeerDescription(char *buf, size_t bufSize, uint64_t nodeId, const IPAddress *addr, uint16_t port, InterfaceId interfaceId, const WeaveConnection *con)
|
void
피어 노드 및 연결된 주소 / 연결 정보를 설명하는 문자열을 구성합니다.
|
GetPeerDescription(char *buf, size_t bufSize, const WeaveMessageInfo *msgInfo)
|
void
피어에서 수신한 메시지와 연결된 정보를 바탕으로 피어 노드를 설명하는 문자열을 구성합니다.
|
클래스 |
|
---|---|
nl:: |
InitContext 클래스의 정의입니다. |
공개 유형
오류 허용
void(* AcceptErrorFunct)(WeaveMessageLayer *msgLayer, WEAVE_ERROR err)
이 함수는 수신 TCP 연결을 처리하는 동안 오류를 보고하는 상위 레이어 콜백입니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
CallbackRemovedFunct
void(* CallbackRemovedFunct)(void *listenerState)
이 함수는 콜백을 삭제하기 위해 호출됩니다.
세부정보 | |||
---|---|---|---|
매개변수 |
|
ConnectionReceiveFunct(연결 수신)
void(* ConnectionReceiveFunct)(WeaveMessageLayer *msgLayer, WeaveConnection *con)
이 함수는 수신 TCP 연결을 처리하기 위한 상위 계층 콜백입니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
MessageLayerActivityChangeHandlerFunct
void(* MessageLayerActivityChangeHandlerFunct)(bool messageLayerIsActive)
이 함수는 메시지 레이어 활동 변경사항을 보고하는 애플리케이션 콜백입니다.
열린 거래소 또는 대기 중인 메시지 카운터 동기화 요청이 하나 이상 있는 경우 메시지 레이어가 활성 상태로 간주됩니다.
세부정보 | |||
---|---|---|---|
매개변수 |
|
MessageReceiveFunct
void(* MessageReceiveFunct)(WeaveMessageLayer *msgLayer, WeaveMessageInfo *msgInfo, PacketBuffer *payload)
이 함수는 UDP를 통해 Weave 메시지를 수신할 때 호출되는 상위 레이어 콜백입니다.
세부정보 | |||||||
---|---|---|---|---|---|---|---|
매개변수 |
|
ReceiveErrorFunct
void(* ReceiveErrorFunct)(WeaveMessageLayer *msgLayer, WEAVE_ERROR err, const IPPacketInfo *pktInfo)
이 함수는 오류가 발생할 때 호출되는 상위 계층 콜백입니다.
세부정보 | |||||||
---|---|---|---|---|---|---|---|
매개변수 |
|
상태
State
WeaveMessageLayer의 상태입니다.
속성 | |
---|---|
kState_Initialized
|
WeaveMessageLayer가 초기화되는 상태입니다. |
kState_Initializing
|
WeaveMessageLayer가 초기화 중인 상태입니다. |
kState_NotInitialized
|
WeaveMessageLayer가 초기화되지 않은 상태입니다. |
터널링 MsgReceiveFunct
void(* TunneledMsgReceiveFunct)(WeaveMessageLayer *msgLayer, PacketBuffer *payload)
이 함수는 로컬 UDP 터널을 통해 터널링된 패킷을 수신하면 호출되는 상위 레이어 콜백입니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
공개 속성
앱 상태
void * AppState
애플리케이션별 상태 객체에 대한 포인터입니다.
수신 ConIdle제한 시간
uint32_t IncomingConIdleTimeout
수신 연결에 대한 기본 유휴 제한 시간 (밀리초)입니다.
네트
InetLayer * Inet
[읽기 전용] 연결된 InetLayer 객체입니다.
듣기
bool IsListening
[읽기 전용] 수신 연결/메시지를 수신 대기하는 경우 true, 그렇지 않은 경우 false
OnAcceptError
AcceptErrorFunct OnAcceptError
OnConnectionReceived
ConnectionReceiveFunct OnConnectionReceived
온메시지 수신됨
MessageReceiveFunct OnMessageReceived
OnReceiveError
ReceiveErrorFunct OnReceiveError
OnUDPTunneledMessageReceived
TunneledMsgReceiveFunct OnUDPTunneledMessageReceived
시스템 레이어
System::Layer * SystemLayer
공개 함수
ClearUnsecuredConnectionListener
WEAVE_ERROR ClearUnsecuredConnectionListener( ConnectionReceiveFunct oldOnUnsecuredConnectionReceived, CallbackRemovedFunct newOnUnsecuredConnectionCallbacksRemoved )
닫기 엔드포인트
WEAVE_ERROR CloseEndpoints( void )
열려 있는 TCP 및 UDP 엔드포인트를 모두 닫습니다.
그런 다음 열려 있는 WeaveConnections를 취소하고 열려 있는 WeaveConnectionTunnel 객체를 종료합니다.
참고 항목:Shutdown()
CreateTunnel
WEAVE_ERROR CreateTunnel( WeaveConnectionTunnel **tunPtr, WeaveConnection & conOne, WeaveConnection & conTwo, uint32_t inactivityTimeoutMS )
지정된 두 WeaveConnection을 결합하여 WeaveConnectionTunnel을 만듭니다.
생성이 완료되면 구성요소 WeaveConnection 객체에 해당하는 TCPEndPoint가 WeaveConnectionTunnel에 전달됩니다. 그렇지 않으면 WeaveConnection이 닫힙니다.
세부정보 | |||||||||
---|---|---|---|---|---|---|---|---|---|
매개변수 |
|
||||||||
반환 값 |
|
디코드헤더
WEAVE_ERROR DecodeHeader( PacketBuffer *msgBuf, WeaveMessageInfo *msgInfo, uint8_t **payloadStart )
수신된 Weave 메시지에서 Weave 메시지 레이어 헤더를 디코딩합니다.
세부정보 | |||||||
---|---|---|---|---|---|---|---|
매개변수 |
|
||||||
반환 값 |
|
EncodeMessage
WEAVE_ERROR EncodeMessage( WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf, WeaveConnection *con, uint16_t maxLen, uint16_t reserve )
WeaveMessageLayer 헤더를 PacketBuffer에 인코딩합니다.
세부정보 | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
매개변수 |
|
||||||||||||||
반환 값 |
|
EncodeMessage
WEAVE_ERROR EncodeMessage( const IPAddress & destAddr, uint16_t destPort, InterfaceId sendIntId, WeaveMessageInfo *msgInfo, PacketBuffer *payload )
Weave 메시지 레이어 헤더를 PacketBuffer에 인코딩합니다.
세부정보 | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
매개변수 |
|
||||||||||||||
반환 값 |
|
임시{/2}
bool EphemeralUDPPortEnabled( void ) const
로컬로 시작된 Weave UDP 교환이 임시 UDP 소스 포트에서 전송되어야 하는지 확인합니다.
GetConnectionPoolStats
void GetConnectionPoolStats( nl::Weave::System::Stats::count_t & aOutInUse ) const
사용 중인 WeaveConnections 수와 풀 크기를 가져옵니다.
세부정보 | |||
---|---|---|---|
매개변수 |
|
IPv4ListenEnabled
bool IPv4ListenEnabled( void ) const
IPv4를 통한 인바운드 통신을 수신 대기하도록 WeaveMessageLayer가 구성되었는지 확인합니다.
IPv6ListenEnabled
bool IPv6ListenEnabled( void ) const
IPv4를 통한 인바운드 통신을 수신 대기하도록 WeaveMessageLayer가 구성되었는지 확인합니다.
Init
WEAVE_ERROR Init( InitContext *context )
Weave 메시지 레이어 객체를 초기화합니다.
세부정보 | |||||||||
---|---|---|---|---|---|---|---|---|---|
매개변수 |
|
||||||||
반환 값 |
|
IsBoundToLocalIPv4Address
bool IsBoundToLocalIPv4Address( void ) const
WeaveMessageLayer가 로컬 IPv4 주소에 바인딩되는지 확인합니다.
IsBoundToLocalIPv6Address
bool IsBoundToLocalIPv6Address( void ) const
WeaveMessageLayer가 로컬 IPv6 주소에 바인딩되어 있는지 확인합니다.
IsMessageLayerActive
bool IsMessageLayerActive( void )
새 연결
WeaveConnection * NewConnection( void )
새 연결 터널
WeaveConnectionTunnel * NewConnectionTunnel( void )
풀에서 새 WeaveConnectionTunnel 객체를 만듭니다.
세부정보 | |
---|---|
반환 |
성공한 경우 새로 생성된 WeaveConnectionTunnel 객체에 대한 포인터이고, 그렇지 않으면 NULL입니다.
|
ReEncodeMessage
WEAVE_ERROR ReEncodeMessage( PacketBuffer *buf )
새로고침 엔드포인트
WEAVE_ERROR RefreshEndpoints( void )
시스템 네트워크 인터페이스의 현재 상태를 기반으로 InetLayer 엔드포인트를 새로고침합니다.
세부정보 | |||||
---|---|---|---|---|---|
반환 값 |
|
메시지 다시 보내기
WEAVE_ERROR ResendMessage( WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
기본 Inetlayer UDP 엔드포인트를 사용하여 인코딩된 Weave 메시지를 다시 보냅니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
||||
반환 값 |
|
메시지 다시 보내기
WEAVE_ERROR ResendMessage( const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
기본 Inetlayer UDP 엔드포인트를 사용하여 인코딩된 Weave 메시지를 다시 보냅니다.
세부정보 | |||||||
---|---|---|---|---|---|---|---|
매개변수 |
|
||||||
반환 값 |
|
메시지 다시 보내기
WEAVE_ERROR ResendMessage( const IPAddress & destAddr, uint16_t destPort, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
기본 Inetlayer UDP 엔드포인트를 사용하여 인코딩된 Weave 메시지를 다시 보냅니다.
세부정보 | |||||||||
---|---|---|---|---|---|---|---|---|---|
매개변수 |
|
||||||||
반환 값 |
|
메시지 다시 보내기
WEAVE_ERROR ResendMessage( const IPAddress & destAddr, uint16_t destPort, InterfaceId interfaceId, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
기본 Inetlayer UDP 엔드포인트를 사용하여 인코딩된 Weave 메시지를 다시 보냅니다.
참고:-대상 주소가 제공되지 않은 경우 메일 헤더의 노드 식별자에서 목적지 주소를 확인해 보세요. 이 작업을 처리할 수 없으면 실패합니다. -대상 주소가 로컬 패브릭의 Fabric 주소이며 호출자가 대상 노드 ID를 지정하지 않은 경우 대상 주소에서 가져옵니다.
세부정보 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
매개변수 |
|
||||||||||
반환 값 |
|
메시지 보내기
WEAVE_ERROR SendMessage( WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
인코딩 후에 기본 Inetlayer UDP 엔드포인트를 사용하여 Weave 메시지를 보냅니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
||||
반환 값 |
|
메시지 보내기
WEAVE_ERROR SendMessage( const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
인코딩 후에 기본 Inetlayer UDP 엔드포인트를 사용하여 Weave 메시지를 보냅니다.
참고: 사용되는 대상 포트는 WEAVE_PORT입니다. -대상 주소가 제공되지 않은 경우 메일 헤더의 노드 식별자에서 도착 주소를 확인합니다. 이 작업을 처리할 수 없으면 실패합니다.
-대상 주소가 로컬 패브릭의 Fabric 주소이며 호출자가 대상 노드 ID를 지정하지 않은 경우 대상 주소에서 가져옵니다.
세부정보 | |||||||
---|---|---|---|---|---|---|---|
매개변수 |
|
||||||
반환 값 |
|
메시지 보내기
WEAVE_ERROR SendMessage( const IPAddress & destAddr, uint16_t destPort, InterfaceId sendIntfId, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
인코딩 후에 기본 Inetlayer UDP 엔드포인트를 사용하여 Weave 메시지를 보냅니다.
참고:-대상 주소가 제공되지 않은 경우 메일 헤더의 노드 식별자에서 목적지 주소를 확인해 보세요. 이 작업을 처리할 수 없으면 실패합니다. -대상 주소가 로컬 패브릭의 Fabric 주소이며 호출자가 대상 노드 ID를 지정하지 않은 경우 대상 주소에서 가져옵니다.
세부정보 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
매개변수 |
|
||||||||||
반환 값 |
|
SendUDPTunneledMessage
WEAVE_ERROR SendUDPTunneledMessage( const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
로컬 UDP 터널을 통해 터널링된 패킷을 전송하는 함수입니다.
UDP를 통해 터널링된 IPv6 데이터 메시지를 전송합니다.
세부정보 | |||||||
---|---|---|---|---|---|---|---|
매개변수 |
|
||||||
반환 값 |
|
SetSignalMessageLayerActivityChanged
void SetSignalMessageLayerActivityChanged( MessageLayerActivityChangeHandlerFunct messageLayerActivityChangeHandler )
메시지 레이어의 활동이 변경될 때마다 호출되는 애플리케이션 핸들러를 설정합니다.
특히 매번 다음과 같은 알림을 받게 됩니다.
- 열린 거래소의 수가 변경됩니다.
- 대기 중인 메시지 카운터 동기화 요청 수가 0개에서 1개 이상으로 변경되고 다시 0으로 변경됩니다. 핸들러는 진행 중인 Weave 대화 또는 대기 중인 응답이 있는지 여부를 나타내는 일반적인 신호로 사용됩니다. 핸들러는 WeaveMessageLayer가 초기화된 후에 설정해야 합니다. WeaveMessageLayer를 종료하면 현재 핸들러가 지워집니다.
세부정보 | |||
---|---|---|---|
매개변수 |
|
||
반환 값 |
|
SetTCPListenEnabled
void SetTCPListenEnabled( bool val )
WeaveMessageLayer에서 인바운드 TCP 연결 수신을 사용 설정 또는 사용 중지합니다.
참고: TCP 수신 상태가 변경된 후 RefreshEndpoints()
를 호출해야 합니다.
SetUDPListenEnabled
void SetUDPListenEnabled( bool val )
WeaveMessageLayer에서 수신 UDP 메시지 수신을 사용 또는 사용 중지합니다.
참고: UDP 수신 상태가 변경된 후 RefreshEndpoints()
를 호출해야 합니다.
SetUnsecuredConnectionListener
WEAVE_ERROR SetUnsecuredConnectionListener( ConnectionReceiveFunct newOnUnsecuredConnectionReceived, CallbackRemovedFunct newOnUnsecuredConnectionCallbacksRemoved, bool force, void *listenerState )
종료
WEAVE_ERROR Shutdown( void )
WeaveMessageLayer를 종료합니다.
열려 있는 Inet 레이어 엔드포인트를 모두 닫고 상위 계층 콜백, 구성원 변수, 객체를 모두 재설정합니다. Shutdown()을 호출하면 WeaveMessageLayer 객체가 종료됩니다.
TCPListenEnabled
bool TCPListenEnabled( void ) const
인바운드 TCP 연결을 수신 대기하도록 WeaveMessageLayer가 구성되었는지 확인합니다.
UDPListenEnabled:
bool UDPListenEnabled( void ) const
인바운드 UDP 메시지를 수신 대기하도록 WeaveMessageLayer가 구성되었는지 확인합니다.
UnsecuredListenEnabled
bool UnsecuredListenEnabled( void ) const
임시 UDP 소스 포트에서 Weave UDP 교환 시작을 사용 설정 또는 사용 중지합니다.
참고: 임시 포트 상태가 변경된 후 RefreshEndpoints()
를 호출해야 합니다. 보안되지 않은 듣기가 사용 설정되어 있는지 확인합니다.
WeaveMessageLayer
WeaveMessageLayer( void )
Weave 메시지 레이어 생성자
공개 정적 함수
GetMaxWeavePayloadSize
uint32_t GetMaxWeavePayloadSize( const PacketBuffer *msgBuf, bool isUDP, uint32_t udpMTU )
메시지 구성 및 제공된 PacketBuffer의 최대 Weave 페이로드 크기를 가져옵니다.
반환되는 최대 페이로드 크기는 제공된 PacketBuffer 내의 페이로드에 사용 가능한 공간을 초과하지 않습니다.
메시지가 UDP인 경우 반환되는 최대 페이로드 크기는 지정된 UDP MTU를 오버플로하지 않는 Weave 메시지가 아닙니다.
마지막으로 반환되는 최대 페이로드 크기는 Weave 메시지 최대 크기를 초과하는 Weave 메시지가 아닙니다.
세부정보 | |||||||
---|---|---|---|---|---|---|---|
매개변수 |
|
||||||
반환 |
최대 Weave 페이로드 크기입니다.
|
피어 설명
void GetPeerDescription( char *buf, size_t bufSize, uint64_t nodeId, const IPAddress *addr, uint16_t port, InterfaceId interfaceId, const WeaveConnection *con )
피어 노드 및 연결된 주소 / 연결 정보를 설명하는 문자열을 구성합니다.
생성된 문자열의 형식은 다음과 같습니다.
([ ]: % , con )
세부정보 | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
매개변수 |
|
피어 설명
void GetPeerDescription( char *buf, size_t bufSize, const WeaveMessageInfo *msgInfo )
피어에서 수신한 메시지와 연결된 정보를 바탕으로 피어 노드를 설명하는 문자열을 구성합니다.
세부정보 | |||||||
---|---|---|---|---|---|---|---|
매개변수 |
|