nl:: بافت:: پروفایل ها:: Echo_Next:: WeaveEchoServer

#include <src/lib/profiles/echo/Next/WeaveEchoServer.h>

Accepts EchoRequest messages from a peer node and responds with an EchoResponse message.

خلاصه

کلاس WeaveEchoServer سمت پاسخ دهنده پروتکل Weave Echo را پیاده سازی می کند. مشابه پروتکل پینگ ICMP، پروتکل Weave Echo را می توان برای آزمایش زنده بودن و دسترس پذیری یک گره Weave استفاده کرد.

برنامه ها می توانند از کلاس WeaveEchoServer برای فعال کردن پاسخ خودکار به پیام های دریافتی EchoRequest استفاده کنند. یک کلاس مربوطه برای شروع درخواست های اکو وجود دارد (به WeaveEchoClient مراجعه کنید).

به‌طور پیش‌فرض WeaveEchoServer بلافاصله به یک EchoRequest با پاسخی که حاوی باری مشابه درخواست است، پاسخ می‌دهد. با این حال، این رفتار می تواند توسط برنامه در طول پردازش رویداد API EchoRequestReceived تغییر یابد.

رویدادهای API

در طول عملیات خود، شی WeaveEchoServer به برنامه فراخوانی می شود تا اقدامات خاصی را درخواست کند یا اعلان رویدادهای مهم را ارائه دهد. این فراخوان‌های رویداد API با تابع پاسخ به تماس پیکربندی‌شده فعلی روی شی سرور انجام می‌شود. به جز موارد ذکر شده، برنامه‌ها می‌توانند وضعیت سرور را در طول یک تماس مجدد رویداد تغییر دهند. یکی از استثناهای کلی، متد Shutdown() شی است که ممکن است هرگز در طول یک فراخوانی فراخوانی نشود.

رویدادهای API زیر تعریف شده اند:

EchoRequestReceived

یک پیام EchoRequest از یک همتا دریافت شد. آرگومان های مربوط به رویداد شامل بار درخواست، زمینه تبادلی که پیام از طریق آن دریافت شده و فرااطلاعات مربوط به پیام درخواست است.

اگر برنامه بخواهد، ممکن است آرگومان‌های خروجی را به رویداد تغییر دهد تا پاسخگویی را به تأخیر بیندازد یا به‌طور کلی پاسخ را سرکوب کند. علاوه بر این، ممکن است محتویات بافر بار را تغییر دهد، که به محموله پیام پاسخ تبدیل می شود.

EchoResponseSent

یک پیام EchoResponse ارسال شد یا ارسال نشد. آرگومان های رویداد حاوی خطای ارسال پیام (در صورت وجود) و زمینه تبادلی است که پیام از طریق آن ارسال شده است.

ارث

از: nl::Weave::WeaveServerBase ارث می برد
زیر کلاس های شناخته شده مستقیم: nl::Weave::DeviceLayer::Internal::EchoServer

سازندگان و ویرانگرها

WeaveEchoServer (void)
سازنده پیش‌فرض WeaveEchoServer .

انواع عمومی

