Google은 흑인 공동체를 위한 인종적 평등을 추구하기 위해 노력하고 있습니다. 자세히 알아보기

nl :: 짜다:: 프로필 :: WeaveTunnel :: WeaveTunnelAgent

요약

생성자와 소멸자

WeaveTunnelAgent (void)

공개 유형

AgentState {
kState_NotInitialized = 0,
kState_Initialized_NoTunnel = 1,
kState_PrimaryTunModeEstablished = 2,
kState_BkupOnlyTunModeEstablished = 3,
kState_PrimaryAndBkupTunModeEstablished = 4
}
열거 형
서비스에 대한 연결과 관련된 터널 에이전트의 상태.
AgentState typedef
서비스에 대한 연결과 관련된 터널 에이전트의 상태.
OnServiceTunnelReconnectNotifyFunct )(TunnelType tunType, const char *reconnectHost, const uint16_t reconnectPort, void *appCtxt) typedef
void(*
서비스로부터 Tunnel Reconnect를 수신 할 때 상위 계층에서 설정 한 핸들러에 대한 함수 포인터.
OnServiceTunnelStatusNotifyFunct )(WeaveTunnelConnectionMgr::TunnelConnNotifyReasons reason, WEAVE_ERROR err, void *appCtxt) typedef
void(*
서비스에 대한 터널과 관련된 다양한 알림에 작동하도록 상위 계층에서 설정 한 핸들러에 대한 함수 포인터입니다.
PlatformNetworkOnlineCheck )(TunnelType tunType, void *appCtxt) typedef
void(*
네트워크 수준 온라인 검사를 수행하기 위해 응용 프로그램에서 제공하는 처리기에 대한 함수 포인터입니다.
WeaveTunnelFlags {
kTunnelFlag_PrimaryEnabled = 0x01,
kTunnelFlag_BackupEnabled = 0x02,
kTunnelFlag_PrimaryRestricted = 0x04,
kTunnelFlag_BackupRestricted = 0x08
}
열거 형
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

서비스에 대한 연결과 관련된 터널 에이전트의 상태.

속성
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)

서비스로부터 Tunnel Reconnect를 수신 할 때 상위 계층에서 설정 한 핸들러에 대한 함수 포인터입니다.

세부
매개 변수
[in] tunType
터널 유형, 기본 또는 백업.
[in] reconnectHost
다시 연결할 서비스에서 제공 한 호스트 이름입니다.
[in] reconnectPort
다시 연결할 서비스에서 제공하는 대상 포트입니다.
[in] appCtxt
응용 프로그램 컨텍스트 개체에 대한 포인터

OnServiceTunnelStatusNotifyFunct

void(* OnServiceTunnelStatusNotifyFunct)(WeaveTunnelConnectionMgr::TunnelConnNotifyReasons reason, WEAVE_ERROR err, void *appCtxt)

서비스에 대한 터널과 관련된 다양한 알림에 작동하도록 상위 계층에서 설정 한 핸들러에 대한 함수 포인터입니다.

세부
매개 변수
[in] reason
응용 프로그램에 대한 상태 알림 이유입니다.
[in] err
Weave 오류가 발생한 경우
[in] appCtxt
응용 프로그램 컨텍스트 개체에 대한 포인터

PlatformNetworkOnlineCheck

void(* PlatformNetworkOnlineCheck)(TunnelType tunType, void *appCtxt)

네트워크 수준 온라인 검사를 수행하기 위해 응용 프로그램에서 제공하는 처리기에 대한 함수 포인터입니다.

세부
매개 변수
[in] tunType
터널 유형, 기본 또는 백업.
[in] 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

서비스를 조회하고 연결하는 데 사용할 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
)

네트워크 온라인 검사기의 결과를 사용할 수있을 때 플랫폼에서 호출하는 콜백입니다.

세부
매개 변수
[in] tunType
네트워크 연결 확인이 수행되는 인터페이스에 해당하는 터널 유형입니다.
[in] isOnline
네트워크가 온라인이면 참, 그렇지 않으면 거짓.

ResetPrimaryReconnectBackoff

WEAVE_ERROR ResetPrimaryReconnectBackoff(
  bool reconnectImmediately
)

기본 터널에 대한 재 연결 시간을 재설정합니다.

