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 { | شمارش |
صفات عمومی | |
---|---|
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 که نمیشناسند یا مدیریت نمیکنند فراخوانی کنند. پارامترهای ارائه شده باید همان پارامترهایی باشند که توسط شی سرور به عملکرد کنترل کننده رویداد برنامه ارسال می شود.
جزئیات | |||||||||
---|---|---|---|---|---|---|---|---|---|
مولفه های |
|
جز در مواردی که غیر از این ذکر شده باشد، محتوای این صفحه تحت مجوز Creative Commons Attribution 4.0 License است و نمونه کدها نیز دارای مجوز Apache 2.0 License است. برای اطلاع از جزئیات، به خطمشیهای سایت Google Developers مراجعه کنید. جاوا علامت تجاری ثبتشده Oracle و/یا شرکتهای وابسته به آن است. Thread علامت تجاری ثبتشده Thread Group, Inc است.
تاریخ آخرین بهروزرسانی 2019-09-14 بهوقت ساعت هماهنگ جهانی.