nl::Weave::Binding

#include <src/lib/core/WeaveBinding.h>

هدف موردنظر ارتباط Weave و اطلاعات پیکربندی مرتبط را ضبط می‌کند.

خلاصه

یک شیء Binding هدف موردنظر ارتباط Weave (که با نام «همتا» نیز شناخته می‌شود) را به‌همراه مجموعه‌ای از پارامترهای پیکربندی که نحوه برقراری ارتباط با همتا را توصیف می‌کند، شناسایی می‌کند. اتصال‌ها مستقل از پروتکل برنامه‌ای هستند که بین دو طرف برقرار است. به‌همین دلیل، آن‌ها «چه کسی» و «چگونه» ارتباط را ضبط می‌کنند، اما «چه چیزی» را ضبط نمی‌کنند.

پیکربندی

برنامه‌ها باید ملزوماتی را با پارامترهای خاص نوع کانال ارتباطی موردنظر پیکربندی کنند. پیوندها از طیف وسیعی از انتقال‌های شبکه، ازجمله TCP،‏ UDP،‏ UDP با «پیام‌رسانی قابل‌اعتماد Weave»، و Weave ازطریق BLE (WoBLE) پشتیبانی می‌کنند. برنامه‌ها همچنین می‌توانند استفاده از سازوکارهای امنیتی خاصی را برای محافظت از پیام‌های ارسال‌شده بین طرفین درخواست کنند. این شامل جلسه‌های CASE و PASE، و کلیدهای گروه برنامه می‌شود. واسط پیکربندی ملزم کردن از سبک API بیانی استفاده می‌کند که به برنامه‌ها اجازه می‌دهد الزامات خود را برای ارتباط با عبارات ساده بیان کنند.

برای جزئیات بیشتر، مستندات Binding::Configuration را ببینید.

آماده‌سازی

پیش‌از برقراری ارتباط، اتصال باید «آماده» شود. عمل آماده‌سازی ملزم کردن شامل ایجاد وضعیت لازم برای برقراری ارتباط است. این می‌تواند شامل مواردی مانند حل کردن نشانی شبکه همتا، برقراری اتصال شبکه، و مذاکره درباره کلیدهای امنیتی باشد. پس‌از پیکربندی توسط برنامه، Binding از همه مراحل لازم برای آماده‌سازی ارتباط مراقبت می‌کند و پس‌از تکمیل فرایند، با برنامه تماس می‌گیرد. به این ترتیب، «پیوندها» مکانیسم‌های ارتباطی را پنهان می‌کنند و به برنامه‌ها اجازه می‌دهند روی تعاملات سطح بالا تمرکز کنند.

ارتباطات

وقتی اتصال آماده شد، برای استفاده آماده می‌شود. در این حالت، برنامه‌ها (یا به‌طور معمول‌تر، کد لایه پروتکل که ازطرف برنامه کار می‌کند) از Binding درخواست می‌کنند تا بافت تبادل Weave را اختصاص دهد. بافت تبادل حاصل ازقبل برای ارتباط پیکربندی شده است و به برنامه اجازه می‌دهد فوراً تبادل Weave را با همتا آغاز کند. برنامه می‌تواند به درخواست زمینه‌های تبادل از Binding ادامه دهد تا زمانی که Binding بسته شود، یا رویدادی، مثلاً خرابی شبکه، کانال ارتباطی زیربنایی را خاتمه دهد.

تغییرات وضعیت ملزم کردن

درطول دوره استفاده، Binding رویدادهای میانای برنامه‌سازی کاربردی را به برنامه ارائه می‌دهد و آن را از تغییرات در وضعیت Binding مطلع می‌کند. برای مثال، وقتی آماده‌سازی موفقیت‌آمیز باشد، برنامه رویدادی دریافت می‌کند که به آن اطلاع می‌دهد ملزم کردن برای استفاده آماده است. به‌همین ترتیب، اگر کانال ارتباطی زیرین با مشکل مواجه شود، رویدادی به برنامه ارسال می‌شود که به آن اطلاع می‌دهد ملحق کردن دیگر در وضعیت آماده نیست.

