nl:: بافت:: پروفایل ها:: Weave Tunnel:: WeaveTunnelConnectionMgr
#include <src/lib/profiles/weave-tunneling/WeaveTunnelConnectionMgr.h>
این کلاس تمام حالت های اتصال تونل Weave و منطق مدیریت و توابع مرتبط را در بر می گیرد.
خلاصه
نمونه ای از این کلاس برای مدیریت تونل روی هر واسط که از طریق آن تونل Weave به سرویس وجود دارد استفاده می شود.
سازندگان و ویرانگرها | |
---|---|
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 WeaveTunnelConnectionMgr را خاموش کنید. |
StopAndReconnectTunnelConn ( ReconnectParam & reconnParam) | void اتصال تونل سرویس را متوقف کنید و دوباره سعی کنید وصل شوید. |
TryConnectingNow (void) | سعی کنید یک اتصال به سرویس برقرار کنید. |
توابع استاتیک عمومی | |
---|---|
DefaultReconnectPolicyCallback (void *const appstate, ReconnectParam & reconnectParam, uint32_t & delayMsec) | void اجرای سیاست پیشفرض برای واکشی دفعه بعدی برای اتصال به سرویس. |
HandleServiceConnectionClosed ( WeaveConnection *con, WEAVE_ERROR conErr) | void هنگامی که اتصال TCP سرویس بسته است، Handler فراخوانی می شود. |
HandleServiceConnectionComplete ( WeaveConnection *con, WEAVE_ERROR conErr) | void وقتی اتصال سرویس TCP تکمیل شد، هندلر فراخوانی میشود. |
RecvdFromService ( WeaveConnection *con, const WeaveMessageInfo *msgInfo, PacketBuffer *message) | void Handler برای دریافت بسته های IPv6 تونل شده از اتصال Service TCP و ارسال به رابط Tunnel EndPoint پس از کپسوله کردن بسته IPv6 خام از داخل هدر تونل. |
ServiceMgrStatusHandler (void *appState, WEAVE_ERROR err, StatusReport *report) | void اگر مدیر سرویس نتواند اتصال TCP به سرویس را برقرار کند، Handler فراخوانی میکند. |
انواع عمومی
ConnectPolicyCallback
void(* ConnectPolicyCallback)(void *const appState, ReconnectParam &reconnectParam, uint32_t &delayMsec)
پاسخ به تماس برای واکشی فاصله زمانی برای انتظار قبل از اتصال مجدد تونل بعدی.
جزئیات | |||||||
---|---|---|---|---|---|---|---|
پارامترها |
|
TunnelConnNotifyReasons
TunnelConnNotifyReasons
TunnelConnNotifyReasons
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 را راه اندازی کنید.
ServiceTunnelClose
void ServiceTunnelClose( WEAVE_ERROR err )
تونل سرویس را ببندید.
جزئیات | |||
---|---|---|---|
پارامترها |
|
SetInterfaceName
void SetInterfaceName( const char *intfName )
InterfaceName را برای اتصال تونل تنظیم کنید.
جزئیات | |||
---|---|---|---|
پارامترها |
|
SetInterfaceType
void SetInterfaceType( const SrcInterfaceType srcIntfType )
SrcInterfaceType را برای اتصال تونل تنظیم کنید.
جزئیات | |||
---|---|---|---|
پارامترها |
|
StopAndReconnectTunnelConn
void StopAndReconnectTunnelConn( ReconnectParam & reconnParam )
اتصال تونل سرویس را متوقف کنید و دوباره سعی کنید وصل شوید.
جزئیات | |||
---|---|---|---|
پارامترها |
|
TryConnectingNow را امتحان کنید
WEAVE_ERROR TryConnectingNow( void )
سعی کنید یک اتصال به سرویس برقرار کنید.
سعی کنید با استفاده از ServiceManager یا مستقیماً به سرویس ارتباط برقرار کنید.
WeaveTunnelConnectionMgr
WeaveTunnelConnectionMgr( void )
توابع استاتیک عمومی
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 )
هنگامی که اتصال TCP سرویس بسته است، Handler فراخوانی می شود.
اگر mServiceConKeepAlive روی true تنظیم شده باشد، دستگاه سعی می کند اتصال به سرویس را دوباره برقرار کند.
دستگاه متعاقباً سعی می کند اتصال به سرویس را دوباره برقرار کند.
جزئیات | |||||
---|---|---|---|---|---|
پارامترها |
|
HandleServiceConnectionComplete
void HandleServiceConnectionComplete( WeaveConnection *con, WEAVE_ERROR conErr )
وقتی اتصال سرویس TCP تکمیل شد، هندلر فراخوانی میشود.
دستگاه از این تابع دستورات کنترل تونل را به سرویس آغاز می کند.
دستگاه از این تابع دستورات کنترل تونل را به سرویس آغاز می کند.
جزئیات | |||||
---|---|---|---|---|---|
پارامترها |
|
RecvdFromService
void RecvdFromService( WeaveConnection *con, const WeaveMessageInfo *msgInfo, PacketBuffer *message )
Handler برای دریافت بسته های IPv6 تونل شده از اتصال Service TCP و ارسال به رابط Tunnel EndPoint پس از کپسوله کردن بسته IPv6 خام از داخل هدر تونل.
جزئیات | |||||||
---|---|---|---|---|---|---|---|
پارامترها |
|
ServiceMgrStatus Handler
void ServiceMgrStatusHandler( void *appState, WEAVE_ERROR err, StatusReport *report )
اگر مدیر سرویس نتواند اتصال TCP به سرویس را برقرار کند، Handler فراخوانی میکند.
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates. The OPENTHREAD and related marks are trademarks of the Thread Group and are used under license.
تاریخ آخرین بهروزرسانی 2024-11-13 بهوقت ساعت هماهنگ جهانی.