세부
매개 변수
[in] reconnectImmediately
즉시 다시 연결해야하는 경우 True이고 그렇지 않으면 구성된 다시 연결 제한 시간을 사용합니다.

SetAuthMode

void SetAuthMode(
  const WeaveAuthMode authMode
)

터널에 대한 WeaveAuthMode를 설정합니다.

세부
매개 변수
[in] authMode
피어와 함께 사용되는 Weave 인증 모드입니다.

SetDestination

void SetDestination(
  const uint64_t nodeId,
  const IPAddress ipAddr,
  const uint16_t servicePort
)

터널의 대상 nodeId, IPAddress 및 포트를 설정합니다.

터널의 대상 nodeId 및 IPAddress를 설정합니다.

세부
매개 변수
[in] nodeId
대상 노드의 노드 ID입니다.
[in] ipAddr
대상 노드의 IP 주소입니다.
[in] servicePort
대상 노드의 포트입니다.

SetTunnelingDeviceRole

void SetTunnelingDeviceRole(
  const Role role
)

터널에 대한 터널링 장치 역할 (BorderGateway, StandaloneDevice, MobileDevice)을 설정합니다.

터널에 대한 터널링 장치 역할 (BorderGateway vs Standalone)을 설정합니다.

세부
매개 변수
[in] role
터널 에이전트가 맡은 역할. Border Gateway, 독립형 또는 모바일 장치.

일시 휴업

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
)

서비스에 대한 터널 연결을 닫습니다.

세부
매개 변수
[in] err
이 StopServiceTunnel 요청에 대한 특정 이유가없는 경우 WEAVE_NO_ERROR, 그렇지 않으면 오류 원인이 전달됩니다.

WeaveTunnelAgent

 WeaveTunnelAgent(
  void
)

공개 정적 함수

RecvdFromShortcutUDPTunnel

void RecvdFromShortcutUDPTunnel(
  WeaveMessageLayer *msgLayer,
  PacketBuffer *message
)

경계 게이트웨이와 모바일 장치 사이의 바로 가기 UDP 터널을 통해 터널링 된 IPv6 패킷을 수신하고 터널 헤더 내부에서 원시 IPv6 패킷을 캡슐화 한 후 Tunnel EndPoint 인터페이스로 전달하는 처리기입니다.

서비스 TCP 연결에서 터널링 된 IPv6 패킷을 수신하고 터널 헤더 내부에서 원시 IPv6 패킷을 캡슐화 한 후 Tunnel EndPoint 인터페이스로 전달하는 핸들러입니다.

세부
매개 변수
[in] con
받는 포인터 WeaveConnection의 객체입니다.
[in] msgInfo
받는 포인터 WeaveMessageInfo의 객체입니다.
[in] message
터널링 된 IPv6 패킷을 보유하는 PacketBuffer 개체에 대한 포인터입니다.

RecvdFromTunnelEndPoint

void RecvdFromTunnelEndPoint(
  TunEndPoint *tunEP,
  PacketBuffer *message
)

터널 끝점 인터페이스에서 IPv6 패킷을 수신하고 터널 헤더 내부에 IPv6 패킷을 캡슐화 한 후 서비스 TCP 연결을 통해 서비스로 전달하거나 바로 가기 터널을 통해 모바일 클라이언트로 전달하는 핸들러입니다.

터널 끝점 인터페이스에서 IPv6 패킷을 수신하고 터널 헤더 내부에 IPv6 패킷을 캡슐화 한 후 서비스 TCP 연결을 통해 서비스로 전달하거나 로컬 터널을 통해 모바일 클라이언트로 전달하는 핸들러입니다.

서비스 연결이 아직 설정되지 않은 경우 연결이 설정 될 때까지 메시지가 대기합니다. 모바일 클라이언트 장치에 대한 터널링의 경우 nexthop 인접 테이블이 참조됩니다.

서비스 연결이 아직 설정되지 않은 경우 연결이 설정 될 때까지 메시지가 대기합니다. 모바일 클라이언트 장치에 대한 터널링의 경우 nexthop 인접 테이블이 참조됩니다.

세부
매개 변수
[in] tunEP
TunEndPoint 개체에 대한 포인터입니다.
[in] message
원시 IPv6 패킷을 보유하는 PacketBuffer 개체에 대한 포인터입니다.