nl:: örgü:: Profiller:: Echo_Next:: WeaveEchoSunucu

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

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

Özet

WeaveEchoServer sınıfının uyguladığı Dokuma Yankı protokolünün cevap tarafında. ICMP ping protokolüne benzer şekilde, Weave Echo protokolü, bir Weave düğümünün canlılığını ve erişilebilirliğini test etmek için kullanılabilir.

Uygulamalar kullanabilirsiniz WeaveEchoServer gelen EchoRequest mesajlarına otomatik yanıt sağlamak için sınıf. İlgili bir sınıf yankı istekleri (bkz başlatılması için var WeaveEchoClient ).

Varsayılan WeaveEchoServer isteğe aynı yük ihtiva eden tepki ile bir EchoRequest hemen cevap verir. Ancak bu davranış, EchoRequestReceived API olayının işlenmesi sırasında uygulama tarafından değiştirilebilir.

API Olayları

Onun çalışması sırasında, WeaveEchoServer nesne istek spesifik işlemlere uygulamaya çağırmak veya önemli etkinlikleri bildirimleri teslim edecek. Bu API olay çağrıları, sunucu nesnesinde şu anda yapılandırılmış olan geri çağırma işlevine yapılır. Belirtilen durumlar dışında, uygulamalar bir olay geri araması sırasında sunucunun durumunu değiştirmekte serbesttir. Bir genel istisna nesnenin olduğu Kapatma () Bir Geri arama sırasında çağrılabilir asla yöntemi.

Aşağıdaki API olayları tanımlanmıştır:

YankıTalebiAlındı

Bir eşten bir EchoRequest mesajı alındı. Olaya ilişkin argümanlar, istek yükünü, üzerinden mesajın alındığı değişim bağlamını ve istek mesajıyla ilgili meta bilgileri içerir.

Uygulama seçerse, yanıt vermede bir gecikmeye zorlamak veya yanıtı tamamen bastırmak için olayın çıktı argümanlarını değiştirebilir. Ek olarak, yanıt mesajı için yük olacak yük arabelleğinin içeriğini değiştirebilir.

YankıYanıtGönderildi

Bir EchoResponse mesajı gönderildi veya gönderilemedi. Olaya ilişkin argümanlar, mesajın (varsa) gönderilmesinden kaynaklanan hatayı ve mesajın gönderildiği değişim bağlamını içerir.

miras

: Den devralır nl :: Dokuma :: WeaveServerBase
Bilinen Altsınıflar Doğrudan: nl :: Dokuma :: DeviceLayer :: İç :: EchoServer

Yapıcılar ve Yıkıcılar

WeaveEchoServer (void)
Varsayılan yapıcı WeaveEchoServer .

Genel türler

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
}
Sıralama

Genel özellikler

AppState
void *
Uygulamaya özel verilere yönelik bir işaretçi.
OnEchoRequestReceived
EchoFunct

Kamu işlevleri

GetEventCallback (void) const
EventCallback
Şu anda yapılandırılan API olay geri arama işlevi için bir işaretçi İade WeaveEchoServer nesne.
Init ( WeaveExchangeManager *exchangeMgr, EventCallback eventCallback, void *appState)
Bir başlatma WeaveEchoServer nesnesi.
Init ( WeaveExchangeManager *exchangeMgr)
Bir başlatma WeaveEchoServer nesnesi.
SetEventCallback (EventCallback eventCallback)
void
API olay geri çağırma işlevini ayarlar WeaveEchoServer nesne.
Shutdown (void)
Kapatma daha önce başlatılmış WeaveEchoServer nesnesi.

Genel statik işlevler

DefaultEventHandler (void *appState, EventType eventType, const InEventParam & inParam, OutEventParam & outParam)
void
Varsayılan işleyicisi WeaveEchoServer API olaylar.

yapılar

nl :: Dokuma :: Profiller :: Echo_Next :: WeaveEchoServer :: InEventParam

Girdi parametreleri WeaveEchoServer API olay.

