nl:: Weave:: WeaveMessageLayer
#include <src/lib/core/WeaveMessageLayer.h>
Định nghĩa của lớp WeaveMessageLayer, lớp này quản lý việc giao tiếp với các nút Weave khác.
Tóm tắt
Sử dụng một trong các điểm cuối InetLayer để thiết lập một kênh liên lạc với các nút Weave khác.
Hàm dựng và hàm dựng |
|
---|---|
WeaveMessageLayer(void)
Hàm khởi tạo lớp Weave Message.
|
Loại công khai |
|
---|---|
AcceptErrorFunct)(WeaveMessageLayer *msgLayer, WEAVE_ERROR err)
|
typedefvoid(*
Hàm này là lệnh gọi lại lớp cao hơn để báo cáo lỗi trong quá trình xử lý kết nối TCP đến. |
CallbackRemovedFunct)(void *listenerState)
|
typedefvoid(*
Hàm này được gọi để xoá một lệnh gọi lại. |
ConnectionReceiveFunct)(WeaveMessageLayer *msgLayer, WeaveConnection *con)
|
typedefvoid(*
Hàm này là lệnh gọi lại lớp cao hơn để xử lý kết nối TCP đến. |
MessageLayerActivityChangeHandlerFunct)(bool messageLayerIsActive)
|
typedefvoid(*
Hàm này là lệnh gọi lại ứng dụng để báo cáo thay đổi về hoạt động của lớp thông báo. |
MessageReceiveFunct)(WeaveMessageLayer *msgLayer, WeaveMessageInfo *msgInfo, PacketBuffer *payload)
|
typedefvoid(*
Hàm này là lệnh gọi lại lớp cao hơn được gọi khi nhận được thông báo Weave qua UDP. |
ReceiveErrorFunct)(WeaveMessageLayer *msgLayer, WEAVE_ERROR err, const IPPacketInfo *pktInfo)
|
typedefvoid(*
Hàm này là lệnh gọi lại lớp cao hơn được gọi khi gặp lỗi. |
State{
|
enum Trạng thái của WeaveMessageLayer. |
TunneledMsgReceiveFunct)(WeaveMessageLayer *msgLayer, PacketBuffer *payload)
|
typedefvoid(*
Hàm này là lệnh gọi lại lớp cao hơn được gọi khi nhận được đường hầm trong một đường hầm UDP cục bộ. |
Thuộc tính công khai |
|
---|---|
AppState
|
void *
Con trỏ trỏ đến đối tượng trạng thái dành riêng cho ứng dụng.
|
ExchangeMgr
|
[CHỈ ĐỌC] Đối tượng WeaveExchangeManager được liên kết.
|
FabricState
|
[CHỈ ĐỌC] Đối tượng WeaveFabricState được liên kết.
|
IncomingConIdleTimeout
|
uint32_t
Thời gian chờ không hoạt động mặc định (tính bằng mili giây) cho các kết nối đến.
|
Inet
|
InetLayer *
[CHỈ ĐỌC] Đối tượng InetLayer được liên kết.
|
IsListening
|
bool
[CHỈ ĐỌC] Đúng nếu nghe kết nối/tin nhắn đến, false nếu không.
|
OnAcceptError
|
|
OnConnectionReceived
|
|
OnMessageReceived
|
|
OnReceiveError
|
|
OnUDPTunneledMessageReceived
|
|
SecurityMgr
|
[CHỈ ĐỌC] Đối tượng WeaveSecurityManager được liên kết.
|
State
|
uint8_t
[CHỈ SỬ DỤNG] Trạng thái của đối tượng WeaveMessageLayer.
|
SystemLayer
|
|
mDropMessage
|
bool
Chỉ dành cho nội bộ và chỉ gỡ lỗi; Khi được đặt, WeaveMessageLayer sẽ bỏ thông báo và trả về.
|
Hàm công khai |
|
---|---|
ClearUnsecuredConnectionListener(ConnectionReceiveFunct oldOnUnsecuredConnectionReceived, CallbackRemovedFunct newOnUnsecuredConnectionCallbacksRemoved)
|
|
CloseEndpoints(void)
|
Đóng tất cả điểm cuối TCP và UDP đang mở.
|
CreateTunnel(WeaveConnectionTunnel **tunPtr, WeaveConnection & conOne, WeaveConnection & conTwo, uint32_t inactivityTimeoutMS)
|
Tạo WeaveConnectionTunnel bằng cách kết hợp hai WeaveConnections đã chỉ định.
|
DecodeHeader(PacketBuffer *msgBuf, WeaveMessageInfo *msgInfo, uint8_t **payloadStart)
|
Giải mã tiêu đề lớp Weave Message từ một thông báo Weave đã nhận.
|
EncodeMessage(WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf, WeaveConnection *con, uint16_t maxLen, uint16_t reserve)
|
Mã hóa tiêu đề WeaveMessageLayer thành PacketBuffer.
|
EncodeMessage(const IPAddress & destAddr, uint16_t destPort, InterfaceId sendIntId, WeaveMessageInfo *msgInfo, PacketBuffer *payload)
|
Mã hoá tiêu đề lớp Weave Message thành một PacketBuffer.
|
EphemeralUDPPortEnabled(void) const
|
bool
Kiểm tra xem có nên gửi các trao đổi UDP Weave UDP cục bộ từ một cổng nguồn UDP tạm thời hay không.
|
GetConnectionPoolStats(nl::Weave::System::Stats::count_t & aOutInUse) const
|
void
Nhận số lượng WeaveConnections đang được sử dụng và kích thước của nhóm.
|
IPv4ListenEnabled(void) const
|
bool
Kiểm tra xem WeaveMessageLayer có được định cấu hình để nghe các thông tin liên lạc đến qua IPv4 hay không.
|
IPv6ListenEnabled(void) const
|
bool
Kiểm tra xem WeaveMessageLayer có được định cấu hình để nghe các thông tin liên lạc đến qua IPv4 hay không.
|
Init(InitContext *context)
|
Khởi động đối tượng lớp Weave Message.
|
IsBoundToLocalIPv4Address(void) const
|
bool
Kiểm tra xem WeaveMessageLayer có được liên kết với một địa chỉ IPv4 cục bộ hay không.
|
IsBoundToLocalIPv6Address(void) const
|
bool
Kiểm tra xem WeaveMessageLayer có được liên kết với một địa chỉ IPv6 cục bộ hay không.
|
IsMessageLayerActive(void)
|
bool
|
NewConnection(void)
|
Tạo đối tượng WeaveConnection mới từ nhóm.
|
NewConnectionTunnel(void)
|
Tạo đối tượng WeaveConnectionTunnel mới từ một nhóm.
|
ReEncodeMessage(PacketBuffer *buf)
|
|
RefreshEndpoints(void)
|
Làm mới các điểm cuối InetLayer dựa trên trạng thái hiện tại của giao diện mạng của hệ thống.
|
ResendMessage(WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
|
Gửi lại thông báo Weave đã mã hoá bằng điểm cuối UDP Inetlayer cơ bản.
|
ResendMessage(const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
|
Gửi lại thông báo Weave đã mã hoá bằng điểm cuối UDP Inetlayer cơ bản.
|
ResendMessage(const IPAddress & destAddr, uint16_t destPort, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
|
Gửi lại thông báo Weave đã mã hoá bằng điểm cuối UDP Inetlayer cơ bản.
|
ResendMessage(const IPAddress & destAddr, uint16_t destPort, InterfaceId interfaceId, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
|
Gửi lại thông báo Weave đã mã hoá bằng điểm cuối UDP Inetlayer cơ bản.
|
SendMessage(WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
|
Gửi thông báo Weave bằng điểm cuối UDP gốc Inetlayer sau khi mã hoá.
|
SendMessage(const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
|
Gửi thông báo Weave bằng điểm cuối UDP gốc Inetlayer sau khi mã hoá.
|
SendMessage(const IPAddress & destAddr, uint16_t destPort, InterfaceId sendIntfId, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
|
Gửi thông báo Weave bằng điểm cuối UDP gốc Inetlayer sau khi mã hoá.
|
SendUDPTunneledMessage(const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
|
Hàm gửi một gói đường hầm qua một đường hầm UDP cục bộ.
|
SetSignalMessageLayerActivityChanged(MessageLayerActivityChangeHandlerFunct messageLayerActivityChangeHandler)
|
void
Đặt trình xử lý ứng dụng sẽ được gọi mỗi khi hoạt động của lớp thông báo thay đổi.
|
SetTCPListenEnabled(bool val)
|
void
Bật hoặc tắt tính năng nghe các kết nối TCP đến trong WeaveMessageLayer.
|
SetUDPListenEnabled(bool val)
|
void
Bật hoặc tắt tính năng nghe thông báo UDP đến trong WeaveMessageLayer.
|
SetUnsecuredConnectionListener(ConnectionReceiveFunct newOnUnsecuredConnectionReceived, CallbackRemovedFunct newOnUnsecuredConnectionCallbacksRemoved, bool force, void *listenerState)
|
|
Shutdown(void)
|
Tắt WeaveMessageLayer.
|
TCPListenEnabled(void) const
|
bool
Kiểm tra xem WeaveMessageLayer có được định cấu hình để theo dõi các kết nối TCP đến hay không.
|
UDPListenEnabled(void) const
|
bool
Kiểm tra xem WeaveMessageLayer có được định cấu hình để nghe các tin nhắn UDP đến hay không.
|
UnsecuredListenEnabled(void) const
|
bool
Bật hoặc tắt tính năng trao đổi Weave UDP từ cổng nguồn UDP tạm thời.
|
Hàm tĩnh công khai |
|
---|---|
GetMaxWeavePayloadSize(const PacketBuffer *msgBuf, bool isUDP, uint32_t udpMTU)
|
uint32_t
Tải kích thước nội dung tối đa của Weave cho một cấu hình thông báo và gói PacketBuffer đã cung cấp.
|
GetPeerDescription(char *buf, size_t bufSize, uint64_t nodeId, const IPAddress *addr, uint16_t port, InterfaceId interfaceId, const WeaveConnection *con)
|
void
Xây dựng một chuỗi mô tả nút ngang hàng và thông tin địa chỉ / kết nối liên quan.
|
GetPeerDescription(char *buf, size_t bufSize, const WeaveMessageInfo *msgInfo)
|
void
Xây dựng một chuỗi mô tả nút ngang hàng dựa trên thông tin liên kết với tin nhắn nhận được từ ứng dụng ngang hàng.
|
Lớp |
|
---|---|
nl:: |
Định nghĩa của lớp InitContext. |
Loại công khai
Chấp nhận lỗi
void(* AcceptErrorFunct)(WeaveMessageLayer *msgLayer, WEAVE_ERROR err)
Hàm này là lệnh gọi lại lớp cao hơn để báo cáo lỗi trong quá trình xử lý kết nối TCP đến.
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Các tham số |
|
Đã gọi lại FunFun
void(* CallbackRemovedFunct)(void *listenerState)
Hàm này được gọi để xoá một lệnh gọi lại.
Thông tin chi tiết | |||
---|---|---|---|
Các tham số |
|
Vui lòng kết nối
void(* ConnectionReceiveFunct)(WeaveMessageLayer *msgLayer, WeaveConnection *con)
Hàm này là lệnh gọi lại lớp cao hơn để xử lý kết nối TCP đến.
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Các tham số |
|
MessageLayerActivityChangeHandlerFunct
void(* MessageLayerActivityChangeHandlerFunct)(bool messageLayerIsActive)
Hàm này là lệnh gọi lại ứng dụng để báo cáo thay đổi về hoạt động của lớp thông báo.
Lớp thông báo được coi là đang hoạt động nếu có ít nhất 1 yêu cầu trao đổi đang mở hoặc yêu cầu đồng bộ hoá thông báo phản đối đang chờ xử lý.
Thông tin chi tiết | |||
---|---|---|---|
Các tham số |
|
MessageReceiveFunct
void(* MessageReceiveFunct)(WeaveMessageLayer *msgLayer, WeaveMessageInfo *msgInfo, PacketBuffer *payload)
Hàm này là lệnh gọi lại lớp cao hơn được gọi khi nhận được thông báo Weave qua UDP.
Thông tin chi tiết | |||||||
---|---|---|---|---|---|---|---|
Các tham số |
|
Nhận lỗi
void(* ReceiveErrorFunct)(WeaveMessageLayer *msgLayer, WEAVE_ERROR err, const IPPacketInfo *pktInfo)
Hàm này là lệnh gọi lại lớp cao hơn được gọi khi gặp lỗi.
Thông tin chi tiết | |||||||
---|---|---|---|---|---|---|---|
Các tham số |
|
Tiểu bang
State
Trạng thái của WeaveMessageLayer.
Thuộc tính | |
---|---|
kState_Initialized
|
Trạng thái khi khởi chạy WeaveMessageLayer. |
kState_Initializing
|
Trạng thái khi WeaveMessageLayer đang trong quá trình khởi tạo. |
kState_NotInitialized
|
Trạng thái khi WeaveMessageLayer chưa được khởi tạo. |
TunneledMessagesReceiveFunct
void(* TunneledMsgReceiveFunct)(WeaveMessageLayer *msgLayer, PacketBuffer *payload)
Hàm này là lệnh gọi lại lớp cao hơn được gọi khi nhận được đường hầm trong một đường hầm UDP cục bộ.
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Các tham số |
|
Thuộc tính công khai
Trạng thái ứng dụng
void * AppState
Con trỏ trỏ đến đối tượng trạng thái dành riêng cho ứng dụng.
ExchangeMgr
WeaveExchangeManager * ExchangeMgr
[CHỈ ĐỌC] Đối tượng WeaveExchangeManager được liên kết.
Trạng thái Fabric
WeaveFabricState * FabricState
[CHỈ ĐỌC] Đối tượng WeaveFabricState được liên kết.
Hệ thống thời gian chờ không hoạt động
uint32_t IncomingConIdleTimeout
Thời gian chờ không hoạt động mặc định (tính bằng mili giây) cho các kết nối đến.
Inet
InetLayer * Inet
[CHỈ ĐỌC] Đối tượng InetLayer được liên kết.
Đang nghe
bool IsListening
[CHỈ ĐỌC] Đúng nếu nghe kết nối/tin nhắn đến, false nếu không.
Lỗi chấp nhận
AcceptErrorFunct OnAcceptError
OnConnectionReceived
ConnectionReceiveFunct OnConnectionReceived
OnMessageReceived
MessageReceiveFunct OnMessageReceived
Lỗi OnReceive
ReceiveErrorFunct OnReceiveError
OnUDPTunneledMessageReceived
TunneledMsgReceiveFunct OnUDPTunneledMessageReceived
Lớp hệ thống (SystemLayer)
System::Layer * SystemLayer
mDropMessage
bool mDropMessage
Chỉ dành cho nội bộ và chỉ gỡ lỗi; Khi được đặt, WeaveMessageLayer sẽ bỏ thông báo và trả về.
Hàm công khai
clearUnSecuredConnectionListener
WEAVE_ERROR ClearUnsecuredConnectionListener( ConnectionReceiveFunct oldOnUnsecuredConnectionReceived, CallbackRemovedFunct newOnUnsecuredConnectionCallbacksRemoved )
Điểm kết thúc đóng
WEAVE_ERROR CloseEndpoints( void )
Đóng tất cả điểm cuối TCP và UDP đang mở.
Sau đó, huỷ mọi WeaveConnections đang mở và tắt mọi đối tượng WeaveConnectionTunnel đang mở.
Xem thêm:Hãy tắt().
Tạo đường hầm
WEAVE_ERROR CreateTunnel( WeaveConnectionTunnel **tunPtr, WeaveConnection & conOne, WeaveConnection & conTwo, uint32_t inactivityTimeoutMS )
Tạo WeaveConnectionTunnel bằng cách kết hợp hai WeaveConnections đã chỉ định.
Khi tạo thành công, TCPEndPoints tương ứng với các thành phần WeaveConnection được chuyển giao cho WeaveConnectionTunnel, nếu không, WeaveConnections đã đóng lại.
Thông tin chi tiết | |||||||||
---|---|---|---|---|---|---|---|---|---|
Các tham số |
|
||||||||
Giá trị trả về |
|
Giải mã tiêu đề
WEAVE_ERROR DecodeHeader( PacketBuffer *msgBuf, WeaveMessageInfo *msgInfo, uint8_t **payloadStart )
Giải mã tiêu đề lớp Weave Message từ một thông báo Weave đã nhận.
Thông tin chi tiết | |||||||
---|---|---|---|---|---|---|---|
Các tham số |
|
||||||
Giá trị trả về |
|
Mã hóa thư
WEAVE_ERROR EncodeMessage( WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf, WeaveConnection *con, uint16_t maxLen, uint16_t reserve )
Mã hóa tiêu đề WeaveMessageLayer thành PacketBuffer.
Thông tin chi tiết | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Các tham số |
|
||||||||||||||
Giá trị trả về |
|
Mã hóa thư
WEAVE_ERROR EncodeMessage( const IPAddress & destAddr, uint16_t destPort, InterfaceId sendIntId, WeaveMessageInfo *msgInfo, PacketBuffer *payload )
Mã hoá tiêu đề lớp Weave Message thành một PacketBuffer.
Thông tin chi tiết | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Các tham số |
|
||||||||||||||
Giá trị trả về |
|
EphemeralUDPPortEnabled
bool EphemeralUDPPortEnabled( void ) const
Kiểm tra xem có nên gửi các trao đổi UDP Weave UDP cục bộ từ một cổng nguồn UDP tạm thời hay không.
Nhận kết nối hồ sơ
void GetConnectionPoolStats( nl::Weave::System::Stats::count_t & aOutInUse ) const
Nhận số lượng WeaveConnections đang được sử dụng và kích thước của nhóm.
Thông tin chi tiết | |||
---|---|---|---|
Các tham số |
|
Đã bật IPv4Nghe
bool IPv4ListenEnabled( void ) const
Kiểm tra xem WeaveMessageLayer có được định cấu hình để nghe các thông tin liên lạc đến qua IPv4 hay không.
Đã bật IPv6Nghe
bool IPv6ListenEnabled( void ) const
Kiểm tra xem WeaveMessageLayer có được định cấu hình để nghe các thông tin liên lạc đến qua IPv4 hay không.
Init
WEAVE_ERROR Init( InitContext *context )
Khởi động đối tượng lớp Weave Message.
Thông tin chi tiết | |||||||||
---|---|---|---|---|---|---|---|---|---|
Các tham số |
|
||||||||
Giá trị trả về |
|
Địa chỉ IsBoundToLocalIPv4
bool IsBoundToLocalIPv4Address( void ) const
Kiểm tra xem WeaveMessageLayer có được liên kết với một địa chỉ IPv4 cục bộ hay không.
Địa chỉ IsBoundToLocalIPv66
bool IsBoundToLocalIPv6Address( void ) const
Kiểm tra xem WeaveMessageLayer có được liên kết với một địa chỉ IPv6 cục bộ hay không.
IsMessageLayer đang hoạt động
bool IsMessageLayerActive( void )
Kết nối mới
WeaveConnection * NewConnection( void )
Tạo đối tượng WeaveConnection mới từ nhóm.
Thông tin chi tiết | |
---|---|
Trả về |
con trỏ đến đối tượng WeaveConnection mới được tạo nếu thành công, nếu không, giá trị NULL.
|
NewConnectionTunnel
WeaveConnectionTunnel * NewConnectionTunnel( void )
Tạo đối tượng WeaveConnectionTunnel mới từ một nhóm.
Thông tin chi tiết | |
---|---|
Trả về |
con trỏ đến đối tượng WeaveConnectionTunnel mới được tạo nếu thành công, nếu không thì là NULL.
|
Tin nhắn mã hóa lại
WEAVE_ERROR ReEncodeMessage( PacketBuffer *buf )
Điểm cuối làm mới
WEAVE_ERROR RefreshEndpoints( void )
Làm mới các điểm cuối InetLayer dựa trên trạng thái hiện tại của giao diện mạng của hệ thống.
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Giá trị trả về |
|
Gửi lại tin nhắn
WEAVE_ERROR ResendMessage( WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
Gửi lại thông báo Weave đã mã hoá bằng điểm cuối UDP Inetlayer cơ bản.
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Các tham số |
|
||||
Giá trị trả về |
|
Gửi lại tin nhắn
WEAVE_ERROR ResendMessage( const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
Gửi lại thông báo Weave đã mã hoá bằng điểm cuối UDP Inetlayer cơ bản.
Thông tin chi tiết | |||||||
---|---|---|---|---|---|---|---|
Các tham số |
|
||||||
Giá trị trả về |
|
Gửi lại tin nhắn
WEAVE_ERROR ResendMessage( const IPAddress & destAddr, uint16_t destPort, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
Gửi lại thông báo Weave đã mã hoá bằng điểm cuối UDP Inetlayer cơ bản.
Thông tin chi tiết | |||||||||
---|---|---|---|---|---|---|---|---|---|
Các tham số |
|
||||||||
Giá trị trả về |
|
Gửi lại tin nhắn
WEAVE_ERROR ResendMessage( const IPAddress & destAddr, uint16_t destPort, InterfaceId interfaceId, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
Gửi lại thông báo Weave đã mã hoá bằng điểm cuối UDP Inetlayer cơ bản.
Lưu ý: – Nếu bạn chưa cung cấp địa chỉ đích, hãy thử xác định từ địa chỉ nhận dạng nút trong tiêu đề thư. Không thành công nếu không thể thực hiện việc này. – Nếu địa chỉ điểm đến là địa chỉ vải cho vải địa phương và người gọi không chỉ định mã nút đích, hãy trích xuất địa chỉ đó từ địa chỉ điểm đến.
Thông tin chi tiết | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Các tham số |
|
||||||||||
Giá trị trả về |
|
Gửi tin nhắn
WEAVE_ERROR SendMessage( WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
Gửi thông báo Weave bằng điểm cuối UDP gốc Inetlayer sau khi mã hoá.
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Các tham số |
|
||||
Giá trị trả về |
|
Gửi tin nhắn
WEAVE_ERROR SendMessage( const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
Gửi thông báo Weave bằng điểm cuối UDP gốc Inetlayer sau khi mã hoá.
Lưu ý: Cổng đích được sử dụng là WEAVE_PORT. -Nếu địa chỉ đích chưa được cung cấp, hãy cố gắng xác định từ địa chỉ nhận dạng nút trong tiêu đề thư. Không thành công nếu không thể thực hiện việc này.
– Nếu địa chỉ điểm đến là địa chỉ vải cho vải địa phương và người gọi không chỉ định mã nút đích, hãy trích xuất địa chỉ đó từ địa chỉ điểm đến.
Thông tin chi tiết | |||||||
---|---|---|---|---|---|---|---|
Các tham số |
|
||||||
Giá trị trả về |
|
Gửi tin nhắn
WEAVE_ERROR SendMessage( const IPAddress & destAddr, uint16_t destPort, InterfaceId sendIntfId, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
Gửi thông báo Weave bằng điểm cuối UDP gốc Inetlayer sau khi mã hoá.
Lưu ý: – Nếu bạn chưa cung cấp địa chỉ đích, hãy thử xác định từ địa chỉ nhận dạng nút trong tiêu đề thư. Không thành công nếu không thể thực hiện việc này. – Nếu địa chỉ điểm đến là địa chỉ vải cho vải địa phương và người gọi không chỉ định mã nút đích, hãy trích xuất địa chỉ đó từ địa chỉ điểm đến.
Thông tin chi tiết | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Các tham số |
|
||||||||||
Giá trị trả về |
|
Gửi tin nhắn
WEAVE_ERROR SendUDPTunneledMessage( const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
Hàm gửi một gói đường hầm qua một đường hầm UDP cục bộ.
Gửi thông báo dữ liệu IPv6 theo đường hầm qua UDP.
Thông tin chi tiết | |||||||
---|---|---|---|---|---|---|---|
Các tham số |
|
||||||
Giá trị trả về |
|
SetSignalMessageLayerActivityChanged
void SetSignalMessageLayerActivityChanged( MessageLayerActivityChangeHandlerFunct messageLayerActivityChangeHandler )
Đặt trình xử lý ứng dụng sẽ được gọi mỗi khi hoạt động của lớp thông báo thay đổi.
Cụ thể, ứng dụng sẽ nhận được thông báo mỗi khi:
- số lượng giao dịch trao đổi đã mở thay đổi.
- số lượng yêu cầu đồng bộ hóa bộ đếm tin nhắn đang chờ xử lý thay đổi từ 0 thành ít nhất một và trở về 0. Trình xử lý được phân phát dưới dạng tín hiệu chung cho biết có cuộc trò chuyện Weave đang diễn ra hay đang có phản hồi. Bạn phải đặt trình xử lý này sau khi khởi tạo WeaveMessageLayer; việc tắt WeaveMessageLayer sẽ xóa trình xử lý hiện tại.
Thông tin chi tiết | |||
---|---|---|---|
Các tham số |
|
||
Giá trị trả về |
|
Đã bật SetTCPNghe
void SetTCPListenEnabled( bool val )
Bật hoặc tắt tính năng nghe các kết nối TCP đến trong WeaveMessageLayer.
LƯU Ý: RefreshEndpoints()
phải được gọi sau khi trạng thái nghe TCP được thay đổi.
Đã bật SetUDPNghe
void SetUDPListenEnabled( bool val )
Bật hoặc tắt tính năng nghe thông báo UDP đến trong WeaveMessageLayer.
LƯU Ý: RefreshEndpoints()
phải được gọi sau khi trạng thái nghe UDP được thay đổi.
SetUnsecuredConnectionListener
WEAVE_ERROR SetUnsecuredConnectionListener( ConnectionReceiveFunct newOnUnsecuredConnectionReceived, CallbackRemovedFunct newOnUnsecuredConnectionCallbacksRemoved, bool force, void *listenerState )
Tắt
WEAVE_ERROR Shutdown( void )
Tắt WeaveMessageLayer.
Đóng tất cả điểm cuối lớp Inet mở, đặt lại tất cả các lệnh gọi lại lớp cao hơn, các biến thành phần và đối tượng. Lệnh gọi đến Offdown() chấm dứt đối tượng WeaveMessageLayer.
Đã bật TCPNghe
bool TCPListenEnabled( void ) const
Kiểm tra xem WeaveMessageLayer có được định cấu hình để theo dõi các kết nối TCP đến hay không.
Đã nghe UDP
bool UDPListenEnabled( void ) const
Kiểm tra xem WeaveMessageLayer có được định cấu hình để nghe các tin nhắn UDP đến hay không.
Đã bật Không bảo mật
bool UnsecuredListenEnabled( void ) const
Bật hoặc tắt tính năng trao đổi Weave UDP từ cổng nguồn UDP tạm thời.
LƯU Ý: RefreshEndpoints()
phải được gọi sau khi trạng thái cổng tạm thời thay đổi. Kiểm tra xem tính năng nghe không an toàn có được bật hay không.
WeaveMessageLayer
WeaveMessageLayer( void )
Hàm khởi tạo lớp Weave Message.
Hàm tĩnh công khai
Nhận kích thước tải tối đa
uint32_t GetMaxWeavePayloadSize( const PacketBuffer *msgBuf, bool isUDP, uint32_t udpMTU )
Tải kích thước nội dung tối đa của Weave cho một cấu hình thông báo và gói PacketBuffer đã cung cấp.
Kích thước nội dung tối đa được trả về sẽ không vượt quá không gian có sẵn cho tải trọng bên trong PacketBuffer đã cung cấp.
Nếu thông báo là UDP, kích thước nội dung tối đa được trả về sẽ không dẫn đến thông báo Weave sẽ không làm tràn UDP MTU đã chỉ định.
Cuối cùng, kích thước nội dung tối đa được trả về sẽ không tạo ra thông báo Weave sẽ làm tràn kích thước thông báo tối đa của Weave.
Thông tin chi tiết | |||||||
---|---|---|---|---|---|---|---|
Các tham số |
|
||||||
Trả về |
kích thước tải trọng Weave tối đa.
|
Nhận ngang hàng
void GetPeerDescription( char *buf, size_t bufSize, uint64_t nodeId, const IPAddress *addr, uint16_t port, InterfaceId interfaceId, const WeaveConnection *con )
Xây dựng một chuỗi mô tả nút ngang hàng và thông tin địa chỉ / kết nối liên quan.
Chuỗi đã tạo có định dạng như sau:
([ ]: % , con )
Thông tin chi tiết | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Các tham số |
|
Nhận ngang hàng
void GetPeerDescription( char *buf, size_t bufSize, const WeaveMessageInfo *msgInfo )
Xây dựng một chuỗi mô tả nút ngang hàng dựa trên thông tin liên kết với tin nhắn nhận được từ ứng dụng ngang hàng.
Thông tin chi tiết | |||||||
---|---|---|---|---|---|---|---|
Các tham số |
|