nl::Weave::Profiles::WeaveTunnel::WeaveTunnelAgent

ملخّص

الشركات المصنّعة والمُصنّعة

WeaveTunnelAgent(void)

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

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

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

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
اضبُط العقدة الوجهة و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

 AgentState

الولايات التابعة لوكيل النفق في ما يتعلق بارتباطاته بـ "الخدمة":

أماكن إقامة
kState_BkupOnlyTunModeEstablished

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

kState_Initialized_NoTunnel

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

kState_NotInitialized

يُستخدَم للإشارة إلى عدم إعداد وكيل النفق.

kState_PrimaryAndBkupTunModeEstablished

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

kState_PrimaryTunModeEstablished

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

AgentState

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

الولايات التابعة لوكيل النفق في ما يتعلق بارتباطاته بـ "الخدمة":

OnServiceTunnelReconnectNotifyFunct

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

مؤشر دالة إلى المعالج الذي تم ضبطه من طبقة أعلى عند تلقّي "إعادة الاتصال عبر النفق" من "الخدمة"

التفاصيل
المعلمات
[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

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

وظائف عامة

DisablePrimaryTunnel

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 (حالة AgentState الحالية) WeaveTunnelAgent.

Init

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

جارٍ إعداد وكيل النفق.

يؤدي ذلك إلى إنشاء كائن نقطة نهاية في النفق وإعداد واجهة النفق وإعداد متغيرات الأعضاء وعمليات استدعاء الاتصال وWeaveTunnelControl.

Init

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 

تحقَّق مما إذا كان الاتصال النفقي الأساسي مفعَّلاً.

التفاصيل
المرتجعات
true إذا تم تمكينه، بينما يكون false.

IsPrimaryTunnelRoutingRestricted

bool IsPrimaryTunnelRoutingRestricted(
  void
)

تحقَّق مما إذا كان النفق الأساسي خاضعًا لقيود التوجيه التي تفرضها الخدمة.

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

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

IsTunnelRoutingRestricted

bool IsTunnelRoutingRestricted(
  void
)

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

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

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

NetworkOnlineCheckResult

void NetworkOnlineCheckResult(
  TunnelType tunType,
  bool isOnline
)

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

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

ResetPrimaryReconnectBackoff

WEAVE_ERROR ResetPrimaryReconnectBackoff(
  bool reconnectImmediately
)

أعِد ضبط وقت "إعادة الاتصال" للنفق الأساسي.

التفاصيل
المعلمات
[in] reconnectImmediately
صحيح إذا لزم الأمر لإعادة الاتصال فورًا، وإلا باستخدام مهلة إعادة الضبط التي تم ضبطها.

SetAuthMode

void SetAuthMode(
  const WeaveAuthMode authMode
)

عيِّن WeaveAuthMode للنفق.

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

SetDestination

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

اضبُط العقدة الوجهة وIPAddress والمنفذ للنفق.

عيِّن معرِّف العقدة الوجهة وIPAddress للنفق.

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

SetTunnelingDeviceRole

void SetTunnelingDeviceRole(
  const Role role
)

عيِّن دور جهاز النفق(BorderGateway، StandaloneDevice، MobileDevice) للنفق.

تعيين دور جهاز النفق(BorderGateway مقابل مستقلة) للنفق.

التفاصيل
المعلمات
[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 ويعيد توجيهها، إما إلى الخدمة عبر اتصال بروتوكول التحكم بالنقل (TCP) بعد تغليف حزمة IPv6 داخل رأس النفق أو إلى عميل الجوّال عبر نفق محلي.

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

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

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