nl:: örgü:: ÖrgüMesaj Katmanı

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

Tanımı WeaveMessageLayer diğer örgü düğümlerle iletişimi yönetir sınıfı sağlar.

özet

Diğer Weave düğümleriyle bir iletişim kanalı kurmak için birkaç InetLayer uç noktasından birini kullanır.

Yapıcılar ve Yıkıcılar

WeaveMessageLayer (void)
Örgü Mesaj katmanı yapıcısı.

Genel 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 bir hatayı bildirmek için daha yüksek katman geri çağrısıdır.
CallbackRemovedFunct )(void *listenerState) typedef
void(*
Bu işlev, bir geri aramayı 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 daha yüksek katman geri çağrısıdır.
MessageLayerActivityChangeHandlerFunct )(bool messageLayerIsActive) typedef
void(*
Bu fonksiyon, mesaj katmanı aktivite değişikliğini raporlamak için uygulama geri çağrısıdır.
MessageReceiveFunct )(WeaveMessageLayer *msgLayer, WeaveMessageInfo *msgInfo, PacketBuffer *payload) typedef
void(*
Bu işlev, UDP üzerinden bir Örgü mesajı alındığında çağrılan üst katman geri çağrısı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ğrısıdır.
State {
kState_NotInitialized = 0,
kState_Initializing = 1,
kState_Initialized = 2
}
Sıralama
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ğrısıdır.

Genel özellikler

AppState
void *
Uygulamaya özel durum nesnesine yönelik bir işaretçi.
ExchangeMgr
[SALT] ilişkili WeaveExchangeManager nesnesi.
FabricState
[SALT] ilişkili WeaveFabricState nesnesi.
IncomingConIdleTimeout
uint32_t
Gelen bağlantılar için varsayılan boşta kalma zaman aşımı (milisaniye cinsinden).
Inet
InetLayer *
[SADECE OKUYUN] İlişkili InetLayer nesnesi.
IsListening
bool
[SADECE OKUYUN] Gelen bağlantıları/mesajları dinliyorsanız doğru, değilse yanlış.
OnAcceptError
OnConnectionReceived
OnMessageReceived
OnReceiveError
OnUDPTunneledMessageReceived
SecurityMgr
[SALT] ilişkili WeaveSecurityManager nesnesi.
State
uint8_t
[Salt okunur] Durum WeaveMessageLayer nesne.
SystemLayer
mDropMessage
bool
Dahili ve Yalnızca Hata Ayıklama için; Ayarlandığında, WeaveMessageLayer mesajı ve döner düşer.

Kamu işlevleri

ClearUnsecuredConnectionListener ( ConnectionReceiveFunct oldOnUnsecuredConnectionReceived, CallbackRemovedFunct newOnUnsecuredConnectionCallbacksRemoved)
CloseEndpoints (void)
Tüm açık TCP ve UDP uç noktalarını kapatın.
CreateTunnel ( WeaveConnectionTunnel **tunPtr, WeaveConnection & conOne, WeaveConnection & conTwo, uint32_t inactivityTimeoutMS)
Bir oluşturma WeaveConnectionTunnel birlikte belirtilen iki WeaveConnections bağlanmasıyla.
DecodeHeader ( PacketBuffer *msgBuf, WeaveMessageInfo *msgInfo, uint8_t **payloadStart)
Alınan bir Örgü mesajından bir Örgü Mesajı katman başlığının kodunu çözün.
EncodeMessage ( WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf, WeaveConnection *con, uint16_t maxLen, uint16_t reserve)
Bir kodlama WeaveMessageLayer bir PacketBuffer içine başlığı.
EncodeMessage (const IPAddress & destAddr, uint16_t destPort, InterfaceId sendIntId, WeaveMessageInfo *msgInfo, PacketBuffer *payload)
Bir Weave Message katman başlığını bir PacketBuffer'a kodlayın.
EphemeralUDPPortEnabled (void) const
bool
Yerel olarak başlatılan Weave UDP değiş tokuşlarının geçici bir UDP kaynak bağlantı noktasından gönderilip gönderilmediğini kontrol edin.
GetConnectionPoolStats (nl::Weave::System::Stats::count_t & aOutInUse) const
void
Kullanılan WeaveConnections sayısını ve havuzun boyutunu alın.
IPv4ListenEnabled (void) const
bool
Olmadığını kontrol edin WeaveMessageLayer IPv4 üzerinden gelen iletişimler için dinlemek üzere yapılandırılır.
IPv6ListenEnabled (void) const
bool
Olmadığını kontrol edin WeaveMessageLayer IPv4 üzerinden gelen iletişimler için dinlemek üzere yapılandırılır.
Init ( InitContext *context)
Örgü Mesajı katmanı nesnesini başlatın.
IsBoundToLocalIPv4Address (void) const
bool
Olmadığını kontrol edin WeaveMessageLayer yerel IPv4 adresi atanmıştır.
IsBoundToLocalIPv6Address (void) const
bool
Olmadığını kontrol edin WeaveMessageLayer yerel IPv6 adresi atanmıştır.
IsMessageLayerActive (void)
bool
NewConnection (void)
Yeni oluştur WeaveConnection bir havuzdan nesneyi.
NewConnectionTunnel (void)
Yeni oluştur WeaveConnectionTunnel bir havuzdan nesneyi.
ReEncodeMessage ( PacketBuffer *buf)
RefreshEndpoints (void)
Sistemin ağ arabirimlerinin geçerli durumuna göre InetLayer uç noktalarını yenileyin.
ResendMessage ( WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
Temeldeki Inetlayer UDP uç noktasını kullanarak kodlanmış bir Weave mesajını yeniden gönderin.
ResendMessage (const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
Temeldeki 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)
Temeldeki 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)
Temeldeki Inetlayer UDP uç noktasını kullanarak kodlanmış bir Weave mesajını yeniden gönderin.
SendMessage ( WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
Kodladıktan sonra temel alınan Inetlayer UDP uç noktasını kullanarak bir Örgü mesajı gönderin.
SendMessage (const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
Kodladıktan sonra temel alınan Inetlayer UDP uç noktasını kullanarak bir Örgü mesajı gönderin.
SendMessage (const IPAddress & destAddr, uint16_t destPort, InterfaceId sendIntfId, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
Kodladıktan sonra temel alınan Inetlayer UDP uç noktasını kullanarak bir Örgü mesajı gönderin.
SendUDPTunneledMessage (const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
Yerel bir 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
Etkinleştirme veya içinde gelen TCP bağlantılarını devre dışı dinleme WeaveMessageLayer .
SetUDPListenEnabled (bool val)
void
Etkinleştirme veya içinde gelen UDP mesajları için devre dışı dinleme WeaveMessageLayer .
SetUnsecuredConnectionListener ( ConnectionReceiveFunct newOnUnsecuredConnectionReceived, CallbackRemovedFunct newOnUnsecuredConnectionCallbacksRemoved, bool force, void *listenerState)
Shutdown (void)
TCPListenEnabled (void) const
bool
Olmadığını kontrol edin WeaveMessageLayer Gelen TCP bağlantılarını dinlemek üzere yapılandırılır.
UDPListenEnabled (void) const
bool
Olmadığını kontrol edin WeaveMessageLayer gelen UDP mesajları için dinlemek üzere yapılandırılır.
UnsecuredListenEnabled (void) const
bool
Geçici bir UDP kaynak bağlantı noktasından Weave UDP değiş tokuşlarını başlatmayı etkinleştirin veya devre dışı bırakın.

Genel 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şten alınan bir mesajla ilişkili bilgilere dayalı olarak bir eş düğümü tanımlayan bir dize oluşturur.

sınıflar

nl :: Dokuma :: WeaveMessageLayer :: InitContext

Tanımı InitContext sınıfı.

Genel türler

Kabul EtErrorFunct

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

Bu işlev, gelen bir TCP bağlantısının işlenmesi sırasında bir hatayı bildirmek için daha yüksek katman geri çağrısıdır.

Ayrıntılar
parametreler
[in] msgLayer
Bir işaretçi WeaveMessageLayer nesne.
[in] err
WEAVE_ERROR, gelen bir TCP bağlantısı işlenirken karşılaşıldı.

Geri AramaKaldırıldıİşlev

void(* CallbackRemovedFunct)(void *listenerState)

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

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

BağlantıAlmaFonksiyonu

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

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

Ayrıntılar
parametreler
[in] msgLayer
Bir işaretçi WeaveMessageLayer nesne.
[in] con
Bir işaretçi WeaveConnection nesne.

MessageLayerActivityChangeHandlerFunct

void(* MessageLayerActivityChangeHandlerFunct)(bool messageLayerIsActive)

Bu fonksiyon, mesaj katmanı aktivite değişikliğini raporlamak için uygulama geri çağrısıdır.

En az bir açık değişim veya bekleyen mesaj sayacı senkronizasyon talebi varsa, mesaj katmanı aktif olarak kabul edilir.

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

MesajAlmaFonksiyonu

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

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

Ayrıntılar
parametreler
[in] msgLayer
Bir işaretçi WeaveMessageLayer nesne.
[in] msgInfo
Bir işaretçi WeaveMessageInfo nesne.
[in] payload
Alınan tünel paketini içeren PacketBuffer mesajına işaretçi.

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ğrısıdır.

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

Durum

 State

Devlet WeaveMessageLayer .

Özellikleri
kState_Initialized

Devlet WeaveMessageLayer başlatılır.

kState_Initializing

Devlet ne zaman WeaveMessageLayer başlatıldı olma sürecindedir.

kState_NotInitialized

Devlet WeaveMessageLayer başlatılmadı.

TünelliMsgAlmaİşlevi

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ğrısıdır.

Ayrıntılar
parametreler
[in] msgLayer
Bir işaretçi WeaveMessageLayer nesne.
[in] payload
Alınan tünel paketini içeren PacketBuffer mesajına işaretçi.

Genel özellikler

Uygulama Durumu

void * AppState

Uygulamaya özel durum nesnesine yönelik bir işaretçi.

ExchangeMgr

WeaveExchangeManager * ExchangeMgr

[SALT] ilişkili WeaveExchangeManager nesnesi.

KumaşDurumu

WeaveFabricState * FabricState

[SALT] ilişkili WeaveFabricState nesnesi.

GelenConIdleTimeout

uint32_t IncomingConIdleTimeout

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

Inet

InetLayer * Inet

[SADECE OKUYUN] İlişkili InetLayer nesnesi.

Dinliyor

bool IsListening

[SADECE OKUYUN] Gelen bağlantıları/mesajları dinliyorsanız doğru, değilse yanlış.

OnAcceptError

AcceptErrorFunct OnAcceptError

Bağlantı Alındığında

ConnectionReceiveFunct OnConnectionReceived

Mesaj Alındığında

MessageReceiveFunct OnMessageReceived

OnReceiveError

ReceiveErrorFunct OnReceiveError

OnUDPTunneledMessageAlındı

TunneledMsgReceiveFunct OnUDPTunneledMessageReceived

GüvenlikYöneticisi

WeaveSecurityManager * SecurityMgr

[SALT] ilişkili WeaveSecurityManager nesnesi.

Durum

uint8_t State

[Salt okunur] Durum WeaveMessageLayer nesne.

Sistem Katmanı

System::Layer * SystemLayer

mDropMessage

bool mDropMessage

Dahili ve Yalnızca Hata Ayıklama için; Ayarlandığında, WeaveMessageLayer mesajı ve döner düşer.

Kamu işlevleri

ClearUnsecuredConnectionListener

WEAVE_ERROR ClearUnsecuredConnectionListener(
  ConnectionReceiveFunct oldOnUnsecuredConnectionReceived,
  CallbackRemovedFunct newOnUnsecuredConnectionCallbacksRemoved
)

KapatUç Noktaları

WEAVE_ERROR CloseEndpoints(
  void
)

Tüm açık TCP ve UDP uç noktalarını kapatın.

Sonra tüm açık WeaveConnections ve kapatma herhangi bir açık iptal WeaveConnectionTunnel nesneler.

Ayrıca bakınız:
Shutdown () .

Tünel Oluştur

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

Bir oluşturma WeaveConnectionTunnel birlikte belirtilen iki WeaveConnections bağlanmasıyla.

Başarılı yaratılış günü, bileşen tekabül TCPEndPoints WeaveConnection nesnelere teslim edilir WeaveConnectionTunnel aksi WeaveConnections kapalıdır.

Ayrıntılar
parametreler
[out] tunPtr
Bir işaretleyicisi için bir işaretçi WeaveConnectionTunnel nesne.
[in] conOne
Birinci referans WeaveConnection nesne.
[in] conTwo
İkinci bir başvuru WeaveConnection nesne.
[in] inactivityTimeoutMS
Weave bağlantı tünelinin boşta kalabileceği milisaniye cinsinden maksimum süre.
Dönüş Değerleri
WEAVE_NO_ERROR
başarılı oluşturulmasına WeaveConnectionTunnel .
WEAVE_ERROR_INCORRECT_STATE
bileşen ise WeaveConnection amaçlan WeaveConnectionTunnel doğru durumda değildir.
WEAVE_ERROR_NO_MEMORY
eğer yeni bir WeaveConnectionTunnel nesne oluşturulamaz.

DecodeBaşlık

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

Alınan bir Örgü mesajından bir Örgü Mesajı katman başlığının kodunu çözün.

Ayrıntılar
parametreler
[in] msgBuf
Weave mesajını tutan PacketBuffer nesnesine bir işaretçi.
[in] msgInfo
Bir bir gösterici WeaveMessageInfo mesaj hakkında bilgi verir nesne.
[out] payloadStart
Kod çözme tamamlandıktan sonra mesaj arabelleğindeki konumu gösteren bir işaretçi.
Dönüş Değerleri
WEAVE_NO_ERROR
Mesaj başlığının başarılı bir şekilde çözülmesi üzerine.
WEAVE_ERROR_INVALID_MESSAGE_LENGTH
Geçirilen ileti arabelleği geçersiz uzunluktaysa.
WEAVE_ERROR_UNSUPPORTED_MESSAGE_VERSION
Weave Message başlık formatı sürümü desteklenmiyorsa.

EncodeMessage

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

Bir kodlama WeaveMessageLayer bir PacketBuffer içine başlığı.

Ayrıntılar
parametreler
[in] msgInfo
Bir bir gösterici WeaveMessageInfo mesaj hakkında bilgi içeren bir nesne kodlanacak.
[in] msgBuf
Weave mesajını tutacak PacketBuffer nesnesine yönelik bir işaretçi.
[in] con
Bir işaretçi WeaveConnection nesne.
[in] maxLen
Kodlanmış Örgü mesajının maksimum uzunluğu.
[in] reserve
Weave mesaj başlığını tutmak için yükten önce ayrılmış alan.
Dönüş Değerleri
WEAVE_NO_ERROR
mesajın başarılı bir şekilde kodlanması üzerine.
WEAVE_ERROR_UNSUPPORTED_MESSAGE_VERSION
Weave Message başlık formatı sürümü desteklenmiyorsa.
WEAVE_ERROR_INVALID_MESSAGE_LENGTH
mesaj arabelleğindeki yük uzunluğu sıfırsa.
WEAVE_ERROR_UNSUPPORTED_ENCRYPTION_TYPE
mesaj başlığındaki şifreleme türü desteklenmiyorsa.
WEAVE_ERROR_MESSAGE_TOO_LONG
kodlanmış mesaj istenen maksimum değerden daha uzun olacaksa.
WEAVE_ERROR_BUFFER_TOO_SMALL
mesaj yükünden önce veya sonra yeterli alan yoksa.
other
oturum durumu alınırken yapı durumu nesnesi tarafından oluşturulan hatalar.

EncodeMessage

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

Bir Weave Message katman başlığını bir PacketBuffer'a kodlayın.

Ayrıntılar
parametreler
[in] destAddr
Hedef IP Adresi.
[in] destPort
Hedef bağlantı noktası.
[in] sendIntId
Örgü mesajının gönderileceği arayüz.
[in] msgInfo
Bir bir gösterici WeaveMessageInfo nesne.
[in] payload
Weave mesajını tutacak PacketBuffer nesnesine yönelik bir işaretçi.
Dönüş Değerleri
WEAVE_NO_ERROR
Weave mesajının başarılı bir şekilde kodlanması üzerine.
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
kodlanmış mesaj istenen maksimum değerden daha uzun olacaksa.
WEAVE_ERROR_BUFFER_TOO_SMALL
mesaj yükünden önce veya sonra yeterli alan yoksa.
other
oturum durumu alınırken yapı durumu nesnesi tarafından oluşturulan hatalar.

GeçiciUDPPort Etkin

bool EphemeralUDPPortEnabled(
  void
) const 

Yerel olarak başlatılan Weave UDP değiş tokuşlarının geçici bir UDP kaynak bağlantı noktasından gönderilip gönderilmediğini kontrol edin.

GetConnectionPoolStats

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

Kullanılan WeaveConnections sayısını ve havuzun boyutunu alın.

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

IPv4ListenEtkin

bool IPv4ListenEnabled(
  void
) const 

Olmadığını kontrol edin WeaveMessageLayer IPv4 üzerinden gelen iletişimler için dinlemek üzere yapılandırılır.

IPv6ListenEtkin

bool IPv6ListenEnabled(
  void
) const 

Olmadığını kontrol edin WeaveMessageLayer IPv4 üzerinden gelen iletişimler için dinlemek üzere yapılandırılır.

İçinde

WEAVE_ERROR Init(
  InitContext *context
)

Örgü Mesajı katmanı nesnesini başlatın.

Ayrıntılar
parametreler
[in] context
Bir işaretçi InitContext nesne.
Dönüş Değerleri
WEAVE_NO_ERROR
başarılı başlatma hakkında.
WEAVE_ERROR_INVALID_ARGUMENT
aktarılırsa InitContext nesne NULL.
WEAVE_ERROR_INCORRECT_STATE
durumu varsa WeaveMessageLayer nesnenin yanlış.
other
uç nokta oluşturma sırasında alt Inet katmanından oluşturulan hatalar.

IsBoundToLocalIPv4Adres

bool IsBoundToLocalIPv4Address(
  void
) const 

Olmadığını kontrol edin WeaveMessageLayer yerel IPv4 adresi atanmıştır.

IsBoundToLocalIPv6Adresi

bool IsBoundToLocalIPv6Address(
  void
) const 

Olmadığını kontrol edin WeaveMessageLayer yerel IPv6 adresi atanmıştır.

IsMessageLayerActive

bool IsMessageLayerActive(
  void
)

Yeni bağlantı

WeaveConnection * NewConnection(
  void
)

Yeni oluştur WeaveConnection bir havuzdan nesneyi.

Ayrıntılar
İadeler
Yeni oluşturulan bir işaretçi WeaveConnection nesnesi eğer başarılı, aksi BOŞ.

YeniBağlantı Tüneli

WeaveConnectionTunnel * NewConnectionTunnel(
  void
)

Yeni oluştur WeaveConnectionTunnel bir havuzdan nesneyi.

Ayrıntılar
İadeler
Yeni oluşturulan bir işaretçi WeaveConnectionTunnel nesnesi eğer başarılı, aksi BOŞ.

Yeniden KodlaMesajı

WEAVE_ERROR ReEncodeMessage(
  PacketBuffer *buf
)

Yenileme Uç Noktaları

WEAVE_ERROR RefreshEndpoints(
  void
)

Sistemin ağ arabirimlerinin geçerli durumuna göre InetLayer uç noktalarını yenileyin.

Ayrıntılar
Dönüş Değerleri
WEAVE_NO_ERROR
uç noktaların başarılı bir şekilde yenilenmesi üzerine.
InetLayer
TCP/UDP uç noktaları oluşturmak için yapılan çağrılara dayalı hatalar.

Mesajı tekrar gönder

WEAVE_ERROR ResendMessage(
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

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

Ayrıntılar
parametreler
[in] msgInfo
Bir işaretçi WeaveMessageInfo nesne.
[in] payload
Kodlanmış Weave mesajını tutan PacketBuffer nesnesine bir işaretçi.
Dönüş Değerleri
WEAVE_NO_ERROR
mesajı ağ katmanına başarıyla gönderirken.
errors
gönderme sırasında alt Inet katmanı UDP uç noktasından oluşturulur.

Mesajı tekrar gönder

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

Temeldeki 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
Bir işaretçi WeaveMessageInfo nesne.
[in] payload
Kodlanmış Weave mesajını tutan PacketBuffer nesnesine bir işaretçi.
Dönüş Değerleri
WEAVE_NO_ERROR
mesajı ağ katmanına başarıyla gönderirken.
errors
gönderme sırasında alt Inet katmanı UDP uç noktasından oluşturulur.

Mesajı tekrar gönder

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

Temeldeki 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
Bir işaretçi WeaveMessageInfo nesne.
[in] payload
Kodlanmış Weave mesajını tutan PacketBuffer nesnesine bir işaretçi.
Dönüş Değerleri
WEAVE_NO_ERROR
mesajı ağ katmanına başarıyla gönderirken.
errors
gönderme sırasında alt Inet katmanı UDP uç noktasından oluşturulur.

Mesajı tekrar gönder

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

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

Not: hedef adresi temin edilmemiştir -Eğer, mesaj başlığında düğüm tanımlayıcı onu belirlemeye çalışır. Bu yapılamıyorsa başarısız olun. -Hedef adres yerel yapı için bir yapı adresiyse ve arayan kişi hedef düğüm kimliğini belirtmediyse, hedef adresten çıkarın.

Ayrıntılar
parametreler
[in] aDestAddr
Hedef IP Adresi.
[in] destPort
Hedef liman.
[in] interfaceId
Örgü mesajının gönderileceği arayüz.
[in] msgInfo
Bir işaretçi WeaveMessageInfo nesne.
[in] payload
Kodlanmış Weave mesajını tutan PacketBuffer nesnesine bir işaretçi.
Dönüş Değerleri
WEAVE_NO_ERROR
mesajı ağ katmanına başarıyla gönderirken.
errors
gönderme 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 temel alınan Inetlayer UDP uç noktasını kullanarak bir Örgü mesajı gönderin.

Ayrıntılar
parametreler
[in] msgInfo
Bir bir gösterici WeaveMessageInfo mesaj hakkında bilgi içeren bir nesne gönderecektir.
[in] payload
Kodlanmış Weave mesajını tutan PacketBuffer nesnesine bir işaretçi.
Dönüş Değerleri
WEAVE_NO_ERROR
mesajı ağ katmanına başarıyla gönderirken.
errors
gönderme 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 temel alınan Inetlayer UDP uç noktasını kullanarak bir Örgü mesajı gönderin.

Not: Kullanılan -The hedef limanıdır WEAVE_PORT . -Hedef adresi sağlanmadıysa, mesaj başlığındaki düğüm tanımlayıcısından bunu belirlemeye çalışın. Bu yapılamıyorsa başarısız olun.

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

Ayrıntılar
parametreler
[in] destAddr
Hedef IP Adresi.
[in] msgInfo
Bir bir gösterici WeaveMessageInfo mesaj hakkında bilgi içeren bir nesne gönderecektir.
[in] payload
Kodlanmış Weave mesajını tutan PacketBuffer nesnesine bir işaretçi.
Dönüş Değerleri
WEAVE_NO_ERROR
mesajı ağ katmanına başarıyla gönderirken.
errors
gönderme 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 temel alınan Inetlayer UDP uç noktasını kullanarak bir Örgü mesajı gönderin.

Not: hedef adresi temin edilmemiştir -Eğer, mesaj başlığında düğüm tanımlayıcı onu belirlemeye çalışır. Bu yapılamıyorsa başarısız olun. -Hedef adres yerel yapı için bir yapı adresiyse ve arayan kişi hedef düğüm kimliğini belirtmediyse, hedef adresinden çıkarın.

Ayrıntılar
parametreler
[in] aDestAddr
Hedef IP Adresi.
[in] destPort
Hedef bağlantı noktası.
[in] sendIntfId
Örgü mesajının gönderileceği arayüz.
[in] msgInfo
Bir bir gösterici WeaveMessageInfo mesaj hakkında bilgi içeren bir nesne gönderecektir.
[in] payload
Kodlanmış Weave mesajını tutan PacketBuffer nesnesine bir işaretçi.
Dönüş Değerleri
WEAVE_NO_ERROR
mesajı ağ katmanına başarıyla gönderirken.
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ünelli paket gönderme işlevi.

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

Ayrıntılar
parametreler
[in] msgInfo
Bir bir gösterici WeaveMessageInfo nesne.
[in] destAddr
UDP tüneli hedefinin IPAdresi.
[in] msgBuf
Gönderilecek paketi tutan PacketBuffer nesnesine yönelik bir işaretçi.
Dönüş Değerleri
WEAVE_NO_ERROR
mesajı ağ katmanına başarıyla gönderirken.
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.

SetSignalMessageLayerActivityDeğiştirildi

void SetSignalMessageLayerActivityChanged(
  MessageLayerActivityChangeHandlerFunct messageLayerActivityChangeHandler
)

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

Özellikle, başvuru her zaman bildirilecektir:

  • açılan borsaların sayısı değişir.
  • bekleyen mesaj sayacı senkronizasyon isteklerinin sayısı sıfırdan en az bire ve tekrar sıfıra değişir. İşleyici, devam eden herhangi bir Wea görüşmesi veya bekleyen yanıt olup olmadığını gösteren genel bir sinyal olarak sunulur. Sonra işleyici ayarlanmalıdır WeaveMessageLayer başlatıldı; kapatılıyor WeaveMessageLayer akım işleyicisi dışarı silinecektir.

Ayrıntılar
parametreler
[in] messageLayerActivityChangeHandler
Mesaj katmanı etkinliği her değiştiğinde çağrılacak bir işleve işaretçi.
Dönüş Değerleri
None.

SetTCPListenEnabled

void SetTCPListenEnabled(
  bool val
)

Etkinleştirme veya içinde gelen TCP bağlantılarını devre dışı dinleme WeaveMessageLayer .

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

SetUDPListenEnabled

void SetUDPListenEnabled(
  bool val
)

Etkinleştirme veya içinde gelen UDP mesajları için devre dışı dinleme WeaveMessageLayer .

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

SetUnsecuredConnectionListener

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

Kapat

WEAVE_ERROR Shutdown(
  void
)

Kapatma WeaveMessageLayer .

Tüm açık Inet katman uç noktalarını kapatın, tüm yüksek katman geri çağrılarını, üye değişkenlerini ve nesneleri sıfırlayın. Bir çağrı Kapatma () sona erer WeaveMessageLayer nesnesi.

TCPListenEnabled

bool TCPListenEnabled(
  void
) const 

Olmadığını kontrol edin WeaveMessageLayer Gelen TCP bağlantılarını dinlemek üzere yapılandırılır.

UDPListenEnabled

bool UDPListenEnabled(
  void
) const 

Olmadığını kontrol edin WeaveMessageLayer gelen UDP mesajları için dinlemek üzere yapılandırılır.

Güvenli OlmayanDinleme Etkin

bool UnsecuredListenEnabled(
  void
) const 

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

NOT: RefreshEndpoints() kısa ömürlü liman devleti değiştirildikten sonra çağrılmalıdır. Güvenli olmayan dinlemenin etkinleştirilip etkinleştirilmediğini kontrol edin.

ÖrgüMesaj Katmanı

 WeaveMessageLayer(
  void
)

Örgü Mesaj katmanı yapıcısı.

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

Mesaj UDP ise, döndürülen maksimum yük boyutu, belirtilen UDP MTU'yu aşmayacak bir Örgü mesajı ile sonuçlanmayacaktır.

Son olarak, döndürülen maksimum yük boyutu, maksimum Weave mesaj boyutunu aşacak bir Weave mesajına neden olmaz.

Ayrıntılar
parametreler
[in] msgBuf
İleti yükünün yazılacağı PacketBuffer'a yönelik bir işaretçi.
[in] isUDP
Mesaj bir UDP mesajıysa doğrudur.
[in] udpMTU
UDP MTU'nun boyutu. isUDP yanlışsa yoksayılır.
İadeler
maksimum Örgü 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 dizisi aşağıdaki formata sahip

 ([]:%, con )

Ayrıntılar
parametreler
[in] buf
Dizenin yazılacağı bir arabellek 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 kesilecektir. Çıktı, her durumda bir NUL sonlandırma karakteri içerecektir.
[in] bufSize
Buf ile gösterilen arabelleğin boyutu.
[in] nodeId
Yazdırılacak düğüm kimliği.
[in] addr
Yazdırılacak bir IP adresine yönelik bir işaretçi; veya IP adresi yazdırılmaması gerekiyorsa NULL.
[in] port
Yazdırılacak bir IP bağlantı noktası numarası. Adres NULL ise, hiçbir bağlantı noktası numarası yazdırılmaz.
[in] interfaceId
Yazdırılacak arabirimi tanımlayan bir InterfaceId. Çıkış dizesi, temel ağ yığını tarafından bilinen arabirimin adını içerecektir. interfaceId INET_NULL_INTERFACEID ise veya addr NULL ise hiçbir arabirim adı yazdırılmaz.
[in] con
Bir bir gösterici WeaveConnection günlük kimliği basılmalıdır nesne; veya bağlantı kimliği yazdırılmaması gerekiyorsa NULL.

GetPeerDescription

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

Eşten alınan bir mesajla ilişkili bilgilere dayalı olarak bir eş düğümü tanımlayan bir dize oluşturur.

Ayrıntılar
parametreler
[in] buf
Dizenin yazılacağı bir arabellek 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 kesilecektir. Çıktı, her durumda bir NUL sonlandırma karakteri içerecektir.
[in] bufSize
Buf ile gösterilen arabelleğin boyutu.
[in] msgInfo
Bir bir gösterici WeaveMessageInfo mesajı ile ilgili bilgileri içeren bir yapı.