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
보더 게이트웨이 또는 모바일 클라이언트에서 광고를 전송하고 바로가기 터널의 광고도 수신 대기하는 바로가기 터널링을 비활성화합니다.
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)
터널 경로 집합과 함께 피어 노드에 터널 열기 제어 메시지를 전송합니다.
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
)

보더 게이트웨이 또는 모바일 클라이언트에서 광고를 전송하고 바로가기 터널의 광고도 수신 대기하는 바로가기 터널링을 비활성화합니다.

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
)

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

세부정보
매개변수
[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에 등록된 함수입니다.