nl:: Weave:: Profiles:: 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 مع استجابة تحتوي على حمولة الطلب نفسها. ومع ذلك، يمكن تغيير هذا السلوك من خلال التطبيق أثناء معالجة حدث EchoRequestReceived API.
أحداث واجهة برمجة التطبيقات
خلال فترة تشغيل الكائن WeaveEchoServer، سيتم استدعاء التطبيق لطلب إجراءات محدّدة أو عرض إشعارات بالأحداث المهمة. ويتم إجراء طلبات الأحداث من واجهة برمجة التطبيقات هذه إلى وظيفة معاودة الاتصال التي تم ضبطها حاليًا في كائن الخادم. باستثناء ما تم ذكره، يمكن للتطبيقات تغيير حالة الخادم أثناء استدعاء الحدث. ويُستثنى من ذلك الطريقة العامة للكائن Launchdown()، والتي قد لا يتم استدعاؤها أبدًا أثناء عملية معاودة الاتصال.
يتم تحديد أحداث واجهة برمجة التطبيقات التالية:
EchoRequestReceived
تم تلقي رسالة EchoRequest من أحد الزملاء. تحتوي وسيطات الحدث على حمولة الطلب وسياق التبادل الذي تم استلام الرسالة من خلاله ومعلومات وصفية حول رسالة الطلب.
وإذا اختار التطبيق، قد يغيّر وسيطات الإخراج إلى الحدث لفرض تأخير في الاستجابة أو لإيقاف الاستجابة تمامًا. بالإضافة إلى ذلك، قد يؤدي ذلك إلى تغيير محتوى المخزن المؤقت للحمولة، والذي سيصبح حمولة رسالة الاستجابة.
EchoResponseSent
تم إرسال رسالة EchoResponse، أو تعذَّر إرسالها. تحتوي وسيطات الحدث على الخطأ الذي نتج من إرسال الرسالة (إن وُجد) وسياق التبادل الذي تم إرسال الرسالة من خلاله.
الاكتساب
يتم اكتسابه من: nl::Weave::WeaveServerBaseالفئات الفرعية المعروفة المباشرة: nl::Weave::DeviceLayer::Internal::EchoServer
الشركات المصنّعة والمُصنّعة |
|
---|---|
WeaveEchoServer(void)
دالة الإنشاء التلقائية لـ WeaveEchoServer.
|
الأنواع العامة |
|
---|---|
EchoFunct)(uint64_t nodeId, IPAddress nodeAddr, PacketBuffer *payload)
|
تعريف الكتابةvoid(*
|
EventCallback)(void *appState, EventType eventType, const InEventParam &inParam, OutEventParam &outParam)
|
تعريف الكتابةvoid(*
|
EventType{
|
تعداد |
السمات العامة |
|
---|---|
AppState
|
void *
يشير هذا المصطلح إلى مؤشر للبيانات الخاصة بالتطبيقات.
|
OnEchoRequestReceived
|
EchoFunct
|
وظائف عامة |
|
---|---|
GetEventCallback(void) const
|
EventCallback
يعرض مؤشرًا لدالة استدعاء حدث واجهة برمجة التطبيقات التي تم ضبطها حاليًا على الكائن WeaveEchoServer.
|
Init(WeaveExchangeManager *exchangeMgr, EventCallback eventCallback, void *appState)
|
إعداد كائن WeaveEchoServer.
|
Init(WeaveExchangeManager *exchangeMgr)
|
إعداد كائن WeaveEchoServer.
|
SetEventCallback(EventCallback eventCallback)
|
void
تضبط دالة استدعاء حدث واجهة برمجة التطبيقات في الكائن WeaveEchoServer.
|
Shutdown(void)
|
إيقاف كائن WeaveEchoServer الذي تم إعداده سابقًا.
|
الدوال الثابتة العامة |
|
---|---|
DefaultEventHandler(void *appState, EventType eventType, const InEventParam & inParam, OutEventParam & outParam)
|
void
المعالج التلقائي لأحداث واجهة برمجة تطبيقات WeaveEchoServer
|
بُنى |
|
---|---|
nl:: |
أدخِل المَعلمات في حدث واجهة برمجة التطبيقات WeaveEchoServer. |
nl:: |
إخراج المَعلمات لحدث واجهة برمجة التطبيقات WeaveEchoServer |
الأنواع العامة
EchoFunct
void(* EchoFunct)(uint64_t nodeId, IPAddress nodeAddr, PacketBuffer *payload)
EventCallback
void(* EventCallback)(void *appState, EventType eventType, const InEventParam &inParam, OutEventParam &outParam)
EventType
EventType
أماكن إقامة | |
---|---|
kEvent_DefaultCheck
|
يتم استخدامه للتأكّد من صحة المعالجة التلقائية للأحداث في التطبيق. |
kEvent_EchoRequestReceived
|
تم تلقي رسالة EchoRequest من أحد الزملاء. |
kEvent_EchoResponseSent
|
تم إرسال رسالة EchoResponse، أو تعذَّر إرسالها. |
السمات العامة
AppState
void * AppState
يشير هذا المصطلح إلى مؤشر للبيانات الخاصة بالتطبيقات.
OnEchoRequestReceived
EchoFunct OnEchoRequestReceived
وظائف عامة
GetEventCallback
EventCallback GetEventCallback( void ) const
يعرض مؤشرًا لدالة استدعاء حدث واجهة برمجة التطبيقات التي تم ضبطها حاليًا على الكائن WeaveEchoServer.
Init
WEAVE_ERROR Init( WeaveExchangeManager *exchangeMgr, EventCallback eventCallback, void *appState )
إعداد كائن WeaveEchoServer.
عليك إعداد كائن WeaveEchoServer للاستجابة إلى رسائل الصدى من نظير.
التفاصيل | |||||||
---|---|---|---|---|---|---|---|
المعلمات |
|
Init
WEAVE_ERROR Init( WeaveExchangeManager *exchangeMgr )
إعداد كائن WeaveEchoServer.
عليك إعداد كائن WeaveEchoServer للاستجابة إلى رسائل الصدى من نظير.
تم الإيقاف: يُرجى استخدام Init(WeaveExchangeManager * exchangeMgr, EventCallback eventCallback, null * appState).
التفاصيل | |||||||
---|---|---|---|---|---|---|---|
المعلمات |
|
SetEventCallback
void SetEventCallback( EventCallback eventCallback )
تضبط دالة استدعاء حدث واجهة برمجة التطبيقات في الكائن WeaveEchoServer.
إيقاف التشغيل
WEAVE_ERROR Shutdown( void )
إيقاف كائن WeaveEchoServer الذي تم إعداده سابقًا.
تجدر الإشارة إلى أنّه لا يمكن استدعاء هذه الطريقة إلا إذا تم استدعاء الإجراء Init() من قبل.
الدوال الثابتة العامة
DefaultEventHandler
void DefaultEventHandler( void *appState, EventType eventType, const InEventParam & inParam, OutEventParam & outParam )
المعالج التلقائي لأحداث واجهة برمجة تطبيقات WeaveEchoServer
ويجب أن تطلب التطبيقات هذه الطريقة لأي أحداث واجهة برمجة تطبيقات لا يمكنها التعرّف عليها أو معالجتها. يجب أن تكون المعلَمات المقدّمة مماثلة للمعلَمات التي يتم تمريرها من خلال كائن الخادم إلى دالة معالج الحدث في التطبيق.
التفاصيل | |||||||||
---|---|---|---|---|---|---|---|---|---|
المعلمات |
|