Koleksiyonlar ile düzeninizi koruyun İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.

nl::Dokuma::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ı oluşturmak için çeşitli Inetlayer uç noktalarından birini kullanır.

İnşaat Ustaları ve Yıkıcılar

WeaveMessageLayer(void)
Weave Mesaj katmanı oluşturucu.

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 hata bildirmek için daha yüksek katmanlı geri çağırmadır.
CallbackRemovedFunct)(void *listenerState) Typedef
void(*
Bu işlev, 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ı yönetmek için daha yüksek katmanlı geri çağırmadır.
MessageLayerActivityChangeHandlerFunct)(bool messageLayerIsActive) Typedef
void(*
Bu işlev, mesaj katmanı etkinliği değişikliğini raporlamak için 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 yüksek katman geri çağırmadır.
ReceiveErrorFunct)(WeaveMessageLayer *msgLayer, WEAVE_ERROR err, const IPPacketInfo *pktInfo) Typedef
void(*
Bu işlev, bir hatayla karşılaşıldığında çağrılan daha yüksek katmanlı geri çağırmadır.
State{
  kState_NotInitialized = 0,
  kState_Initializing = 1,
  kState_Initialized = 2
}
enum
TunneledMsgReceiveFunct)(WeaveMessageLayer *msgLayer, PacketBuffer *payload) Typedef
void(*
Bu işlev, yerel UDP tüneli üzerinden bir Tünel paketi alındığında çağrılan daha yüksek katmanlı geri çağırmadır.

Herkese açık özellikler

AppState
void *
Uygulamaya özel durum nesnesine işaret eden öğeler
ExchangeMgr
[SALT OKUNUR] İlişkili WeaveExchangeManager nesnesi.
FabricState
[SALT OKUNUR] İ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 dinleniyorsa doğru, aksi halde yanlış değerini alır.
OnAcceptError
OnConnectionReceived
OnMessageReceived
OnReceiveError
OnUDPTunneledMessageReceived
SecurityMgr
[SALT OKUNUR] İlişkili WeaveSecurityManager nesnesi.
State
uint8_t
[SALT OKUNUR] 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 WeaveConnectionu'yu bir araya getirerek bir WeaveConnectionTunnel oluşturun.
DecodeHeader(PacketBuffer *msgBuf, WeaveMessageInfo *msgInfo, uint8_t **payloadStart)
Alınan bir Weave mesajından Weave Mesaj katmanı başlığının şifresini çözün.
EncodeMessage(WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf, WeaveConnection *con, uint16_t maxLen, uint16_t reserve)
WeaveMessageLayer üstbilgisini bir PacketBuffer olarak kodlayın.
EncodeMessage(const IPAddress & destAddr, uint16_t destPort, InterfaceId sendIntId, WeaveMessageInfo *msgInfo, PacketBuffer *payload)
Weave Mesaj katmanı başlığını bir Paket Arabellekine 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ılan WeaveConnections sayısını ve havuzun 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 Mesaj 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)
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 InetLayer uç noktalarını yenileyin.
ResendMessage(WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
Alttaki Inetlayer UDP uç noktasını kullanarak kodlanmış bir Weave mesajını yeniden gönderin.
ResendMessage(const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
Alttaki 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)
Alttaki 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)
Alttaki Inetlayer UDP uç noktasını kullanarak kodlanmış bir Weave mesajını yeniden gönderin.
SendMessage(WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
Kodladıktan sonra alttaki Inetlayer UDP uç noktasını kullanarak Weave mesajı gönderin.
SendMessage(const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
Kodladıktan sonra alttaki Inetlayer UDP uç noktasını kullanarak 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 Weave mesajı gönderin.
SendUDPTunneledMessage(const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
Yerel UDP tüneli üzerinden Tünel paketi gönderme işlevi.
SetSignalMessageLayerActivityChanged(MessageLayerActivityChangeHandlerFunct messageLayerActivityChangeHandler)
void
İleti katmanı etkinliği her değiştiğinde çağrılacak bir uygulama işleyici ayarlayın.
SetTCPListenEnabled(bool val)
void
WeaveMessagelayer'ta gelen TCP bağlantıları için dinlemeyi etkinleştirin veya devre dışı bırakın.
SetUDPListenEnabled(bool val)
void
WeaveMessageKatman'da gelen UDP iletileri için dinlemeyi etkinleştirin veya devre dışı bırakın.
SetUnsecuredConnectionListener(ConnectionReceiveFunct newOnUnsecuredConnectionReceived, CallbackRemovedFunct newOnUnsecuredConnectionCallbacksRemoved, bool force, void *listenerState)
Shutdown(void)
WeaveMessagelayer ayarını 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
WeaveMessageKatman'ı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'lerini başlatma veya etkinleştirme işlemini 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
Bir eş düğüm ve ilişkili adresi / bağlantı bilgilerini açıklayan bir dize oluşturur.
GetPeerDescription(char *buf, size_t bufSize, const WeaveMessageInfo *msgInfo)
void
Eşten alınan mesajla ilişkili bilgileri temel alarak bir eş düğümünü tanımlayan bir dize oluşturur.

Sınıflar

nl::örgü::WeaveMessageLayer::InitContext

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

Herkese açık türler

KabulHatasıFunct

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

Bu işlev, gelen TCP bağlantısının işlenmesi sırasında hata bildirmek için daha yüksek katmanlı geri çağırmadır.

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

CallCallRemovedFunct

void(* CallbackRemovedFunct)(void *listenerState)

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

Ayrıntılar
Parametreler
[in] listenerState
Uygulama durumu nesnesini gösteren işaretçi.

Bağlantı Alma Fonksiyonu

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

Bu işlev, gelen TCP bağlantısını yönetmek için daha yüksek katmanlı geri çağırmadır.

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

Mesaj KatmanıEtkinliğiDeğişimiHandlerFunct

void(* MessageLayerActivityChangeHandlerFunct)(bool messageLayerIsActive)

Bu işlev, mesaj katmanı etkinliği değişikliğini raporlamak için uygulama 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.

MesajAlma Fonu

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

Bu işlev, UDP üzerinden bir Weave mesajı alındığında çağrılan yüksek katman geri çağırmadır.

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

Hata AlmaFunct

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

Bu işlev, bir hatayla karşılaşıldığında çağrılan daha yüksek katmanlı geri çağırmadır.

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

Eyalet

 State

WeaveMessageKatman durumu.

Özellikler
kState_Initialized

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

kState_Initializing

WeaveMessagelayer'ın ilk kullanıma hazırlama işlemi sırasında durumu belirtin.

kState_NotInitialized

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

TunneledMsgGetFunct

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

Bu işlev, yerel UDP tüneli üzerinden bir Tünel paketi alındığında çağrılan daha yüksek katmanlı geri çağırmadır.

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

Herkese açık özellikler

Uygulama Durumu

void * AppState

Uygulamaya özel durum nesnesine işaret eden öğeler

ExchangeMgr'si

WeaveExchangeManager * ExchangeMgr

[SALT OKUNUR] İlişkili WeaveExchangeManager nesnesi.

KumaşDurumu

WeaveFabricState * FabricState

[SALT OKUNUR] İlişkilendirilmiş WeaveFabricState nesnesi.

GelenConIdleTimeout

uint32_t IncomingConIdleTimeout

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

İnce

InetLayer * Inet

[SALT OKUNUR] İlişkili Inetlayer nesnesi.

Dinleniyor

bool IsListening

[SALT OKUNUR] Gelen bağlantılar/mesajlar dinleniyorsa doğru, aksi halde yanlış değerini alır.

OnKabul Hatası

AcceptErrorFunct OnAcceptError

OnConnectionReceived

ConnectionReceiveFunct OnConnectionReceived

OnMessageReceived

MessageReceiveFunct OnMessageReceived

Hata Alma

ReceiveErrorFunct OnReceiveError

OnUDPTunneledMessageReceived

TunneledMsgReceiveFunct OnUDPTunneledMessageReceived

GüvenlikMgr

WeaveSecurityManager * SecurityMgr

[SALT OKUNUR] İlişkili WeaveSecurityManager nesnesi.

Eyalet

uint8_t State

[SALT OKUNUR] WeaveMessageLayer nesnesinin durumu.

Sistem Katmanı

System::Layer * SystemLayer

mDropİleti

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
)

Kapanış Uç Noktaları

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().

Tünel

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

Belirtilen iki WeaveConnectionu'yu bir araya getirerek bir WeaveConnectionTunnel oluşturun.

Başarılı oluşturma sırasında, WeaveConnection bileşenine karşılık gelen TCPEndPoint'ler WeaveConnectionTunnel öğesine aktarılır. Aksi takdirde WeaveConnections kapatılır.

Ayrıntılar
Parametreler
[out] tunPtr
Bir WeaveConnectionTunnel nesnesinin işaretçisi.
[in] conOne
İlk WeaveConnection nesnesine başvuru.
[in] conTwo
İkinci WeaveConnection nesnesine başvuru.
[in] inactivityTimeoutMS
Weave bağlantı tünelinin boşta olabileceği maksimum süre (milisaniye cinsinden).
İade Değerleri
WEAVE_NO_ERROR
WeaveConnectionTunnel işlemini başarıyla tamamladı.
WEAVE_ERROR_INCORRECT_STATE
WeaveConnectionTunnel öğesinin WeaveConnection bileşeni doğru durumda değilse:
WEAVE_ERROR_NO_MEMORY
yeni bir WeaveConnectionTunnel nesnesi oluşturulamaz.

Kod Çözme Başlığı

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

Alınan bir Weave mesajından Weave Mesaj katmanı başlığının şifresini çözün.

Ayrıntılar
Parametreler
[in] msgBuf
Weave mesajını tutan PacketBuffer nesnesinin işaretçisi.
[in] msgInfo
İletiyle ilgili bilgileri alacak bir WeaveMessageInfo nesnesine işaret eden işaret.
[out] payloadStart
İşaretçi, kod çözme işlemi tamamlandıktan sonra mesaj arabelleğindeki konuma bir işaretçi.
İade Değerleri
WEAVE_NO_ERROR
İleti üstbilgisinin kodu başarıyla çözülürken.
WEAVE_ERROR_INVALID_MESSAGE_LENGTH
Gönderilen mesaj arabelleğinin uzunluğu geçersizse.
WEAVE_ERROR_UNSUPPORTED_MESSAGE_VERSION
Weave İleti üstbilgisi biçimi sürümü desteklenmiyorsa.

KodlamaMesajı

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

WeaveMessageLayer üstbilgisini bir PacketBuffer olarak kodlayın.

Ayrıntılar
Parametreler
[in] msgInfo
Kodlanacak ileti hakkında bilgi içeren WeaveMessageInfo nesnesine işaret eden bir nesnedir.
[in] msgBuf
Weave mesajını saklayan PacketBuffer nesnesine işaret eden bir öğe.
[in] con
WeaveConnection nesnesine işaret eden bir nesnedir.
[in] maxLen
Kodlanmış Weave mesajının maksimum uzunluğu.
[in] reserve
Weave mesaj başlığını tutmak için yükten önce ayrılan alan.
İade Değerleri
WEAVE_NO_ERROR
başarılı bir kodlama kodlamasını gösterir.
WEAVE_ERROR_UNSUPPORTED_MESSAGE_VERSION
Weave İ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
ileti üstbilgisindeki şifreleme türü desteklenmiyorsa
WEAVE_ERROR_MESSAGE_TOO_LONG
ifadesini içeren bir e-posta alırsınız.
WEAVE_ERROR_BUFFER_TOO_SMALL
mesaj yükünden önce veya sonra yeterli alan yoksa.
other
oturum durumu getirilirken kumaş durumu nesnesi tarafından oluşturulan hatalar.

KodlamaMesajı

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

Weave Mesaj katmanı başlığını bir Paket Arabellekine 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 nesnedir.
[in] payload
Weave mesajını saklayan PacketBuffer nesnesine işaret eden bir öğe.
İade Değerleri
WEAVE_NO_ERROR
Weave mesajının kodlanmasında başarılı olun.
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ü desteklenmiyorsa.
WEAVE_ERROR_MESSAGE_TOO_LONG
ifadesini içeren bir e-posta alırsınız.
WEAVE_ERROR_BUFFER_TOO_SMALL
mesaj yükünden önce veya sonra yeterli alan yoksa.
other
oturum durumu getirilirken kumaş durumu nesnesi tarafından oluşturulan hatalar.

Geçici UDPPortEnabled Etkin

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ılan WeaveConnections sayısını ve havuzun boyutunu öğrenin.

Ayrıntılar
Parametreler
[out] aOutInUse
Kullanımdaki bağlantıların depolandığı beden_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.

İnit

WEAVE_ERROR Init(
  InitContext *context
)

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

Ayrıntılar
Parametreler
[in] context
InitContext nesnesine işaret eden öğeler.
İade Değerleri
WEAVE_NO_ERROR
ilk kullanıma hazırlama.
WEAVE_ERROR_INVALID_ARGUMENT
İletilen InitContext nesnesi NULL ise.
WEAVE_ERROR_INCORRECT_STATE
WeaveMessageKatman nesnesinin durumu yanlışsa.
other
Uç nokta oluşturulurken alt Inet katmanından kaynaklanan hatalar.

IsBoundToLocalIPv4Adresi

bool IsBoundToLocalIPv4Address(
  void
) const 

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

IsBoundToLocalIPv6Adresi

bool IsBoundToLocalIPv6Address(
  void
) const 

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

Etkin Mesaj Katmanı Etkin

bool IsMessageLayerActive(
  void
)

YeniBağlantı

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 değerini alır.

YeniBağlantıTüneli

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 değerini alır.

ReEncodeMesaj

WEAVE_ERROR ReEncodeMessage(
  PacketBuffer *buf
)

Yenileme Uç Noktaları

WEAVE_ERROR RefreshEndpoints(
  void
)

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

Ayrıntılar
İade Değerleri
WEAVE_NO_ERROR
uç noktaları başarıyla yenileme.
InetLayer
TCP/UDP uç noktaları oluşturma çağrılarına göre hatalar.

Mesajı Yeniden Gönder

WEAVE_ERROR ResendMessage(
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

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

Ayrıntılar
Parametreler
[in] msgInfo
WeaveMessageInfo nesnesine işaret eden bir nesnedir.
[in] payload
Kodlanmış Weave mesajını tutan PacketBuffer nesnesinin işaretçisi.
İade Değerleri
WEAVE_NO_ERROR
.
errors
oluşturma sırasında alt Inet katmanı UDP uç noktasından oluşturulur.

Mesajı Yeniden Gönder

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

Alttaki 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 eden bir nesnedir.
[in] payload
Kodlanmış Weave mesajını tutan PacketBuffer nesnesinin işaretçisi.
İade Değerleri
WEAVE_NO_ERROR
.
errors
oluşturma sırasında alt Inet katmanı UDP uç noktasından oluşturulur.

Mesajı Yeniden Gönder

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

Alttaki 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 eden bir nesnedir.
[in] payload
Kodlanmış Weave mesajını tutan PacketBuffer nesnesinin işaretçisi.
İade Değerleri
WEAVE_NO_ERROR
.
errors
oluşturma sırasında alt Inet katmanı UDP uç noktasından oluşturulur.

Mesajı Yeniden Gönder

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

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

Not: Hedef adres girilmemişse ileti üstbilgisindeki düğüm tanımlayıcısından belirlemeye çalışın. Bu yapılamazsa başarısız olur. -Hedef adres yerel kumaşın 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 nesnesine işaret eden bir nesnedir.
[in] payload
Kodlanmış Weave mesajını tutan PacketBuffer nesnesinin işaretçisi.
İade Değerleri
WEAVE_NO_ERROR
.
errors
oluşturma sırasında alt Inet katmanı UDP uç noktasından oluşturulur.

Mesaj Gönder

WEAVE_ERROR SendMessage(
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

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

Ayrıntılar
Parametreler
[in] msgInfo
Gönderilecek ileti hakkında bilgi içeren bir WeaveMessageInfo nesnesinin işaretçisi.
[in] payload
Kodlanmış Weave mesajını tutan PacketBuffer nesnesinin işaretçisi.
İade Değerleri
WEAVE_NO_ERROR
.
errors
oluşturma sırasında alt Inet katmanı UDP uç noktasından oluşturulur.

Mesaj Gönder

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

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

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

-Hedef adres yerel kumaşın 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 ileti hakkında bilgi içeren bir WeaveMessageInfo nesnesinin işaretçisi.
[in] payload
Kodlanmış Weave mesajını tutan PacketBuffer nesnesinin işaretçisi.
İade Değerleri
WEAVE_NO_ERROR
.
errors
oluşturma sırasında alt Inet katmanı UDP uç noktasından oluşturulur.

Mesaj Gönder

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 Weave mesajı gönderin.

Not: Hedef adres girilmemişse ileti üstbilgisindeki düğüm tanımlayıcısından belirlemeye çalışın. Bu yapılamazsa başarısız olur. -Hedef adres yerel kumaşın 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 ileti hakkında bilgi içeren bir WeaveMessageInfo nesnesinin işaretçisi.
[in] payload
Kodlanmış Weave mesajını tutan PacketBuffer nesnesinin işaretçisi.
İade Değerleri
WEAVE_NO_ERROR
.
WEAVE_ERROR_INVALID_ADDRESS
destAddr belirtilmemişse veya hedef düğüm kimliğinden belirlenemiyorsa.
errors
oluşturma sırasında alt Inet katmanı UDP uç noktasından oluşturulur.

UDPTunneledMessage gönder

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

Yerel UDP tüneli üzerinden Tünel paketi 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 nesnedir.
[in] destAddr
UDP tüneli hedefinin IPAdresi.
[in] msgBuf
Gönderilecek paketi tutan PacketBuffer nesnesinin işaretçisi.
İade Değerleri
WEAVE_NO_ERROR
.
WEAVE_ERROR_INVALID_ADDRESS
destAddr belirtilmemişse veya hedef düğüm kimliğinden belirlenemiyorsa.
errors
oluşturma sırasında alt Inet katmanı UDP uç noktasından oluşturulur.

SetSignalMessageKatman EtkinliğiDeğiştirildi

void SetSignalMessageLayerActivityChanged(
  MessageLayerActivityChangeHandlerFunct messageLayerActivityChangeHandler
)

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

Özellikle, şu durumlarda başvuru alırsınız:

  • açık exchange'lerin sayısı
  • Bekleyen ileti sayacı senkronizasyon isteklerinin sayısı sıfırdan en az bire ve en sıfıra döner. İşleyici, devam eden Weave iletişimleri 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 öğesinin 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.
İade Değerleri
None.

SetTCPListenEnabled

void SetTCPListenEnabled(
  bool val
)

WeaveMessagelayer'ta gelen TCP bağlantıları için dinlemeyi etkinleştirin veya devre dışı bırakın.

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

UDPListenEnabled ayarını ayarla

void SetUDPListenEnabled(
  bool val
)

WeaveMessageKatman'da gelen UDP iletileri için dinlemeyi 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 ayarını kapatın.

Açık olan tüm Inet katmanı uç noktalarını kapatın, daha yüksek katmanlı 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 

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

Güvenli Olmayan Dinleme Etkin

bool UnsecuredListenEnabled(
  void
) const 

Geçici UDP kaynak bağlantı noktasından Weave UDP exchange'lerini başlatma veya etkinleştirme işlemini devre dışı bırakın.

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

Dokuma Katmanı

 WeaveMessageLayer(
  void
)

Weave Mesaj katmanı oluşturucu.

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 bir yük için kullanılabilir alanı aşmayacak.

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

Son olarak, döndürülen maksimum yük boyutu, maksimum Weave mesaj boyutunu taşacak bir Weave mesajı göndermez.

Ayrıntılar
Parametreler
[in] msgBuf
İleti yükünün yazılacağı PaketBuffer'a bir işaretçi.
[in] isUDP
Mesaj UDP mesajıysa doğrudur.
[in] udpMTU
UDP MTU'nun boyutu. isUDP yanlışsa yoksayılır.
İadeler
Maks. Weave yük boyutu.

Eş-Açıklama Açıklaması

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

Oluşturulan dize aşağıdaki biçime sahiptir:

 ([]:%, con )

Ayrıntılar
Parametreler
[in] buf
Dizenin yazılması gereken tampon 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 kesilir. Çıkış, her durumda NUL kapatma karakteri içerir.
[in] bufSize
Çubukla belirtilen arabelleğin boyutu.
[in] nodeId
Yazdırılacak düğüm kimliği.
[in] addr
İşaretlenecek IP adresinin işaretçisi veya IP adresi yazdırılmaması durumunda SÜTUN.
[in] port
Yazdırılacak IP bağlantı noktası numarası. Eklenti NULL ise bağlantı noktası numarası yazdırılmaz.
[in] interfaceId
Yazdırılacak arayüzü tanımlayan arayüz kimliği. Çıkış dizesi, arayüzün temel ağ yığınında bilinen adını içerir. Arayüz kimliği INET_NULL_INTERFACEID veya bağlayıcı NULL ise arayüz adı yazdırılmaz.
[in] con
Günlük kimliğinin yazdırılması gereken bir WeaveConnection nesnesine işaret eder; bağlantı kimliğinin yazdırılmaması gerekiyorsa NULL değerine ayarlanır.

Eş-Açıklama Açıklaması

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

Eşten alınan mesajla ilişkili bilgileri temel alarak bir eş düğümünü tanımlayan bir dize oluşturur.

Ayrıntılar
Parametreler
[in] buf
Dizenin yazılması gereken tampon 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 kesilir. Çıkış, her durumda NUL kapatma karakteri içerir.
[in] bufSize
Çubukla belirtilen arabelleğin boyutu.
[in] msgInfo
İletiyle ilgili bilgileri içeren WeaveMessageInfo yapısının işaretçisi.