nl :: Dokuma :: Profiller :: Echo_Next :: WeaveEchoServer :: OutEventParam

İçin Çıktı parametreleri WeaveEchoServer API olay.

Genel türler

EchoFunct

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

OlayGeri arama

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

Etkinlik tipi

 EventType
Özellikleri
kEvent_DefaultCheck

Uygulamada doğru varsayılan olay işlemeyi doğrulamak için kullanılır.

kEvent_EchoRequestReceived

Bir eşten bir EchoRequest mesajı alındı.

kEvent_EchoResponseSent

Bir EchoResponse mesajı gönderildi veya gönderilemedi.

Genel özellikler

Uygulama Durumu

void * AppState

Uygulamaya özel verilere yönelik bir işaretçi.

OnEchoRequestAlındı

EchoFunct OnEchoRequestReceived

Kamu işlevleri

GetEventCallback

EventCallback GetEventCallback(
  void
) const 

Şu anda yapılandırılan API olay geri arama işlevi için bir işaretçi İade WeaveEchoServer nesne.

İçinde

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

Bir başlatma WeaveEchoServer nesnesi.

Bir başlat WeaveEchoServer bir eşten yankı iletilere yanıt verdiklerini nesneyi.

Ayrıntılar
parametreler
[in] exchangeMgr
Bir işaretçi WeaveExchangeManager nesne.
[in] eventCallback
Tarafından çağrılır bir işlev için bir işaretçi WeaveEchoServer uygulama API olayları sunmak için bir nesne.
[in] appState
Bir API olayı meydana geldiğinde uygulamaya geri aktarılacak olan, uygulama tanımlı bir nesneye yönelik bir işaretçi.

İçinde

WEAVE_ERROR Init(
  WeaveExchangeManager *exchangeMgr
)

Bir başlatma WeaveEchoServer nesnesi.

Bir başlat WeaveEchoServer bir eşten yankı iletilere yanıt verdiklerini nesneyi.

DEPRECATED: kullanın Init (WeaveExchangeManager * exchangeMgr, EventCallback eventCallback, boşluk * AppState) .

Ayrıntılar
parametreler
[in] exchangeMgr
Bir işaretçi WeaveExchangeManager nesne.
[in] eventCallback
Tarafından çağrılır bir işlev için bir işaretçi WeaveEchoServer uygulama API olayları sunmak için bir nesne.
[in] appState
Bir API olayı meydana geldiğinde uygulamaya geri aktarılacak olan, uygulama tanımlı bir nesneye yönelik bir işaretçi.

SetEventCallback

void SetEventCallback(
  EventCallback eventCallback
)

API olay geri çağırma işlevini ayarlar WeaveEchoServer nesne.

Kapat

WEAVE_ERROR Shutdown(
  void
)

Kapatma daha önce başlatılmış WeaveEchoServer nesnesi.

Bu yöntem yalnızca çağrılabilir unutmayın init () yöntemi, önceden anılmıştır.

WeaveEchoSunucu

 WeaveEchoServer(
  void
)

Varsayılan yapıcı WeaveEchoServer .

Genel statik işlevler

VarsayılanOlay İşleyicisi

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

Varsayılan işleyicisi WeaveEchoServer API olaylar.

Uygulamaların, tanımadıkları veya işlemedikleri API olayları için bu yöntemi çağırmaları gerekir. Sağlanan parametreler, sunucu nesnesi tarafından uygulamanın olay işleyici işlevine iletilenlerle aynı olmalıdır.

Ayrıntılar
parametreler
[in] appState
Sunucu nesnesiyle ilişkili uygulama tanımlı durum bilgilerine yönelik bir işaretçi.
[in] eventType
Olay geri çağrısı tarafından geçirilen olay kimliği
[in] inParam
Olay geri çağrısı tarafından geçirilen giriş olayı parametrelerinin referansı
[in] outParam
Olay geri çağrısı tarafından geçirilen çıktı olayı parametrelerinin referansı