EchoFunct )(uint64_t nodeId, IPAddress nodeAddr, PacketBuffer *payload) typedef
void(*
EventCallback )(void *appState, EventType eventType, const InEventParam &inParam, OutEventParam &outParam) typedef
void(*
EventType {
kEvent_EchoRequestReceived = 1,
kEvent_EchoResponseSent = 2,
kEvent_DefaultCheck = 100
}
enum

صفات عمومی

AppState
void *
اشاره گر به داده های خاص برنامه.
OnEchoRequestReceived
EchoFunct

توابع عمومی

GetEventCallback (void) const
EventCallback
یک اشاره گر به تابع تماس رویداد API که در حال حاضر روی شی WeaveEchoServer پیکربندی شده است، برمی گرداند.
Init ( WeaveExchangeManager *exchangeMgr, EventCallback eventCallback, void *appState)
یک شی WeaveEchoServer را راه اندازی کنید.
Init ( WeaveExchangeManager *exchangeMgr)
یک شی WeaveEchoServer را راه اندازی کنید.
SetEventCallback (EventCallback eventCallback)
void
تابع تماس رویداد API را روی شی WeaveEchoServer تنظیم می کند.
Shutdown (void)
یک شی WeaveEchoServer که قبلاً مقداردهی اولیه شده بود را خاموش کنید.

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

DefaultEventHandler (void *appState, EventType eventType, const InEventParam & inParam, OutEventParam & outParam)
void
کنترل کننده پیش فرض رویدادهای WeaveEchoServer API.

سازه ها

nl:: Weave:: پروفایل ها:: Echo_Next:: WeaveEchoServer:: InEventParam

پارامترهای ورودی به رویداد WeaveEchoServer API.

nl:: بافت:: پروفایل ها:: Echo_Next:: WeaveEchoServer:: OutEventParam

پارامترهای خروجی به رویداد WeaveEchoServer API.

انواع عمومی

EchoFunct

void(* EchoFunct)(uint64_t nodeId, IPAddress nodeAddr, PacketBuffer *payload)

رویداد Callback

void(* EventCallback)(void *appState, EventType eventType, const InEventParam &inParam, OutEventParam &outParam)

نوع رویداد

 EventType
خواص
kEvent_DefaultCheck

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

kEvent_EchoRequestReceived

یک پیام EchoRequest از یک همتا دریافت شد.

kEvent_EchoResponseSent

یک پیام EchoResponse ارسال شد یا ارسال نشد.

صفات عمومی

AppState

void * AppState

اشاره گر به داده های خاص برنامه.

OnEchoRequestReceived

EchoFunct OnEchoRequestReceived

توابع عمومی

GetEventCallback

EventCallback GetEventCallback(
  void
) const 

یک اشاره گر به تابع تماس رویداد API که در حال حاضر روی شی WeaveEchoServer پیکربندی شده است، برمی گرداند.

شروع کنید

WEAVE_ERROR Init(
  WeaveExchangeManager *exchangeMgr,
  EventCallback eventCallback,
  void *appState
)

یک شی WeaveEchoServer را راه اندازی کنید.

یک شی WeaveEchoServer را راه اندازی کنید تا به پیام های اکو از طرف همتا پاسخ دهد.

جزئیات
پارامترها
[in] exchangeMgr
اشاره گر به شی WeaveExchangeManager .
[in] eventCallback
اشاره گر به تابعی که توسط شی WeaveEchoServer فراخوانی می شود تا رویدادهای API را به برنامه تحویل دهد.
[in] appState
یک اشاره گر به یک شی تعریف شده توسط برنامه که هر زمان که یک رویداد API رخ دهد به برنامه بازگردانده می شود.

شروع کنید

WEAVE_ERROR Init(
  WeaveExchangeManager *exchangeMgr
)

یک شی WeaveEchoServer را راه اندازی کنید.

یک شی WeaveEchoServer را راه اندازی کنید تا به پیام های اکو از طرف همتا پاسخ دهد.

منسوخ شده: لطفاً از Init (WeaveExchangeManager * exchangeMgr، EventCallback eventCallback، void * appState) استفاده کنید.

جزئیات
پارامترها
[in] exchangeMgr
اشاره گر به شی WeaveExchangeManager .
[in] eventCallback
اشاره گر به تابعی که توسط شی WeaveEchoServer فراخوانی می شود تا رویدادهای API را به برنامه تحویل دهد.
[in] appState
یک اشاره گر به یک شی تعریف شده توسط برنامه که هر زمان که یک رویداد API رخ دهد به برنامه بازگردانده می شود.

SetEventCallback

void SetEventCallback(
  EventCallback eventCallback
)

تابع تماس رویداد API را روی شی WeaveEchoServer تنظیم می کند.

خاموش شدن

WEAVE_ERROR Shutdown(
  void
)

یک شی WeaveEchoServer که قبلاً مقداردهی اولیه شده بود را خاموش کنید.

توجه داشته باشید که این متد تنها زمانی قابل فراخوانی است که متد Init() قبلا فراخوانی شده باشد.

WeaveEchoServer

 WeaveEchoServer(
  void
)

سازنده پیش‌فرض WeaveEchoServer .

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

DefaultEventHandler

void DefaultEventHandler(
  void *appState,
  EventType eventType,
  const InEventParam & inParam,
  OutEventParam & outParam
)

کنترل کننده پیش فرض رویدادهای WeaveEchoServer API.

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

جزئیات
پارامترها
[in] appState
اشاره گر به اطلاعات وضعیت تعریف شده توسط برنامه مرتبط با شی سرور.
[in] eventType
شناسه رویداد توسط پاسخ تماس رویداد ارسال شد
[in] inParam
ارجاع پارامترهای رویداد ورودی که توسط پاسخ تماس رویداد ارسال شده است
[in] outParam
مرجع پارامترهای رویداد خروجی که توسط پاسخ تماس رویداد ارسال شده است