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
خواص | |
---|---|
kStatus_TunBackupConnError | برای نشان دادن اینکه تلاش برای اتصال تونل پشتیبان شکست خورده است یا یک مورد موجود به صورت محلی متوقف شده یا توسط همتا بسته شده است استفاده می شود. |
kStatus_TunBackupLiveness | برای نشان دادن اطلاعات مربوط به پروب Tunnel Liveness در تونل Backup Weave استفاده می شود. |
kStatus_TunBackupOnlyDown | برای نشان دادن خرابی تونل پشتیبان استفاده می شود. |
kStatus_TunBackupReconnectRcvd | برای نشان دادن اینکه سرویس درخواست اتصال مجدد برای تونل Backup Weave را داده است استفاده می شود. |
kStatus_TunBackupUp | برای نشان دادن بالا بودن تونل Backup Weave استفاده می شود. |
kStatus_TunDown | برای نشان دادن اینکه تونل بافت پایین رفته است استفاده می شود. |
kStatus_TunFailoverToBackup | برای نشان دادن اینکه تونل اولیه خراب است و جابجایی به تونل پشتیبان رخ داده است استفاده می شود. |
kStatus_TunPrimaryAndBackupUp | برای نشان دادن اینکه هر دو تونل اولیه و پشتیبان بافت بالا هستند استفاده می شود. |
kStatus_TunPrimaryConnError | برای نشان دادن اینکه تلاش برای اتصال تونل اولیه ناموفق بوده است یا تلاش موجود به صورت محلی توسط همتا متوقف شده یا بسته شده است استفاده می شود. |
kStatus_TunPrimaryLiveness | برای نشان دادن اطلاعات مربوط به کاوشگر Tunnel Liveness در تونل اولیه بافت استفاده می شود. |
kStatus_TunPrimaryReconnectRcvd | برای نشان دادن اینکه سرویس درخواست اتصال مجدد برای تونل اولیه بافت را داده است استفاده می شود. |
kStatus_TunPrimaryUp | برای نشان دادن بالا بودن تونل بافت اولیه استفاده می شود. |
TunnelConnNotifyReasons
enum nl::Weave::Profiles::WeaveTunnel::WeaveTunnelConnectionMgr::TunnelConnNotifyReasons TunnelConnNotifyReasons
TunnelConnectionState
TunnelConnectionState
خواص | |
---|---|
kState_Connecting | برای نشان دادن اینکه اتصال Weave Tunnel آغاز شده است استفاده می شود. |
kState_ConnectionEstablished | برای نشان دادن اینکه اتصال تونل Weave برقرار است و اطلاعات مسیر در حال تبادل است استفاده می شود. |
kState_NotConnected | برای نشان دادن عدم اتصال تونل بافت استفاده می شود. |
kState_ReconnectRecvd | برای نشان دادن اینکه سرویس می خواهد دروازه مرزی پس از جستجوی دایرکتوری دوباره متصل شود استفاده می شود. |
kState_TunnelClosing | برای نشان دادن بسته شدن تونل بافتنی و قطع شدن اتصال استفاده می شود. |
kState_TunnelOpen | برای نشان دادن باز بودن و آماده بودن تونل بافتنی برای انتقال ترافیک داده استفاده می شود. |
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 فراخوانی میکند.