ไม่มี:: สาน:: โปรไฟล์:: สานอุโมงค์:: WeaveTunnelConnectionMgr
#include <src/lib/profiles/weave-tunneling/WeaveTunnelConnectionMgr.h>
คลาสนี้สรุปสถานะการเชื่อมต่อ Weave tunnel และตรรกะการจัดการและฟังก์ชันที่เกี่ยวข้อง
สรุป
อินสแตนซ์ของคลาสนี้จะใช้เพื่อจัดการช่องสัญญาณผ่านแต่ละอินเทอร์เฟซซึ่งช่องสัญญาณสานไปยังบริการจะมีอยู่
ตัวสร้างและตัวทำลาย | |
---|---|
WeaveTunnelConnectionMgr (void) |
ประเภทสาธารณะ | |
---|---|
ConnectPolicyCallback )(void *const appState, ReconnectParam &reconnectParam, uint32_t &delayMsec) | typedefvoid(* โทรกลับเพื่อเรียกช่วงเวลาเพื่อรอก่อนการเชื่อมต่ออุโมงค์ถัดไป |
TunnelConnNotifyReasons { | enum |
TunnelConnNotifyReasons | typedef |
TunnelConnectionState { | enum |
TunnelConnectionState | typedef |
คุณลักษณะสาธารณะ | |
---|---|
mServiceConnDelayPolicyCallback |
งานสาธารณะ | |
---|---|
Init ( WeaveTunnelAgent *tunAgent, TunnelType tunType, SrcInterfaceType srcIntfType, const char *connIntfName) | เริ่มต้น WeaveTunnelConnectionMgr |
ServiceTunnelClose ( WEAVE_ERROR err) | void ปิดอุโมงค์บริการ |
SetInterfaceName (const char *intfName) | void ตั้งค่า InterfaceName สำหรับการเชื่อมต่อทันเนล |
SetInterfaceType (const SrcInterfaceType srcIntfType) | void ตั้งค่า SrcInterfaceType สำหรับการเชื่อมต่อทันเนล |
Shutdown (void) | void |
StopAndReconnectTunnelConn ( ReconnectParam & reconnParam) | void หยุดการเชื่อมต่อช่องสัญญาณบริการและพยายามเชื่อมต่อใหม่อีกครั้ง |
TryConnectingNow (void) | พยายามสร้างการเชื่อมต่อกับบริการ |
ฟังก์ชั่นคงที่สาธารณะ Public | |
---|---|
DefaultReconnectPolicyCallback (void *const appstate, ReconnectParam & reconnectParam, uint32_t & delayMsec) | void การใช้งานนโยบายเริ่มต้นสำหรับการดึงข้อมูลในครั้งต่อไปเพื่อเชื่อมต่อกับบริการ |
HandleServiceConnectionClosed ( WeaveConnection *con, WEAVE_ERROR conErr) | void ตัวจัดการถูกเรียกใช้เมื่อปิดการเชื่อมต่อ Service TCP |
HandleServiceConnectionComplete ( WeaveConnection *con, WEAVE_ERROR conErr) | void ตัวจัดการถูกเรียกเมื่อการเชื่อมต่อ Service TCP เสร็จสมบูรณ์ |
RecvdFromService ( WeaveConnection *con, const WeaveMessageInfo *msgInfo, PacketBuffer *message) | void ตัวจัดการเพื่อรับแพ็กเก็ต IPv6 แบบทันเนลจากการเชื่อมต่อ Service TCP และส่งต่อไปยังอินเทอร์เฟซ Tunnel EndPoint หลังจากแยกแพ็กเก็ต IPv6 ดิบจากภายในส่วนหัวของช่องสัญญาณ |
ServiceMgrStatusHandler (void *appState, WEAVE_ERROR err, StatusReport *report) | void ตัวจัดการถูกเรียกใช้หากตัวจัดการบริการไม่สามารถสร้างการเชื่อมต่อ TCP กับบริการได้ |
ประเภทสาธารณะ
ConnectPolicyCallback
void(* ConnectPolicyCallback)(void *const appState, ReconnectParam &reconnectParam, uint32_t &delayMsec)
โทรกลับเพื่อเรียกช่วงเวลาเพื่อรอก่อนการเชื่อมต่ออุโมงค์ถัดไป
รายละเอียด | |||||||
---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
อุโมงค์ConnNotifyเหตุผล
TunnelConnNotifyReasons
อุโมงค์ConnNotifyเหตุผล
enum nl::Weave::Profiles::WeaveTunnel::WeaveTunnelConnectionMgr::TunnelConnNotifyReasons TunnelConnNotifyReasons
TunnelConnectionState
TunnelConnectionState
TunnelConnectionState
enum nl::Weave::Profiles::WeaveTunnel::WeaveTunnelConnectionMgr::TunnelConnectionState TunnelConnectionState
คุณลักษณะสาธารณะ
mServiceConnDelayPolicyCallback
ConnectPolicyCallback mServiceConnDelayPolicyCallback
งานสาธารณะ
ในนั้น
WEAVE_ERROR Init( WeaveTunnelAgent *tunAgent, TunnelType tunType, SrcInterfaceType srcIntfType, const char *connIntfName )
เริ่มต้น WeaveTunnelConnectionMgr
บริการอุโมงค์ปิด
void ServiceTunnelClose( WEAVE_ERROR err )
ปิดอุโมงค์บริการ
รายละเอียด | |||
---|---|---|---|
พารามิเตอร์ |
|
SetInterfaceName
void SetInterfaceName( const char *intfName )
ตั้งค่า InterfaceName สำหรับการเชื่อมต่อทันเนล
รายละเอียด | |||
---|---|---|---|
พารามิเตอร์ |
|
SetInterfaceType
void SetInterfaceType( const SrcInterfaceType srcIntfType )
ตั้งค่า SrcInterfaceType สำหรับการเชื่อมต่อทันเนล
รายละเอียด | |||
---|---|---|---|
พารามิเตอร์ |
|
StopAndReconnectTunnelConn
void StopAndReconnectTunnelConn( ReconnectParam & reconnParam )
หยุดการเชื่อมต่อช่องสัญญาณบริการและพยายามเชื่อมต่อใหม่อีกครั้ง
รายละเอียด | |||
---|---|---|---|
พารามิเตอร์ |
|
ลองเชื่อมต่อตอนนี้
WEAVE_ERROR TryConnectingNow( void )
พยายามสร้างการเชื่อมต่อกับบริการ
พยายามสร้างการเชื่อมต่อกับบริการโดยใช้ ServiceManager หรือโดยตรง
WeaveTunnelConnectionMgr
WeaveTunnelConnectionMgr( void )
ฟังก์ชั่นคงที่สาธารณะ Public
DefaultReconnectPolicyCallback
void DefaultReconnectPolicyCallback( void *const appstate, ReconnectParam & reconnectParam, uint32_t & delayMsec )
การใช้งานนโยบายเริ่มต้นสำหรับการดึงข้อมูลในครั้งต่อไปเพื่อเชื่อมต่อกับบริการ
นโยบายนี้เลือกช่วงเวลาแบบสุ่ม (ด้วยความละเอียดระดับมิลลิวินาที) ในช่วงเวลาที่เพิ่มขึ้น โดยทำตามลำดับฟีโบนักชีจนถึง WEAVE_CONFIG_TUNNELING_RECONNECT_MAX_FIBONACCI_INDEX
รายละเอียด | |||||||
---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
HandleServiceConnectionClosed
void HandleServiceConnectionClosed( WeaveConnection *con, WEAVE_ERROR conErr )
ตัวจัดการถูกเรียกใช้เมื่อปิดการเชื่อมต่อ Service TCP
อุปกรณ์พยายามสร้างการเชื่อมต่อกับบริการใหม่หากตั้งค่า mServiceConKeepAlive เป็น true
ต่อมา อุปกรณ์พยายามสร้างการเชื่อมต่อกับบริการอีกครั้ง
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
HandleServiceConnectionComplete
void HandleServiceConnectionComplete( WeaveConnection *con, WEAVE_ERROR conErr )
ตัวจัดการถูกเรียกเมื่อการเชื่อมต่อ Service TCP เสร็จสมบูรณ์
อุปกรณ์จะเริ่มต้นคำสั่งควบคุมทันเนลไปยังบริการจากฟังก์ชันนี้
อุปกรณ์จะเริ่มต้นคำสั่งควบคุมทันเนลไปยังบริการจากฟังก์ชันนี้
รายละเอียด | |||||
---|---|---|---|---|---|
พารามิเตอร์ |
|
RecvdFromService
void RecvdFromService( WeaveConnection *con, const WeaveMessageInfo *msgInfo, PacketBuffer *message )
ตัวจัดการเพื่อรับแพ็กเก็ต IPv6 แบบทันเนลจากการเชื่อมต่อ Service TCP และส่งต่อไปยังอินเทอร์เฟซ Tunnel EndPoint หลังจากแยกแพ็กเก็ต IPv6 ดิบจากภายในส่วนหัวของช่องสัญญาณ
รายละเอียด | |||||||
---|---|---|---|---|---|---|---|
พารามิเตอร์ |
|
ServiceMgrStatusHandler
void ServiceMgrStatusHandler( void *appState, WEAVE_ERROR err, StatusReport *report )
ตัวจัดการถูกเรียกใช้หากตัวจัดการบริการไม่สามารถสร้างการเชื่อมต่อ TCP กับบริการได้