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 bir iletişim kanalı kurmak için çeşitli InetKatman 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 bir TCP bağlantısının işlenmesi sırasında hata bildirmek için üst katman geri çağırma işlevidir.
CallbackRemovedFunct)(void *listenerState) typedef
void(*
Bu işlev, geri çağırma işlevini kaldırmak için çağrılır.
ConnectionReceiveFunct)(WeaveMessageLayer *msgLayer, WeaveConnection *con) typedef
void(*
Bu işlev, gelen bir TCP bağlantısını işlemek için üst katman geri çağırma işlevidir.
MessageLayerActivityChangeHandlerFunct)(bool messageLayerIsActive) typedef
void(*
Bu işlev, mesaj katmanı etkinlik değişikliğini bildirmek için uygulama geri çağırma işlevidir.
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ğırma işlevidir.
ReceiveErrorFunct)(WeaveMessageLayer *msgLayer, WEAVE_ERROR err, const IPPacketInfo *pktInfo) typedef
void(*
Bu işlev, hata 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'ın durumu.
TunneledMsgReceiveFunct)(WeaveMessageLayer *msgLayer, PacketBuffer *payload) typedef
void(*
Bu işlev, yerel bir UDP tüneli üzerinden tünellenmiş bir paket alındığında çağrılan üst katman geri çağırma işlevidir.

Herkese açık özellikler

AppState
void *
Uygulamaya özel durum nesnesinin işaretçisi.
ExchangeMgr
[YAZMA YOK] İlişkili WeaveExchangeManager nesnesi.
FabricState
[YAZMA YOK] İ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 *
[SALT OKUNUR] İlişkili Inetlayer nesnesi.
IsListening
bool
[YAZMA YOK] Gelen bağlantıları/mesajları dinliyorsa doğru, aksi takdirde yanlış değerini döndürür.
OnAcceptError
OnConnectionReceived
OnMessageReceived
OnReceiveError
OnUDPTunneledMessageReceived
SecurityMgr
[READ ONLY] İlişkilendirilmiş WeaveSecurityManager nesnesi.
State
uint8_t
[READ ONLY] WeaveMessageLayer nesnesinin durumu.
SystemLayer
mDropMessage
bool
Dahili ve Yalnızca Hata Ayıklama içindir. Ayarlandığında, WeaveMessageLayer mesajı bırakır ve döndürür.

Herkese açık işlevler

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 WeaveConnection'ı birleştirerek 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 üstbilgisini PacketBuffer içine kodlayın.
EncodeMessage(const IPAddress & destAddr, uint16_t destPort, InterfaceId sendIntId, WeaveMessageInfo *msgInfo, PacketBuffer *payload)
Weave Message katmanı üstbilgisini bir PacketBuffer'a kodlayın.
EphemeralUDPPortEnabled(void) const
bool
Yerel olarak başlatılan Weave UDP değişimlerinin 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ımdaki WeaveConnections sayısını ve havuzun boyutunu alın.
IPv4ListenEnabled(void) const
bool
WeaveMessageLayer'ın, IPv4 üzerinden gelen iletişimleri dinleyecek şekilde yapılandırılıp yapılandırılmadığını kontrol edin.
IPv6ListenEnabled(void) const
bool
WeaveMessageLayer'ın IPv4 üzerinden gelen iletişimleri dinleyecek şekilde yapılandırılmış olup olmadığını kontrol edin.
Init(InitContext *context)
Weave Message katman nesnesini ilk kullanıma hazırlayı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)
Bir havuzdan yeni bir WeaveConnection nesnesi oluşturun.
NewConnectionTunnel(void)
Bir 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)
Temel Inetlayer UDP uç noktasını kullanarak kodlanmış bir Weave mesajını yeniden gönderin.
ResendMessage(const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
Temel Inetlayer UDP uç noktasını kullanarak kodlanmış bir Weave mesajını yeniden gönderin.
ResendMessage(const IPAddress & destAddr, uint16_t destPort, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
Temel Inetlayer UDP uç noktasını kullanarak kodlanmış bir Weave mesajını yeniden gönderin.
ResendMessage(const IPAddress & destAddr, uint16_t destPort, InterfaceId interfaceId, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
Temel Inetlayer UDP uç noktasını kullanarak, kodlanmış bir Weave mesajını yeniden gönderin.
SendMessage(WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
Kodladıktan sonra temel Inetlayer UDP uç noktasını kullanarak bir Weave mesajı gönderin.
SendMessage(const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
Kodladıktan sonra temel 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 temel Inetlayer UDP uç noktasını kullanarak bir Weave mesajı gönderin.
SendUDPTunneledMessage(const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
Yerel bir UDP tüneli üzerinden tünellenmiş paket gönderme işlevi.
SetSignalMessageLayerActivityChanged(MessageLayerActivityChangeHandlerFunct messageLayerActivityChangeHandler)
void
İleti katmanının etkinliği her değiştiğinde çağrılacak bir uygulama işleyici ayarlayın.
SetTCPListenEnabled(bool val)
void
WeaveMessageLayer'da gelen TCP bağlantılarını dinleme özelliğini etkinleştirin veya devre dışı bırakın.
SetUDPListenEnabled(bool val)
void
WeaveMessageLayer'da gelen UDP mesajlarını dinlemeyi 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ılmış olup olmadığını kontrol edin.
UDPListenEnabled(void) const
bool
WeaveMessageLayer'ın gelen UDP mesajlarını dinleyecek şekilde yapılandırılmış olup olmadığını kontrol edin.
UnsecuredListenEnabled(void) const
bool
Geçici bir UDP kaynak bağlantı noktasından Weave UDP exchange'i 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
Bir 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
Bir eş düğümü ve ilişkili adres/bağlantı bilgilerini açıklayan bir dize oluşturur.
GetPeerDescription(char *buf, size_t bufSize, const WeaveMessageInfo *msgInfo)
void
Eşle alınan bir mesajla ilişkili bilgilere dayalı olarak eş düğümü tanımlayan 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ı işlenirken hata bildirmek için kullanılan daha yüksek katman geri çağırmasıdır.

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

CallbackRemovedFunct

void(* CallbackRemovedFunct)(void *listenerState)

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

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

ConnectionReceiveFunct

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

Bu işlev, gelen bir TCP bağlantısını işlemek için üst katman geri çağırma işlevidir.

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

MessageLayerActivityChangeHandlerFunct

void(* MessageLayerActivityChangeHandlerFunct)(bool messageLayerIsActive)

Bu işlev, mesaj katmanı etkinlik değişikliğini bildirmek için uygulama geri çağırma işlevidir.

En az bir açık değişim veya bekleyen mesaj sayacı senkronizasyon isteği varsa mesaj katmanı etkin 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ğırma işlevidir.

Ayrıntılar
Parametreler
[in] msgLayer
WeaveMessageLayer nesnesine işaretçi.
[in] msgInfo
WeaveMessageInfo nesnesine işaretçi.
[in] payload
Alınan tünelli paket içeren PacketBuffer mesajının işaretçisi.

ReceiveErrorFunct

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

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

Ayrıntılar
Parametreler
[in] msgLayer
WeaveMessageLayer nesnesinin işaretçisi.
[in] err
Veriler alınırken WEAVE_ERROR hatası oluştu.
[in] pktInfo
IPPacketInfo nesnesinin salt okunur işaretçisi.

Eyalet

 State

WeaveMessageLayer'ın durumu.

Özellikler
kState_Initialized

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

kState_Initializing

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

kState_NotInitialized

WeaveMessageLayer ilk başlatılmadığında durum.

TunneledMsgReceiveFunct

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

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

Ayrıntılar
Parametreler
[in] msgLayer
WeaveMessageLayer nesnesine işaretçi.
[in] payload
Alınan tünellenmiş paketi içeren PacketBuffer mesajına işaretçi.

Herkese açık özellikler

AppState

void * AppState

Uygulamaya özel durum nesnesinin işaretçisi.

ExchangeMgr

WeaveExchangeManager * ExchangeMgr

[YAZMA YOK] İlişkili WeaveExchangeManager nesnesi.

FabricState

WeaveFabricState * FabricState

[READ ONLY] İlişkilendirilmiş 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

[YAZMA YOK] İlişkili InetLayer nesnesi.

IsListening

bool IsListening

[YAZMA YOK] Gelen bağlantıları/mesajları dinliyorsa doğru, aksi takdirde yanlış değerini döndürür.

OnAcceptError

AcceptErrorFunct OnAcceptError

OnConnectionReceived

ConnectionReceiveFunct OnConnectionReceived

OnMessageReceived

MessageReceiveFunct OnMessageReceived

OnReceiveError

ReceiveErrorFunct OnReceiveError

OnUDPTunneledMessageReceived

TunneledMsgReceiveFunct OnUDPTunneledMessageReceived

SecurityMgr

WeaveSecurityManager * SecurityMgr

[READ ONLY] İlişkilendirilmiş WeaveSecurityManager nesnesi.

Eyalet

uint8_t State

[YAZMA YOK] WeaveMessageLayer nesnesinin durumu.

SystemLayer

System::Layer * SystemLayer

mDropMessage

bool mDropMessage

Dahili ve Yalnızca Hata Ayıklama içindir. Ayarlandığında, WeaveMessageLayer mesajı bırakır ve döndürür.

Herkese açık işlevler

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 olan tüm WeaveConnections öğelerini iptal edin ve açık WeaveConnectionTunnel nesnelerini kapatın.

Bkz.
Shutdown().

CreateTunnel

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

Belirtilen iki WeaveConnection'ı birleştirerek bir WeaveConnectionTunnel oluşturun.

Başarılı bir şekilde oluşturulduktan sonra, bileşen WeaveConnection nesnelerine karşılık gelen TCPEndPoint'ler WeaveConnectionTunnel'e aktarılır. Aksi takdirde WeaveConnections kapatılır.

Ayrıntılar
Parametreler
[out] tunPtr
WeaveConnectionTunnel nesnesinin işaretçisine işaret eden bir işaretçi.
[in] conOne
İlk WeaveConnection nesnesine referans.
[in] conTwo
İkinci WeaveConnection nesnesine referans.
[in] inactivityTimeoutMS
Weave bağlantı tünelinin boşta olabileceği maksimum süre (milisaniye cinsinden).
Döndürülen değerler
WEAVE_NO_ERROR
WeaveConnectionTunnel başarıyla oluşturulduğunda.
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ı tutan PacketBuffer nesnesine işaretçi.
[in] msgInfo
İleti hakkında bilgi alacak bir WeaveMessageInfo nesnesine işaretçi.
[out] payloadStart
Kod çözme işlemi tamamlandıktan sonra ileti arabelleğindeki konumun işaretçisine işaret eden bir işaretçi.
Değerleri Döndür
WEAVE_NO_ERROR
Mesaj başlığının kodu başarıyla çözüldüğünde.
WEAVE_ERROR_INVALID_MESSAGE_LENGTH
İletilen mesaj arabelleğinin uzunluğu geçersizse.
WEAVE_ERROR_UNSUPPORTED_MESSAGE_VERSION
Weave mesajı üstbilgi biçimi sürümü desteklenmiyorsa.

EncodeMessage

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

WeaveMessageLayer üstbilgisini PacketBuffer içine kodlayın.

Ayrıntılar
Parametreler
[in] msgInfo
Kodlanacak mesajla ilgili bilgileri içeren WeaveMessageInfo nesnesinin işaretçisi.
[in] msgBuf
Weave mesajını tutacak olan PacketBuffer nesnesine işaret eden.
[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ı barındırmak için yükü taşımadan önce ayrılan alan.
Değerleri Döndür
WEAVE_NO_ERROR
iletiyi başarıyla kodladıktan sonra.
WEAVE_ERROR_UNSUPPORTED_MESSAGE_VERSION
Weave mesajı başlık biçimi sürümü desteklenmiyorsa.
WEAVE_ERROR_INVALID_MESSAGE_LENGTH
Mesaj arabelleğindeki yük uzunluğu sıfırsa.
WEAVE_ERROR_UNSUPPORTED_ENCRYPTION_TYPE
ileti başlığındaki şifreleme türü desteklenmiyorsa
WEAVE_ERROR_MESSAGE_TOO_LONG
kodlanan mesaj, istenen maksimum değerden uzun olursa
WEAVE_ERROR_BUFFER_TOO_SMALL
Mesaj yükü öncesinde veya sonrasında yeterli alan yoksa.
other
oturum durumu getirilirken yapı durumu nesnesi tarafından oluşturulan hatalar.

EncodeMessage

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

Weave Message katmanı üstbilgisini bir PacketBuffer'a 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 nesnesinin işaretçisi.
[in] payload
Weave mesajını tutacak olanpacketBuffer nesnesinin işaretçisi.
Döndürülen değerler
WEAVE_NO_ERROR
Weave mesajının başarıyla kodlanmasıyla ilgili.
WEAVE_ERROR_UNSUPPORTED_MESSAGE_VERSION
Weave Message sürümü desteklenmiyorsa.
WEAVE_ERROR_INVALID_MESSAGE_LENGTH
Mesaj arabelleğindeki yük uzunluğu sıfırsa.
WEAVE_ERROR_UNSUPPORTED_ENCRYPTION_TYPE
şifreleme türü desteklenmiyor.
WEAVE_ERROR_MESSAGE_TOO_LONG
Kodlanmış mesaj, istenen maksimum değerden uzunsa.
WEAVE_ERROR_BUFFER_TOO_SMALL
Mesaj yükü öncesinde veya sonrasında yeterli alan yoksa.
other
oturum durumu getirilirken yapı durumu nesnesi tarafından oluşturulan hatalar.

EphemeralUDPPortEnabled

bool EphemeralUDPPortEnabled(
  void
) const 

Yerel olarak başlatılan Weave UDP değişimlerinin 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ımdaki WeaveConnections sayısını ve havuzun boyutunu alın.

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

IPv4ListenEnabled

bool IPv4ListenEnabled(
  void
) const 

WeaveMessageLayer'ın IPv4 üzerinden gelen iletişimleri dinleyecek şekilde yapılandırılmış olup olmadığını kontrol edin.

IPv6ListenEnabled

bool IPv6ListenEnabled(
  void
) const 

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

Başlatma

WEAVE_ERROR Init(
  InitContext *context
)

Weave Message katman nesnesini ilk kullanıma hazırlayın.

Ayrıntılar
Parametreler
[in] context
InitContext nesnesine işaret eden bir işaretçi.
Döndürülen değerler
WEAVE_NO_ERROR
başarıyla başlatıldığında
WEAVE_ERROR_INVALID_ARGUMENT
İletilen InitContext nesnesi NULL ise.
WEAVE_ERROR_INCORRECT_STATE
WeaveMessageLayer nesnesinin durumu yanlışsa.
other
uç nokta oluşturulurken alt Inet katmanında 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
)

Bir havuzdan yeni bir WeaveConnection nesnesi oluşturun.

Ayrıntılar
İadeler
Başarılıysa yeni oluşturulan WeaveConnection nesnesine işaret eden bir işaretçi, aksi takdirde NULL.

NewConnectionTunnel

WeaveConnectionTunnel * NewConnectionTunnel(
  void
)

Havuzdan yeni bir WeaveConnectionTunnel nesnesi oluşturun.

Ayrıntılar
İadeler
Başarılıysa yeni oluşturulan WeaveConnectionTunnel nesnesine işaret eden bir işaretçi, aksi takdirde NULL.

ReEncodeMessage

WEAVE_ERROR ReEncodeMessage(
  PacketBuffer *buf
)

RefreshEndpoints

WEAVE_ERROR RefreshEndpoints(
  void
)

InetLayer uç noktalarını, sistemin ağ arayüzlerinin mevcut durumuna göre yenileyin.

Ayrıntılar
Döndürülen değerler
WEAVE_NO_ERROR
uç noktaların başarıyla yenilenmesiyle ilgili bildirim alırsınız.
InetLayer
hataları görebilirsiniz.

ResendMessage

WEAVE_ERROR ResendMessage(
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

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

Ayrıntılar
Parametreler
[in] msgInfo
WeaveMessageInfo nesnesine işaretçi.
[in] payload
Kodlanmış Weave mesajını tutan PacketBuffer nesnesine işaretçi.
Döndürülen değerler
WEAVE_NO_ERROR
mesajı ağ katmanına başarıyla gönderdiğinde.
errors
gönderme sırasında alt Inet katmanlı UDP uç noktasından oluşturulur.

ResendMessage

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

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

Ayrıntılar
Parametreler
[in] destAddr
Hedef IP adresi.
[in] msgInfo
WeaveMessageInfo nesnesine işaretçi.
[in] payload
Kodlanmış Weave mesajını tutan PacketBuffer nesnesine işaretçi.
Döndürülen değerler
WEAVE_NO_ERROR
mesajı ağ katmanına başarıyla gönderdiğinde.
errors
gönderme sırasında alt Inet katmanlı UDP uç noktasından oluşturulur.

ResendMessage

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

Temel Inetlayer UDP uç noktasını kullanarak kodlanmış bir 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çi.
[in] payload
Kodlanmış Weave mesajını tutan PacketBuffer nesnesine işaretçi.
Döndürülen değerler
WEAVE_NO_ERROR
mesajı ağ katmanına başarıyla gönderdiğinde.
errors
gönderme sırasında alt Inet katmanlı UDP uç noktasından oluşturulur.

ResendMessage

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

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

Not: - Hedef adres sağlanmadıysa ileti üstbilgisindeki düğüm tanımlayıcısından belirlemeye çalışın. Bu yapılamazsa başarısız olur. -Hedef adres, yerel kumaş için bir kumaş adresiyse ve arayan hedef düğüm kimliğini belirtmediyse 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 nesnesinin işaretçisi.
[in] payload
Kodlanmış Weave mesajını içeren PaketetBuffer nesnesinin işaretçisi.
Döndürülen değerler
WEAVE_NO_ERROR
mesajı ağ katmanına başarıyla gönderdiğinde.
errors
oluşturulan alt Inet katmanı UDP uç noktasından oluşturulur.

SendMessage

WEAVE_ERROR SendMessage(
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

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

Ayrıntılar
Parametreler
[in] msgInfo
Gönderilecek mesajla ilgili bilgileri içeren WeaveMessageInfo nesnesinin işaretçisi.
[in] payload
Kodlanmış Weave mesajını tutan PacketBuffer nesnesine işaretçi.
Döndürülen değerler
WEAVE_NO_ERROR
mesajı ağ katmanına başarıyla gönderdiğinde.
errors
oluşturulan alt Inet katmanı UDP uç noktasından oluşturulur.

SendMessage

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

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

Not: - Kullanılan hedef bağlantı noktası WEAVE_PORT'dur. -Hedef adres sağlanmamışsa mesaj üstbilgisindeki düğüm tanımlayıcısından belirlemeyi deneyin. Bu yapılamazsa başarısız olur.

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

Ayrıntılar
Parametreler
[in] destAddr
Hedef IP Adresi.
[in] msgInfo
Gönderilecek mesajla ilgili bilgileri içeren bir WeaveMessageInfo nesnesine işaretçi.
[in] payload
Kodlanmış Weave mesajını tutan PacketBuffer nesnesine işaretçi.
Döndürülen değerler
WEAVE_NO_ERROR
mesajı ağ katmanına başarıyla gönderdiğinde.
errors
oluşturulan alt Inet katmanı UDP uç noktasından oluşturulur.

SendMessage

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

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

Not: Hedef adres sağlanmadıysa mesaj başlığındaki düğüm tanımlayıcısından belirlemeyi deneyin. Bu yapılamazsa başarısız olur. -Hedef adres, yerel kumaş için bir kumaş adresiyse ve arayan hedef düğüm kimliğini belirtmediyse 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 mesajla ilgili bilgileri içeren bir WeaveMessageInfo nesnesine işaretçi.
[in] payload
Kodlanmış Weave mesajını tutan PacketBuffer nesnesine işaretçi.
Döndürülen değerler
WEAVE_NO_ERROR
gönderebilmek için de bir yöntem değildir.
WEAVE_ERROR_INVALID_ADDRESS
destAddr belirtilmemişse veya hedef düğüm kimliğinden belirlenemiyorsa.
errors
gönderme sırasında alt Inet katmanı UDP uç noktasından oluşturulur.

SendUDPTunneledMessage

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

Yerel bir UDP tüneli üzerinden tünellenmiş paket gönderme işlevi.

UDP üzerinden tünellenmiş IPv6 veri mesajı gönderme.

Ayrıntılar
Parametreler
[in] msgInfo
WeaveMessageInfo nesnesine işaretçi.
[in] destAddr
UDP tüneli hedefinin IP adresi.
[in] msgBuf
Gönderilecek paketi barındıran PacketBuffer nesnesine işaretçi.
Döndürülen değerler
WEAVE_NO_ERROR
gönderebilmek için de bir yöntem değildir.
WEAVE_ERROR_INVALID_ADDRESS
destAddr belirtilmemişse veya hedef düğüm kimliğinden belirlenemiyorsa.
errors
gönderme sırasında alt Inet katmanlı UDP uç noktasından oluşturulur.

SetSignalMessageLayerActivityChanged

void SetSignalMessageLayerActivityChanged(
  MessageLayerActivityChangeHandlerFunct messageLayerActivityChangeHandler
)

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

Uygulama özellikle her seferinde bildirim alır:

  • açılan mesaj alışverişi sayısı değişir.
  • beklemedeki ileti sayacı senkronizasyon isteklerinin sayısı sıfırdan en az bir'e ve tekrar sıfıra döner. İşleyici, devam eden Weave sohbetlerinin veya bekleyen yanıtların olup olmadığını belirten genel bir sinyal olarak sunulur. İşleyici, WeaveMessageLayer ilk kullanıma hazırlandıktan sonra ayarlanmalıdır. WeaveMessageLayer kapatıldığında mevcut işleyici temizlenir.

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'da gelen TCP bağlantılarını dinleme özelliğini etkinleştirin veya devre dışı bırakın.

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

SetUDPListenEnabled

void SetUDPListenEnabled(
  bool val
)

WeaveMessageLayer'da gelen UDP mesajlarını dinlemeyi etkinleştirin veya devre dışı bırakın.

NOT: RefreshEndpoints(), UDP dinleme durumu değiştirildikten sonra ç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.

Tüm açık Inet katmanı uç noktalarını kapatın, tüm üst katman geri çağırma işlevlerini, ü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ılmış olup olmadığını kontrol edin.

UDPListenEnabled

bool UDPListenEnabled(
  void
) const 

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

UnsecuredListenEnabled

bool UnsecuredListenEnabled(
  void
) const 

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

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

WeaveMessageLayer

 WeaveMessageLayer(
  void
)

Weave Message katmanı kurucusu.

Herkese açık statik işlevler

GetMaxWeavePayloadSize

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

Bir 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 PaketetBuffer'ın içindeki bir yük için kullanılabilir alanı aşmaz.

İleti UDP ise döndürülen maksimum yük boyutu, belirtilen UDP MTU'dan taşmayacak bir Weave mesajıyla sonuçlanmaz.

Son olarak, döndürülen maksimum yükü boyutu, maksimum Weave mesajı boyutunu aşan bir Weave mesajıyla sonuçlanmaz.

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

GetPeerDescription

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

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

Oluşturulan dize şu biçime sahiptir:

 ([]:%, con )

Ayrıntılar
Parametreler
[in] buf
Dizenin yazılacağı arabelleğin işaretçisi. Sağlanan arabellek en az kWeavePeerDescription_MaxLength kadar büyük olmalıdır. Daha küçük bir arabellek sağlanırsa dize sığdırılacak şekilde kısaltılır. Çıkış, tüm durumlarda bir NUL sonlandırma karakteri içerir.
[in] bufSize
buf tarafından işaretlenen arabelleğin boyutu.
[in] nodeId
Yazdırılacak düğüm kimliği.
[in] addr
Baskı yapılacak bir IP adresinin işaretçisi veya IP adresi basılmayacaksa NULL.
[in] port
Yazdırılacak IP bağlantı noktası numarası. addr NULL ise bağlantı noktası numarası yazdırılmaz.
[in] interfaceId
Baskı yapılacak arayüzü tanımlayan bir InterfaceId. Çıkış dizesi, temel ağ yığınının bildiği şekilde arayüzün adını içerir. interfaceId INET_NULL_INTERFACEID ise veya addr NULL ise arayüz adı yazdırılmaz.
[in] con
Günlük kaydı kimliği basılması gereken bir WeaveConnection nesnesine işaretçi veya bağlantı kimliği basılması gerekmiyorsa NULL.

GetPeerDescription

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

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

Ayrıntılar
Parametreler
[in] buf
Dizenin yazılacağı arabelleğin işaretçisi. Sağlanan arabellek en az kWeavePeerDescription_MaxLength kadar büyük olmalıdır. Daha küçük bir arabellek sağlanırsa dize sığdırılacak şekilde kısaltılır. Çıkış, tüm durumlarda bir NUL sonlandırma karakteri içerir.
[in] bufSize
buf tarafından işaretlenen arabelleğin boyutu.
[in] msgInfo
Mesajla ilgili bilgileri içeren bir WeaveMessageInfo yapısının işaretçisi.