nl:: بافت:: پروفایل ها:: Weave Tunnel:: WeaveTunnelAgent

خلاصه

سازندگان و تخریب کنندگان

WeaveTunnelAgent (void)

انواع عمومی

AgentState {
kState_NotInitialized = 0,
kState_Initialized_NoTunnel = 1,
kState_PrimaryTunModeEstablished = 2,
kState_BkupOnlyTunModeEstablished = 3,
kState_PrimaryAndBkupTunModeEstablished = 4
}
enum
وضعیت های عامل تونل در رابطه با اتصال(های) آن به سرویس.
AgentState typedef
وضعیت های عامل تونل در رابطه با اتصال(های) آن به سرویس.
OnServiceTunnelReconnectNotifyFunct )(TunnelType tunType, const char *reconnectHost, const uint16_t reconnectPort, void *appCtxt) typedef
void(*
هنگامی که یک اتصال مجدد تونل از سرویس دریافت می شود، نشانگر تابع به کنترلر توسط یک لایه بالاتر تنظیم می شود.
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
}
enum
تکه های پرچم تونل را ببافید.
WeaveTunnelFlags typedef
تکه های پرچم تونل را ببافید.

صفات عمومی

NetworkOnlineCheck
OnServiceTunReconnectNotify
OnServiceTunStatusNotify
نشانگر تابع به کنترل کننده توسط یک لایه بالاتر تنظیم شده است تا بر اساس اعلان های مختلف مربوط به تونل به سرویس عمل کند.
mServiceMgr
WeaveServiceManager *
اشاره گر Service Manager برای استفاده برای جستجو و اتصال به سرویس.

