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::WeaveServerBaseDoğ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)
|
typedefvoid(*
|
EventCallback)(void *appState, EventType eventType, const InEventParam &inParam, OutEventParam &outParam)
|
typedefvoid(*
|
EventType{
|
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:: |
WeaveEchoServer API etkinliğine parametre girin. |
nl:: |
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 |
|
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 |
|
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.
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 |
|