رویدادهای «میانای برنامه‌سازی کاربردی» ازطریق تابع برگشت رویداد که هنگام تخصیص ملزم کردن ارائه می‌شود به برنامه تحویل داده می‌شوند.

ملزم کردن کل دوره

اتصال مرجع شمارش‌شده است تا امکان استفاده مشترک در چندین مؤلفه نرم‌افزاری فراهم شود. وقتی ملزوم تخصیص داده می‌شود، یک مرجع واحد برای ملزوم ایجاد می‌شود. برنامه مسئول است که این مرجع را در زمانی در آینده آزاد کند تا پیوند برای استفاده مجدد بعدی آزاد شود.

وقتی کار برنامه با Binding تمام شد، ممکن است Close()‎ را در binding فراخوانی کند. این کار ارجاع برنامه به Binding را آزاد می‌کند و همه ارسال‌های بعدی رویدادهای میانای برنامه‌سازی کاربردی را مسدود می‌کند. وقتی آخرین ارجاع به Binding منتشر شود، به‌طور خودکار بسته می‌شود.

انواع عمومی

@23{
  kGetPeerDescription_MaxLength = nl::Weave::kWeavePeerDescription_MaxLength
}
شمارشی
EventCallback)(void *apAppState, EventType aEvent, const InEventParam &aInParam, OutEventParam &aOutParam) typedef
void(*
EventType{
  kEvent_ConnectionEstablished = 1,
  kEvent_BindingReady = 2,
  kEvent_PrepareFailed = 3,
  kEvent_BindingFailed = 4,
  kEvent_PrepareRequested = 5,
  kEvent_PASEParametersRequested = 6,
  kEvent_TAKEParametersRequested = 7,
  kEvent_DefaultCheck = 100
}
شمارشی
State شمارشی

مشخصه‌های عمومی

AppState
void *

عملکردهای عمومی

AddRef(void)
void
مرجعی را برای شیء پیوند رزرو کنید.
AdjustResponseTimeout(ExchangeContext *apExchangeContext) const
«زمینه مبادله» موجود را دوباره پیکربندی کنید تا مهلت پاسخ را تنظیم کنید.
AllocateRightSizedBuffer(PacketBuffer *& buf, const uint32_t desiredSize, const uint32_t minSize, uint32_t & outMaxPayloadSize)
BeginConfiguration()
فرایند پیکربندی ملزم کردن.
CanBePrepared(void) const
bool
Close(void)
void
شیء پیوند را ببندید و مرجع را آزاد کنید.
GetConnection() const
دریافت شیء اتصال Weave مرتبط با اتصال.
GetDefaultResponseTimeout() const
uint32_t
مهلت زمانی پیش‌فرض پاسخ تبادل را برای استفاده هنگام برقراری ارتباط با همتا دریافت کنید.
GetDefaultWRMPConfig(void) const
const WRMPConfig &
پیکربندی WRMP پیش‌فرض را برای استفاده هنگام برقراری ارتباط با همتا دریافت کنید.
GetEncryptionType(void) const
uint8_t
نوع رمزگذاری پیام را که باید هنگام رمزگذاری پیام‌ها به/از همتا استفاده شود بازیابی کنید.
GetEventCallback() const
EventCallback
تابعی را که هنگام وقوع رویداد API برای Binding فراخوانی می‌شود دریافت کنید.
GetExchangeManager() const
GetKeyId(void) const
uint32_t
شناسه کلید رمزگذاری پیام را که باید هنگام رمزگذاری پیام‌ها به/از همتا استفاده شود بازیابی کنید.
GetLogId(void) const
uint16_t
شناسه یکتایی برای اتصال دریافت کنید.
GetMaxWeavePayloadSize(const System::PacketBuffer *msgBuf)
uint32_t
حداکثر اندازه بار Weave را که می‌تواند در PacketBuffer ارائه‌شده جای بگیرد دریافت کنید.
GetPeerDescription(char *buf, uint32_t bufSize) const
void
رشته‌ای می‌سازد که گره همتا و نشانی / اطلاعات اتصال منسوب به آن را توصیف می‌کند.
GetPeerIPAddress(nl::Inet::IPAddress & address, uint16_t & port, InterfaceId & interfaceId) const
void
اطلاعات نشانی IP را برای همتا بازیابی کنید (درصورت وجود).
GetPeerNodeId(void) const
uint64_t
شناسه گره همتای متصل را بازیابی کنید.
GetProtocolLayerCallback(EventCallback & callback, void *& state) const
void
GetState(void) const
State
وضعیت فعلی اتصال را بازیابی کنید.
IsAuthenticMessageFromPeer(const WeaveMessageInfo *msgInfo)
bool
تعیین می‌کند که آیا پیام ورودی خاصی از همتای پیکربندی‌شده است و به‌درستی اصالت‌سنجی شده است یا نه.
IsConnectionTransport() const
bool
IsPreparing(void) const
bool
IsReady(void) const
bool
IsUDPTransport() const
bool
IsUnreliableUDPTransport() const
bool
IsWRMTransport() const
bool
NewExchangeContext(ExchangeContext *& appExchangeContext)
«زمینه تبادل» جدیدی برای برقراری ارتباط با همتایی که هدف اتصال است اختصاص دهید.
Release(void)
void
ارجاع به شیء اتصالی را منتشر کنید.
RequestPrepare()
از برنامه بخواهید پیوند را پیکربندی و آماده کند.
Reset(void)
void
پیوند را به حالت پیکربندی‌نشده بازنشانی کنید.
SetDefaultResponseTimeout(uint32_t msec)
void
زمان استراحت پاسخ تبادل پیش‌فرض را برای استفاده هنگام برقراری ارتباط با همتا تنظیم کنید.
SetDefaultWRMPConfig(const WRMPConfig & wrmpConfig)
void
پیکربندی WRMP پیش‌فرض را برای استفاده هنگام برقراری ارتباط با همتا تنظیم کنید.
SetEventCallback(EventCallback aEventCallback)
void
تابع تعریف‌شده برنامه را تنظیم کنید تا وقتی رویداد میانای برنامه‌سازی کاربردی برای اتصال رخ می‌دهد، فراخوانی شود.
SetProtocolLayerCallback(EventCallback callback, void *state)
void
بااستفاده از Binding ازطرف برنامه، تابع برگشتی رویداد را برای کد لایه پروتکل تنظیم کنید.

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

DefaultEventHandler(void *apAppState, EventType aEvent, const InEventParam & aInParam, OutEventParam & aOutParam)
void
Default handler for binding API events.

کلاس‌ها

nl::Weave::Binding::Configuration

میانایی با سبک بیانیه برای پیکربندی و آماده‌سازی شیء Binding ارائه می‌دهد.

ساختارها

nl::Weave::Binding::InEventParam

پارامترهای ورودی برای رویداد میانای برنامه‌سازی کاربردی Binding.

nl::Weave::Binding::OutEventParam

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

انواع عمومی

‫@23

 @23
مشخصات
kGetPeerDescription_MaxLength

حداکثر طول رشته (شامل نویسه NUL) که توسط GetPeerDescription() برگردانده می‌شود.

EventCallback

void(* EventCallback)(void *apAppState, EventType aEvent, const InEventParam &aInParam, OutEventParam &aOutParam)

EventType

 EventType
مشخصات
kEvent_BindingFailed

اتصال ناموفق بود و دیگر نمی‌توان از آن برای برقراری ارتباط با همتا استفاده کرد.

kEvent_BindingReady

کنش آماده‌سازی در اتصال موفقیت‌آمیز بود و اکنون می‌توان از اتصال برای برقراری ارتباط با همتا استفاده کرد.

kEvent_ConnectionEstablished

اتصال Weave درخواستی برقرار شد.

kEvent_DefaultCheck

برای درستی‌سنجی کردن مدیریت صحیح رویداد پیش‌فرض در برنامه استفاده می‌شود.

kEvent_PASEParametersRequested

از برنامه درخواست شده است پارامترهایی را برای استفاده درطول ایجاد جلسه PASE ارائه دهد.

kEvent_PrepareFailed

کنش آماده‌سازی در اتصال ناموفق بود.

kEvent_PrepareRequested

از برنامه درخواست می‌شود تا اتصال را برای استفاده توسط پشته شبکه پیکربندی و آماده کند.

kEvent_TAKEParametersRequested

از برنامه درخواست می‌شود تا پارامترهایی را که درطول ایجاد جلسه TAKE استفاده می‌شود ارائه دهد.

ایالت

 State

مشخصه‌های عمومی

AppState

void * AppState

عملکردهای عمومی

AddRef

void AddRef(
  void
)

ارجاعی به شیء اتصال‌دهنده رزرو کنید.

AdjustResponseTimeout

WEAVE_ERROR AdjustResponseTimeout(
  ExchangeContext *apExchangeContext
) const 

برای تنظیم زمان اتمام پاسخ، «بافت تبادل» موجود را دوباره پیکربندی کنید.

جزئیات
پارامترها
[in] apExchangeContext
اشاره‌گری به شیء Exchange Context برای پیکربندی مجدد

AllocateRightSizedBuffer

WEAVE_ERROR AllocateRightSizedBuffer(
  PacketBuffer *& buf,
  const uint32_t desiredSize,
  const uint32_t minSize,
  uint32_t & outMaxPayloadSize
)

BeginConfiguration

Configuration BeginConfiguration()

فرایند پیکربندی اتصال را شروع کنید.

برنامه‌ها باید BeginConfiguration() را فراخوانی کنند تا Binding را قبل‌از آماده‌سازی آن برای برقراری ارتباط با همتا پیکربندی کنند.

جزئیات
کالاهای مرجوعی
شیء Binding::Configuration که می‌تواند برای پیکربندی اتصال استفاده شود.

CanBePrepared

bool CanBePrepared(
  void
) const 

بستن

void Close(
  void
)

بستن شیء اتصالی و انتشار مرجع.

وقتی فراخوانده می‌شود، این روش باعث می‌شود که اتصال وارد حالت «بسته» شود. همه کنش‌های آماده‌سازی درحال انجام برای اتصال لغو می‌شود و همه منابع ارتباطات خارجی نگهداری‌شده توسط اتصال آزاد می‌شود.

فراخوانی Close()‎ تعداد مرجع مرتبط با اتصال را کاهش می‌دهد و اگر تعداد مرجع صفر شود، شیء را آزاد می‌کند.

GetConnection

WeaveConnection * GetConnection() const 

دریافت شیء اتصال Weave مرتبط با اتصال.

جزئیات
برگرداندن
اشاره‌گری به شیء WeaveConnection، یا NULL اگر اتصالی منسوب به اتصال وجود نداشته باشد.

GetDefaultResponseTimeout

uint32_t GetDefaultResponseTimeout() const 

مهلت زمانی پیش‌فرض پاسخ تبادل را برای استفاده هنگام برقراری ارتباط با همتا دریافت کنید.

جزئیات
کالاهای مرجوعی
مهلت پاسخ‌دهی به میلی‌ثانیه.

GetDefaultWRMPConfig

const WRMPConfig & GetDefaultWRMPConfig(
  void
) const 

پیکربندی پیش‌فرض WRMP را برای استفاده هنگام برقراری ارتباط با همتا دریافت کنید.

جزئیات
کالاهای مرجوعی
مرجعی به ساختار WRMPConfig که حاوی مقادیر پیکربندی پیش‌فرض است.

GetEncryptionType

uint8_t GetEncryptionType(
  void
) const 

نوع رمزگذاری پیام را که باید هنگام رمزگذاری پیام‌ها به/از همتا استفاده شود بازیابی کنید.

GetEventCallback

EventCallback GetEventCallback() const 

تابعی را که هنگام وقوع رویداد API برای Binding فراخوانی می‌شود دریافت کنید.

جزئیات
کالاهای مرجوعی
اشاره‌گری به تابع بازخوانی.

GetExchangeManager

WeaveExchangeManager * GetExchangeManager() const 

GetKeyId

uint32_t GetKeyId(
  void
) const 

شناسه کلید رمزگذاری پیام را که باید هنگام رمزگذاری پیام‌ها به/از همتا استفاده شود بازیابی کنید.

GetLogId

uint16_t GetLogId(
  void
) const 

شناسه یکتایی برای اتصال دریافت کنید.

GetMaxWeavePayloadSize

uint32_t GetMaxWeavePayloadSize(
  const System::PacketBuffer *msgBuf
)

حداکثر اندازه بار داده Weave را که می‌تواند در PacketBuffer ارائه‌شده قرار گیرد دریافت کنید.

برای UDP، ازجمله UDP با WRM، حداکثر اندازه بار مفید برگردانده‌شده تضمین می‌کند که پیام Weave حاصل از MTU پیکربندی‌شده UDP سرریز نخواهد شد.

علاوه‌براین، این روش تضمین می‌کند که بار خالص Weave از PacketBuffer ارائه‌شده سرریز نخواهد کرد.

جزئیات
پارامترها
[in] msgBuf
اشاره‌گری به PacketBuffer که بار پیام در آن نوشته خواهد شد.
کالاهای مرجوعی
حداکثر اندازه پایه‌بار Weave.

GetPeerDescription

void GetPeerDescription(
  char *buf,
  uint32_t bufSize
) const 

رشته‌ای می‌سازد که گره همتا و نشانی منسوب آن / اطلاعات اتصال را توصیف می‌کند.

جزئیات
پارامترها
[in] buf
اشاره‌گری به میان‌گیری که رشته باید در آن نوشته شود. میان‌گیر ارائه‌شده باید حداقل به‌اندازه kGetPeerDescription_MaxLength باشد. اگر میان‌گیر کوچک‌تری داده شود، رشته برای جا شدن کوتاه خواهد شد. در همه موارد، برونداد شامل نویسه پایان NUL خواهد بود.
[in] bufSize
اندازه میان‌گیری که buf به آن اشاره می‌کند.

GetPeerIPAddress

void GetPeerIPAddress(
  nl::Inet::IPAddress & address,
  uint16_t & port,
  InterfaceId & interfaceId
) const 

اطلاعات نشانی IP را برای همتا بازیابی کنید (درصورت وجود).

دردسترس بودن اطلاعات نشانی IP همتا به وضعیت و پیکربندی اتصال بستگی دارد. اطلاعات نشانی IP فقط هنگام استفاده از انتقال مبتنی بر IP (TCP،‏ UDP، یا UDP با WRMP) دردسترس است. پیش‌از شروع آماده‌سازی، اطلاعات نشانی فقط درصورتی دردسترس است که صریحاً توسط برنامه درطول پیکربندی تنظیم شده باشد. درطول مرحله آماده‌سازی، اطلاعات نشانی زمانی دردسترس قرار می‌گیرد که آماده‌سازی نشانی تکمیل شود (برای نمونه، پس‌از تکمیل وضوح ساناد). پس‌از آماده شدن اتصال، اطلاعات نشانی تا زمانی که اتصال بازنشانی شود دردسترس باقی می‌ماند.

جزئیات
پارامترها
[out] address
ارجاع به شیء IPAddress که نشانی IP همتا را دریافت خواهد کرد. اگر اطلاعات نشانی IP همتا دردسترس نباشد، این مقدار روی IPAddress::Any تنظیم خواهد شد.
[out] port
ارجاع به عدد صحیحی که شماره درگاه همتا را دریافت خواهد کرد. اگر اطلاعات نشانی IP همتا دردسترس نباشد، این مقدار تعریف‌نشده است.
[out] interfaceId
ارجاع به عدد صحیحی که شناسه میانای شبکه را دریافت خواهد کرد و ازطریق آن می‌توان به همتا دسترسی پیدا کرد. اگر اطلاعات نشانی IP همتا دردسترس نباشد، این مقدار تعریف‌نشده است.

GetPeerNodeId

uint64_t GetPeerNodeId(
  void
) const 

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

فقط زمانی معتبر است که شیء اتصال آماده شده باشد.

جزئیات
کالاهای مرجوعی
شناسه گره Weave همتا

GetProtocolLayerCallback

void GetProtocolLayerCallback(
  EventCallback & callback,
  void *& state
) const 

GetState

State GetState(
  void
) const 

وضعیت فعلی اتصال را بازیابی کنید.

جزئیات
برگرداندن
وضعیت اتصال.

IsAuthenticMessageFromPeer

bool IsAuthenticMessageFromPeer(
  const WeaveMessageInfo *msgInfo
)

تعیین می‌کند که آیا پیام ورودی خاصی از همتای پیکربندی‌شده است و به‌درستی اصالت‌سنجی شده است یا نه.

این روش جزئیات زیر را درباره پیام داده‌شده تأیید می‌کند:

  • پیام از گره همتای اتصال منشأ گرفته است
  • پیام ازطریق همان نوع انتقال پیوند دریافت شده است. اگر پیام ازطریق اتصال دریافت شده باشد، این روش همچنین تأیید می‌کند که پیام ازطریق همان اتصالی دریافت شده است که با اتصال مرتبط است.
  • کلید رمزگذاری و نوع استفاده‌شده برای رمزگذاری پیام با موارد پیکربندی‌شده در پیوند مطابقت داشته باشد. برای اتصالاتی که بدون استفاده از امنیت پیکربندی شده‌اند، این روش تأیید می‌کند که پیام ورودی رمزگذاری نشده است.

این روش برای استفاده در پروتکل‌هایی مانند WDM درنظر گرفته شده است که در آن همتایان می‌توانند پس‌از تبادل اولیه از گره به همتا، به‌طور خودجوش تبادل را به گره محلی آغاز کنند. در چنین مواردی، این روش به گره محلی اجازه می‌دهد تأیید کند که پیام ناخواسته ورودی توسط همتای مرتبط ارسال شده است. (البته، برای «پیوندهایی» که بدون استفاده از رمزگذاری پیام پیکربندی شده‌اند، این ادعا از دیدگاه امنیتی ارزشی ندارد. این برنما صرفاً تأیید می‌کند که شناسه گره فرستنده و انواع انتقال مطابقت دارند.)

توجه داشته باشید که اگر اتصال در حالت «آماده» نباشد، این روش همیشه مقدار نادرست را برمی‌گرداند.

جزئیات
پارامترها
[in] msgInfo
اطلاعات پیام Weave برای پیام ورودی.
کالاهای مرجوعی
اگر پیام واقعاً از همتا باشد، True است.

IsConnectionTransport

bool IsConnectionTransport() const 

IsPreparing

bool IsPreparing(
  void
) const 

جزئیات
کالاهای مرجوعی
اگر Binding درحال آماده‌سازی باشد، درست است.

IsReady

bool IsReady(
  void
) const 

جزئیات
برگرداندن
اگر Binding در وضعیت «آماده» باشد، True است.

IsUDPTransport

bool IsUDPTransport() const 

IsUnreliableUDPTransport

bool IsUnreliableUDPTransport() const 

IsWRMTransport

bool IsWRMTransport() const 

NewExchangeContext

WEAVE_ERROR NewExchangeContext(
  ExchangeContext *& appExchangeContext
)

«زمینه تبادل» جدیدی را برای ارتباط با همتایی که هدف اتصال است اختصاص دهید.

جزئیات
پارامترها
[out] appExchangeContext
ارجاع به اشاره‌گری که شیء Exchange Context تازه اختصاص‌داده‌شده را دریافت خواهد کرد. اگر روش ناموفق باشد، اشاره‌گر روی NULL تنظیم خواهد شد.
مقادیر برگشتی
WEAVE_NO_ERROR
اگر زمینه مبادله باموفقیت تخصیص داده شده باشد.
WEAVE_ERROR_NO_MEMORY
اگر حافظه‌ای برای اختصاص دادن به بافت تبادل دردسترس نبود.
WEAVE_ERROR_INCORRECT_STATE
اگر اتصال در وضعیت «آماده» نباشد.
other
خطاهای دیگر مربوط به پیکربندی بافتار تبادل براساس پیکربندی اتصال.

انتشار

void Release(
  void
)

ارجاع به شیء پیوند را آزاد کنید.

اگر ارجاع دیگری به شیء اتصال وجود نداشته باشد، اتصال بسته و آزاد می‌شود.

RequestPrepare

WEAVE_ERROR RequestPrepare()

از برنامه بخواهید پیوند را پیکربندی و آماده کند.

کد لایه پروتکل می‌تواند از این روش در ملزوماتی که پیکربندی نشده‌اند یا ناموفق بوده‌اند استفاده کند تا رویدادی را به برنامه (kEvent_PrepareRequested) راه‌اندازی کند و از آن بخواهد ملزومات را برای استفاده پیکربندی و آماده کند.

این روش را فقط می‌توان در Bindings در حالت‌های NotConfigured یا Failed فراخوانی کرد.

اگر برنامه از پیکربندی/آماده‌سازی درخواستی «پیوندها» پشتیبانی نکند، روش با WEAVE_ERROR_NOT_IMPLEMENTED ناموفق خواهد بود.

بازنشانی

void Reset(
  void
)

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

وقتی Reset() فراخوانی می‌شود، هرگونه کنش آماده‌سازی درحال انجام برای اتصال لغو می‌شود و همه منابع ارتباطات خارجی که اتصال دراختیار دارد آزاد می‌شود. Reset() اتصال را در وضعیت «پیکربندی‌نشده» قرار می‌دهد، پس‌از آن ممکن است دوباره پیکربندی و آماده شود.

Reset() تعداد ارجاع‌های اتصال را تغییر نمی‌دهد.

SetDefaultResponseTimeout

void SetDefaultResponseTimeout(
  uint32_t msec
)

زمان استراحت پاسخ تبادل پیش‌فرض را برای استفاده هنگام برقراری ارتباط با همتا تنظیم کنید.

جزئیات
پارامترها
[in] timeout
مهلت زمانی پاسخ جدید برحسب میلی‌ثانیه.

SetDefaultWRMPConfig

void SetDefaultWRMPConfig(
  const WRMPConfig & wrmpConfig
)

پیکربندی WRMP پیش‌فرض را برای استفاده هنگام برقراری ارتباط با همتا تنظیم کنید.

جزئیات
پارامترها
[in] aWRMPConfig
مرجعی به ساختار WRMPConfig که حاوی پیکربندی پیش‌فرض جدید است.

SetEventCallback

void SetEventCallback(
  EventCallback aEventCallback
)

تابع تعریف‌شده برنامه را تنظیم کنید تا وقتی رویداد «میانای برنامه‌سازی کاربردی» برای ملزم کردن رخ می‌دهد فراخوانی شود.

جزئیات
پارامترها
[in] aEventCallback
اشاره‌گری به تابع بازخوانی.

SetProtocolLayerCallback

void SetProtocolLayerCallback(
  EventCallback callback,
  void *state
)

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

وقتی رویدادهای میانای برنامه‌سازی کاربردی برای Binding رخ می‌دهد، این تابع علاوه‌بر تابع بازخوانی تعریف‌شده توسط برنامه فراخوانی خواهد شد.

جزئیات
پارامترها
[in] callback
اشاره‌گری به تابع بازخوانی.
[in] state
اشاره‌گری به شیء وضعیت که هنگام وقوع فراخوانی برگشتی لایه پروتکل به کد لایه پروتکل ارائه خواهد شد.

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

DefaultEventHandler

void DefaultEventHandler(
  void *apAppState,
  EventType aEvent,
  const InEventParam & aInParam,
  OutEventParam & aOutParam
)

گرداننده پیش‌فرض برای اتصال رویدادهای API.

برنامه‌ها باید این روش را برای هر رویداد میانای برنامه‌سازی کاربردی که نمی‌شناسند یا مدیریت نمی‌کنند فراخوانی کنند. پارامترهای ارائه‌شده باید با پارامترهایی که با اتصال به تابع گرداننده رویداد برنامه ارسال شده‌اند یکسان باشد.

جزئیات
پارامترها
[in] apAppState
اشاره‌گری به اطلاعات وضعیت تعریف‌شده برنامه مرتبط با اتصال.
[in] aEvent
شناسه رویداد که توسط فراخوانی رویداد ارسال شده است
[in] aInParam
مرجع پارامترهای رویداد ورودی که توسط برگشت رویداد ارسال شده است
[in] aOutParam
مرجع پارامترهای رویداد برونداد که توسط برگشت رویداد ارسال شده است