nl:: Weave:: WeaveMessageLayer
#include <src/lib/core/WeaveMessageLayer.h>
Định nghĩa về lớp WeaveMessageLayer giúp quản lý hoạt động giao tiếp với các nút Weave khác.
Tóm tắt
Lớp này sử dụng một trong nhiều đ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à hàm phá |
|
---|---|
WeaveMessageLayer(void)
Hàm khởi tạo lớp Weave Messages.
|
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 sắp tới. |
MessageLayerActivityChangeHandlerFunct)(bool messageLayerIsActive)
|
typedefvoid(*
Hàm này là lệnh gọi lại ứng dụng để báo cáo sự thay đổi 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 Dệt 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 gói có Đường hầm qua đường hầm UDP cục bộ. |
Thuộc tính công khai |
|
---|---|
AppState
|
void *
Con trỏ đến một đối tượng trạng thái dành riêng cho ứng dụng.
|
ExchangeMgr
|
[READ ONLY] Đối tượng WeaveExchangeManager được liên kết.
|
FabricState
|
[READ ONLY] Đối tượng WeaveFabricState được liên kết.
|
IncomingConIdleTimeout
|
uint32_t
Thời gian chờ mặc định ở trạng thái rảnh (tính bằng mili giây) cho các kết nối đến.
|
Inet
|
InetLayer *
[READ ONLY] Đối tượng InetLayer được liên kết.
|
IsListening
|
bool
[READ ONLY] Nếu đang nghe tin nhắn/kết nối đến, thì "false" nếu không nghe.
|
OnAcceptError
|
|
OnConnectionReceived
|
|
OnMessageReceived
|
|
OnReceiveError
|
|
OnUDPTunneledMessageReceived
|
|
SecurityMgr
|
[READ ONLY] Đối tượng WeaveSecurityManager được liên kết.
|
State
|
uint8_t
[READ ONLY] Trạng thái của đối tượng WeaveMessageLayer.
|
SystemLayer
|
|
mDropMessage
|
bool
Nội bộ và chỉ dành cho việc 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ả cá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 ghép nối hai WeaveConnections được chỉ định.
|
DecodeHeader(PacketBuffer *msgBuf, WeaveMessageInfo *msgInfo, uint8_t **payloadStart)
|
Giải mã tiêu đề lớp Weave Messages từ thư Weave đã nhận.
|
EncodeMessage(WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf, WeaveConnection *con, uint16_t maxLen, uint16_t reserve)
|
Mã hoá tiêu đề WeaveMessageLayer vào một PacketBuffer.
|
EncodeMessage(const IPAddress & destAddr, uint16_t destPort, InterfaceId sendIntId, WeaveMessageInfo *msgInfo, PacketBuffer *payload)
|
Mã hoá tiêu đề của lớp Weave Message (Thông báo) vào PacketBuffer.
|
EphemeralUDPPortEnabled(void) const
|
bool
Kiểm tra xem các trao đổi UDP Weave được khởi tạo cục bộ có được gửi từ cổng nguồn UDP tạm thời hay không.
|
GetConnectionPoolStats(nl::Weave::System::Stats::count_t & aOutInUse) const
|
void
Biết 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 để nghe thông tin trao đổi đến qua IPv4 hay không.
|
IPv6ListenEnabled(void) const
|
bool
Kiểm tra xem WeaveMessageLayer có được định cấu hình để nghe thông tin trao đổi đế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 đị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ừ một nhóm.
|
NewConnectionTunnel(void)
|
Tạo một đối tượng WeaveConnectionTunnel mới từ một nhóm.
|
ReEncodeMessage(PacketBuffer *buf)
|
|
RefreshEndpoints(void)
|
Làm mới điểm cuối InetLayer dựa trên trạng thái hiện tại của giao diện mạng trên hệ thống.
|
ResendMessage(WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
|
Gửi lại tin nhắn 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 tin nhắn 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 tin nhắn 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 tin nhắn 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 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 tin Đường hầm qua đường hầm UDP cục bộ.
|
SetSignalMessageLayerActivityChanged(MessageLayerActivityChangeHandlerFunct messageLayerActivityChangeHandler)
|
void
Đặt 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 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 tin nhắn 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 tin nhắn UDP đến hay không.
|
UnsecuredListenEnabled(void) const
|
bool
Bật hoặc tắt tính năng khởi tạo các 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 tối đa của Weave cho cấu hình thông báo và cung cấp gói PacketBuffer.
|
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ả nút ngang hàng và thông tin địa chỉ / kết nối liên kết của nút đó.
|
GetPeerDescription(char *buf, size_t bufSize, const WeaveMessageInfo *msgInfo)
|
void
Tạo một chuỗi 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ừ ứng dụng 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.
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Các tham số |
|
CallbackRemovedFunct
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ố |
|
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.
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 sự thay đổi 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 yêu cầu đồng bộ hoá bộ đếm tin nhắn đang chờ xử lý hoặc trao đổi mở.
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 Dệt qua UDP.
Thông tin chi tiết | |||||||
---|---|---|---|---|---|---|---|
Các tham số |
|
ReceiveErrorFunct
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 động. |
kState_NotInitialized
|
Trạng thái khi WeaveMessageLayer chưa được khởi động. |
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 gói có Đường hầm qua đường hầm UDP cục bộ.
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Các tham số |
|
Thuộc tính công khai
AppState
void * AppState
Con trỏ đến một đối tượng trạng thái dành riêng cho ứng dụng.
ExchangeMgr
WeaveExchangeManager * ExchangeMgr
[READ ONLY] Đối tượng WeaveExchangeManager được liên kết.
IncomingConIdleTimeout
uint32_t IncomingConIdleTimeout
Thời gian chờ mặc định ở trạng thái rảnh (tính bằng mili giây) cho các kết nối đến.
Inet
InetLayer * Inet
[READ ONLY] Đối tượng InetLayer được liên kết.
IsListening
bool IsListening
[READ ONLY] Nếu đang nghe tin nhắn/kết nối đến, thì "false" nếu không nghe.
OnAcceptError
AcceptErrorFunct OnAcceptError
OnConnectionReceived
ConnectionReceiveFunct OnConnectionReceived
OnMessageReceived
MessageReceiveFunct OnMessageReceived
OnReceiveError
ReceiveErrorFunct OnReceiveError
OnUDPTunneledMessageReceived
TunneledMsgReceiveFunct OnUDPTunneledMessageReceived
SecurityMgr
WeaveSecurityManager * SecurityMgr
[READ ONLY] Đối tượng WeaveSecurityManager được liên kết.
SystemLayer
System::Layer * SystemLayer
mDropMessage
bool mDropMessage
Nội bộ và chỉ dành cho việc 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 )
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 WeaveConnectionTunnel bằng cách ghép nối hai WeaveConnections được chỉ định.
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.
Thông tin chi tiết | |||||||||
---|---|---|---|---|---|---|---|---|---|
Các 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 Messages từ thư Weave đã nhận.
Thông tin chi tiết | |||||||
---|---|---|---|---|---|---|---|
Các 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 một PacketBuffer.
Thông tin chi tiết | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Các 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 đề của lớp Weave Message (Thông báo) vào 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ác trao đổi UDP Weave được khởi tạo cục bộ có được gửi từ cổng nguồn UDP tạm thời hay không.
GetConnectionPoolStats
void GetConnectionPoolStats( nl::Weave::System::Stats::count_t & aOutInUse ) const
Biết số lượng WeaveConnections đang sử dụng và kích thước của nhóm.
Thông tin chi tiết | |||
---|---|---|---|
Các tham số |
|
IPv4ListenEnabled
bool IPv4ListenEnabled( void ) const
Kiểm tra xem WeaveMessageLayer có được định cấu hình để nghe thông tin trao đổi đến qua IPv4 hay không.
IPv6ListenEnabled
bool IPv6ListenEnabled( void ) const
Kiểm tra xem WeaveMessageLayer có được định cấu hình để nghe thông tin trao đổi đến qua IPv4 hay không.
Bắt đầu
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ề |
|
IsBoundToLocalIPv4Address
bool IsBoundToLocalIPv4Address( void ) const
Kiểm tra xem WeaveMessageLayer có được liên kết với đị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ừ một nhóm.
Thông tin chi tiết | |
---|---|
Trả về |
con trỏ đến đối tượng WeaveConnection mới tạo nếu thành công, nếu không thành công, giá trị sẽ là NULL.
|
NewConnectionTunnel
WeaveConnectionTunnel * NewConnectionTunnel( void )
Tạo một đố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 tạo nếu thành công, nếu không thành công, thì giá trị sẽ là NULL.
|
ReEncodeMessage
WEAVE_ERROR ReEncodeMessage( PacketBuffer *buf )
RefreshEndpoints
WEAVE_ERROR RefreshEndpoints( void )
Làm mới điểm cuối InetLayer dựa trên trạng thái hiện tại của giao diện mạng trên hệ thống.
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Giá trị trả về |
|
ResendMessage
WEAVE_ERROR ResendMessage( WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
Gửi lại tin nhắn 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ề |
|
ResendMessage
WEAVE_ERROR ResendMessage( const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
Gửi lại tin nhắn 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ề |
|
ResendMessage
WEAVE_ERROR ResendMessage( const IPAddress & destAddr, uint16_t destPort, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
Gửi lại tin nhắn 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ề |
|
ResendMessage
WEAVE_ERROR ResendMessage( const IPAddress & destAddr, uint16_t destPort, InterfaceId interfaceId, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf )
Gửi lại tin nhắn 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 cố gắng xác định địa chỉ này bằng mã nhận dạng nút trong tiêu đề thư. Sẽ không thành công nếu không thể thực hiện thao tác này. - Nếu địa chỉ đích là địa chỉ kết nối cho kết cấu cục bộ và phương thức gọi không chỉ định mã nhận dạng nút đích, hãy trích xuất mã này từ địa chỉ đích.
Thông tin chi tiết | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Các 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á.
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Các 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 từ mã nhận dạng nút trong tiêu đề thư. Sẽ không thành công nếu không thể thực hiện thao tác này.
- Nếu địa chỉ đích là địa chỉ kết nối cho kết cấu cục bộ và phương thức gọi không chỉ định mã nhận dạng nút đích, hãy trích xuất mã này từ địa chỉ đích.
Thông tin chi tiết | |||||||
---|---|---|---|---|---|---|---|
Các 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 bạn chưa cung cấp địa chỉ đích, hãy cố gắng xác định địa chỉ này bằng mã nhận dạng nút trong tiêu đề thư. Sẽ không thành công nếu không thể thực hiện thao tác này. - Nếu địa chỉ đích là địa chỉ kết nối cho kết cấu cục bộ và phương thức gọi không chỉ định mã nhận dạng nút đích, hãy trích xuất mã này từ địa chỉ đích.
Thông tin chi tiết | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Các 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 tin Đường hầm qua đường hầm UDP cục bộ.
Gửi thông báo dữ liệu IPv6 được đườ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 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ẽ được thông báo mỗi lần:
- số lượng sàn giao dịch đã mở thay đổi.
- 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 một và quay về 0. Trình xử lý đượ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 có phản hồi đang chờ xử lý hay không. Bạn phải đặt 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.
Thông tin chi tiết | |||
---|---|---|---|
Các tham số |
|
||
Giá trị trả về |
|
SetTCPListenEnabled
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 thay đổi.
SetUDPListenEnabled
void SetUDPListenEnabled( bool val )
Bật hoặc tắt tính năng nghe tin nhắn 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 lớp cao hơn, biến thành phần và đối tượng. Lệnh gọi shdown() 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 để nghe tin nhắn UDP đến hay không.
UnsecuredListenEnabled
bool UnsecuredListenEnabled( void ) const
Bật hoặc tắt tính năng khởi tạo các trao đổi UDP Weave từ cổng nguồn UDP tạm thời.
LƯU Ý: RefreshEndpoints()
phải được gọi sau khi thay đổi trạng thái cổng tạm thời. Kiểm tra xem bạn đã bật chế độ nghe không an toàn hay chưa.
WeaveMessageLayer
WeaveMessageLayer( void )
Hàm khởi tạo lớp Weave Messages.
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 tối đa của Weave cho cấu hình thông báo và cung cấp gói PacketBuffer.
Kích thước tải trọng tối đa được trả về sẽ không vượt quá không gian 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, 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 tràn UDP MTU đã chỉ định.
Cuối cùng, kích thước tải trọng tối đa được trả về sẽ không làm thông báo Weave vượt quá kích thước tối đa của thông báo Weave.
Thông tin chi tiết | |||||||
---|---|---|---|---|---|---|---|
Các tham số |
|
||||||
Trả về |
kích thước tải trọng tối đa của Weave.
|
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ả nút ngang hàng và thông tin địa chỉ / kết nối liên kết của nút đó.
Chuỗi được tạo có định dạng như sau:
([ ]: % , con )
Thông tin chi tiết | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Các tham số |
|
GetPeerDescription
void GetPeerDescription( char *buf, size_t bufSize, const WeaveMessageInfo *msgInfo )
Tạo một chuỗi 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ừ ứng dụng ngang hàng.
Thông tin chi tiết | |||||||
---|---|---|---|---|---|---|---|
Các tham số |
|