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 TCP bağlantısı işlenirken hata bildirmek için kullanılan daha yüksek katman geri çağırmasıdır.
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 yüksek katman geri çağırmasıdır.
MessageLayerActivityChangeHandlerFunct)(bool messageLayerIsActive) typedef
void(*
Bu işlev, mesaj katmanı etkinlik değişikliğini raporlamak için uygulamanın 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, hatayla karşılaşıldığında çağrılan daha yüksek katman geri çağırmasıdır.
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ünelli paket alındıktan sonra çağrılan üst katman geri çağırmasıdır.

Herkese açık özellikler

AppState
void *
Uygulamaya özel durum nesnesinin işaretçisi.
ExchangeMgr
[SALT OKUNUR] İlişkili WeaveExchangeManager nesnesi.
FabricState
[READ ONLY] İlişkilendirilmiş 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
[SALT OKUNUR] Gelen bağlantıları/mesajları dinliyorsanız doğru, aksi takdirde false değerini alı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çin; Ayarlandığında WeaveMessageLayer, mesajı bırakır ve geri döner.

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 iletisindeki Weave Message katman üstbilgisinin kodunu çözün.
EncodeMessage(WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf, WeaveConnection *con, uint16_t maxLen, uint16_t reserve)
WeaveMessageLayer üstbilgisini PacketBuffer olarak kodlayın.
EncodeMessage(const IPAddress & destAddr, uint16_t destPort, InterfaceId sendIntId, WeaveMessageInfo *msgInfo, PacketBuffer *payload)
Weave Message katman üstbilgisini BundleBuffer olarak kodlayın.
EphemeralUDPPortEnabled(void) const
bool
Yerel olarak başlatılan Weave UDP exchange'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ımdaki WeaveConnections sayısını ve havuz boyutunu öğrenin.
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ı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)
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 UDP tüneli üzerinden Tünelli paket gönderme işlevi.
SetSignalMessageLayerActivityChanged(MessageLayerActivityChangeHandlerFunct messageLayerActivityChangeHandler)
void
Mesaj 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ı dinlemeyi 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ılıp yapılandırılmadığını kontrol edin.
UDPListenEnabled(void) const
bool
WeaveMessageLayer'ın, gelen UDP iletilerini 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 exchange'lerinin başlatılmasını 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 ileti 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 adres / bağlantı bilgilerini açıklayan bir dize oluşturur.
GetPeerDescription(char *buf, size_t bufSize, const WeaveMessageInfo *msgInfo)
void
Eşten alınan bir iletiyle ilişkili bilgileri temel alarak bir 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ı işlenirken hata bildirmek için kullanılan daha yüksek katman geri çağırmasıdır.

Ayrıntılar
Parametreler
[in] msgLayer
WeaveMessageLayer nesnesinin işaretçisi.
[in] err
Gelen TCP bağlantısı işlenirken WEAVE_ERROR ile karşılaşıldı.

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 durumu nesnesinin işaretçisi.

ConnectionReceiveFunct

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

Bu işlev, gelen TCP bağlantısını işlemek için daha yüksek katman geri çağırmasıdır.

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

MessageLayerActivityChangeHandlerFunct

void(* MessageLayerActivityChangeHandlerFunct)(bool messageLayerIsActive)

Bu işlev, mesaj katmanı etkinlik değişikliğini raporlamak için uygulamanın geri çağırmasıdır.

