nl :: 짜다:: 프로필 :: WeaveTunnel :: WeaveTunnelConnectionMgr
#include <src/lib/profiles/weave-tunneling/WeaveTunnelConnectionMgr.h>
이 클래스는 모든 Weave 터널 연결 상태와 관련 관리 논리 및 기능을 캡슐화합니다.
요약
이 클래스의 인스턴스는 서비스에 대한 Weave 터널이 존재하는 각 인터페이스에서 터널을 관리하는 데 사용됩니다.
생성자와 소멸자 | |
---|---|
WeaveTunnelConnectionMgr (void) |
공개 유형 | |
---|---|
ConnectPolicyCallback )(void *const appState, ReconnectParam &reconnectParam, uint32_t &delayMsec) | typedefvoid(* 다음 터널 재 연결 전에 대기 할 시간 간격을 가져 오는 콜백입니다. |
TunnelConnNotifyReasons { | 열거 형 |
TunnelConnNotifyReasons | typedef |
TunnelConnectionState { | 열거 형 |
TunnelConnectionState | typedef |
공용 속성 | |
---|---|
mServiceConnDelayPolicyCallback |
공공 기능 | |
---|---|
Init ( WeaveTunnelAgent *tunAgent, TunnelType tunType, SrcInterfaceType srcIntfType, const char *connIntfName) | |
ServiceTunnelClose ( WEAVE_ERROR err) | void 서비스 터널을 닫습니다. |
SetInterfaceName (const char *intfName) | void 터널 연결을위한 InterfaceName을 설정합니다. |
SetInterfaceType (const SrcInterfaceType srcIntfType) | void 터널 연결을 위해 SrcInterfaceType을 설정합니다. |
Shutdown (void) | void 를 종료 WeaveTunnelConnectionMgr . |
StopAndReconnectTunnelConn ( ReconnectParam & reconnParam) | void 서비스 터널 연결을 중지하고 다시 연결을 시도하십시오. |
TryConnectingNow (void) | 서비스에 대한 연결 설정을 시도합니다. |
공개 정적 함수 | |
---|---|
DefaultReconnectPolicyCallback (void *const appstate, ReconnectParam & reconnectParam, uint32_t & delayMsec) | void 다음에 서비스에 연결할 때 가져 오기위한 기본 정책 구현입니다. |
HandleServiceConnectionClosed ( WeaveConnection *con, WEAVE_ERROR conErr) | void 서비스 TCP 연결이 닫힐 때 호출되는 핸들러. |
HandleServiceConnectionComplete ( WeaveConnection *con, WEAVE_ERROR conErr) | void 서비스 TCP 연결이 완료되면 호출되는 핸들러입니다. |
RecvdFromService ( WeaveConnection *con, const WeaveMessageInfo *msgInfo, PacketBuffer *message) | void 서비스 TCP 연결에서 터널링 된 IPv6 패킷을 수신하고 터널 헤더 내부에서 원시 IPv6 패킷을 캡슐화 한 후 Tunnel EndPoint 인터페이스로 전달하는 핸들러입니다. |
ServiceMgrStatusHandler (void *appState, WEAVE_ERROR err, StatusReport *report) | void 서비스 관리자가 서비스에 대한 TCP 연결을 설정하지 못한 경우 호출되는 핸들러입니다. |
공개 유형
ConnectPolicyCallback
void(* ConnectPolicyCallback)(void *const appState, ReconnectParam &reconnectParam, uint32_t &delayMsec)
다음 터널 재 연결 전에 대기 할 시간 간격을 가져 오는 콜백입니다.
세부 | |||||||
---|---|---|---|---|---|---|---|
매개 변수 |
|
TunnelConnNotifyReasons
TunnelConnNotifyReasons
TunnelConnNotifyReasons
enum nl::Weave::Profiles::WeaveTunnel::WeaveTunnelConnectionMgr::TunnelConnNotifyReasons TunnelConnNotifyReasons
TunnelConnectionState
TunnelConnectionState
TunnelConnectionState
enum nl::Weave::Profiles::WeaveTunnel::WeaveTunnelConnectionMgr::TunnelConnectionState TunnelConnectionState
공용 속성
mServiceConnDelayPolicyCallback
ConnectPolicyCallback mServiceConnDelayPolicyCallback
공공 기능
초기화
WEAVE_ERROR Init( WeaveTunnelAgent *tunAgent, TunnelType tunType, SrcInterfaceType srcIntfType, const char *connIntfName )
ServiceTunnel 닫기
void ServiceTunnelClose( WEAVE_ERROR err )
서비스 터널을 닫습니다.
세부 | |||
---|---|---|---|
매개 변수 |
|
SetInterfaceName
void SetInterfaceName( const char *intfName )
터널 연결을위한 InterfaceName을 설정합니다.
세부 | |||
---|---|---|---|
매개 변수 |
|
SetInterfaceType
void SetInterfaceType( const SrcInterfaceType srcIntfType )
터널 연결을 위해 SrcInterfaceType을 설정합니다.
세부 | |||
---|---|---|---|
매개 변수 |
|
StopAndReconnectTunnelConn
void StopAndReconnectTunnelConn( ReconnectParam & reconnParam )
서비스 터널 연결을 중지하고 다시 연결을 시도하십시오.
세부 | |||
---|---|---|---|
매개 변수 |
|
TryConnectingNow
WEAVE_ERROR TryConnectingNow( void )
서비스에 대한 연결 설정을 시도합니다.
ServiceManager를 사용하거나 직접 서비스에 대한 연결을 설정하십시오.
WeaveTunnelConnectionMgr
WeaveTunnelConnectionMgr( void )
공개 정적 함수
DefaultReconnectPolicyCallback
void DefaultReconnectPolicyCallback( void *const appstate, ReconnectParam & reconnectParam, uint32_t & delayMsec )
다음에 서비스에 연결할 때 가져 오기위한 기본 정책 구현입니다.
이 정책은 최대 WEAVE_CONFIG_TUNNELING_RECONNECT_MAX_FIBONACCI_INDEX까지 피보나치 시퀀스를 따라 증가하는 창에서 임의의 시간 슬롯 (밀리 초 해상도)을 선택합니다.
세부 | |||||||
---|---|---|---|---|---|---|---|
매개 변수 |
|
HandleServiceConnectionClosed
void HandleServiceConnectionClosed( WeaveConnection *con, WEAVE_ERROR conErr )
서비스 TCP 연결이 닫힐 때 호출되는 핸들러.
장치는 mServiceConKeepAlive가 true로 설정된 경우 서비스에 대한 연결을 다시 설정하려고합니다.
이후에 장치는 서비스에 대한 연결을 다시 설정하려고합니다.
세부 | |||||
---|---|---|---|---|---|
매개 변수 |
|
HandleServiceConnectionComplete
void HandleServiceConnectionComplete( WeaveConnection *con, WEAVE_ERROR conErr )
서비스 TCP 연결이 완료되면 호출되는 핸들러입니다.
장치는이 기능에서 서비스에 대한 터널 제어 명령을 시작합니다.
장치는이 기능에서 서비스에 대한 터널 제어 명령을 시작합니다.
세부 | |||||
---|---|---|---|---|---|
매개 변수 |
|
RecvdFromService
void RecvdFromService( WeaveConnection *con, const WeaveMessageInfo *msgInfo, PacketBuffer *message )
서비스 TCP 연결에서 터널링 된 IPv6 패킷을 수신하고 터널 헤더 내부에서 원시 IPv6 패킷을 캡슐화 한 후 Tunnel EndPoint 인터페이스로 전달하는 핸들러입니다.
세부 | |||||||
---|---|---|---|---|---|---|---|
매개 변수 |
|
ServiceMgrStatusHandler
void ServiceMgrStatusHandler( void *appState, WEAVE_ERROR err, StatusReport *report )
서비스 관리자가 서비스에 대한 TCP 연결을 설정하지 못한 경우 호출되는 핸들러입니다.