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 yanıt veren tarafını uygular. ICMP ping protokolüne benzer şekilde, Weave Echo protokolü bir Weave düğümünün yayın durumunu ve erişilebilirliğini test etmek için kullanılabilir.

Uygulamalar, gelen EchoRequest iletilerinin otomatik olarak yanıtlanmasını etkinleştirmek 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 bir EchoRequest'e (istekle aynı yükü içeren yanıt) 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 olayların bildirimlerini almak için uygulamayı çağırır. Bu API etkinliği çağrıları, sunucu nesnesinde şu anda yapılandırılmış olan geri çağırma işlevine yapılır. Belirtilenler dışında, uygulamalar bir etkinlik geri çağırması sırasında sunucunun durumunu değiştirebilir. Genel bir istisna, nesnenin Shutdown() yöntemidir ve geri çağırma sırasında hiçbir zaman çağrılamaz.

Aşağıdaki API etkinlikleri tanımlanır:

EchoRequestReceived

Bir eşten EchoRequest mesajı alındı. Etkinliğin bağımsız değişkenleri; 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 engellemek için etkinlikteki çıkış bağımsız değişkenlerini değiştirebilir. Ayrıca yük arabelleğinin içeriğini de değiştirebilir. Bu durum, yanıt mesajının yükü haline gelir.

EchoResponseSent

Bir EchoResponse iletisi gönderildi veya gönderilemedi. Etkinliğin bağımsız değişkenleri, mesajın gönderilmesinden kaynaklanan hatayı (varsa) ve mesajın 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 oluşturucu.

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 veriler için bir işaretçi.
OnEchoRequestReceived
EchoFunct

Herkese açık işlevler

GetEventCallback(void) const
EventCallback
Şu anda WeaveEchoServer nesnesinde yapılandırılmış olan API etkinlik 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)
Önceden başlatılmış bir 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 parametre girin.

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

WeaveEchoServer API etkinliğine çıkış parametreleri gönderin.

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 etkinlik işlemenin doğru olduğunu doğrulamak için kullanılır.

kEvent_EchoRequestReceived

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

kEvent_EchoResponseSent

Bir EchoResponse iletisi gönderildi veya gönderilemedi.

Herkese açık özellikler

AppState

void * AppState

Uygulamaya özel veriler için bir işaretçi.

OnEchoRequestReceived

EchoFunct OnEchoRequestReceived

Herkese açık işlevler

GetEventCallback

EventCallback GetEventCallback(
  void
) const 

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

Init

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 nesnesinin işaretçisi.
[in] eventCallback
API etkinliklerini uygulamaya iletmek için WeaveEchoServer nesnesi tarafından çağrılacak bir işlevin işaretçisi.
[in] appState
Bir API etkinliği gerçekleştiğinde uygulamaya geri aktarılacak, uygulama tanımlı bir nesnenin işaretçisi.

Init

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 nesnesinin işaretçisi.
[in] eventCallback
API etkinliklerini uygulamaya iletmek için WeaveEchoServer nesnesi tarafından çağrılacak bir işlevin işaretçisi.
[in] appState
Bir API etkinliği gerçekleştiğinde uygulamaya geri aktarılacak, uygulama tanımlı bir nesnenin işaretçisi.

SetEventCallback

void SetEventCallback(
  EventCallback eventCallback
)

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

Kapat

WEAVE_ERROR Shutdown(
  void
)

Önceden başlatılmış bir WeaveEchoServer nesnesini kapatın.

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

WeaveEchoServer

 WeaveEchoServer(
  void
)

WeaveEchoServer için varsayılan oluşturucu.

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ğırmaları gerekir. Sağlanan parametreler, sunucu nesnesi tarafından uygulamanın etkinlik işleyici işlevine geçirilen parametrelerle aynı olmalıdır.

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