nl::Weave::Profiles::WeaveTunnel::WeaveTunnelControl

요약

생성자 및 소멸자

WeaveTunnelControl(void)

공개 유형

TunnelStatusRcvdFunct)(uint8_t tType, StatusReport &tunStatus) typedef
void(*
전송된 터널 제어 메시지에 대한 응답으로 StatusReport 메시지를 수신할 때 작동하도록 상위 레이어에서 설정한 핸들러에 대한 함수 포인터입니다.

공개 속성

OnTunStatusRcvd
mCtrlResponseTimeout
uint16_t
제어 메시지에 대한 응답의 제한 시간(초)입니다.
mShortcutTunnelAdvInterval
uint16_t
주기적 바로가기 터널 공지의 간격(초)입니다.

공개 함수

Close(void)
해결되지 않은 교환 컨텍스트를 닫고 구성원을 재설정하여 WeaveTunnelControl을 닫습니다.
DisableShortcutTunneling(void)
void
Border Gateway나 모바일 클라이언트에서 광고를 전송하고 바로가기 터널 상응하는 항목의 광고를 수신하는 경우 바로가기 터널링을 사용 중지합니다.
EnableShortcutTunneling(void)
void
보더 게이트웨이 또는 모바일 클라이언트에서 광고를 전송하고 바로가기 터널 상응 항목의 광고를 수신하여 바로가기 터널링을 사용 설정합니다.
Init(WeaveTunnelAgent *tunAgent, TunnelStatusRcvdFunct statusRcvd)
WeaveTunnelControl을 초기화하여 Weave Tunnel 에이전트 및 콜백과 같은 관련 구성원을 설정합니다.
IsPeerInShortcutTunnelCache(uint64_t peerId)
bool
로컬 전송을 위해 피어가 터널 바로가기 캐시에 있는지 확인합니다.
Reconnect(WeaveTunnelConnectionMgr *conMgr)
피어 노드와 다시 연결합니다.
SendBorderRouterAdvertise(void)
보더 라우터가 패브릭 ID를 광고하는 메시지를 전송합니다.
SendMessageOverTunnelShortcut(uint64_t peerId, WeaveMessageInfo *msgHdr, PacketBuffer *msg)
터널 바로가기를 통해 메시지를 전송합니다.
SendMobileClientAdvertise(void)
모바일 클라이언트가 노드 ID를 광고하는 메시지를 보냅니다.
SendTunnelClose(WeaveTunnelConnectionMgr *conMgr)
터널 경로 집합과 함께 피어 노드에 터널 닫기 제어 메시지를 전송합니다.
SendTunnelOpen(WeaveTunnelConnectionMgr *conMgr, WeaveTunnelRoute *tunRoute)
터널 경로 집합과 함께 피어 노드에 Tunnel Open 제어 메시지를 전송합니다.
SendTunnelRouteUpdate(WeaveTunnelConnectionMgr *conMgr, WeaveTunnelRoute *tunRoute)
터널 경로 집합과 함께 피어 노드에 터널 경로 업데이트 제어 메시지를 보냅니다.

공개 정적 함수

HandleShortcutTunnelAdvertiseMessage(ExchangeContext *ec, const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo, uint32_t profileId, uint8_t msgType, PacketBuffer *payload)
void
바로가기 터널 광고를 수신 대기하고 캐시를 업데이트하도록 WeaveMessageLayer에 등록된 함수입니다.

공개 유형

TunnelStatusRcvdFunct

void(* TunnelStatusRcvdFunct)(uint8_t tType, StatusReport &tunStatus)

전송된 터널 제어 메시지에 대한 응답으로 StatusReport 메시지를 수신할 때 작동하도록 상위 레이어에서 설정한 핸들러에 대한 함수 포인터입니다.

세부정보
매개변수
[in] tType
터널 유형(예: 기본 또는 백업
[in] tunStatus
터널 제어 StatusReport 메시지에 대한 참조입니다.

공개 속성

OnTunStatusRcvd

TunnelStatusRcvdFunct OnTunStatusRcvd

mCtrlResponseTimeout

uint16_t mCtrlResponseTimeout

제어 메시지에 대한 응답의 제한 시간(초)입니다.

mShortcutTunnelAdvInterval

uint16_t mShortcutTunnelAdvInterval

주기적 바로가기 터널 공지의 간격(초)입니다.

공개 함수

닫기

WEAVE_ERROR Close(
  void
)

해결되지 않은 교환 컨텍스트를 닫고 구성원을 재설정하여 WeaveTunnelControl을 닫습니다.

세부정보
반환
WEAVE_NO_ERROR

DisableShortcutTunneling

void DisableShortcutTunneling(
  void
)

Border Gateway나 모바일 클라이언트에서 광고를 전송하고 바로가기 터널 상응하는 항목의 광고를 수신하는 경우 바로가기 터널링을 사용 중지합니다.

EnableShortcutTunneling

void EnableShortcutTunneling(
  void
)

보더 게이트웨이 또는 모바일 클라이언트에서 광고를 전송하고 바로가기 터널 상응 항목의 광고를 수신하여 바로가기 터널링을 사용 설정합니다.

Init

WEAVE_ERROR Init(
  WeaveTunnelAgent *tunAgent,
  TunnelStatusRcvdFunct statusRcvd
)

WeaveTunnelControl을 초기화하여 Weave Tunnel 에이전트 및 콜백과 같은 관련 구성원을 설정합니다.

세부정보
매개변수
[in] tunAgent
WeaveTunnelAgent 객체에 대한 포인터입니다.
[in] statusRcvd
StatusRcvd 핸들러의 콜백에 대한 포인터입니다.
반환
WEAVE_NO_ERROR

IsPeerInShortcutTunnelCache

bool IsPeerInShortcutTunnelCache(
  uint64_t peerId
)

로컬 전송을 위해 피어가 터널 바로가기 캐시에 있는지 확인합니다.

다시 연결

WEAVE_ERROR Reconnect(
  WeaveTunnelConnectionMgr *conMgr
)

피어 노드와 다시 연결합니다.

SendBorderRouterAdvertise

WEAVE_ERROR SendBorderRouterAdvertise(
  void
)

보더 라우터가 패브릭 ID를 광고하는 메시지를 전송합니다.

SendMessageOverTunnelShortcut

WEAVE_ERROR SendMessageOverTunnelShortcut(
  uint64_t peerId,
  WeaveMessageInfo *msgHdr,
  PacketBuffer *msg
)

터널 바로가기를 통해 메시지를 전송합니다.

SendMobileClientAdvertise

WEAVE_ERROR SendMobileClientAdvertise(
  void
)

모바일 클라이언트가 노드 ID를 광고하는 메시지를 보냅니다.

SendTunnelClose

WEAVE_ERROR SendTunnelClose(
  WeaveTunnelConnectionMgr *conMgr
)

터널 경로 집합과 함께 피어 노드에 터널 닫기 제어 메시지를 전송합니다.

피어 노드에 터널 닫기 제어 메시지를 전송합니다.

세부정보
매개변수
[in] conMgr
WeaveTunnelConnectionMgr 객체에 대한 포인터입니다.
반환
성공 시 WEAVE_ERROR WEAVE_NO_ERROR, 그렇지 않으면 오류입니다.

SendTunnelOpen

WEAVE_ERROR SendTunnelOpen(
  WeaveTunnelConnectionMgr *conMgr,
  WeaveTunnelRoute *tunRoute
)

터널 경로 집합과 함께 피어 노드에 Tunnel Open 제어 메시지를 전송합니다.

세부정보
매개변수
[in] conMgr
WeaveTunnelConnectionMgr 객체에 대한 포인터입니다.
[in] tunRoutes
경로 테이블에 추가할 프리픽스 경로 목록입니다.
반환
성공 시 WEAVE_ERROR WEAVE_NO_ERROR, 그렇지 않으면 오류입니다.

SendTunnelRouteUpdate

WEAVE_ERROR SendTunnelRouteUpdate(
  WeaveTunnelConnectionMgr *conMgr,
  WeaveTunnelRoute *tunRoute
)

터널 경로 집합과 함께 피어 노드에 터널 경로 업데이트 제어 메시지를 보냅니다.

세부정보
매개변수
[in] conMgr
WeaveTunnelConnectionMgr 객체에 대한 포인터입니다.
[in] tunRoutes
경로 테이블에 추가할 프리픽스 경로 목록입니다.
반환
성공 시 WEAVE_ERROR WEAVE_NO_ERROR, 그렇지 않으면 오류입니다.

WeaveTunnelControl

 WeaveTunnelControl(
  void
)

공개 정적 함수

HandleShortcutTunnelAdvertiseMessage

void HandleShortcutTunnelAdvertiseMessage(
  ExchangeContext *ec,
  const IPPacketInfo *pktInfo,
  const WeaveMessageInfo *msgInfo,
  uint32_t profileId,
  uint8_t msgType,
  PacketBuffer *payload
)

바로가기 터널 광고를 수신 대기하고 캐시를 업데이트하도록 WeaveMessageLayer에 등록된 함수입니다.