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.

Özet

WeaveEchoServer sınıfı, Weave Echo protokolünün katılımcı tarafını uygular. ICMP ping protokolüne benzer şekilde, Weave Echo protokolü de Weave düğümlerinin canlılığını ve erişilebilirliğini test etmek için kullanılabilir.

Uygulamalar, gelen EchoRequest mesajlarına otomatik yanıt vermek için WeaveEchoServer sınıfını kullanabilir. Yankı isteklerini başlatmak için ilgili bir sınıf mevcuttur (bkz. WeaveEchoClient).

Varsayılan olarak WeaveEchoServer, istekle aynı yükü içeren bir EchoRequest'e hemen yanıt verir. Ancak bu davranış, EchoRequestReceived API etkinliğinin işlenmesi sırasında uygulama tarafından değiştirilebilir.

API Etkinlikleri

İşlem sırasında WeaveEchoServer nesnesi, belirli işlemleri istemek veya önemli olaylarla ilgili bildirimleri göndermek için uygulamayı çağırır. Bu API etkinliği çağrıları, sunucu nesnesinde yapılandırılmış olan geri çağırma işlevine yapılır. Uygulamalar, belirtilenler dışında bir etkinlik geri çağırma işlemi sırasında sunucunun durumunu değiştirebilir. Genel istisna, nesnenin Shutdown() yöntemidir. Bu yöntem, bir geri çağırma sırasında hiçbir zaman çağrılamaz.

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

EchoRequestReceived

Bir eşten EchoRequest iletisi alındı. Etkinlikle ilgili bağımsız değişkenler; istek yükünü, mesajın alındığı exchange bağlamını ve istek mesajıyla ilgili meta bilgileri içerir.

Uygulama isterse yanıt vermeyi geciktirmek veya yanıtı tamamen kapatmak için etkinliğin çıkış bağımsız değişkenlerini değiştirebilir. Ayrıca, yük arabelleğinin içeriğini değiştirebilir ve yanıt mesajı için yük haline gelir.

EchoResponseSent

Bir EchoResponse iletisi gönderildi veya gönderilemedi. Etkinlikteki bağımsız değişkenler, iletinin gönderilmesinden kaynaklanan hatayı (varsa) ve iletinin gönderildiği exchange bağlamını içerir.

Devralma

Devralındığı kaynak: nl::Weave::WeaveServerBase
Doğrudan Bilinen Alt Sınıflar: nl::Weave::DeviceLayer::Internal::EchoServer

Oluşturucular ve Yıkıcılar

WeaveEchoServer(void)
WeaveEchoServer için varsayılan kurucu.

Herkese açık 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
}
enum

Herkese açık özellikler

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

Kamu işlevleri

GetEventCallback(void) const
EventCallback
Şu anda WeaveEchoServer nesnesinde yapılandırılmış API etkinliği geri çağırma işlevine bir işaretçi döndürür.
Init(WeaveExchangeManager *exchangeMgr, EventCallback eventCallback, void *appState)
Bir WeaveEchoServer nesnesini başlatın.
Init(WeaveExchangeManager *exchangeMgr)
Bir WeaveEchoServer nesnesini başlatın.
SetEventCallback(EventCallback eventCallback)
void
WeaveEchoServer nesnesinde API etkinliği geri çağırma işlevini ayarlar.
Shutdown(void)
Daha önce başlatılmış WeaveEchoServer nesnesini kapatın.

Herkese açık statik işlevler

DefaultEventHandler(void *appState, EventType eventType, const InEventParam & inParam, OutEventParam & outParam)
void
WeaveEchoServer API etkinlikleri için varsayılan işleyici.

Yapılar

nl::Weave::Profiles::Echo_Next::WeaveEchoServer::InEventParam

WeaveEchoServer API etkinliğine giriş parametreleri.

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

Çıkış parametreleri WeaveEchoServer API etkinliğine çıkar.

Herkese açık türler

EchoFunct

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

EventCallback

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

EventType

 EventType
Özellikler
kEvent_DefaultCheck

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

kEvent_EchoRequestReceived

Bir eşten EchoRequest iletisi alındı.

kEvent_EchoResponseSent

Bir EchoResponse iletisi gönderildi veya gönderilemedi.

Herkese açık özellikler

AppState

void * AppState

Uygulamaya özel verilere işaret eden bir işaretçi.

OnEchoRequestReceived

EchoFunct OnEchoRequestReceived

Kamu işlevleri

GetEventCallback

EventCallback GetEventCallback(
  void
) const 

Şu anda WeaveEchoServer nesnesinde yapılandırılmış API etkinliği geri çağırma işlevine bir işaretçi döndürür.

Başlat

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

Bir WeaveEchoServer nesnesini başlatın.

Bir eşten gelen yankı mesajlarına yanıt vermek için bir WeaveEchoServer nesnesini başlatın.

Ayrıntılar
Parametreler
[in] exchangeMgr
WeaveExchangeManager nesnesine işaret eden bir işaret.
[in] eventCallback
API etkinliklerini uygulamaya teslim etmek için WeaveEchoServer nesnesi tarafından çağrılacak bir işleve giden işaretçi.
[in] appState
Bir API etkinliği meydana geldiğinde uygulamaya geri iletilecek, uygulama tanımlı bir nesneye yönelik işaretçi.

Başlat

WEAVE_ERROR Init(
  WeaveExchangeManager *exchangeMgr
)

Bir WeaveEchoServer nesnesini başlatın.

Bir eşten gelen yankı mesajlarına yanıt vermek için bir WeaveEchoServer nesnesini başlatın.

KULLANIMDAN KALDIRILDI: Lütfen Init(WeaveExchangeManager * exchangeMgr, EventCallback eventCallback, void * appState) kullanın.

Ayrıntılar
Parametreler
[in] exchangeMgr
WeaveExchangeManager nesnesine işaret eden bir işaret.
[in] eventCallback
API etkinliklerini uygulamaya teslim etmek için WeaveEchoServer nesnesi tarafından çağrılacak bir işleve giden işaretçi.
[in] appState
Bir API etkinliği meydana geldiğinde uygulamaya geri iletilecek, uygulama tanımlı bir nesneye yönelik işaretçi.

SetEventCallback

void SetEventCallback(
  EventCallback eventCallback
)

WeaveEchoServer nesnesinde API etkinliği geri çağırma işlevini ayarlar.

Kapat

WEAVE_ERROR Shutdown(
  void
)

Daha önce başlatılmış WeaveEchoServer nesnesini kapatın.

Bu yöntemin yalnızca Init() yöntemi daha önce çağrıldıysa çağrılabileceğini unutmayın.

WeaveEchoServer

 WeaveEchoServer(
  void
)

WeaveEchoServer için varsayılan kurucu.

Herkese açık statik işlevler

DefaultEventHandler

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

WeaveEchoServer API etkinlikleri için varsayılan işleyici.

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

Ayrıntılar
Parametreler
[in] appState
Sunucu nesnesiyle ilişkili uygulama tanımlı durum bilgisinin işaretçisi.
[in] eventType
Etkinlik geri çağırması tarafından iletilen etkinlik kimliği
[in] inParam
Etkinlik geri çağırması tarafından iletilen giriş etkinliği parametreleri referansı
[in] outParam
Etkinlik geri çağırması tarafından iletilen çıkış etkinliği parametreleri referansı