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)
|
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
قم بتعيين واجهة المستخدم لاتصال النفق.
|
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
تم استدعاء المعالج عند إغلاق اتصال بروتوكول التحكم في الإرسال.
|
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
تم استدعاء المعالج إذا تعذّر على مدير الخدمة تأسيس اتصال بروتوكول التحكم بالنقل بالخدمة.
|
الأنواع العلنية
ConnectPolicyCallback
void(* ConnectPolicyCallback)(void *const appState, ReconnectParam &reconnectParam, uint32_t &delayMsec)
معاودة الاتصال لجلب الفاصل الزمني للانتظار قبل إعادة الاتصال النفقي التالي.
التفاصيل | |||||||
---|---|---|---|---|---|---|---|
المَعلمات |
|
TunnelConnNotifyReasons
TunnelConnNotifyReasons
أماكن إقامة | |
---|---|
kStatus_TunBackupConnError
|
يُستخدم للإشارة إلى فشل محاولة الاتصال النفقي الاحتياطي أو تم إلغاء محاولة الاتصال النفقية الحالية أو إغلاقها محليًا من قِبل النظير. |
kStatus_TunBackupLiveness
|
يُستخدم للإشارة إلى معلومات حول مسبار حياة النفق على نفق Backup Weave. |
kStatus_TunBackupOnlyDown
|
يُستخدم للإشارة إلى نفق النسخ الاحتياطي. |
kStatus_TunBackupReconnectRcvd
|
يُستخدم للإشارة إلى أن الخدمة قد طلبت إعادة الاتصال لنفق النسخ الاحتياطي. |
kStatus_TunBackupUp
|
يُستخدم للإشارة إلى نفق Backup Weave. |
kStatus_TunDown
|
يُستخدم للإشارة إلى تعطل نفق Weave. |
kStatus_TunFailoverToBackup
|
يُستخدم للإشارة إلى النفق الأساسي معطّل وحدث التبديل إلى نفق النسخ الاحتياطي. |
kStatus_TunPrimaryAndBackupUp
|
يُستخدم للإشارة إلى نفق "الأساسي" ونفق "النسج الاحتياطي". |
kStatus_TunPrimaryConnError
|
يُستخدم للإشارة إلى تعذّر محاولة الاتصال النفقي الأساسي أو تم إلغاء محاولة حالية محليًا أو إغلاقها بواسطة النظير. |
kStatus_TunPrimaryLiveness
|
يُستخدم للإشارة إلى معلومات حول استكشاف حياة النفق على نفق النسج الأساسي. |
kStatus_TunPrimaryReconnectRcvd
|
يُستخدم للإشارة إلى أن الخدمة قد طلبت إعادة الاتصال لنفق النسيج الأساسي. |
kStatus_TunPrimaryUp
|
يُستخدم للإشارة إلى نفق Weave الأساسي صاعد. |
TunnelConnNotifyReasons
enum nl::Weave::Profiles::WeaveTunnel::WeaveTunnelConnectionMgr::TunnelConnNotifyReasons TunnelConnNotifyReasons
TunnelConnectionState
TunnelConnectionState
أماكن إقامة | |
---|---|
kState_Connecting
|
يُستخدم للإشارة إلى بدء اتصال نفق Weave. |
kState_ConnectionEstablished
|
يُستخدم للإشارة إلى إنشاء اتصال نفق Weave وتبادل معلومات المسار. |
kState_NotConnected
|
يُستخدم للإشارة إلى أن نفق Weave غير متصل. |
kState_ReconnectRecvd
|
يُستخدم للإشارة إلى أن الخدمة تريد إعادة اتصال بوابة الحدود بعد البحث في الدليل. |
kState_TunnelClosing
|
يُستخدم للإشارة إلى إغلاق نفق Weave وإغلاق الاتصال. |
kState_TunnelOpen
|
يُستخدم للإشارة إلى أن نفق Weave مفتوح وجاهز لنقل حركة بيانات البيانات. |
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 )
قم بتعيين واجهة المستخدم لاتصال النفق.
التفاصيل | |||
---|---|---|---|
المَعلمات |
|
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 )
تم استدعاء المعالج عند إغلاق اتصال بروتوكول التحكم في الإرسال.
يحاول الجهاز إعادة الاتصال بالخدمة في حال ضبط mServiceConKeepAlive على true.
ويحاول الجهاز بعد ذلك إعادة الاتصال بالخدمة.
التفاصيل | |||||
---|---|---|---|---|---|
المَعلمات |
|
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 )
تم استدعاء المعالج إذا تعذّر على مدير الخدمة تأسيس اتصال بروتوكول التحكم بالنقل بالخدمة.