En az bir açık exchange veya bekleyen mesaj sayacı senkronizasyon 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 nesnesinin işaretçisi.
[in] msgInfo
WeaveMessageInfo nesnesinin işaretçisi.
[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, hatayla karşılaşıldığında çağrılan daha yüksek katman geri çağırmasıdır.

Ayrıntılar
Parametreler
[in] msgLayer
WeaveMessageLayer nesnesinin işaretçisi.
[in] err
Veri alınırken WEAVE_ERROR ile karşılaşıldı.
[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ğu durumu belirtir.

kState_NotInitialized

WeaveMessageLayer'ın başlatılmadığı 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 üst katman geri çağırmasıdır.

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

Herkese açık özellikler

AppState

void * AppState

Uygulamaya özel durum nesnesinin işaretçisi.

ExchangeMgr

WeaveExchangeManager * ExchangeMgr

[SALT OKUNUR] İ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

[SALT OKUNUR] İlişkili Inetlayer nesnesi.

IsListening

bool IsListening

[SALT OKUNUR] Gelen bağlantıları/mesajları dinliyorsanız doğru, aksi takdirde false değerini alı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

[READ ONLY] WeaveMessageLayer nesnesinin durumu.

SystemLayer

System::Layer * SystemLayer

mDropMessage

bool mDropMessage

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

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.

Ayrıca bkz:
Shutdown().

CreateTunnel

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

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

Oluşturma işlemi başarılı olduğunda WeaveConnection bileşenine 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 işaret eden bir işaret.
[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).
Değerleri Döndür
WEAVE_NO_ERROR
başarılı bir şekilde oluşturuldu.WeaveConnectionTunnel
WEAVE_ERROR_INCORRECT_STATE
WeaveConnection bileşeninin WeaveConnectionTunnel 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 iletisindeki Weave Message katman üstbilgisinin kodunu çözün.

Ayrıntılar
Parametreler
[in] msgBuf
Weave mesajını içeren PacketBuffer nesnesinin işaretçisi.
[in] msgInfo
Mesaj hakkında bilgi alacak WeaveMessageInfo nesnesine işaret eden bir işaret.
[out] payloadStart
Kod çözme işlemi tamamlandıktan sonra, ileti arabelleğindeki konuma işaret eden bir işaretçi.
Değerleri Döndür
WEAVE_NO_ERROR
İleti üstbilgisinin kodu başarıyla çözüldüğünde.
WEAVE_ERROR_INVALID_MESSAGE_LENGTH
İletilen ileti arabelleğinin uzunluğu geçersizse
WEAVE_ERROR_UNSUPPORTED_MESSAGE_VERSION
Weave Message üstbilgisi biçimi desteklenmiyorsa.

EncodeMessage

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

WeaveMessageLayer üstbilgisini PacketBuffer olarak 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 nesnesinin işaretçisi.
[in] con
WeaveConnection nesnesinin işaretçisi.
[in] maxLen
Kodlanmış Weave mesajının maksimum uzunluğu.
[in] reserve
Weave ileti üstbilgisini tutmak için yükten önceki ayrılmış alan.
Değerleri Döndür
WEAVE_NO_ERROR
başarılı bir şekilde kodlama yaptığınızdan emin olabilirsiniz.
WEAVE_ERROR_UNSUPPORTED_MESSAGE_VERSION
Örgü İleti üstbilgisi 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
İleti üstbilgisindeki şifreleme türü desteklenmiyorsa.
WEAVE_ERROR_MESSAGE_TOO_LONG
kodlanan mesaj, istenen maksimum değerden uzun olursa
WEAVE_ERROR_BUFFER_TOO_SMALL
yoksa mesaj yükünden önce veya sonra 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 BundleBuffer 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 nesnesinin işaretçisi.
[in] payload
Weave mesajını tutacak olan PacketBuffer nesnesinin işaretçisi.
Değerleri Döndür
WEAVE_NO_ERROR
başarılı bir şekilde kodlanması gerekir.
WEAVE_ERROR_UNSUPPORTED_MESSAGE_VERSION
Weave Message sürümü desteklenmiyor.
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
kodlanan mesaj, istenen maksimum değerden uzun olursa
WEAVE_ERROR_BUFFER_TOO_SMALL
yoksa mesaj yükünden önce veya sonra 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 exchange'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ımdaki WeaveConnections sayısını ve havuz 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'ın, 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'ın, IPv4 üzerinden gelen iletişimleri dinleyecek şekilde yapılandırılıp yapılandırılmadığını kontrol edin.

Init

WEAVE_ERROR Init(
  InitContext *context
)

Weave Message katmanı nesnesini başlatın.

Ayrıntılar
Parametreler
[in] context
InitContext nesnesinin işaretçisi.
Değerleri Döndür
WEAVE_NO_ERROR
gösterir.
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ından oluşturulan hataları gösterir.

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 bir işaretçi bırakır, aksi takdirde NULL yapar.

NewConnectionTunnel

WeaveConnectionTunnel * NewConnectionTunnel(
  void
)

Havuzdan yeni bir WeaveConnectionTunnel nesnesi oluşturun.

Ayrıntılar
İadeler
başarılıysa yeni oluşturulan WeaveConnectionTunnel nesnesine bir işaretçi bırakır, aksi takdirde NULL yapar.

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
Değerleri Döndür
WEAVE_NO_ERROR
yenilenmenin temelini oluşturur.
InetLayer
çağrılarına göre belirledik.

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 nesnesinin işaretçisi.
[in] payload
Kodlanmış Weave mesajını içeren PaketetBuffer nesnesinin işaretçisi.
Değerleri Döndür
WEAVE_NO_ERROR
gönderebilmek için de bir yöntem değildir.
errors
oluşturulan alt Inet katmanı 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 nesnesinin işaretçisi.
[in] payload
Kodlanmış Weave mesajını içeren PaketetBuffer nesnesinin işaretçisi.
Değerleri Döndür
WEAVE_NO_ERROR
gönderebilmek için de bir yöntem değildir.
errors
oluşturulan alt Inet katmanı 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 nesnesinin işaretçisi.
[in] payload
Kodlanmış Weave mesajını içeren PaketetBuffer nesnesinin işaretçisi.
Değerleri Döndür
WEAVE_NO_ERROR
gönderebilmek için de bir yöntem değildir.
errors
oluşturulan alt Inet katmanı 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 mümkün değilse başarısız olur. -Hedef adres, yerel doku için bir kumaş adresse ve çağrıyı yapan kişi hedef düğüm kimliğini belirtmediyse URL'yi 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.
Değerleri Döndür
WEAVE_NO_ERROR
gönderebilmek için de bir yöntem değildir.
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ı içeren PaketetBuffer nesnesinin işaretçisi.
Değerleri Döndür
WEAVE_NO_ERROR
gönderebilmek için de bir yöntem değildir.
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ğlanmadıysa ileti üstbilgisindeki düğüm tanımlayıcısından adresi belirlemeye çalışın. Bu mümkün değilse başarısız olur.

-Hedef adres, yerel doku için bir kumaş adresse ve çağrıyı yapan kişi hedef düğüm kimliğini belirtmediyse URL'yi hedef adresten çıkarın.

Ayrıntılar
Parametreler
[in] destAddr
Hedef IP Adresi.
[in] msgInfo
Gönderilecek mesajla ilgili bilgileri içeren WeaveMessageInfo nesnesinin işaretçisi.
[in] payload
Kodlanmış Weave mesajını içeren PaketetBuffer nesnesinin işaretçisi.
Değerleri Döndür
WEAVE_NO_ERROR
gönderebilmek için de bir yöntem değildir.
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 ileti üstbilgisindeki düğüm tanımlayıcısından belirlemeye çalışın. Bu mümkün değilse başarısız olur. -Hedef adres, yerel doku için bir kumaş adresse ve çağrıyı yapan kişi hedef düğüm kimliğini belirtmediyse URL'yi 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 WeaveMessageInfo nesnesinin işaretçisi.
[in] payload
Kodlanmış Weave mesajını içeren PaketetBuffer nesnesinin işaretçisi.
Değerleri Döndür
WEAVE_NO_ERROR
gönderebilmek için de bir yöntem değildir.
WEAVE_ERROR_INVALID_ADDRESS
hedef düğüm kimliğinden belirtilmezse veya destAddr belirtilmezse.
errors
oluşturulan alt Inet katmanı UDP uç noktasından 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önder.

Ayrıntılar
Parametreler
[in] msgInfo
WeaveMessageInfo nesnesinin işaretçisi.
[in] destAddr
UDP tüneli hedefinin IP adresi.
[in] msgBuf
Gönderilecek paketi tutan PacketBuffer nesnesinin işaretçisi.
Değerleri Döndür
WEAVE_NO_ERROR
gönderebilmek için de bir yöntem değildir.
WEAVE_ERROR_INVALID_ADDRESS
hedef düğüm kimliğinden belirtilmezse veya destAddr belirtilmezse.
errors
oluşturulan alt Inet katmanı UDP uç noktasından oluşturulur.

SetSignalMessageLayerActivityChanged

void SetSignalMessageLayerActivityChanged(
  MessageLayerActivityChangeHandlerFunct messageLayerActivityChangeHandler
)

Mesaj 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çık olan exchange'lerin sayısı.
  • beklemedeki ileti sayacı senkronizasyon isteklerinin sayısı sıfırdan en az bir'e ve tekrar sıfıra değişir. İşleyici, devam eden bir Weave görüşmesi veya bekleyen yanıtlar olup olmadığını gösteren genel bir sinyal olarak sunulur. İşleyici, WeaveMessageLayer başlatıldıktan sonra ayarlanmalıdır; WeaveMessageLayer'ın kapatılması, mevcut 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.
Değerleri Döndür
None.

SetTCPListenEnabled

void SetTCPListenEnabled(
  bool val
)

WeaveMessageLayer'da, gelen TCP bağlantılarını dinlemeyi 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 yüksek katman geri çağırmalarını, üye değişkenlerini ve nesnelerini 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 iletilerini 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 exchange'lerinin başlatılmasını 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 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
)

Bir ileti 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 ileti boyutundan fazla bir Weave mesajıyla sonuçlanmaz.

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

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 adres / bağlantı bilgilerini açıklayan bir dize oluşturur.

Oluşturulan dize aşağıdaki biçimdedir:

 ([]:%, con )

Ayrıntılar
Parametreler
[in] buf
Dizenin yazılması gereken arabelleğe işaret eden bir işaret. Sağlanan arabellek en az kWeavePeerDescription_MaxLength kadar büyük olmalıdır. Daha küçük bir arabellek sağlanırsa dize, sığacak şekilde kısaltılır. Çıkış, tüm durumlarda bir NUL sonlandırma karakteri içerir.
[in] bufSize
Tampon ile işaret edilen tamponun boyutu.
[in] nodeId
Yazdırılacak düğüm kimliği.
[in] addr
Yazdırılacak IP adresine işaret eden bir işaret veya IP adresi yazdırılmaması gerekiyorsa NULL değerini seçin.
[in] port
Yazdırılacak IP bağlantı noktası numarası. Adr NULL ise hiçbir bağlantı noktası numarası yazdırılmaz.
[in] interfaceId
Yazdırılacak arayüzü tanımlayan Arayüz Kimliği. Çıkış dizesi, temel ağ yığını tarafından bilinen arayüzün adını içerir. Arayüz kimliği 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 işaret eden bir işaret; Bağlantı kimliğinin yazdırılmaması gerekiyorsa NULL değerini seçin.

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ılması gereken arabelleğe işaret eden bir işaret. Sağlanan arabellek en az kWeavePeerDescription_MaxLength kadar büyük olmalıdır. Daha küçük bir arabellek sağlanırsa dize, sığacak şekilde kısaltılır. Çıkış, tüm durumlarda bir NUL sonlandırma karakteri içerir.
[in] bufSize
Tampon ile işaret edilen tamponun boyutu.
[in] msgInfo
Mesaj hakkında bilgiler içeren WeaveMessageInfo yapısının işaretçisi.