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::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 kurucu.
|
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 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:: |
WeaveEchoServer API etkinliğine giriş parametreleri. |
nl:: |
Çı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 |
|
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 |
|
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.
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 |
|