nl:: Weave:: Profiles:: WeaveTunnel:: WeaveTunnelAgent
요약
생성자 및 소멸자 |
|
---|---|
WeaveTunnelAgent(void)
|
공개 유형 |
|
---|---|
AgentState{
|
enum 서비스와의 연결과 관련된 터널 에이전트의 상태입니다. |
AgentState
|
typedef 서비스와의 연결과 관련된 터널 에이전트의 상태입니다. |
OnServiceTunnelReconnectNotifyFunct)(TunnelType tunType, const char *reconnectHost, const uint16_t reconnectPort, void *appCtxt)
|
typedefvoid(*
서비스에서 터널 재연결을 수신할 때 상위 레이어에서 설정한 핸들러에 대한 함수 포인터입니다. |
OnServiceTunnelStatusNotifyFunct)(WeaveTunnelConnectionMgr::TunnelConnNotifyReasons reason, WEAVE_ERROR err, void *appCtxt)
|
typedefvoid(*
서비스에 대한 터널과 관련된 다양한 알림을 처리하기 위해 상위 레이어에서 설정한 핸들러에 대한 함수 포인터입니다. |
PlatformNetworkOnlineCheck)(TunnelType tunType, void *appCtxt)
|
typedefvoid(*
네트워크 수준 온라인 확인을 수행하기 위해 애플리케이션에서 제공하는 핸들러에 대한 함수 포인터입니다. |
WeaveTunnelFlags{
|
enum Weave Tunnel 플래그 비트입니다. |
WeaveTunnelFlags
|
typedef Weave Tunnel 플래그 비트입니다. |
공개 속성 |
|
---|---|
NetworkOnlineCheck
|
|
OnServiceTunReconnectNotify
|
|
OnServiceTunStatusNotify
|
서비스에 대한 터널과 관련된 다양한 알림을 처리하기 위해 상위 레이어에서 설정한 핸들러에 대한 함수 포인터입니다.
|
mServiceMgr
|
WeaveServiceManager *
서비스를 조회하고 연결하는 데 사용하는 서비스 관리자 포인터입니다.
|
공개 함수 |
|
---|---|
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)
|
Tunnel 에이전트를 초기화합니다.
|
Init(InetLayer *inet, WeaveExchangeManager *exchMgr, uint64_t dstNodeId, IPAddress dstIPAddr, WeaveAuthMode authMode, const char *intfName, uint8_t role, void *appContext)
|
Tunnel 에이전트를 초기화합니다.
|
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 패킷을 디캡슐화한 후 터널 엔드포인트 인터페이스로 전달합니다.
|
RecvdFromTunnelEndPoint(TunEndPoint *tunEP, PacketBuffer *message)
|
void
터널 헤더 내에서 IPv6 패킷을 캡슐화한 후 서비스 TCP 연결을 통해 서비스 또는 단축 터널을 통해 모바일 클라이언트로 전달하는 핸들러입니다.
|
공개 유형
AgentState
AgentState
서비스와의 연결과 관련된 터널 에이전트의 상태입니다.
속성 | |
---|---|
kState_BkupOnlyTunModeEstablished
|
서비스에 대한 백업 터널이 설정되었음을 나타내는 데 사용됩니다. |
kState_Initialized_NoTunnel
|
터널 에이전트가 초기화되었지만 터널이 설정되지 않았음을 나타내는 데 사용됩니다. |
kState_NotInitialized
|
터널 에이전트가 초기화되지 않았음을 나타내는 데 사용됩니다. |
kState_PrimaryAndBkupTunModeEstablished
|
기본 및 백업 터널이 모두 설정되었음을 나타내는 데 사용됩니다. |
kState_PrimaryTunModeEstablished
|
서비스의 기본 터널이 설정되었음을 나타내는 데 사용됩니다. |
AgentState
enum nl::Weave::Profiles::WeaveTunnel::WeaveTunnelAgent::AgentState AgentState
서비스와의 연결과 관련된 터널 에이전트의 상태입니다.
OnServiceTunnelReconnectNotifyFunct
void(* OnServiceTunnelReconnectNotifyFunct)(TunnelType tunType, const char *reconnectHost, const uint16_t reconnectPort, void *appCtxt)
서비스에서 터널 재연결을 수신할 때 상위 레이어에서 설정한 핸들러에 대한 함수 포인터입니다.
세부정보 | |||||||||
---|---|---|---|---|---|---|---|---|---|
매개변수 |
|
OnServiceTunnelStatusNotifyFunct
void(* OnServiceTunnelStatusNotifyFunct)(WeaveTunnelConnectionMgr::TunnelConnNotifyReasons reason, WEAVE_ERROR err, void *appCtxt)
서비스에 대한 터널과 관련된 다양한 알림을 처리하기 위해 상위 레이어에서 설정한 핸들러에 대한 함수 포인터입니다.
세부정보 | |||||||
---|---|---|---|---|---|---|---|
매개변수 |
|
PlatformNetworkOnlineCheck
void(* PlatformNetworkOnlineCheck)(TunnelType tunType, void *appCtxt)
네트워크 수준 온라인 확인을 수행하기 위해 애플리케이션에서 제공하는 핸들러에 대한 함수 포인터입니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
WeaveTunnelFlags
WeaveTunnelFlags
Weave Tunnel 플래그 비트입니다.
속성 | |
---|---|
kTunnelFlag_BackupEnabled
|
백업 터널이 사용 설정될 때 설정됩니다. |
kTunnelFlag_BackupRestricted
|
백업 터널의 라우팅이 제한되는 시점을 설정합니다. |
kTunnelFlag_PrimaryEnabled
|
기본 터널이 사용 설정될 때 설정됩니다. |
kTunnelFlag_PrimaryRestricted
|
기본 터널의 라우팅이 제한되는 시점을 설정합니다. |
WeaveTunnelFlags
enum nl::Weave::Profiles::WeaveTunnel::WeaveTunnelAgent::WeaveTunnelFlags WeaveTunnelFlags
Weave Tunnel 플래그 비트입니다.
공개 속성
NetworkOnlineCheck
PlatformNetworkOnlineCheck NetworkOnlineCheck
OnServiceTunReconnectNotify
OnServiceTunnelReconnectNotifyFunct OnServiceTunReconnectNotify
OnServiceTunStatusNotify
OnServiceTunnelStatusNotifyFunct OnServiceTunStatusNotify
서비스에 대한 터널과 관련된 다양한 알림을 처리하기 위해 상위 레이어에서 설정한 핸들러에 대한 함수 포인터입니다.
mServiceMgr
WeaveServiceManager * mServiceMgr
서비스를 조회하고 연결하는 데 사용하는 서비스 관리자 포인터입니다.
공개 함수
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 )
Init
WEAVE_ERROR Init( InetLayer *inet, WeaveExchangeManager *exchMgr, uint64_t dstNodeId, WeaveAuthMode authMode, WeaveServiceManager *svcMgr, const char *intfName, uint8_t role, void *appContext )
Tunnel 에이전트를 초기화합니다.
그러면 터널 엔드포인트 객체가 생성되고, 터널 인터페이스가 설정되고, 멤버 변수, 콜백, WeaveTunnelControl이 초기화됩니다.
Init
WEAVE_ERROR Init( InetLayer *inet, WeaveExchangeManager *exchMgr, uint64_t dstNodeId, IPAddress dstIPAddr, WeaveAuthMode authMode, const char *intfName, uint8_t role, void *appContext )
Tunnel 에이전트를 초기화합니다.
그러면 터널 엔드포인트 객체가 생성되고, 터널 인터페이스가 설정되고, 멤버 변수, 콜백, 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 독립형)을 설정합니다.
세부정보 | |||
---|---|---|---|
매개변수 |
|
종료
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 패킷을 디캡슐화한 후 터널 엔드포인트 인터페이스로 전달합니다.
서비스 TCP 연결에서 터널링된 IPv6 패킷을 수신하고 터널 헤더 내부에서 원시 IPv6 패킷을 캡슐화한 후 Tunnel EndPoint 인터페이스로 전달하는 핸들러입니다.
세부정보 | |||||||
---|---|---|---|---|---|---|---|
매개변수 |
|
RecvdFromTunnelEndPoint
void RecvdFromTunnelEndPoint( TunEndPoint *tunEP, PacketBuffer *message )
터널 헤더 내에서 IPv6 패킷을 캡슐화한 후 서비스 TCP 연결을 통해 서비스 또는 단축 터널을 통해 모바일 클라이언트로 전달하는 핸들러입니다.
터널 헤더 내에서 IPv6 패킷을 캡슐화한 후 서비스 TCP 연결을 통해 서비스 또는 로컬 터널을 통해 모바일 클라이언트로 전달하는 핸들러입니다.
서비스 연결이 아직 설정되지 않은 경우 연결이 설정될 때까지 메시지가 큐에 추가됩니다. 모바일 클라이언트 디바이스에 대한 터널링의 경우, 다음 홉 이웃 테이블이 참조됩니다.
서비스 연결이 아직 설정되지 않은 경우 연결이 설정될 때까지 메시지가 큐에 추가됩니다. 모바일 클라이언트 디바이스에 대한 터널링의 경우, 다음 홉 이웃 테이블이 참조됩니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|