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{
  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.

Init

WEAVE_ERROR Init(
  WeaveExchangeManager *exchangeMgr,
  EventCallback eventCallback,
  void *appState
)

إعداد كائن WeaveEchoServer.

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

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

Init

WEAVE_ERROR Init(
  WeaveExchangeManager *exchangeMgr
)

إعداد كائن WeaveEchoServer.

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

تم الإيقاف: يُرجى استخدام Init(WeaveExchangeManager * exchangeMgr, EventCallback eventCallback, null * 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
مرجع مَعلمات أحداث النتائج التي يتم تمريرها من خلال عملية معاودة الاتصال بالحدث