nl::Weave::WeaveMessageLayer

#include <src/lib/core/WeaveMessageLayer.h>

Diğer Weave düğümleriyle iletişimi yöneten WeaveMessageLayer sınıfının tanımı.

Özet

Diğer Weave düğümleriyle iletişim kanalı kurmak için çeşitli Inettier uç noktalarından birini kullanır.

Oluşturucular ve Yıkıcılar

WeaveMessageLayer(void)
Weave Message katman oluşturucusu.

Herkese açık türler

AcceptErrorFunct)(WeaveMessageLayer *msgLayer, WEAVE_ERROR err) typedef
void(*
Bu işlev, gelen TCP bağlantısının işlenmesi sırasında oluşan hataları bildirmek için kullanılan üst katman geri çağırma işlevidir.
CallbackRemovedFunct)(void *listenerState) typedef
void(*
Bu işlev, bir geri çağırmayı kaldırmak için çağrılır.
ConnectionReceiveFunct)(WeaveMessageLayer *msgLayer, WeaveConnection *con) typedef
void(*
Bu işlev, gelen TCP bağlantısını işlemek için daha üst katmandaki geri çağırma işlevini kullanır.
MessageLayerActivityChangeHandlerFunct)(bool messageLayerIsActive) typedef
void(*
Bu işlev, mesaj katmanı etkinlik değişikliğini bildirmek için kullanılan bir uygulama geri çağırmasıdır.
MessageReceiveFunct)(WeaveMessageLayer *msgLayer, WeaveMessageInfo *msgInfo, PacketBuffer *payload) typedef
void(*
Bu işlev, UDP üzerinden bir Weave mesajı alındığında çağrılan üst katman geri çağırmasıdır.
ReceiveErrorFunct)(WeaveMessageLayer *msgLayer, WEAVE_ERROR err, const IPPacketInfo *pktInfo) typedef
void(*
Bu işlev, bir hatayla karşılaşıldığında çağrılan üst katman geri çağırma işlevidir.
State{
  kState_NotInitialized = 0,
  kState_Initializing = 1,
  kState_Initialized = 2
}
enum
WeaveMessageLayer'in durumu.
TunneledMsgReceiveFunct)(WeaveMessageLayer *msgLayer, PacketBuffer *payload) typedef
void(*
Bu işlev, yerel bir UDP tüneli üzerinden Tünelli bir paket alındığında çağrılan üst katman geri çağırmasıdır.

Herkese açık özellikler

AppState
void *
Uygulamaya özel bir durum nesnesine işaret eden işaretçi.
ExchangeMgr
[YALNIZCA OKUYUN] İlişkili WeaveExchangeManager nesnesi.
FabricState
[READ ONLY] İlişkili WeaveFabricState nesnesi.
IncomingConIdleTimeout
uint32_t
Gelen bağlantılar için varsayılan boşta kalma zaman aşımı (milisaniye cinsinden).
Inet
InetLayer *
[YALNIZCA OKUYUN] İlişkili InetKatman nesnesi.
IsListening
bool
[READ ONLY] Gelen bağlantıları/iletileri dinliyorsanız doğru, aksi takdirde yanlış değerini alır.
OnAcceptError
OnConnectionReceived
OnMessageReceived
OnReceiveError
OnUDPTunneledMessageReceived
SecurityMgr
[YALNIZCA OKUMA] İlişkili WeaveSecurityManager nesnesi.
State
uint8_t
[YALNIZCA OKUYUN] WeaveMessageLayer nesnesinin durumu.
SystemLayer
mDropMessage
bool
Yalnızca Dahili ve Hata Ayıklama için; Ayarlandığında, WeaveMessageLayer mesajı bırakır ve geri döner.

Kamu işlevleri

ClearUnsecuredConnectionListener(ConnectionReceiveFunct oldOnUnsecuredConnectionReceived, CallbackRemovedFunct newOnUnsecuredConnectionCallbacksRemoved)
CloseEndpoints(void)
Açık olan tüm TCP ve UDP uç noktalarını kapatın.
CreateTunnel(WeaveConnectionTunnel **tunPtr, WeaveConnection & conOne, WeaveConnection & conTwo, uint32_t inactivityTimeoutMS)
Belirtilen iki WeaveConnections'ı birbirine bağlayarak bir WeaveConnectionTunnel oluşturun.
DecodeHeader(PacketBuffer *msgBuf, WeaveMessageInfo *msgInfo, uint8_t **payloadStart)
Alınan bir Weave mesajındaki Weave Message katman üstbilgisinin kodunu çözme.
EncodeMessage(WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf, WeaveConnection *con, uint16_t maxLen, uint16_t reserve)
WeaveMessageLayer başlığını bir PacketBuffer olarak kodlayın.
EncodeMessage(const IPAddress & destAddr, uint16_t destPort, InterfaceId sendIntId, WeaveMessageInfo *msgInfo, PacketBuffer *payload)
Weave Message katman üstbilgisini PacketBuffer olarak kodlayın.
EphemeralUDPPortEnabled(void) const
bool
Yerel olarak başlatılan Weave UDP alışverişlerinin geçici bir UDP kaynak bağlantı noktasından gönderilip gönderilmeyeceğini kontrol edin.
GetConnectionPoolStats(nl::Weave::System::Stats::count_t & aOutInUse) const
void
Kullanılan WeaveConnections sayısını ve havuzun boyutunu öğrenin.
IPv4ListenEnabled(void) const
bool
WeaveMessageLayer'in IPv4 üzerinden gelen iletişimleri dinleyecek şekilde yapılandırılıp yapılandırılmadığını kontrol edin.
IPv6ListenEnabled(void) const
bool
WeaveMessageLayer'in IPv4 üzerinden gelen iletişimleri dinleyecek şekilde yapılandırılıp yapılandırılmadığını kontrol edin.
Init(InitContext *context)
Weave Message katman nesnesini başlatın.
IsBoundToLocalIPv4Address(void) const
bool
WeaveMessageLayer'ın yerel bir IPv4 adresine bağlı olup olmadığını kontrol edin.
IsBoundToLocalIPv6Address(void) const
bool
WeaveMessageLayer'ın yerel bir IPv6 adresine bağlı olup olmadığını kontrol edin.
IsMessageLayerActive(void)
bool
NewConnection(void)
Havuzdan yeni bir WeaveConnection nesnesi oluşturun.
NewConnectionTunnel(void)
Havuzdan yeni bir WeaveConnectionTunnel nesnesi oluşturun.
ReEncodeMessage(PacketBuffer *buf)
RefreshEndpoints(void)
Sistemin ağ arayüzlerinin mevcut durumuna göre InetKatman uç noktalarını yenileyin.
ResendMessage(WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
Alttaki Inetlayer UDP uç noktasını kullanarak kodlanmış Weave mesajını yeniden gönderin.
ResendMessage(const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
Alttaki Inetlayer UDP uç noktasını kullanarak kodlanmış Weave mesajını yeniden gönderin.
ResendMessage(const IPAddress & destAddr, uint16_t destPort, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
Alttaki Inetlayer UDP uç noktasını kullanarak kodlanmış Weave mesajını yeniden gönderin.
ResendMessage(const IPAddress & destAddr, uint16_t destPort, InterfaceId interfaceId, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
Alttaki Inetlayer UDP uç noktasını kullanarak kodlanmış Weave mesajını yeniden gönderin.
SendMessage(WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
Kodladıktan sonra alttaki Inetlayer UDP uç noktasını kullanarak bir Weave mesajı gönderin.
SendMessage(const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
Kodladıktan sonra alttaki Inetlayer UDP uç noktasını kullanarak bir Weave mesajı gönderin.
SendMessage(const IPAddress & destAddr, uint16_t destPort, InterfaceId sendIntfId, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
Kodladıktan sonra alttaki Inetlayer UDP uç noktasını kullanarak bir Weave mesajı gönderin.
SendUDPTunneledMessage(const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
Yerel UDP tüneli üzerinden Tünelli paket gönderme işlevi.
SetSignalMessageLayerActivityChanged(MessageLayerActivityChangeHandlerFunct messageLayerActivityChangeHandler)
void
Mesaj katmanı etkinliği her değiştiğinde çağrılacak bir uygulama işleyici ayarlayın.
SetTCPListenEnabled(bool val)
void
WeaveMessageLayer'de gelen TCP bağlantılarını dinlemeyi etkinleştirin veya devre dışı bırakın.
SetUDPListenEnabled(bool val)
void
Gelen UDP mesajlarının dinlenmesini WeaveMessageLayer'de etkinleştirin veya devre dışı bırakın.
SetUnsecuredConnectionListener(ConnectionReceiveFunct newOnUnsecuredConnectionReceived, CallbackRemovedFunct newOnUnsecuredConnectionCallbacksRemoved, bool force, void *listenerState)
Shutdown(void)
WeaveMessageLayer'ı kapatın.
TCPListenEnabled(void) const
bool
WeaveMessageLayer'ın, gelen TCP bağlantılarını dinleyecek şekilde yapılandırılıp yapılandırılmadığını kontrol edin.
UDPListenEnabled(void) const
bool
WeaveMessageLayer'ın, gelen UDP mesajlarını dinleyecek şekilde yapılandırılıp yapılandırılmadığını kontrol edin.
UnsecuredListenEnabled(void) const
bool
Geçici UDP kaynak bağlantı noktasından Weave UDP değişimlerini başlatmayı etkinleştirin veya devre dışı bırakın.

Herkese açık statik işlevler

GetMaxWeavePayloadSize(const PacketBuffer *msgBuf, bool isUDP, uint32_t udpMTU)
uint32_t
Mesaj yapılandırması ve sağlanan PacketBuffer için maksimum Weave yük boyutunu alın.
GetPeerDescription(char *buf, size_t bufSize, uint64_t nodeId, const IPAddress *addr, uint16_t port, InterfaceId interfaceId, const WeaveConnection *con)
void
Eş düğümü ve ilişkili adresini / bağlantı bilgilerini açıklayan bir dize oluşturur.
GetPeerDescription(char *buf, size_t bufSize, const WeaveMessageInfo *msgInfo)
void
Eşten alınan iletiyle ilişkili bilgileri temel alarak eş düğümü açıklayan bir dize oluşturur.

Sınıflar

nl::Weave::WeaveMessageLayer::InitContext

InitContext sınıfının tanımı.

Herkese açık türler

AcceptErrorFunct

void(* AcceptErrorFunct)(WeaveMessageLayer *msgLayer, WEAVE_ERROR err)

Bu işlev, gelen TCP bağlantısının işlenmesi sırasında oluşan hataları bildirmek için kullanılan üst katman geri çağırma işlevidir.

Ayrıntılar
Parametreler
[in] msgLayer
WeaveMessageLayer nesnesine işaret eden bir işaret.
[in] err
Gelen TCP bağlantısı işlenirken WEAVE_ERROR oluştu.

CallbackRemovedFunct

void(* CallbackRemovedFunct)(void *listenerState)

Bu işlev, bir geri çağırmayı kaldırmak için çağrılır.

Ayrıntılar
Parametreler
[in] listenerState
Uygulama durum nesnesine işaret eden bir işaretçi.

ConnectionReceiveFunct

void(* ConnectionReceiveFunct)(WeaveMessageLayer *msgLayer, WeaveConnection *con)

Bu işlev, gelen TCP bağlantısını işlemek için daha üst katmandaki geri çağırma işlevini kullanır.

Ayrıntılar
Parametreler
[in] msgLayer
WeaveMessageLayer nesnesine işaret eden bir işaret.
[in] con
WeaveConnection nesnesine işaret eden bir işaretçi.

MessageLayerActivityChangeHandlerFunct

void(* MessageLayerActivityChangeHandlerFunct)(bool messageLayerIsActive)

Bu işlev, mesaj katmanı etkinlik değişikliğini bildirmek için kullanılan bir uygulama geri çağırmasıdır.

En az bir açık exchange veya bekleyen mesaj sayacı senkronizasyonu isteği varsa mesaj katmanı etkin olarak kabul edilir.

Ayrıntılar
Parametreler
[in] messageLayerIsActive
Mesaj katmanının etkin olup olmadığını gösteren boole değeridir.

MessageReceiveFunct

void(* MessageReceiveFunct)(WeaveMessageLayer *msgLayer, WeaveMessageInfo *msgInfo, PacketBuffer *payload)

Bu işlev, UDP üzerinden bir Weave mesajı alındığında çağrılan üst katman geri çağırmasıdır.

Ayrıntılar
Parametreler
[in] msgLayer
WeaveMessageLayer nesnesine işaret eden bir işaret.
[in] msgInfo
WeaveMessageInfo nesnesine işaret eden bir işaret.
[in] payload
Alınan tünelli paketi içeren PacketBuffer iletisinin işaretçisi.

ReceiveErrorFunct

void(* ReceiveErrorFunct)(WeaveMessageLayer *msgLayer, WEAVE_ERROR err, const IPPacketInfo *pktInfo)

Bu işlev, bir hatayla karşılaşıldığında çağrılan üst katman geri çağırma işlevidir.

Ayrıntılar
Parametreler
[in] msgLayer
WeaveMessageLayer nesnesine işaret eden bir işaret.
[in] err
Veri alınırken WEAVE_ERROR ile karşılaşıldı.
[in] pktInfo
IPPacketInfo nesnesine yönelik salt okunur bir işaretçi.

Eyalet

 State

WeaveMessageLayer'in durumu.

Özellikler
kState_Initialized

WeaveMessageLayer'ın başlatıldığı durum.

kState_Initializing

WeaveMessageLayer'in başlatılma sürecinde olduğunu belirtir.

kState_NotInitialized

WeaveMessageLayer'ın başlatılmadığı durumu belirtir.

TunneledMsgReceiveFunct

void(* TunneledMsgReceiveFunct)(WeaveMessageLayer *msgLayer, PacketBuffer *payload)

Bu işlev, yerel bir UDP tüneli üzerinden Tünelli bir paket alındığında çağrılan üst katman geri çağırmasıdır.

Ayrıntılar
Parametreler
[in] msgLayer
WeaveMessageLayer nesnesine işaret eden bir işaret.
[in] payload
Alınan tünelli paketi içeren PacketBuffer iletisinin işaretçisi.

Herkese açık özellikler

AppState

void * AppState

Uygulamaya özel bir durum nesnesine işaret eden işaretçi.

ExchangeMgr

WeaveExchangeManager * ExchangeMgr

[YALNIZCA OKUYUN] İlişkili WeaveExchangeManager nesnesi.

FabricState

WeaveFabricState * FabricState

[READ ONLY] İlişkili WeaveFabricState nesnesi.

IncomingConIdleTimeout

uint32_t IncomingConIdleTimeout

Gelen bağlantılar için varsayılan boşta kalma zaman aşımı (milisaniye cinsinden).

Inet

InetLayer * Inet

[YALNIZCA OKUYUN] İlişkili InetKatman nesnesi.

IsListening

bool IsListening

[READ ONLY] Gelen bağlantıları/iletileri dinliyorsanız doğru, aksi takdirde yanlış değerini alır.

OnAcceptError

AcceptErrorFunct OnAcceptError

OnConnectionReceived

ConnectionReceiveFunct OnConnectionReceived

OnMessageReceived

MessageReceiveFunct OnMessageReceived

OnReceiveError

ReceiveErrorFunct OnReceiveError

OnUDPTunneledMessageReceived

TunneledMsgReceiveFunct OnUDPTunneledMessageReceived

SecurityMgr

WeaveSecurityManager * SecurityMgr

[YALNIZCA OKUMA] İlişkili WeaveSecurityManager nesnesi.

Eyalet

uint8_t State

[YALNIZCA OKUYUN] WeaveMessageLayer nesnesinin durumu.

SystemLayer

System::Layer * SystemLayer

mDropMessage

bool mDropMessage

Yalnızca Dahili ve Hata Ayıklama için; Ayarlandığında, WeaveMessageLayer mesajı bırakır ve geri döner.

Kamu işlevleri

ClearUnsecuredConnectionListener

WEAVE_ERROR ClearUnsecuredConnectionListener(
  ConnectionReceiveFunct oldOnUnsecuredConnectionReceived,
  CallbackRemovedFunct newOnUnsecuredConnectionCallbacksRemoved
)

CloseEndpoints

WEAVE_ERROR CloseEndpoints(
  void
)

Açık olan tüm TCP ve UDP uç noktalarını kapatın.

Ardından açık WeaveConnections işlemini iptal edin ve açık WeaveConnectionTunnel nesnelerini kapatın.

Şu makaleyi de inceleyebilirsiniz:
Shutdown().

CreateTunnel

WEAVE_ERROR CreateTunnel(
  WeaveConnectionTunnel **tunPtr,
  WeaveConnection & conOne,
  WeaveConnection & conTwo,
  uint32_t inactivityTimeoutMS
)

Belirtilen iki WeaveConnections'ı birbirine bağlayarak bir WeaveConnectionTunnel oluşturun.

Oluşturma işlemi başarılı olduğunda, bileşen WeaveConnection nesnelerine karşılık gelen TCPEndPoint'ler WeaveConnectionTunnel'a aktarılır, aksi takdirde WeaveConnections kapatılır.

Ayrıntılar
Parametreler
[out] tunPtr
WeaveConnectionTunnel nesnesinin işaretçisine giden işaretçi.
[in] conOne
İlk WeaveConnection nesnesine referans.
[in] conTwo
İkinci WeaveConnection nesnesine referans.
[in] inactivityTimeoutMS
Weave bağlantı tünelinin boşta kalabileceği maksimum süre (milisaniye cinsinden).
Döndürülen Değerler
WEAVE_NO_ERROR
WeaveConnectionTunnel başarıyla oluşturulduysa
WEAVE_ERROR_INCORRECT_STATE
WeaveConnectionTunnel bileşeninin WeaveConnection nesneleri doğru durumda değilse.
WEAVE_ERROR_NO_MEMORY
yeni bir WeaveConnectionTunnel nesnesi oluşturulamaz.

DecodeHeader

WEAVE_ERROR DecodeHeader(
  PacketBuffer *msgBuf,
  WeaveMessageInfo *msgInfo,
  uint8_t **payloadStart
)

Alınan bir Weave mesajındaki Weave Message katman üstbilgisinin kodunu çözme.

Ayrıntılar
Parametreler
[in] msgBuf
Weave mesajını içeren PacketBuffer nesnesinin işaretçisi.
[in] msgInfo
İleti hakkında bilgi alacak olan WeaveMessageInfo nesnesinin işaretçisi.
[out] payloadStart
Kod çözme işlemi tamamlandıktan sonra mesaj arabelleğindeki konuma işaret eden bir işaretçi.
Döndürülen Değerler
WEAVE_NO_ERROR
İleti üstbilgisinin kodu başarıyla çözüldüğünde.
WEAVE_ERROR_INVALID_MESSAGE_LENGTH
İletilen ileti arabelleği geçersiz uzunluktaysa.
WEAVE_ERROR_UNSUPPORTED_MESSAGE_VERSION
Weave Message üstbilgi biçimi sürümü desteklenmiyorsa.

EncodeMessage

WEAVE_ERROR EncodeMessage(
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf,
  WeaveConnection *con,
  uint16_t maxLen,
  uint16_t reserve
)

WeaveMessageLayer başlığını bir PacketBuffer olarak kodlayın.

Ayrıntılar
Parametreler
[in] msgInfo
Kodlanacak iletiyle ilgili bilgileri içeren bir WeaveMessageInfo nesnesine işaret eden öğe.
[in] msgBuf
Weave mesajını barındıracak PacketBuffer nesnesine yönelik işaretçi.
[in] con
WeaveConnection nesnesine işaret eden bir işaretçi.
[in] maxLen
Kodlanmış Weave mesajının maksimum uzunluğu.
[in] reserve
Weave mesaj başlığını tutmak için yükten önceki ayrılmış alan.
Döndürülen Değerler
WEAVE_NO_ERROR
otomatik olarak eklenir.
WEAVE_ERROR_UNSUPPORTED_MESSAGE_VERSION
Weave Message üstbilgisi biçimi sürümü desteklenmiyorsa
WEAVE_ERROR_INVALID_MESSAGE_LENGTH
yük uzunluğu sıfır ise.
WEAVE_ERROR_UNSUPPORTED_ENCRYPTION_TYPE
değerini değiştirin.
WEAVE_ERROR_MESSAGE_TOO_LONG
değerine genişler.
WEAVE_ERROR_BUFFER_TOO_SMALL
olup olmadığını kontrol edin.
other
oturum durumu getirilirken kumaş durum nesnesi tarafından oluşturulan hataları ifade eder.

EncodeMessage

WEAVE_ERROR EncodeMessage(
  const IPAddress & destAddr,
  uint16_t destPort,
  InterfaceId sendIntId,
  WeaveMessageInfo *msgInfo,
  PacketBuffer *payload
)

Weave Message katman üstbilgisini PacketBuffer olarak kodlayın.

Ayrıntılar
Parametreler
[in] destAddr
Hedef IP Adresi.
[in] destPort
Hedef bağlantı noktası.
[in] sendIntId
Weave mesajının gönderileceği arayüz.
[in] msgInfo
WeaveMessageInfo nesnesine işaret eden bir işaret.
[in] payload
Weave mesajını barındıracak PacketBuffer nesnesine yönelik işaretçi.
Döndürülen Değerler
WEAVE_NO_ERROR
bir bağlantı oluşturabilirsiniz.
WEAVE_ERROR_UNSUPPORTED_MESSAGE_VERSION
Weave Message sürümü desteklenmiyorsa
WEAVE_ERROR_INVALID_MESSAGE_LENGTH
yük uzunluğu sıfır ise.
WEAVE_ERROR_UNSUPPORTED_ENCRYPTION_TYPE
seçin.
WEAVE_ERROR_MESSAGE_TOO_LONG
değerine genişler.
WEAVE_ERROR_BUFFER_TOO_SMALL
olup olmadığını kontrol edin.
other
oturum durumu getirilirken kumaş durum nesnesi tarafından oluşturulan hataları ifade eder.

EphemeralUDPPortEnabled

bool EphemeralUDPPortEnabled(
  void
) const 

Yerel olarak başlatılan Weave UDP alışverişlerinin geçici bir UDP kaynak bağlantı noktasından gönderilip gönderilmeyeceğini kontrol edin.

GetConnectionPoolStats

void GetConnectionPoolStats(
  nl::Weave::System::Stats::count_t & aOutInUse
) const 

Kullanılan WeaveConnections sayısını ve havuzun boyutunu öğrenin.

Ayrıntılar
Parametreler
[out] aOutInUse
Kullanımdaki bağlantı sayısının depolandığı size_t referansı.

IPv4ListenEnabled

bool IPv4ListenEnabled(
  void
) const 

WeaveMessageLayer'in IPv4 üzerinden gelen iletişimleri dinleyecek şekilde yapılandırılıp yapılandırılmadığını kontrol edin.

IPv6ListenEnabled

bool IPv6ListenEnabled(
  void
) const 

WeaveMessageLayer'in IPv4 üzerinden gelen iletişimleri dinleyecek şekilde yapılandırılıp yapılandırılmadığını kontrol edin.

Başlat

WEAVE_ERROR Init(
  InitContext *context
)

Weave Message katman nesnesini başlatın.

Ayrıntılar
Parametreler
[in] context
InitContext nesnesine işaret eden bir işaret.
Döndürülen Değerler
WEAVE_NO_ERROR
başlatmanın birkaç adımına bakalım.
WEAVE_ERROR_INVALID_ARGUMENT
iletilen InitContext nesnesi NULL ise.
WEAVE_ERROR_INCORRECT_STATE
değerini girin.WeaveMessageLayer
other
uç nokta oluşturma sırasında alt Inet katmanından oluşturulan hatalar.

IsBoundToLocalIPv4Address

bool IsBoundToLocalIPv4Address(
  void
) const 

WeaveMessageLayer'ın yerel bir IPv4 adresine bağlı olup olmadığını kontrol edin.

IsBoundToLocalIPv6Address

bool IsBoundToLocalIPv6Address(
  void
) const 

WeaveMessageLayer'ın yerel bir IPv6 adresine bağlı olup olmadığını kontrol edin.

IsMessageLayerActive

bool IsMessageLayerActive(
  void
)

NewConnection

WeaveConnection * NewConnection(
  void
)

Havuzdan yeni bir WeaveConnection nesnesi oluşturun.

Ayrıntılar
İadeler
başarılı olursa yeni oluşturulan WeaveConnection nesnesine işaret eder, aksi takdirde NULL olur.

NewConnectionTunnel

WeaveConnectionTunnel * NewConnectionTunnel(
  void
)

Havuzdan yeni bir WeaveConnectionTunnel nesnesi oluşturun.

Ayrıntılar
İadeler
başarılı olursa yeni oluşturulan WeaveConnectionTunnel nesnesine işaret eder, aksi takdirde NULL olur.

ReEncodeMessage

WEAVE_ERROR ReEncodeMessage(
  PacketBuffer *buf
)

RefreshEndpoints

WEAVE_ERROR RefreshEndpoints(
  void
)

Sistemin ağ arayüzlerinin mevcut durumuna göre InetKatman uç noktalarını yenileyin.

Ayrıntılar
Döndürülen Değerler
WEAVE_NO_ERROR
.
InetLayer
TCP/UDP uç noktaları oluşturma çağrılarına dayalı hatalar.

ResendMessage

WEAVE_ERROR ResendMessage(
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

Alttaki Inetlayer UDP uç noktasını kullanarak kodlanmış Weave mesajını yeniden gönderin.

Ayrıntılar
Parametreler
[in] msgInfo
WeaveMessageInfo nesnesine işaret eden bir işaret.
[in] payload
Kodlanmış Weave mesajını içeren PacketBuffer nesnesine işaret eden bir işaretçi.
Döndürülen Değerler
WEAVE_NO_ERROR
ağ katmanına başarıyla gönderilmesi gerekir.
errors
oluşturulur.

ResendMessage

WEAVE_ERROR ResendMessage(
  const IPAddress & destAddr,
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

Alttaki Inetlayer UDP uç noktasını kullanarak kodlanmış Weave mesajını yeniden gönderin.

Ayrıntılar
Parametreler
[in] destAddr
Hedef IP Adresi.
[in] msgInfo
WeaveMessageInfo nesnesine işaret eden bir işaret.
[in] payload
Kodlanmış Weave mesajını içeren PacketBuffer nesnesine işaret eden bir işaretçi.
Döndürülen Değerler
WEAVE_NO_ERROR
ağ katmanına başarıyla gönderilmesi gerekir.
errors
oluşturulur.

ResendMessage

WEAVE_ERROR ResendMessage(
  const IPAddress & destAddr,
  uint16_t destPort,
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

Alttaki Inetlayer UDP uç noktasını kullanarak kodlanmış Weave mesajını yeniden gönderin.

Ayrıntılar
Parametreler
[in] destAddr
Hedef IP Adresi.
[in] destPort
Hedef bağlantı noktası.
[in] msgInfo
WeaveMessageInfo nesnesine işaret eden bir işaret.
[in] payload
Kodlanmış Weave mesajını içeren PacketBuffer nesnesine işaret eden bir işaretçi.
Döndürülen Değerler
WEAVE_NO_ERROR
ağ katmanına başarıyla gönderilmesi gerekir.
errors
oluşturulur.

ResendMessage

WEAVE_ERROR ResendMessage(
  const IPAddress & destAddr,
  uint16_t destPort,
  InterfaceId interfaceId,
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

Alttaki Inetlayer UDP uç noktasını kullanarak kodlanmış Weave mesajını yeniden gönderin.

Not: - Hedef adres sağlanmadıysa adresi ileti üstbilgisindeki düğüm tanımlayıcısından belirlemeye çalışın. Bu yapılamazsa başarısız olur. - Hedef adres, yerel yapı için bir kumaş adresse ve arayan, hedef düğüm kimliğini belirtmediyse bu adresi hedef adresten çıkarın.

Ayrıntılar
Parametreler
[in] aDestAddr
Hedef IP Adresi.
[in] destPort
Hedef bağlantı noktası.
[in] interfaceId
Weave mesajının gönderileceği arayüz.
[in] msgInfo
WeaveMessageInfo nesnesine işaret eden bir işaret.
[in] payload
Kodlanmış Weave mesajını içeren PacketBuffer nesnesine işaret eden bir işaretçi.
Döndürülen Değerler
WEAVE_NO_ERROR
ağ katmanına başarıyla gönderilmesi gerekir.
errors
oluşturulur.

SendMessage

WEAVE_ERROR SendMessage(
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

Kodladıktan sonra alttaki Inetlayer UDP uç noktasını kullanarak bir Weave mesajı gönderin.

Ayrıntılar
Parametreler
[in] msgInfo
Gönderilecek iletiyle ilgili bilgileri içeren WeaveMessageInfo nesnesinin işaretçisi.
[in] payload
Kodlanmış Weave mesajını içeren PacketBuffer nesnesine işaret eden bir işaretçi.
Döndürülen Değerler
WEAVE_NO_ERROR
ağ katmanına başarıyla gönderilmesi gerekir.
errors
oluşturulur.

SendMessage

WEAVE_ERROR SendMessage(
  const IPAddress & destAddr,
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

Kodladıktan sonra alttaki Inetlayer UDP uç noktasını kullanarak bir Weave mesajı gönderin.

Not: - Kullanılan hedef bağlantı noktası: WEAVE_PORT. - Hedef adres sağlanmadıysa adresi ileti üstbilgisindeki düğüm tanımlayıcısından belirlemeye çalışın. Bu yapılamazsa başarısız olur.

- Hedef adres, yerel yapı için bir kumaş adresse ve arayan, hedef düğüm kimliğini belirtmediyse bu adresi hedef adresten çıkarın.

Ayrıntılar
Parametreler
[in] destAddr
Hedef IP Adresi.
[in] msgInfo
Gönderilecek iletiyle ilgili bilgileri içeren WeaveMessageInfo nesnesinin işaretçisi.
[in] payload
Kodlanmış Weave mesajını içeren PacketBuffer nesnesine işaret eden bir işaretçi.
Döndürülen Değerler
WEAVE_NO_ERROR
ağ katmanına başarıyla gönderilmesi gerekir.
errors
oluşturulur.

SendMessage

WEAVE_ERROR SendMessage(
  const IPAddress & destAddr,
  uint16_t destPort,
  InterfaceId sendIntfId,
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

Kodladıktan sonra alttaki Inetlayer UDP uç noktasını kullanarak bir Weave mesajı gönderin.

Not: - Hedef adres sağlanmadıysa adresi ileti üstbilgisindeki düğüm tanımlayıcısından belirlemeye çalışın. Bu yapılamazsa başarısız olur. - Hedef adres, yerel yapı için bir kumaş adresse ve arayan, hedef düğüm kimliğini belirtmediyse bu adresi hedef adresten çıkarın.

Ayrıntılar
Parametreler
[in] aDestAddr
Hedef IP Adresi.
[in] destPort
Hedef bağlantı noktası.
[in] sendIntfId
Weave mesajının gönderileceği arayüz.
[in] msgInfo
Gönderilecek iletiyle ilgili bilgileri içeren WeaveMessageInfo nesnesinin işaretçisi.
[in] payload
Kodlanmış Weave mesajını içeren PacketBuffer nesnesine işaret eden bir işaretçi.
Döndürülen Değerler
WEAVE_NO_ERROR
ağ katmanına başarıyla gönderilmesi gerekir.
WEAVE_ERROR_INVALID_ADDRESS
destAddr belirtilmezse veya hedef düğüm kimliğinden belirlenemiyorsa.
errors
oluşturulur.

SendUDPTunneledMessage

WEAVE_ERROR SendUDPTunneledMessage(
  const IPAddress & destAddr,
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

Yerel UDP tüneli üzerinden Tünelli paket gönderme işlevi.

UDP üzerinden tünelli IPv6 veri mesajı gönderin.

Ayrıntılar
Parametreler
[in] msgInfo
WeaveMessageInfo nesnesine işaret eden bir işaret.
[in] destAddr
UDP tüneli hedefinin IP adresi.
[in] msgBuf
Gönderilecek paketi tutan PacketBuffer nesnesinin işaretçisi.
Döndürülen Değerler
WEAVE_NO_ERROR
ağ katmanına başarıyla gönderilmesi gerekir.
WEAVE_ERROR_INVALID_ADDRESS
destAddr belirtilmezse veya hedef düğüm kimliğinden belirlenemiyorsa.
errors
oluşturulur.

SetSignalMessageLayerActivityChanged

void SetSignalMessageLayerActivityChanged(
  MessageLayerActivityChangeHandlerFunct messageLayerActivityChangeHandler
)

Mesaj katmanı etkinliği her değiştiğinde çağrılacak bir uygulama işleyici ayarlayın.

Özellikle, uygulama aşağıdaki durumlarda bilgilendirilir:

  • açık exchange değişikliklerinin sayısı.
  • Beklemedeki ileti sayacı senkronizasyonu isteklerinin sayısı sıfırdan en az bir'e ve sıfıra döner. İşleyici, devam eden Weave ileti dizileri veya bekleyen yanıtlar olup olmadığını gösteren genel sinyal olarak sunulur. İşleyici, WeaveMessageLayer başlatıldıktan sonra ayarlanmalıdır. WeaveMessageLayer'ın kapatılması geçerli işleyiciyi temizler.

Ayrıntılar
Parametreler
[in] messageLayerActivityChangeHandler
Mesaj katmanı etkinliği her değiştiğinde çağrılacak bir işlevin işaretçisi.
Döndürülen Değerler
None.

SetTCPListenEnabled

void SetTCPListenEnabled(
  bool val
)

WeaveMessageLayer'de gelen TCP bağlantılarını dinlemeyi etkinleştirin veya devre dışı bırakın.

NOT: TCP dinleme durumu değiştirildikten sonra RefreshEndpoints() çağrılmalıdır.

SetUDPListenEnabled

void SetUDPListenEnabled(
  bool val
)

Gelen UDP mesajlarının dinlenmesini WeaveMessageLayer'de etkinleştirin veya devre dışı bırakın.

NOT: UDP dinleme durumu değiştirildikten sonra RefreshEndpoints() çağrılmalıdır.

SetUnsecuredConnectionListener

WEAVE_ERROR SetUnsecuredConnectionListener(
  ConnectionReceiveFunct newOnUnsecuredConnectionReceived,
  CallbackRemovedFunct newOnUnsecuredConnectionCallbacksRemoved,
  bool force,
  void *listenerState
)

Kapat

WEAVE_ERROR Shutdown(
  void
)

WeaveMessageLayer'ı kapatın.

Açık olan tüm Inet katmanı uç noktalarını kapatın, üst katmandaki tüm geri çağırmaları, üye değişkenlerini ve nesneleri sıfırlayın. Shutdown() çağrısı, WeaveMessageLayer nesnesini sonlandırır.

TCPListenEnabled

bool TCPListenEnabled(
  void
) const 

WeaveMessageLayer'ın, gelen TCP bağlantılarını dinleyecek şekilde yapılandırılıp yapılandırılmadığını kontrol edin.

UDPListenEnabled

bool UDPListenEnabled(
  void
) const 

WeaveMessageLayer'ın, gelen UDP mesajlarını dinleyecek şekilde yapılandırılıp yapılandırılmadığını kontrol edin.

UnsecuredListenEnabled

bool UnsecuredListenEnabled(
  void
) const 

Geçici UDP kaynak bağlantı noktasından Weave UDP değişimlerini başlatmayı etkinleştirin veya devre dışı bırakın.

NOT: Geçici bağlantı noktası durumu değiştirildikten sonra RefreshEndpoints() çağrılmalıdır. Güvenli olmayan dinlemenin etkin olup olmadığını kontrol edin.

WeaveMessageLayer

 WeaveMessageLayer(
  void
)

Weave Message katman oluşturucusu.

Herkese açık statik işlevler

GetMaxWeavePayloadSize

uint32_t GetMaxWeavePayloadSize(
  const PacketBuffer *msgBuf,
  bool isUDP,
  uint32_t udpMTU
)

Mesaj yapılandırması ve sağlanan PacketBuffer için maksimum Weave yük boyutunu alın.

Döndürülen maksimum yük boyutu, sağlanan PacketBuffer içindeki yük için mevcut alanı aşmaz.

Mesaj UDP ise döndürülen maksimum yük boyutu, belirtilen UDP MTU'yu aşmayan bir Weave mesajıyla sonuçlanmaz.

Son olarak, döndürülen maksimum yük boyutu, maksimum Weave mesaj boyutundan taşacak bir Weave mesajıyla sonuçlanmaz.

Ayrıntılar
Parametreler
[in] msgBuf
İleti yükünün yazılacağı PacketBuffer işaretçisi.
[in] isUDP
Mesaj bir UDP mesajıysa doğru değerini alır.
[in] udpMTU
UDP MTU'nun boyutu. isUDP değeri false ise yoksayılır.
İadeler
maksimum Weave yük boyutunu

GetPeerDescription

void GetPeerDescription(
  char *buf,
  size_t bufSize,
  uint64_t nodeId,
  const IPAddress *addr,
  uint16_t port,
  InterfaceId interfaceId,
  const WeaveConnection *con
)

Eş düğümü ve ilişkili adresini / bağlantı bilgilerini açıklayan bir dize oluşturur.

Oluşturulan dize şu biçimdedir:

 ([]:%, con )

Ayrıntılar
Parametreler
[in] buf
Dizenin yazılması gereken arabelleğin işaretçisi. Sağlanan arabellek en az kWeavePeerDescription_MaxLength kadar büyük olmalıdır. Daha küçük bir arabellek verilirse dize sığacak şekilde kısaltılır. Çıkış, her durumda bir NUL sonlandırma karakteri içerir.
[in] bufSize
Tampon tarafından işaret edilen tamponun boyutu.
[in] nodeId
Yazdırılacak düğüm kimliği.
[in] addr
Yazdırılacak IP adresine işaretçi. Herhangi bir IP adresi yazdırılmayacaksa NULL.
[in] port
Yazdırılacak IP bağlantı noktası numarası. Adres NULL ise bağlantı noktası numarası yazdırılmaz.
[in] interfaceId
Yazdırılacak arayüzü tanımlayan bir Arayüz Kimliği. Çıkış dizesi, temel ağ yığını tarafından bilinen arayüzün adını içerir. interfaceId INET_NULL_INTERFACEID ise veya adr NULL ise arayüz adı yazdırılmaz.
[in] con
Günlük kaydı kimliğinin yazdırılması gereken WeaveConnection nesnesine yönelik işaretçi. Herhangi bir bağlantı kimliği yazdırılmaması gerekiyorsa NULL ifadesi.

GetPeerDescription

void GetPeerDescription(
  char *buf,
  size_t bufSize,
  const WeaveMessageInfo *msgInfo
)

Eşten alınan iletiyle ilişkili bilgileri temel alarak eş düğümü açıklayan bir dize oluşturur.

Ayrıntılar
Parametreler
[in] buf
Dizenin yazılması gereken arabelleğin işaretçisi. Sağlanan arabellek en az kWeavePeerDescription_MaxLength kadar büyük olmalıdır. Daha küçük bir arabellek verilirse dize sığacak şekilde kısaltılır. Çıkış, her durumda bir NUL sonlandırma karakteri içerir.
[in] bufSize
Tampon tarafından işaret edilen tamponun boyutu.
[in] msgInfo
İletiyle ilgili bilgileri içeren WeaveMessageInfo yapısının işaretçisi.