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