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 { | شمارش |
TunnelConnNotifyReasons | typedef |
TunnelConnectionState { | شمارش |
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 سرویس بسته است، هندلر فراخوانی می شود. |
HandleServiceConnectionComplete ( WeaveConnection *con, WEAVE_ERROR conErr) | void وقتی اتصال سرویس TCP تکمیل شد، Handler فراخوانی میشود. |
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 به سرویس را برقرار کند، 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 سرویس بسته است، هندلر فراخوانی می شود.
اگر mServiceConKeepAlive روی true تنظیم شده باشد، دستگاه سعی می کند اتصال به سرویس را دوباره برقرار کند.
دستگاه متعاقباً سعی می کند اتصال به سرویس را دوباره برقرار کند.
جزئیات | |||||
---|---|---|---|---|---|
مولفه های |
|
HandleServiceConnectionComplete
void HandleServiceConnectionComplete( WeaveConnection *con, WEAVE_ERROR conErr )
وقتی اتصال سرویس TCP تکمیل شد، Handler فراخوانی میشود.
دستگاه از این تابع دستورات کنترل تونل را به سرویس آغاز می کند.
دستگاه از این تابع دستورات کنترل تونل را به سرویس آغاز می کند.
جزئیات | |||||
---|---|---|---|---|---|
مولفه های |
|
RecvdFromService
void RecvdFromService( WeaveConnection *con, const WeaveMessageInfo *msgInfo, PacketBuffer *message )
هندلر برای دریافت بستههای IPv6 تونلشده از اتصال Service TCP و ارسال به رابط Tunnel EndPoint پس از کپسولزدایی بسته IPv6 خام از داخل هدر تونل.
جزئیات | |||||||
---|---|---|---|---|---|---|---|
مولفه های |
|
ServiceMgrStatus Handler
void ServiceMgrStatusHandler( void *appState, WEAVE_ERROR err, StatusReport *report )
اگر مدیر سرویس نتواند اتصال TCP به سرویس را برقرار کند، Handler فراخوانی میکند.
جز در مواردی که غیر از این ذکر شده باشد، محتوای این صفحه تحت مجوز Creative Commons Attribution 4.0 License است و نمونه کدها نیز دارای مجوز Apache 2.0 License است. برای اطلاع از جزئیات، به خطمشیهای سایت Google Developers مراجعه کنید. جاوا علامت تجاری ثبتشده Oracle و/یا شرکتهای وابسته به آن است. Thread علامت تجاری ثبتشده Thread Group, Inc است.
تاریخ آخرین بهروزرسانی 2018-06-05 بهوقت ساعت هماهنگ جهانی.