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) typedef
void(*
EventCallback)(void *appState, EventType eventType, const InEventParam &inParam, OutEventParam &outParam) typedef
void(*
EventType{
  kEvent_EchoRequestReceived = 1,
  kEvent_EchoResponseSent = 2,
  kEvent_DefaultCheck = 100
}
تعداد

السمات العامة

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::Weave::Profiles::Echo_Next::WeaveEchoServer::InEventParam

إدخال مَعلمات إلى حدث واجهة برمجة التطبيقات WeaveEchoServer

nl::Weave::Profiles::Echo_Next::WeaveEchoServer::OutEventParam

مخرجات البيانات إلى حدث واجهة برمجة التطبيقات 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 للاستجابة إلى رسائل الارتداد الواردة من نظير.

التفاصيل
المَعلمات
[in] exchangeMgr
مؤشر إلى الكائن WeaveExchangeManager.
[in] eventCallback
يشير هذا المصطلح إلى مؤشر لدالة سيطلبها كائن WeaveEchoServer بهدف تسليم أحداث واجهة برمجة التطبيقات إلى التطبيق.
[in] appState
يشير هذا المصطلح إلى مؤشر لكائن محدّد داخل التطبيق سيتم تمريره مرة أخرى إلى التطبيق كلما حدث أي حدث لواجهة برمجة التطبيقات.

إنت

WEAVE_ERROR Init(
  WeaveExchangeManager *exchangeMgr
)

ابدأ تشغيل كائن WeaveEchoServer.

يمكنك تهيئة كائن WeaveEchoServer للاستجابة إلى رسائل الارتداد الواردة من نظير.

غير مفعَّلة: يُرجى استخدام Init(WeaveExchangeManager * exchangeMgr, EventCallback eventCallback, void * appState).

التفاصيل
المَعلمات
[in] exchangeMgr
مؤشر إلى الكائن WeaveExchangeManager.
[in] eventCallback
يشير هذا المصطلح إلى مؤشر لدالة سيطلبها كائن WeaveEchoServer بهدف تسليم أحداث واجهة برمجة التطبيقات إلى التطبيق.
[in] appState
يشير هذا المصطلح إلى مؤشر لكائن محدّد داخل التطبيق سيتم تمريره مرة أخرى إلى التطبيق كلما حدث أي حدث لواجهة برمجة التطبيقات.

SetEventCallback

void SetEventCallback(
  EventCallback eventCallback
)

لضبط دالة استدعاء حدث واجهة برمجة التطبيقات على الكائن WeaveEchoServer.

إيقاف التشغيل

WEAVE_ERROR Shutdown(
  void
)

إيقاف كائن WeaveEchoServer الذي تم إعداده سابقًا.

تجدر الإشارة إلى أنّه لا يمكن استدعاء هذه الطريقة إلا إذا سبق استدعاء الإجراء Init().

WeaveEchoServer

 WeaveEchoServer(
  void
)

الدالة الإنشائية التلقائية لـ WeaveEchoServer

الدوال الثابتة العامة

DefaultEventHandler

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

المعالج التلقائي لأحداث واجهة برمجة التطبيقات WeaveEchoServer

ويُطلب من التطبيقات استدعاء هذه الطريقة لأي أحداث واجهة برمجة تطبيقات لا تتعرّف عليها أو تعالجها. يجب أن تكون المَعلمات المقدَّمة مطابقة للمَعلمات التي يتم تمريرها من خلال كائن الخادم إلى دالة معالج أحداث التطبيق.

التفاصيل
المَعلمات
[in] appState
يشير إلى معلومات الحالة التي يحددها التطبيق والمرتبطة بكائن الخادم.
[in] eventType
تم تمرير رقم تعريف الحدث من خلال معاودة الاتصال بالحدث
[in] inParam
مرجع مَعلمات أحداث الإدخال التي تم تمريرها من خلال معاودة الاتصال بالحدث
[in] outParam
مرجع مَعلمات أحداث النتائج التي تم تمريرها من خلال استدعاء الحدث