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. على غرار بروتوكول ping لبروتوكول ICMP، يمكن استخدام بروتوكول Weave Echo لاختبار مدى الحياة وإمكانية الوصول إلى عقدة Weave.
يمكن أن تستخدم التطبيقات فئة WeaveEchoServer لتفعيل الاستجابة التلقائية لرسائل EchoRequest الواردة. توجد فئة مقابلة لبدء طلبات الارتداد (راجِع WeaveEchoClient).
بشكلٍ تلقائي، يستجيب WeaveEchoServer فورًا لأي EchoRequest باستجابة تحتوي على حمولة الطلب نفسها. ومع ذلك، يمكن أن يعدِّل التطبيق هذا السلوك أثناء معالجة حدث واجهة برمجة التطبيقات EchoRequestReceived.
أحداث واجهة برمجة التطبيقات
أثناء فترة تشغيله، يستدعي الكائن WeaveEchoServer التطبيق لطلب إجراءات محدَّدة أو عرض إشعارات بالأحداث المهمة. يتمّ إجراء طلبات أحداث واجهة برمجة التطبيقات هذه إلى دالة رد الاتصال المضبوطة حاليًا على كائن الخادم. باستثناء ما يتم الإشعار به، تكون التطبيقات مجانية في تغيير حالة الخادم أثناء معاودة الاتصال بالحدث. وثمة استثناء عام واحد هو طريقة Shutdown() الخاصة بالكائن، والتي قد لا يتم طلبها مطلقًا أثناء معاودة الاتصال.
تمّ تحديد أحداث واجهة برمجة التطبيقات التالية:
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
لعرض مؤشر لدالة استدعاء حدث واجهة برمجة التطبيقات التي تم إعدادها حاليًا على الكائن 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.
إنت
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 )
لضبط دالة استدعاء حدث واجهة برمجة التطبيقات على الكائن WeaveEchoServer.
إيقاف التشغيل
WEAVE_ERROR Shutdown( void )
إيقاف كائن WeaveEchoServer الذي تم إعداده سابقًا.
تجدر الإشارة إلى أنّه لا يمكن استدعاء هذه الطريقة إلا إذا سبق استدعاء الإجراء Init().
الدوال الثابتة العامة
DefaultEventHandler
void DefaultEventHandler( void *appState, EventType eventType, const InEventParam & inParam, OutEventParam & outParam )
المعالج التلقائي لأحداث واجهة برمجة التطبيقات WeaveEchoServer
ويُطلب من التطبيقات استدعاء هذه الطريقة لأي أحداث واجهة برمجة تطبيقات لا تتعرّف عليها أو تعالجها. يجب أن تكون المَعلمات المقدَّمة مطابقة للمَعلمات التي يتم تمريرها من خلال كائن الخادم إلى دالة معالج أحداث التطبيق.
التفاصيل | |||||||||
---|---|---|---|---|---|---|---|---|---|
المَعلمات |
|