nl :: 짜다:: 프로필 :: WeaveTunnel :: WeaveTunnelAgent
요약
생성자와 소멸자 | |
---|---|
WeaveTunnelAgent (void) |
공개 유형 | |
---|---|
AgentState { | 열거 형 서비스에 대한 연결과 관련된 터널 에이전트의 상태. |
AgentState | typedef 서비스에 대한 연결과 관련된 터널 에이전트의 상태. |
OnServiceTunnelReconnectNotifyFunct )(TunnelType tunType, const char *reconnectHost, const uint16_t reconnectPort, void *appCtxt) | typedefvoid(* 서비스로부터 Tunnel Reconnect를 수신 할 때 상위 계층에서 설정 한 핸들러에 대한 함수 포인터. |
OnServiceTunnelStatusNotifyFunct )(WeaveTunnelConnectionMgr::TunnelConnNotifyReasons reason, WEAVE_ERROR err, void *appCtxt) | typedefvoid(* 서비스에 대한 터널과 관련된 다양한 알림에 작동하도록 상위 계층에서 설정 한 핸들러에 대한 함수 포인터입니다. |
PlatformNetworkOnlineCheck )(TunnelType tunType, void *appCtxt) | typedefvoid(* 네트워크 수준 온라인 검사를 수행하기 위해 응용 프로그램에서 제공하는 처리기에 대한 함수 포인터입니다. |
WeaveTunnelFlags { | 열거 형 Weave Tunnel 플래그 비트. |
WeaveTunnelFlags | typedef Weave Tunnel 플래그 비트. |
공용 속성 | |
---|---|
NetworkOnlineCheck | |
OnServiceTunReconnectNotify | |
OnServiceTunStatusNotify | 서비스에 대한 터널과 관련된 다양한 알림에 작동하도록 상위 계층에서 설정 한 핸들러에 대한 함수 포인터입니다. |
mServiceMgr | WeaveServiceManager * 서비스를 조회하고 연결하는 데 사용할 Service Manager 포인터입니다. |
공공 기능 | |
---|---|
DisablePrimaryTunnel (void) | void 기본 터널을 비활성화합니다. |
EnablePrimaryTunnel (void) | void 기본 터널을 활성화합니다. |
GetAgentStateName (const AgentState state) | const char * WeaveTunnelAgentState 이름을 가져옵니다. |
GetTimeMsec (void) | uint64_t 시스템 시간을 밀리 초로 가져옵니다. |
GetWeaveTunnelAgentState (void) | TunnelAgent 상태를 가져옵니다. |
Init (InetLayer *inet, WeaveExchangeManager *exchMgr, uint64_t dstNodeId, WeaveAuthMode authMode, WeaveServiceManager *svcMgr, const char *intfName, uint8_t role, void *appContext) | 터널 에이전트를 초기화하십시오. |
Init (InetLayer *inet, WeaveExchangeManager *exchMgr, uint64_t dstNodeId, IPAddress dstIPAddr, WeaveAuthMode authMode, const char *intfName, uint8_t role, void *appContext) | 터널 에이전트를 초기화하십시오. |
IsPrimaryTunnelEnabled (void) const | bool 기본 터널이 활성화되어 있는지 확인하십시오. |
IsPrimaryTunnelRoutingRestricted (void) | bool 기본 터널이 서비스의 라우팅 제한을 받는지 확인하십시오. |
IsTunnelRoutingRestricted (void) | bool 터널이 서비스에 의해 라우팅 제한을 받는지 확인하십시오. |
NetworkOnlineCheckResult (TunnelType tunType, bool isOnline) | void 네트워크 온라인 검사기의 결과를 사용할 수있을 때 플랫폼에서 호출하는 콜백입니다. |
ResetPrimaryReconnectBackoff (bool reconnectImmediately) | 기본 터널에 대한 재 연결 시간을 재설정합니다. |
SetAuthMode (const WeaveAuthMode authMode) | void 터널에 대한 WeaveAuthMode를 설정합니다. |
SetDestination (const uint64_t nodeId, const IPAddress ipAddr, const uint16_t servicePort) | void 터널의 대상 nodeId, IPAddress 및 포트를 설정합니다. |
SetTunnelingDeviceRole (const Role role) | void 터널에 대한 터널링 장치 역할 (BorderGateway, StandaloneDevice, MobileDevice)을 설정합니다. |
Shutdown (void) | 터널 에이전트를 종료합니다. |
StartServiceTunnel (void) | 서비스 터널을 시작하십시오. |
StartServiceTunnel (uint64_t dstNodeId, IPAddress dstIPAddr, WeaveAuthMode authMode) | 서비스 터널을 시작하십시오. |
StopServiceTunnel (void) | void 서비스에 대한 터널 연결을 닫습니다. |
StopServiceTunnel ( WEAVE_ERROR err) | void 서비스에 대한 터널 연결을 닫습니다. |
공개 정적 함수 | |
---|---|
RecvdFromShortcutUDPTunnel ( WeaveMessageLayer *msgLayer, PacketBuffer *message) | void 경계 게이트웨이와 모바일 장치 사이의 바로 가기 UDP 터널을 통해 터널링 된 IPv6 패킷을 수신하고 터널 헤더 내부에서 원시 IPv6 패킷을 캡슐화 한 후 Tunnel EndPoint 인터페이스로 전달하는 처리기입니다. |
RecvdFromTunnelEndPoint ( TunEndPoint *tunEP, PacketBuffer *message) | void 터널 끝점 인터페이스에서 IPv6 패킷을 수신하고 터널 헤더 내부에 IPv6 패킷을 캡슐화 한 후 서비스 TCP 연결을 통해 서비스로 전달하거나 바로 가기 터널을 통해 모바일 클라이언트로 전달하는 핸들러입니다. |
공개 유형
AgentState
AgentState
서비스에 대한 연결과 관련된 터널 에이전트의 상태.
AgentState
enum nl::Weave::Profiles::WeaveTunnel::WeaveTunnelAgent::AgentState AgentState
서비스에 대한 연결과 관련된 터널 에이전트의 상태.
OnServiceTunnelReconnectNotifyFunct
void(* OnServiceTunnelReconnectNotifyFunct)(TunnelType tunType, const char *reconnectHost, const uint16_t reconnectPort, void *appCtxt)
서비스로부터 Tunnel Reconnect를 수신 할 때 상위 계층에서 설정 한 핸들러에 대한 함수 포인터입니다.
세부 | |||||||||
---|---|---|---|---|---|---|---|---|---|
매개 변수 |
|
OnServiceTunnelStatusNotifyFunct
void(* OnServiceTunnelStatusNotifyFunct)(WeaveTunnelConnectionMgr::TunnelConnNotifyReasons reason, WEAVE_ERROR err, void *appCtxt)
서비스에 대한 터널과 관련된 다양한 알림에 작동하도록 상위 계층에서 설정 한 핸들러에 대한 함수 포인터입니다.
세부 | |||||||
---|---|---|---|---|---|---|---|
매개 변수 |
|
PlatformNetworkOnlineCheck
void(* PlatformNetworkOnlineCheck)(TunnelType tunType, void *appCtxt)
네트워크 수준 온라인 검사를 수행하기 위해 응용 프로그램에서 제공하는 처리기에 대한 함수 포인터입니다.
세부 | |||||
---|---|---|---|---|---|
매개 변수 |
|
WeaveTunnelFlags
WeaveTunnelFlags
WeaveTunnelFlags
enum nl::Weave::Profiles::WeaveTunnel::WeaveTunnelAgent::WeaveTunnelFlags WeaveTunnelFlags
Weave Tunnel 플래그 비트.
공용 속성
NetworkOnlineCheck
PlatformNetworkOnlineCheck NetworkOnlineCheck
OnServiceTunReconnectNotify
OnServiceTunnelReconnectNotifyFunct OnServiceTunReconnectNotify
OnServiceTunStatusNotify
OnServiceTunnelStatusNotifyFunct OnServiceTunStatusNotify
서비스에 대한 터널과 관련된 다양한 알림에 작동하도록 상위 계층에서 설정 한 핸들러에 대한 함수 포인터입니다.
mServiceMgr
WeaveServiceManager * mServiceMgr
서비스를 조회하고 연결하는 데 사용할 Service Manager 포인터입니다.
공공 기능
DisablePrimaryTunnel
void DisablePrimaryTunnel( void )
기본 터널을 비활성화합니다.
기본 터널을 비활성화합니다.
EnablePrimaryTunnel
void EnablePrimaryTunnel( void )
기본 터널을 활성화합니다.
기본 터널을 활성화합니다.
GetAgentStateName
const char * GetAgentStateName( const AgentState state )
WeaveTunnelAgentState 이름을 가져옵니다.
GetTimeMsec
uint64_t GetTimeMsec( void )
시스템 시간 (밀리 초)을 가져옵니다.
시스템 시간을 사용할 수없는 경우 시스템 시간 또는 단조로운 시간 (밀리 초)을 가져옵니다.
GetWeaveTunnelAgentState
AgentState GetWeaveTunnelAgentState( void )
TunnelAgent 상태를 가져옵니다.
세부 | |
---|---|
보고 | 의 현재 상태 AgentState WeaveTunnelAgent을 . |
초기화
WEAVE_ERROR Init( InetLayer *inet, WeaveExchangeManager *exchMgr, uint64_t dstNodeId, WeaveAuthMode authMode, WeaveServiceManager *svcMgr, const char *intfName, uint8_t role, void *appContext )
터널 에이전트를 초기화하십시오.
이것은 TE 터널 종단점 객체를 생성하는 터널 인터페이스를 설정하고, 멤버 변수 콜백 및 초기화 WeaveTunnelControl를 .
초기화
WEAVE_ERROR Init( InetLayer *inet, WeaveExchangeManager *exchMgr, uint64_t dstNodeId, IPAddress dstIPAddr, WeaveAuthMode authMode, const char *intfName, uint8_t role, void *appContext )
터널 에이전트를 초기화하십시오.
이것은 TE 터널 종단점 객체를 생성하는 터널 인터페이스를 설정하고, 멤버 변수 콜백 및 초기화 WeaveTunnelControl를 .
IsPrimaryTunnelEnabled
bool IsPrimaryTunnelEnabled( void ) const
기본 터널이 활성화되어 있는지 확인하십시오.
세부 | |
---|---|
보고 | 활성화되어 있으면 true이고 그렇지 않으면 false입니다. |
IsPrimaryTunnelRoutingRestricted
bool IsPrimaryTunnelRoutingRestricted( void )
기본 터널이 서비스의 라우팅 제한을 받는지 확인하십시오.
기본 터널에 라우팅 제한이 적용되는지 확인합니다.
세부 | |
---|---|
보고 | 기본 터널이 설정되었지만 서비스의 라우팅 제한이 적용되는 경우 true입니다. |
IsTunnelRoutingRestricted
bool IsTunnelRoutingRestricted( void )
터널이 서비스에 의해 라우팅 제한을 받는지 확인하십시오.
터널이 라우팅 제한을 받는지 확인하십시오.
세부 | |
---|---|
보고 | 기본 또는 백업 터널이 설정되고 둘 중 하나가 서비스의 라우팅 제한을받는 경우 true입니다. |
NetworkOnlineCheckResult
void NetworkOnlineCheckResult( TunnelType tunType, bool isOnline )
네트워크 온라인 검사기의 결과를 사용할 수있을 때 플랫폼에서 호출하는 콜백입니다.
세부 | |||||
---|---|---|---|---|---|
매개 변수 |
|
ResetPrimaryReconnectBackoff
WEAVE_ERROR ResetPrimaryReconnectBackoff( bool reconnectImmediately )
기본 터널에 대한 재 연결 시간을 재설정합니다.
세부 | |||
---|---|---|---|
매개 변수 |
|
SetAuthMode
void SetAuthMode( const WeaveAuthMode authMode )
터널에 대한 WeaveAuthMode를 설정합니다.
세부 | |||
---|---|---|---|
매개 변수 |
|
SetDestination
void SetDestination( const uint64_t nodeId, const IPAddress ipAddr, const uint16_t servicePort )
터널의 대상 nodeId, IPAddress 및 포트를 설정합니다.
터널의 대상 nodeId 및 IPAddress를 설정합니다.
세부 | |||||||
---|---|---|---|---|---|---|---|
매개 변수 |
|
SetTunnelingDeviceRole
void SetTunnelingDeviceRole( const Role role )
터널에 대한 터널링 장치 역할 (BorderGateway, StandaloneDevice, MobileDevice)을 설정합니다.
터널에 대한 터널링 장치 역할 (BorderGateway vs Standalone)을 설정합니다.
세부 | |||
---|---|---|---|
매개 변수 |
|
일시 휴업
WEAVE_ERROR Shutdown( void )
터널 에이전트를 종료합니다.
이렇게하면 서비스에 대한 연결이 끊어지고 터널 인터페이스와 관련된 주소 및 경로를 제거한 후 TunEndPoint 인터페이스가 닫힙니다.
이렇게하면 서비스에 대한 연결이 끊어지고 터널 인터페이스와 관련된 주소 및 경로를 제거한 후 TunEndPoint 인터페이스가 닫힙니다.
세부 | |
---|---|
보고 | 성공하면 WEAVE_NO_ERROR이고, 그렇지 않으면 해당 WEAVE_ERROR 유형입니다. |
StartServiceTunnel
WEAVE_ERROR StartServiceTunnel( void )
서비스 터널을 시작하십시오.
이렇게하면 터널이 활성화되고 서비스에 대한 연결 설정을 시도합니다.
이렇게하면 서비스에 대한 연결을 설정하고 터널 인터페이스에 대한 패브릭 경로도 설정합니다.
세부 | |
---|---|
보고 | 성공하면 WEAVE_NO_ERROR이고, 그렇지 않으면 해당 WEAVE_ERROR 유형입니다. |
StartServiceTunnel
WEAVE_ERROR StartServiceTunnel( uint64_t dstNodeId, IPAddress dstIPAddr, WeaveAuthMode authMode )
서비스 터널을 시작하십시오.
이렇게하면 터널이 활성화되고 서비스에 대한 연결 설정을 시도합니다.
StopServiceTunnel
void StopServiceTunnel( void )
서비스에 대한 터널 연결을 닫습니다.
StopServiceTunnel
void StopServiceTunnel( WEAVE_ERROR err )
서비스에 대한 터널 연결을 닫습니다.
세부 | |||
---|---|---|---|
매개 변수 |
|
WeaveTunnelAgent
WeaveTunnelAgent( void )
공개 정적 함수
RecvdFromShortcutUDPTunnel
void RecvdFromShortcutUDPTunnel( WeaveMessageLayer *msgLayer, PacketBuffer *message )
경계 게이트웨이와 모바일 장치 사이의 바로 가기 UDP 터널을 통해 터널링 된 IPv6 패킷을 수신하고 터널 헤더 내부에서 원시 IPv6 패킷을 캡슐화 한 후 Tunnel EndPoint 인터페이스로 전달하는 처리기입니다.
서비스 TCP 연결에서 터널링 된 IPv6 패킷을 수신하고 터널 헤더 내부에서 원시 IPv6 패킷을 캡슐화 한 후 Tunnel EndPoint 인터페이스로 전달하는 핸들러입니다.
세부 | |||||||
---|---|---|---|---|---|---|---|
매개 변수 |
|
RecvdFromTunnelEndPoint
void RecvdFromTunnelEndPoint( TunEndPoint *tunEP, PacketBuffer *message )
터널 끝점 인터페이스에서 IPv6 패킷을 수신하고 터널 헤더 내부에 IPv6 패킷을 캡슐화 한 후 서비스 TCP 연결을 통해 서비스로 전달하거나 바로 가기 터널을 통해 모바일 클라이언트로 전달하는 핸들러입니다.
터널 끝점 인터페이스에서 IPv6 패킷을 수신하고 터널 헤더 내부에 IPv6 패킷을 캡슐화 한 후 서비스 TCP 연결을 통해 서비스로 전달하거나 로컬 터널을 통해 모바일 클라이언트로 전달하는 핸들러입니다.
서비스 연결이 아직 설정되지 않은 경우 연결이 설정 될 때까지 메시지가 대기합니다. 모바일 클라이언트 장치에 대한 터널링의 경우 nexthop 인접 테이블이 참조됩니다.
서비스 연결이 아직 설정되지 않은 경우 연결이 설정 될 때까지 메시지가 대기합니다. 모바일 클라이언트 장치에 대한 터널링의 경우 nexthop 인접 테이블이 참조됩니다.
세부 | |||||
---|---|---|---|---|---|
매개 변수 |
|