nl :: نسج:: مظهر:: صدى_التالي :: WeaveEchoServer

#include <src/lib/profiles/echo/Next/WeaveEchoServer.h>

Accepts EchoRequest messages from a peer node and responds with an EchoResponse message.

ملخص

و WeaveEchoServer تنفذ الطبقة الجانب الرد على البروتوكول نسج صدى. على غرار بروتوكول ping الخاص بـ ICMP ، يمكن استخدام بروتوكول Weave Echo لاختبار فعالية وإمكانية الوصول إلى عقدة Weave.

يمكن للتطبيقات استخدام WeaveEchoServer فئة لتمكين استجابة تلقائية على الرسائل الواردة EchoRequest. توجد فئة المقابلة لبدء طلبات صدى (انظر WeaveEchoClient ).

افتراضيا WeaveEchoServer يستجيب فورا إلى EchoRequest مع استجابة تحتوي على نفس الحمولة كما طلب. ومع ذلك ، يمكن تغيير هذا السلوك بواسطة التطبيق أثناء معالجة حدث واجهة برمجة التطبيقات EchoRequestReceived.

أحداث API

أثناء عملها، و WeaveEchoServer وجوه الدعوة إلى التطبيق على الإجراءات المحددة التي طلب أو تقديم إخطارات الأحداث الهامة. يتم إجراء استدعاءات حدث API هذه لوظيفة رد الاتصال المكونة حاليًا على كائن الخادم. باستثناء ما هو مذكور ، فإن التطبيقات حرة في تغيير حالة الخادم أثناء رد اتصال الحدث. استثناء واحد العام هو الكائن إيقاف () الأسلوب، الذي لا يجوز أبدا أن يطلق خلال الاستدعاء.

تم تحديد أحداث API التالية:

EchoRequest تم تلقيه

تم استلام رسالة EchoRequest من نظير. تحتوي الوسائط الخاصة بالحدث على حمولة الطلب وسياق التبادل الذي تم استلام الرسالة من خلاله والمعلومات الوصفية حول رسالة الطلب.

إذا اختار التطبيق ، فقد يغير وسيطات الإخراج إلى الحدث لفرض تأخير في الاستجابة أو لمنع الاستجابة تمامًا. بالإضافة إلى ذلك ، قد يغير محتويات المخزن المؤقت للحمولة الصافية ، والذي سيصبح حمولة لرسالة الاستجابة.

EchoResponseSent

تم إرسال رسالة EchoResponse أو فشل إرسالها. تحتوي وسائط الحدث على الخطأ الذي نتج عن إرسال الرسالة (إن وجد) وسياق التبادل الذي تم إرسال الرسالة من خلاله.

ميراث

يرث من: NL :: :: نسج WeaveServerBase
توجيه الفئات الفرعية المعروفة: NL :: :: نسج DeviceLayer :: :: الداخلية 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
ترجع مؤشر إلى وظيفة رد الاتصال الحدث 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.

الهياكل

نيكولا لانغ :: :: نسج الملامح :: :: Echo_Next WeaveEchoServer :: InEventParam

معلمات الإدخال إلى WeaveEchoServer الحدث API.

نيكولا لانغ :: :: نسج الملامح :: :: Echo_Next WeaveEchoServer :: OutEventParam

معلمات الإخراج إلى WeaveEchoServer الحدث API.

الأنواع العامة

صدى

void(* EchoFunct)(uint64_t nodeId, IPAddress nodeAddr, PacketBuffer *payload)

حدث

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

نوع الحدث

 EventType
الخصائص
kEvent_DefaultCheck

تُستخدم للتحقق من معالجة الأحداث الافتراضية الصحيحة في التطبيق.

kEvent_EchoRequestReceived

تم استلام رسالة EchoRequest من نظير.

kEvent_EchoResponseSent

تم إرسال رسالة EchoResponse أو فشل إرسالها.

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

AppState

void * AppState

مؤشر إلى البيانات الخاصة بالتطبيق.

تم استلام طلب OnEchoRequest

EchoFunct OnEchoRequestReceived

الوظائف العامة

GetEventCallback

EventCallback GetEventCallback(
  void
) const 

ترجع مؤشر إلى وظيفة رد الاتصال الحدث API تكوينها حاليا في WeaveEchoServer الكائن.

فيه

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

تهيئة WeaveEchoServer الكائن.

تهيئة WeaveEchoServer الكائن إلى الاستجابة إلى صدى رسائل من الأقران.

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

فيه

WEAVE_ERROR Init(
  WeaveExchangeManager *exchangeMgr
)

تهيئة WeaveEchoServer الكائن.

تهيئة WeaveEchoServer الكائن إلى الاستجابة إلى صدى رسائل من الأقران.

DEPRECATED: الرجاء استخدام التهيئة (WeaveExchangeManager * exchangeMgr، EventCallback eventCallback، الفراغ * appState) .

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

SetEventCallback

void SetEventCallback(
  EventCallback eventCallback
)

يحدد وظيفة رد الاتصال الحدث API على WeaveEchoServer الكائن.

اغلق

WEAVE_ERROR Shutdown(
  void
)

إيقاف لتهيئة سابقا WeaveEchoServer الكائن.

لاحظ أن هذا الأسلوب يمكن أن يسمى إلا إذا كانت التهيئة () تم استدعاء أسلوب سابقا.

WeaveEchoServer

 WeaveEchoServer(
  void
)

المنشئ الافتراضي لل WeaveEchoServer .

وظائف ثابتة عامة

DefaultEventHandler

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

معالج الافتراضي لل WeaveEchoServer أحداث API.

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

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