nl :: نسج:: مظهر:: نفق نسج :: WeaveTunnelAgent

ملخص

البنائين والمدمرين

WeaveTunnelAgent (void)

الأنواع العامة

AgentState {
kState_NotInitialized = 0,
kState_Initialized_NoTunnel = 1,
kState_PrimaryTunModeEstablished = 2,
kState_BkupOnlyTunModeEstablished = 3,
kState_PrimaryAndBkupTunModeEstablished = 4
}
تعداد
حالات وكيل النفق فيما يتعلق باتصاله (اتصالاته) بالخدمة.
AgentState typedef
حالات وكيل النفق فيما يتعلق باتصاله (اتصالاته) بالخدمة.
OnServiceTunnelReconnectNotifyFunct )(TunnelType tunType, const char *reconnectHost, const uint16_t reconnectPort, void *appCtxt) typedef
void(*
تم تعيين مؤشر الوظيفة للمعالج بواسطة طبقة أعلى عند استلام Tunnel Reconnect من الخدمة.
OnServiceTunnelStatusNotifyFunct )(WeaveTunnelConnectionMgr::TunnelConnNotifyReasons reason, WEAVE_ERROR err, void *appCtxt) typedef
void(*
تم تعيين مؤشر الوظيفة للمعالج بواسطة طبقة أعلى للعمل بناءً على الإخطارات المختلفة المتعلقة بالنفق إلى الخدمة.
PlatformNetworkOnlineCheck )(TunnelType tunType, void *appCtxt) typedef
void(*
مؤشر الوظيفة لمعالج يوفره التطبيق لإجراء فحص على مستوى الشبكة عبر الإنترنت.
WeaveTunnelFlags {
kTunnelFlag_PrimaryEnabled = 0x01,
kTunnelFlag_BackupEnabled = 0x02,
kTunnelFlag_PrimaryRestricted = 0x04,
kTunnelFlag_BackupRestricted = 0x08
}
تعداد
نسج بت علم النفق.
WeaveTunnelFlags typedef
نسج بت علم النفق.

السمات العامة

NetworkOnlineCheck
OnServiceTunReconnectNotify
OnServiceTunStatusNotify
تم تعيين مؤشر الوظيفة للمعالج بواسطة طبقة أعلى للعمل بناءً على الإخطارات المختلفة المتعلقة بالنفق إلى الخدمة.
mServiceMgr
WeaveServiceManager *
مؤشر مدير الخدمة المراد استخدامه للبحث عن الخدمة والاتصال بها.

الوظائف العامة

DisablePrimaryTunnel (void)
void
تعطيل النفق الأساسي.
EnablePrimaryTunnel (void)
void
تفعيل النفق الأساسي.
GetAgentStateName (const AgentState state)
const char *
احصل على اسم WeaveTunnelAgentState.
GetTimeMsec (void)
uint64_t
احصل على وقت النظام بالمللي ثانية.
GetWeaveTunnelAgentState (void)
احصل على حالة TunnelAgent.
Init (InetLayer *inet, WeaveExchangeManager *exchMgr, uint64_t dstNodeId, WeaveAuthMode authMode, WeaveServiceManager *svcMgr, const char *intfName, uint8_t role, void *appContext)
تهيئة وكيل النفق.
Init (InetLayer *inet, WeaveExchangeManager *exchMgr, uint64_t dstNodeId, IPAddress dstIPAddr, WeaveAuthMode authMode, const char *intfName, uint8_t role, void *appContext)
تهيئة وكيل النفق.
IsPrimaryTunnelEnabled (void) const
bool
تحقق مما إذا تم تمكين النفق الرئيسي.
IsPrimaryTunnelRoutingRestricted (void)
bool
تحقق مما إذا كان النفق الأساسي يخضع لقيود التوجيه بواسطة الخدمة.
IsTunnelRoutingRestricted (void)
bool
تحقق مما إذا كان النفق يخضع لقيود التوجيه من قبل الخدمة.
NetworkOnlineCheckResult (TunnelType tunType, bool isOnline)
void
استدعاء رد الاتصال بواسطة النظام الأساسي عندما تكون نتيجة مدقق الشبكة على الإنترنت متاحة.
ResetPrimaryReconnectBackoff (bool reconnectImmediately)
أعد تعيين وقت إعادة الاتصال للنفق الأساسي.
SetAuthMode (const WeaveAuthMode authMode)
void
اضبط WeaveAuthMode للنفق.
SetDestination (const uint64_t nodeId, const IPAddress ipAddr, const uint16_t servicePort)
void
قم بتعيين الوجهة nodeId و IPAddress والمنفذ للنفق.
SetTunnelingDeviceRole (const Role role)
void
قم بتعيين دور جهاز الاتصال النفقي (BorderGateway ، StandaloneDevice ، MobileDevice) للنفق.
Shutdown (void)
اغلاق عامل النفق.
StartServiceTunnel (void)
ابدأ نفق الخدمة.
StartServiceTunnel (uint64_t dstNodeId, IPAddress dstIPAddr, WeaveAuthMode authMode)
ابدأ نفق الخدمة.
StopServiceTunnel (void)
void
أغلق اتصال النفق بالخدمة.
StopServiceTunnel ( WEAVE_ERROR err)
void
أغلق اتصال النفق بالخدمة.

وظائف ثابتة عامة

RecvdFromShortcutUDPTunnel ( WeaveMessageLayer *msgLayer, PacketBuffer *message)
void
معالج لتلقي حزم IPv6 النفقية عبر نفق UDP المختصر بين بوابة الحدود والجهاز المحمول وإعادة التوجيه إلى واجهة Tunnel EndPoint بعد فك حزم حزمة IPv6 الأولية من داخل رأس النفق.
RecvdFromTunnelEndPoint ( TunEndPoint *tunEP, PacketBuffer *message)
void
معالج لتلقي حزم IPv6 من واجهة Tunnel EndPoint وإعادة توجيهها ، إما إلى الخدمة عبر اتصال خدمة TCP بعد تغليف حزمة IPv6 داخل رأس النفق أو إلى العميل المحمول عبر نفق اختصار.

الأنواع العامة

وكيل الدولة

 AgentState

حالات وكيل النفق فيما يتعلق باتصاله (اتصالاته) بالخدمة.

الخصائص
kState_BkupOnlyTunModeEstablished

تُستخدم للإشارة إلى أن نفق النسخ الاحتياطي للخدمة قد تم إنشاؤه.

kState_Initialized_NoTunnel

يستخدم للإشارة إلى أن عامل النفق قد تمت تهيئته ولكن لم يتم إنشاء نفق.

kState_NotInitialized

يُستخدم للإشارة إلى عدم تهيئة عامل النفق.

kState_PrimaryAndBkupTunModeEstablished

تُستخدم للإشارة إلى أنه تم إنشاء كل من النفق الأساسي والنسخ الاحتياطي.

kState_PrimaryTunModeEstablished

تُستخدم للإشارة إلى أن النفق الأساسي للخدمة قد تم إنشاؤه.

وكيل الدولة

enum nl::Weave::Profiles::WeaveTunnel::WeaveTunnelAgent::AgentState AgentState

حالات وكيل النفق فيما يتعلق باتصاله (اتصالاته) بالخدمة.

OnServiceTunnelReconnectNotifyFunct

void(* OnServiceTunnelReconnectNotifyFunct)(TunnelType tunType, const char *reconnectHost, const uint16_t reconnectPort, void *appCtxt)

تم تعيين مؤشر الوظيفة للمعالج بواسطة طبقة أعلى عند استلام Tunnel Reconnect من الخدمة.

تفاصيل
المعلمات
[in] tunType
نوع النفق الأساسي أو الاحتياطي.
[in] reconnectHost
اسم المضيف الذي توفره الخدمة لإعادة الاتصال به.
[in] reconnectPort
منفذ الوجهة الذي توفره الخدمة لإعادة الاتصال به.
[in] appCtxt
مؤشر إلى كائن سياق التطبيق

OnServiceTunnelStatusNotifyFunct

void(* OnServiceTunnelStatusNotifyFunct)(WeaveTunnelConnectionMgr::TunnelConnNotifyReasons reason, WEAVE_ERROR err, void *appCtxt)

تم تعيين مؤشر الوظيفة للمعالج بواسطة طبقة أعلى للعمل بناءً على الإخطارات المختلفة المتعلقة بالنفق إلى الخدمة.

تفاصيل
المعلمات
[in] reason
سبب إشعار الحالة للتطبيق.
[in] err
تمت مصادفة خطأ النسج ، إن وجد
[in] appCtxt
مؤشر إلى كائن سياق التطبيق

PlatformNetworkOnlineCheck

void(* PlatformNetworkOnlineCheck)(TunnelType tunType, void *appCtxt)

مؤشر الوظيفة لمعالج يوفره التطبيق لإجراء فحص على مستوى الشبكة عبر الإنترنت.

تفاصيل
المعلمات
[in] tunType
نوع النفق الأساسي أو الاحتياطي.
[in] appCtxt
مؤشر إلى كائن سياق التطبيق

WeaveTunnelFlags

 WeaveTunnelFlags

نسج بت علم النفق.

الخصائص
kTunnelFlag_BackupEnabled

اضبط وقت تمكين النفق الاحتياطي.

kTunnelFlag_BackupRestricted

اضبط الوقت الذي يتم فيه تقييد توجيه النفق الاحتياطي.

kTunnelFlag_PrimaryEnabled

اضبط وقت تمكين النفق الأساسي.

kTunnelFlag_PrimaryRestricted

اضبط الوقت الذي يتم فيه تقييد توجيه النفق الأساسي.

WeaveTunnelFlags

enum nl::Weave::Profiles::WeaveTunnel::WeaveTunnelAgent::WeaveTunnelFlags WeaveTunnelFlags

نسج بت علم النفق.

السمات العامة

NetworkOnlineCheck

PlatformNetworkOnlineCheck NetworkOnlineCheck

OnServiceTunReconnectNotify

OnServiceTunnelReconnectNotifyFunct OnServiceTunReconnectNotify

OnServiceTunStatusNotify

OnServiceTunnelStatusNotifyFunct OnServiceTunStatusNotify

تم تعيين مؤشر الوظيفة للمعالج بواسطة طبقة أعلى للعمل بناءً على الإخطارات المختلفة المتعلقة بالنفق إلى الخدمة.

mServiceMgr

WeaveServiceManager * mServiceMgr

مؤشر مدير الخدمة المراد استخدامه للبحث عن الخدمة والاتصال بها.

الوظائف العامة

تعطيلالنفق الأساسي

void DisablePrimaryTunnel(
  void
)

تعطيل النفق الأساسي.

تعطيل النفق الأساسي.

EnablePrimaryTunnel

void EnablePrimaryTunnel(
  void
)

تفعيل النفق الأساسي.

قم بتمكين النفق الأساسي.

GetAgentStateName

const char * GetAgentStateName(
  const AgentState state
)

احصل على اسم WeaveTunnelAgentState.

GetTimeMsec

uint64_t GetTimeMsec(
  void
)

احصل على وقت النظام بالمللي ثانية.

احصل على وقت النظام أو الوقت الرتيب بالمللي ثانية إذا لم يكن وقت النظام متاحًا.

GetWeaveTunnelAgentState

AgentState GetWeaveTunnelAgentState(
  void
)

احصل على حالة TunnelAgent.

تفاصيل
عائدات
AgentState الحالة الراهنة لل WeaveTunnelAgent .

فيه

WEAVE_ERROR Init(
  InetLayer *inet,
  WeaveExchangeManager *exchMgr,
  uint64_t dstNodeId,
  WeaveAuthMode authMode,
  WeaveServiceManager *svcMgr,
  const char *intfName,
  uint8_t role,
  void *appContext
)

تهيئة وكيل النفق.

وهذا يخلق الشركة المصرية للاتصالات الكائن نفق نقطة النهاية، يضع واجهة النفق، تهيئة المتغيرات عضو، الاسترجاعات و WeaveTunnelControl .

فيه

WEAVE_ERROR Init(
  InetLayer *inet,
  WeaveExchangeManager *exchMgr,
  uint64_t dstNodeId,
  IPAddress dstIPAddr,
  WeaveAuthMode authMode,
  const char *intfName,
  uint8_t role,
  void *appContext
)

تهيئة وكيل النفق.

وهذا يخلق الشركة المصرية للاتصالات الكائن نفق نقطة النهاية، يضع واجهة النفق، تهيئة المتغيرات عضو، الاسترجاعات و WeaveTunnelControl .

IsPrimaryTunnelEnabled

bool IsPrimaryTunnelEnabled(
  void
) const 

تحقق مما إذا تم تمكين النفق الرئيسي.

تفاصيل
عائدات
صحيح إذا تم تمكينه ، وإلا خطأ.

IsPrimaryTunnelRoutingRestricted

bool IsPrimaryTunnelRoutingRestricted(
  void
)

تحقق مما إذا كان النفق الأساسي يخضع لقيود التوجيه بواسطة الخدمة.

تحقق مما إذا كان النفق الرئيسي يخضع لقيود التوجيه.

تفاصيل
عائدات
صحيح إذا تم إنشاء النفق الأساسي ولكنه يخضع لقيود التوجيه بواسطة الخدمة

IsTunnelRoutingRestricted

bool IsTunnelRoutingRestricted(
  void
)

تحقق مما إذا كان النفق يخضع لقيود التوجيه من قبل الخدمة.

تحقق مما إذا كان النفق يخضع لقيود التوجيه.

تفاصيل
عائدات
صحيح إذا تم إنشاء النفق الأساسي أو الاحتياطي ، وإما يخضع لقيود التوجيه بواسطة الخدمة.

NetworkOnlineCheckResult

void NetworkOnlineCheckResult(
  TunnelType tunType,
  bool isOnline
)

استدعاء رد الاتصال بواسطة النظام الأساسي عندما تكون نتيجة مدقق الشبكة على الإنترنت متاحة.

تفاصيل
المعلمات
[in] tunType
نوع النفق المقابل للواجهة التي يتم من خلالها إجراء فحص اتصال الشبكة.
[in] isOnline
صحيح إذا كانت الشبكة متصلة بالإنترنت ، أو خطأ إذا كانت الشبكة متصلة.

إعادة تعيين الأساسي

WEAVE_ERROR ResetPrimaryReconnectBackoff(
  bool reconnectImmediately
)

أعد تعيين وقت إعادة الاتصال للنفق الأساسي.

تفاصيل
المعلمات
[in] reconnectImmediately
صواب إذا لزم الأمر لإعادة الاتصال على الفور ، وإلا باستخدام مهلة إعادة الاتصال المكونة.

SetAuthMode

void SetAuthMode(
  const WeaveAuthMode authMode
)

اضبط WeaveAuthMode للنفق.

تفاصيل
المعلمات
[in] authMode
نسج وضع المصادقة المستخدم مع الأقران.

حدد الوجهة

void SetDestination(
  const uint64_t nodeId,
  const IPAddress ipAddr,
  const uint16_t servicePort
)

قم بتعيين الوجهة nodeId و IPAddress والمنفذ للنفق.

قم بتعيين nodeId الوجهة و IPAddress للنفق.

تفاصيل
المعلمات
[in] nodeId
معرف العقدة لعقدة الوجهة.
[in] ipAddr
عنوان IP لعقدة الوجهة.
[in] servicePort
ميناء العقدة الوجهة.

SetTunnelingDeviceRole

void SetTunnelingDeviceRole(
  const Role role
)

قم بتعيين دور جهاز الاتصال النفقي (BorderGateway ، StandaloneDevice ، MobileDevice) للنفق.

اضبط دور جهاز الاتصال النفقي (BorderGateway مقابل Standalone) للنفق.

تفاصيل
المعلمات
[in] role
الدور الذي يفترضه عامل النفق ؛ بوابة الحدود ، جهاز مستقل أو محمول.

اغلق

WEAVE_ERROR Shutdown(
  void
)

اغلاق عامل النفق.

يؤدي هذا إلى قطع الاتصال بالخدمة وإغلاق واجهة TunEndPoint بعد إزالة العناوين والمسارات المرتبطة بواجهة النفق.

يؤدي هذا إلى قطع الاتصال بالخدمة وإغلاق واجهة TunEndPoint بعد إزالة العناوين والمسارات المرتبطة بواجهة النفق.

تفاصيل
عائدات
WEAVE_NO_ERROR على النجاح ، وإلا من النوع WEAVE_ERROR المقابل.

StartServiceTunnel

WEAVE_ERROR StartServiceTunnel(
  void
)

ابدأ نفق الخدمة.

يتيح ذلك النفق ويحاول إنشاء اتصال بالخدمة.

يحاول هذا إنشاء اتصال بالخدمة ويعين أيضًا مسار النسيج إلى واجهة النفق.

تفاصيل
عائدات
WEAVE_NO_ERROR على النجاح ، وإلا من النوع WEAVE_ERROR المقابل.

StartServiceTunnel

WEAVE_ERROR StartServiceTunnel(
  uint64_t dstNodeId,
  IPAddress dstIPAddr,
  WeaveAuthMode authMode
)

ابدأ نفق الخدمة.

يتيح ذلك النفق ويحاول إنشاء اتصال بالخدمة.

StopServiceTunnel

void StopServiceTunnel(
  void
)

أغلق اتصال النفق بالخدمة.

StopServiceTunnel

void StopServiceTunnel(
  WEAVE_ERROR err
)

أغلق اتصال النفق بالخدمة.

تفاصيل
المعلمات
[in] err
WEAVE_NO_ERROR إذا لم يكن هناك سبب محدد لطلب StopServiceTunnel هذا ، وإلا فسيتم تمرير سبب الخطأ.

WeaveTunnelAgent

 WeaveTunnelAgent(
  void
)

وظائف ثابتة عامة

RecvdFromShortcutUDPTunnel

void RecvdFromShortcutUDPTunnel(
  WeaveMessageLayer *msgLayer,
  PacketBuffer *message
)

معالج لتلقي حزم IPv6 النفقية عبر نفق UDP المختصر بين بوابة الحدود والجهاز المحمول وإعادة التوجيه إلى واجهة Tunnel EndPoint بعد فك حزم حزمة IPv6 الأولية من داخل رأس النفق.

معالج لتلقي حزم IPv6 النفقية من اتصال خدمة TCP وإعادة توجيهها إلى واجهة Tunnel EndPoint بعد فك حزم حزمة IPv6 الأولية من داخل رأس النفق.

تفاصيل
المعلمات
[in] con
مؤشر إلى WeaveConnection الكائن.
[in] msgInfo
مؤشر إلى WeaveMessageInfo الكائن.
[in] message
مؤشر إلى كائن PacketBuffer الذي يحمل حزمة IPv6 المنفّقة.

RecvdFromTunnelEndPoint

void RecvdFromTunnelEndPoint(
  TunEndPoint *tunEP,
  PacketBuffer *message
)

معالج لتلقي حزم IPv6 من واجهة Tunnel EndPoint وإعادة توجيهها ، إما إلى الخدمة عبر اتصال خدمة TCP بعد تغليف حزمة IPv6 داخل رأس النفق أو إلى العميل المحمول عبر نفق اختصار.

معالج لتلقي حزم IPv6 من واجهة Tunnel EndPoint وإعادة توجيهها ، إما إلى الخدمة عبر اتصال Service TCP بعد تغليف حزمة IPv6 داخل رأس النفق أو إلى العميل المحمول عبر نفق محلي.

إذا لم يتم تشغيل اتصال الخدمة بعد ، يتم وضع الرسالة في قائمة الانتظار حتى يتم إعداد الاتصال. للنفق إلى جهاز العميل المحمول ، تتم الإشارة إلى جدول الجوار nexthop.

إذا لم يتم تشغيل اتصال الخدمة بعد ، فسيتم وضع الرسالة في قائمة الانتظار حتى يتم إعداد الاتصال. للنفق إلى جهاز العميل المحمول ، تتم الإشارة إلى جدول الجوار nexthop.

تفاصيل
المعلمات
[in] tunEP
مؤشر إلى كائن TunEndPoint.
[in] message
مؤشر إلى كائن PacketBuffer الذي يحمل حزمة IPv6 الأولية.