توابع عمومی

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)
عامل Tunnel را راه اندازی کنید.
Init (InetLayer *inet, WeaveExchangeManager *exchMgr, uint64_t dstNodeId, IPAddress dstIPAddr, WeaveAuthMode authMode, const char *intfName, uint8_t role, void *appContext)
عامل Tunnel را راه اندازی کنید.
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 مقصد، آدرس IP و پورت را برای تونل تنظیم کنید.
SetTunnelingDeviceRole (const Role role)
void
نقش دستگاه Tunneling (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 و ارسال به سرویس از طریق اتصال Service TCP پس از کپسوله کردن بسته IPv6 در داخل هدر تونل یا به مشتری Mobile از طریق یک تونل میانبر.

انواع عمومی

AgentState

 AgentState

وضعیت های عامل تونل در رابطه با اتصال(های) آن به سرویس.

خواص
kState_BkupOnlyTunModeEstablished

برای نشان دادن اینکه تونل پشتیبان به سرویس ایجاد شده است استفاده می شود.

kState_Initialized_NoTunnel

برای نشان دادن اینکه Tunnel Agent اولیه است اما هیچ تونلی ایجاد نشده است استفاده می شود.

kState_NotInitialized

برای نشان دادن اینکه Tunnel Agent مقداردهی اولیه نشده است استفاده می شود.

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
نام میزبان ارائه شده توسط Service برای اتصال مجدد.
[in] reconnectPort
پورت مقصد ارائه شده توسط Service برای اتصال مجدد به.
[in] appCtxt
یک اشاره گر به یک شی زمینه برنامه

OnServiceTunnelStatusNotifyFunct

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

نشانگر تابع به کنترل کننده توسط یک لایه بالاتر تنظیم شده است تا بر اساس اعلان های مختلف مربوط به تونل به سرویس عمل کند.

جزئیات
مولفه های
[in] reason
دلیل اعلام وضعیت به برنامه.
[in] err
در صورت وجود با خطای بافت مواجه شد
[in] appCtxt
یک اشاره گر به یک شی زمینه برنامه

PlatformNetworkOnline Check

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

نشانگر تابع به یک کنترل کننده ارائه شده توسط برنامه برای انجام بررسی آنلاین سطح شبکه.

جزئیات
مولفه های
[in] tunType
نوع تونل، اولیه یا پشتیبان.
[in] appCtxt
یک اشاره گر به یک شی زمینه برنامه

WeaveTunnel Flags

 WeaveTunnelFlags

تکه های پرچم تونل را ببافید.

خواص
kTunnelFlag_BackupEnabled

زمانی را تنظیم کنید که تونل پشتیبان فعال باشد.

kTunnelFlag_BackupRestricted

زمانی را تنظیم کنید که تونل پشتیبان مسیریابی محدود شده باشد.

kTunnelFlag_PrimaryEnabled

زمانی را تنظیم کنید که تونل اولیه فعال باشد.

kTunnelFlag_PrimaryRestricted

زمانی را تنظیم کنید که تونل اولیه مسیریابی محدود شده باشد.

WeaveTunnel Flags

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

تکه های پرچم تونل را ببافید.

صفات عمومی

NetworkOnline Check

PlatformNetworkOnlineCheck NetworkOnlineCheck

OnServiceTunReconnectNotify

OnServiceTunnelReconnectNotifyFunct OnServiceTunReconnectNotify

OnServiceTunStatusNotify

OnServiceTunnelStatusNotifyFunct OnServiceTunStatusNotify

نشانگر تابع به کنترل کننده توسط یک لایه بالاتر تنظیم شده است تا بر اساس اعلان های مختلف مربوط به تونل به سرویس عمل کند.

mServiceMgr

WeaveServiceManager * mServiceMgr

اشاره گر Service Manager برای استفاده برای جستجو و اتصال به سرویس.

توابع عمومی

PrimaryTunnel را غیرفعال کنید

void DisablePrimaryTunnel(
  void
)

تونل اولیه را غیرفعال کنید.

تونل اولیه را غیرفعال کنید.

فعال کردن PrimaryTunnel

void EnablePrimaryTunnel(
  void
)

تونل اولیه را فعال کنید.

تونل اولیه را فعال کنید.

GetAgentStateName

const char * GetAgentStateName(
  const AgentState state
)

نام WeaveTunnelAgentState را دریافت کنید.

GetTimeMsec

uint64_t GetTimeMsec(
  void
)

زمان سیستم را بر حسب میلی ثانیه دریافت کنید.

اگر زمان سیستم در دسترس نیست، زمان سیستم یا زمان یکنواخت را به میلی ثانیه دریافت کنید.

GetWeaveTunnelAgentState

AgentState GetWeaveTunnelAgentState(
  void
)

وضعیت TunnelAgent را دریافت کنید.

جزئیات
برمی گرداند
Agent وضعیت فعلی WeaveTunnelAgent را بیان کنید.

شروع کنید

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

عامل Tunnel را راه اندازی کنید.

این شیء نقطه پایانی تونل را ایجاد می کند، رابط تونل را تنظیم می کند، متغیرهای عضو، فراخوان ها و WeaveTunnelControl را مقداردهی اولیه می کند.

شروع کنید

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

عامل Tunnel را راه اندازی کنید.

این شیء نقطه پایانی تونل را ایجاد می کند، رابط تونل را تنظیم می کند، متغیرهای عضو، فراخوان ها و WeaveTunnelControl را مقداردهی اولیه می کند.

IsPrimaryTunnel Enabled

bool IsPrimaryTunnelEnabled(
  void
) const 

بررسی کنید که آیا تونل اولیه فعال است یا خیر.

جزئیات
برمی گرداند
درست است اگر فعال باشد، در غیر این صورت نادرست است.

IsPrimaryTunnelRoutingRestricted است

bool IsPrimaryTunnelRoutingRestricted(
  void
)

بررسی کنید که آیا تونل اولیه مشمول محدودیت‌های مسیریابی توسط سرویس است یا خیر.

بررسی کنید که آیا تونل اولیه مشمول محدودیت‌های مسیریابی است یا خیر.

جزئیات
برمی گرداند
درست است اگر تونل اولیه ایجاد شده باشد اما مشمول محدودیت های مسیریابی توسط سرویس باشد.

IsTunnelRoutingRestricted

bool IsTunnelRoutingRestricted(
  void
)

بررسی کنید که آیا تونل مشمول محدودیت‌های مسیریابی توسط سرویس است یا خیر.

بررسی کنید که آیا تونل مشمول محدودیت های مسیریابی است یا خیر.

جزئیات
برمی گرداند
درست است اگر تونل اصلی یا پشتیبان ایجاد شده باشد، و هر کدام مشمول محدودیت های مسیریابی توسط سرویس باشند.

NetworkOnlineCheck Result

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
حالت احراز هویت بافت که با peer استفاده می شود.

تعیین مقصد

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

NodeId مقصد، آدرس IP و پورت را برای تونل تنظیم کنید.

NodeId مقصد و IPAddress را برای تونل تنظیم کنید.

جزئیات
مولفه های
[in] nodeId
شناسه گره گره مقصد.
[in] ipAddr
آدرس IP گره مقصد.
[in] servicePort
پورت گره مقصد.

SetTunnelingDeviceRole

void SetTunnelingDeviceRole(
  const Role role
)

نقش دستگاه Tunneling (BorderGateway، StandaloneDevice، MobileDevice) را برای تونل تنظیم کنید.

نقش دستگاه Tunneling (BorderGateway vs 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
اگر دلیل خاصی برای این درخواست StopServiceTunnel وجود نداشته باشد، WEAVE_NO_ERROR، در غیر این صورت علت خطا نادیده گرفته می شود.

WeaveTunnelAgent

 WeaveTunnelAgent(
  void
)

توابع استاتیک عمومی

RecvdFromShortcutUDPTunnel

void RecvdFromShortcutUDPTunnel(
  WeaveMessageLayer *msgLayer,
  PacketBuffer *message
)

هندلر برای دریافت بسته های IPv6 تونل شده از طریق تونل میانبر UDP بین دروازه مرزی و دستگاه تلفن همراه و ارسال به رابط Tunnel EndPoint پس از کپسوله کردن بسته IPv6 خام از داخل هدر تونل.

Handler برای دریافت بسته های IPv6 تونل شده از اتصال Service TCP و ارسال به رابط Tunnel EndPoint پس از کپسوله کردن بسته IPv6 خام از داخل هدر تونل.

جزئیات
مولفه های
[in] con
اشاره گر به شی WeaveConnection .
[in] msgInfo
یک اشاره گر به شی WeaveMessageInfo .
[in] message
یک اشاره گر به شی PacketBuffer که بسته IPv6 تونل شده را نگه می دارد.

RecvdFromTunnelEndPoint

void RecvdFromTunnelEndPoint(
  TunEndPoint *tunEP,
  PacketBuffer *message
)

کنترل کننده برای دریافت بسته های IPv6 از رابط Tunnel EndPoint و ارسال به سرویس از طریق اتصال Service TCP پس از کپسوله کردن بسته IPv6 در داخل هدر تونل یا به مشتری Mobile از طریق یک تونل میانبر.

کنترل کننده برای دریافت بسته های IPv6 از رابط Tunnel EndPoint و ارسال، یا از طریق اتصال Service TCP پس از کپسوله کردن بسته IPv6 در داخل هدر تونل یا به مشتری Mobile از طریق یک تونل محلی.

اگر اتصال سرویس هنوز راه اندازی نشده باشد، پیام تا زمانی که اتصال تنظیم شود در صف قرار می گیرد. برای تونل زدن به دستگاه مشتری موبایل، جدول همسایه nexthop ارجاع داده شده است.

اگر اتصال سرویس هنوز راه اندازی نشده باشد، پیام تا زمانی که اتصال تنظیم شود در صف قرار می گیرد. برای تونل زدن به دستگاه مشتری موبایل، جدول همسایه nexthop ارجاع داده شده است.

جزئیات
مولفه های
[in] tunEP
اشاره گر به شی TunEndPoint.
[in] message
یک اشاره گر به شی PacketBuffer که بسته IPv6 خام را نگه می دارد.