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) | typedefvoid(* |
EventCallback )(void *appState, EventType eventType, const InEventParam &inParam, OutEventParam &outParam) | typedefvoid(* |
EventType { | 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
صفات عمومی
AppState
void * AppState
اشاره گر به داده های خاص برنامه.
OnEchoRequestReceived
EchoFunct OnEchoRequestReceived
توابع عمومی
GetEventCallback
EventCallback GetEventCallback( void ) const
یک اشاره گر به تابع تماس رویداد API که در حال حاضر روی شی WeaveEchoServer پیکربندی شده است، برمی گرداند.
شروع کنید
WEAVE_ERROR Init( WeaveExchangeManager *exchangeMgr, EventCallback eventCallback, void *appState )
یک شی WeaveEchoServer را راه اندازی کنید.
یک شی WeaveEchoServer را راه اندازی کنید تا به پیام های اکو از طرف همتا پاسخ دهد.
جزئیات | |||||||
---|---|---|---|---|---|---|---|
پارامترها |
|
شروع کنید
WEAVE_ERROR Init( WeaveExchangeManager *exchangeMgr )
یک شی WeaveEchoServer را راه اندازی کنید.
یک شی WeaveEchoServer را راه اندازی کنید تا به پیام های اکو از طرف همتا پاسخ دهد.
منسوخ شده: لطفاً از Init (WeaveExchangeManager * exchangeMgr، EventCallback eventCallback، void * appState) استفاده کنید.
جزئیات | |||||||
---|---|---|---|---|---|---|---|
پارامترها |
|
SetEventCallback
void SetEventCallback( EventCallback eventCallback )
تابع تماس رویداد API را روی شی WeaveEchoServer تنظیم می کند.
خاموش شدن
WEAVE_ERROR Shutdown( void )
یک شی WeaveEchoServer که قبلاً مقداردهی اولیه شده بود را خاموش کنید.
توجه داشته باشید که این متد تنها زمانی قابل فراخوانی است که متد Init() قبلا فراخوانی شده باشد.
توابع استاتیک عمومی
DefaultEventHandler
void DefaultEventHandler( void *appState, EventType eventType, const InEventParam & inParam, OutEventParam & outParam )
کنترل کننده پیش فرض رویدادهای WeaveEchoServer API.
برنامهها باید این روش را برای رویدادهای API که نمیشناسند یا مدیریت نمیکنند فراخوانی کنند. پارامترهای ارائه شده باید همان پارامترهایی باشند که شی سرور به عملکرد کنترل کننده رویداد برنامه ارسال می کند.
جزئیات | |||||||||
---|---|---|---|---|---|---|---|---|---|
پارامترها |
|
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates. The OPENTHREAD and related marks are trademarks of the Thread Group and are used under license.
تاریخ آخرین بهروزرسانی 2024-11-12 بهوقت ساعت هماهنگ جهانی.