nl:: Weave:: Profiles:: WeaveTunnel:: WeaveTunnelConnectionMgr
#include <src/lib/profiles/weave-tunneling/WeaveTunnelConnectionMgr.h>
تضم هذه الفئة جميع حالات اتصال نفق Weave ومنطق الإدارة ودوالها المرتبطة.
ملخّص
سيتم استخدام مثيل من هذه الفئة لإدارة النفق عبر كل واجهة يوجد من خلالها نفق Weave إلى الخدمة.
الشركات المصنّعة والمُصنّعة |
|
---|---|
WeaveTunnelConnectionMgr(void)
|
الأنواع العامة |
|
---|---|
ConnectPolicyCallback)(void *const appState, ReconnectParam &reconnectParam, uint32_t &delayMsec)
|
تعريف الكتابةvoid(*
معاودة الاتصال لاسترجاع الفاصل الزمني للانتظار قبل إعادة الاتصال النفقي التالي. |
TunnelConnNotifyReasons{
|
تعداد |
TunnelConnNotifyReasons
|
تعريف الكتابة |
TunnelConnectionState{
|
تعداد |
TunnelConnectionState
|
تعريف الكتابة |
السمات العامة |
|
---|---|
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
تم استدعاء المعالج عند اكتمال اتصال بروتوكول التحكم بالنقل عبر الخدمة.
|
RecvdFromService(WeaveConnection *con, const WeaveMessageInfo *msgInfo, PacketBuffer *message)
|
void
معالِج يستقبل حزم IPv6 النفقية من اتصال بروتوكول التحكم بالنقل (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)
معاودة الاتصال لاسترجاع الفاصل الزمني للانتظار قبل إعادة الاتصال النفقي التالي.
التفاصيل | |||||||
---|---|---|---|---|---|---|---|
المعلمات |
|
TunnelConnNotifyReasons
TunnelConnNotifyReasons
أماكن إقامة | |
---|---|
kStatus_TunBackupConnError
|
يتم استخدامه للإشارة إلى تعذّر محاولة اتصال نفق احتياطي أو إلغاء محاولة حالية أو إغلاقها من قِبل النظير. |
kStatus_TunBackupLiveness
|
يُستخدَم للإشارة إلى معلومات حول مسبار Tunnel Liveness على نفق Backup Weave. |
kStatus_TunBackupOnlyDown
|
يُستخدَم للإشارة إلى تعطُّل النفق الاحتياطي. |
kStatus_TunBackupReconnectRcvd
|
يتم استخدامه للإشارة إلى أن الخدمة قد طلبت إعادة الاتصال لنفق النسخ الاحتياطي. |
kStatus_TunBackupUp
|
يستخدم للإشارة إلى أن نفق النسخ الاحتياطي المتجه لأعلى. |
kStatus_TunDown
|
يستخدم للإشارة إلى أن نفق Weave قد توقف. |
kStatus_TunFailoverToBackup
|
يُستخدَم للإشارة إلى توقّف النفق الأساسي وحدوث الانتقال إلى النفق الاحتياطي. |
kStatus_TunPrimaryAndBackupUp
|
يستخدم للإشارة إلى أن كل من نفق الاتصال الأساسي والنسيج الاحتياطي نشط. |
kStatus_TunPrimaryConnError
|
يتم استخدامه للإشارة إلى تعذّر محاولة اتصال نفق أساسي أو إلغاء محاولة حالية أو إغلاقها محليًا من قبل نظير. |
kStatus_TunPrimaryLiveness
|
يُستخدَم للإشارة إلى معلومات حول مسبار Tunnel Liveness على نفق Primary Weave. |
kStatus_TunPrimaryReconnectRcvd
|
يتم استخدامه للإشارة إلى أن الخدمة قد طلبت إعادة الاتصال لنفق الاتصال الأساسي. |
kStatus_TunPrimaryUp
|
يستخدم للإشارة إلى أن نفق Weave الأساسي متجه للأعلى. |
TunnelConnNotifyReasons
enum nl::Weave::Profiles::WeaveTunnel::WeaveTunnelConnectionMgr::TunnelConnNotifyReasons TunnelConnNotifyReasons
TunnelConnectionState
TunnelConnectionState
أماكن إقامة | |
---|---|
kState_Connecting
|
يُستخدَم للإشارة إلى بدء اتصال "نفق Weave". |
kState_ConnectionEstablished
|
يُستخدَم للإشارة إلى إنشاء اتصال "نفق الشبكة" وتبادل معلومات المسار. |
kState_NotConnected
|
يُستخدَم للإشارة إلى أن "نفق الشبكة" غير متصل. |
kState_ReconnectRecvd
|
يُستخدَم للإشارة إلى أنّ الخدمة تريد أن يعيد مدخل الحدود الاتصال بعد البحث عن دليل. |
kState_TunnelClosing
|
يُستخدَم للإشارة إلى إغلاق "نفق الشبكة" وانقطاع الاتصال. |
kState_TunnelOpen
|
يُستخدم للإشارة إلى أن نفق Weave مفتوح وجاهز لنقل حركة مرور البيانات. |
TunnelConnectionState
enum nl::Weave::Profiles::WeaveTunnel::WeaveTunnelConnectionMgr::TunnelConnectionState TunnelConnectionState
السمات العامة
mServiceConnDelayPolicyCallback
ConnectPolicyCallback mServiceConnDelayPolicyCallback
وظائف عامة
Init
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 على "صحيح".
ويحاول الجهاز بعد ذلك إعادة إنشاء الاتصال بالخدمة.
التفاصيل | |||||
---|---|---|---|---|---|
المعلمات |
|
HandleServiceConnectionComplete
void HandleServiceConnectionComplete( WeaveConnection *con, WEAVE_ERROR conErr )
تم استدعاء المعالج عند اكتمال اتصال بروتوكول التحكم بالنقل عبر الخدمة.
يتابع الجهاز إنشاء أوامر التحكم في النفق إلى الخدمة من هذه الوظيفة.
يتابع الجهاز إنشاء أوامر التحكم في النفق إلى الخدمة من هذه الوظيفة.
التفاصيل | |||||
---|---|---|---|---|---|
المعلمات |
|
RecvdFromService
void RecvdFromService( WeaveConnection *con, const WeaveMessageInfo *msgInfo, PacketBuffer *message )
معالِج يستقبل حزم IPv6 النفقية من اتصال بروتوكول التحكم بالنقل (TCP) وتعيد توجيهها إلى واجهة Tunnel EndPoint بعد إلغاء تغليف حزمة IPv6 الأولية من داخل رأس النفق.
التفاصيل | |||||||
---|---|---|---|---|---|---|---|
المعلمات |
|
ServiceMgrStatusHandler
void ServiceMgrStatusHandler( void *appState, WEAVE_ERROR err, StatusReport *report )
تم استدعاء المعالج إذا فشل مدير الخدمة في إنشاء اتصال TCP للخدمة.