Google cam kết thúc đẩy công bằng chủng tộc cho Cộng đồng người da đen. Xem cách thực hiện.
Trang này được dịch bởi Cloud Translation API.
Switch to English

nl :: Dệt :: WeaveMessageLayer

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

Định nghĩa của lớp WeaveMessageLayer , quản lý giao tiếp với các nút Weave khác.

Tóm lược

Nó sử dụng một trong một số điểm cuối InetLayer để thiết lập kênh giao tiếp với các nút Weave khác.

Người xây dựng và Người phá hủy

WeaveMessageLayer (void)
Phương thức khởi tạo của lớp Thông điệp Weave.

Các loại công khai

AcceptErrorFunct )(WeaveMessageLayer *msgLayer, WEAVE_ERROR err) typedef
void(*
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) typedef
void(*
Hàm này được gọi để loại bỏ một lệnh gọi lại.
ConnectionReceiveFunct )(WeaveMessageLayer *msgLayer, WeaveConnection *con) typedef
void(*
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) typedef
void(*
Chức năng này là ứng dụng gọi lại để 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) typedef
void(*
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) typedef
void(*
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 {
kState_NotInitialized = 0,
kState_Initializing = 1,
kState_Initialized = 2
}
enum
Trạng thái của WeaveMessageLayer .
TunneledMsgReceiveFunct )(WeaveMessageLayer *msgLayer, PacketBuffer *payload) typedef
void(*
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 Tunneled qua đường hầm UDP cục bộ.

Thuộc tính công cộng

AppState
void *
Một con 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 WeaveFnaiState đượ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 lắng nghe kết nối / tin nhắn đến, nếu không thì sai.
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
Nội bộ và chỉ để gỡ lỗi; Khi được đặt, WeaveMessageLayer sẽ bỏ tin nhắn và trả về.

Chức năng công cộng

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 hai WeaveConnections được chỉ định với nhau.
DecodeHeader ( PacketBuffer *msgBuf, WeaveMessageInfo *msgInfo, uint8_t **payloadStart)
Giải mã tiêu đề lớp Thông báo Weave 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ã hóa tiêu đề lớp Thông báo Weave thành Bộ đệm gói.
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ừ 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 sử dụng và kích thước của hồ bơi.
IPv4ListenEnabled (void) const
bool
Kiểm tra xem WeaveMessageLayer có được định cấu hình để lắng nghe các 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 để lắng nghe các liên lạc đến qua IPv4 hay không.
Init ( InitContext *context)
Khởi tạo đối tượng lớp Weave Message.
IsBoundToLocalIPv4Address (void) const
bool
Kiểm tra xem WeaveMessageLayer 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 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 tin nhắn Weave được mã hóa bằng cách sử dụng điểm cuối Inetlayer UDP bên dưới.
ResendMessage (const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
Gửi lại tin nhắn Weave được mã hóa bằng cách sử dụng điểm cuối Inetlayer UDP bên dưới.
ResendMessage (const IPAddress & destAddr, uint16_t destPort, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
Gửi lại tin nhắn Weave được mã hóa bằng cách sử dụng điểm cuối Inetlayer UDP bên dưới.
ResendMessage (const IPAddress & destAddr, uint16_t destPort, InterfaceId interfaceId, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
Gửi lại tin nhắn Weave được mã hóa bằng cách sử dụng điểm cuối Inetlayer UDP bên dưới.
SendMessage ( WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
Gửi tin nhắn Weave bằng điểm cuối Inetlayer UDP bên dưới sau khi mã hóa nó.
SendMessage (const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
Gửi tin nhắn Weave bằng điểm cuối Inetlayer UDP bên dưới sau khi mã hóa nó.
SendMessage (const IPAddress & destAddr, uint16_t destPort, InterfaceId sendIntfId, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
Gửi tin nhắn Weave bằng điểm cuối Inetlayer UDP bên dưới sau khi mã hóa nó.
SendUDPTunneledMessage (const IPAddress & destAddr, WeaveMessageInfo *msgInfo, PacketBuffer *msgBuf)
Chức năng gửi một gói Tunneled qua một đườ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 gửi đến trong WeaveMessageLayer .
SetUDPListenEnabled (bool val)
void
Bật hoặc tắt tính năng nghe các tin nhắn UDP gửi đến trong WeaveMessageLayer .
SetUnsecuredConnectionListener ( ConnectionReceiveFunct newOnUnsecuredConnectionReceived, CallbackRemovedFunct newOnUnsecuredConnectionCallbacksRemoved, bool force, void *listenerState)
Shutdown (void)
TCPListenEnabled (void) const
bool
Kiểm tra xem WeaveMessageLayer có được định cấu hình để lắng nghe các kết nối TCP gửi đến hay không.
UDPListenEnabled (void) const
bool
Kiểm tra xem WeaveMessageLayer có được định cấu hình để lắng nghe các thông báo UDP đến hay không.
UnsecuredListenEnabled (void) const
bool
Bật hoặc tắt việc bắt đầu trao đổi Weave UDP từ một cổng nguồn UDP tạm thời.

Chức năng tĩnh công khai

GetMaxWeavePayloadSize (const PacketBuffer *msgBuf, bool isUDP, uint32_t udpMTU)
uint32_t
Nhận kích thước tải trọng Weave tối đa cho cấu hình tin nhắn và PacketBuffer được 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ả một nút ngang hàng và thông tin địa chỉ / kết nối liên quan của nó.
GetPeerDescription (char *buf, size_t bufSize, const WeaveMessageInfo *msgInfo)
void
Xây dựng một chuỗi mô tả một nút ngang hàng dựa trên thông tin được liên kết với một thông báo nhận được từ nút ngang hàng.

Các lớp học

nl :: Weave :: WeaveMessageLayer :: InitContext

Định nghĩa của lớp InitContext .

Các loại công khai

AcceptErrorFunct

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

Hàm này là hàm 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
Thông số
[in] msgLayer
Một con trỏ đến đối tượng WeaveMessageLayer .
[in] err
WEAVE_ERROR gặp phải khi xử lý kết nối TCP đến.

Gọi lại Đã xóa

void(* CallbackRemovedFunct)(void *listenerState)

Hàm này được gọi để loại bỏ một lệnh gọi lại.

Chi tiết
Thông số
[in] listenerState
Một con trỏ đến đối tượng trạng thái ứng dụng.

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 đến.

Chi tiết
Thông số
[in] msgLayer
Một con trỏ đến đối tượng WeaveMessageLayer .
[in] con
Một con trỏ đến đối tượng WeaveConnection .

MessageLayerActivityChangeHandlerFunct

void(* MessageLayerActivityChangeHandlerFunct)(bool messageLayerIsActive)

Chức năng này là ứng dụng gọi lại để 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ộ hóa bộ đếm thông báo đang mở hoặc đang chờ xử lý.

Chi tiết
Thông số
[in] messageLayerIsActive
Giá trị boolean cho biết lớp thông báo có đang hoạt động hay không.

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
Thông số
[in] msgLayer
Một con trỏ đến đối tượng WeaveMessageLayer .
[in] msgInfo
Một con trỏ đến đối tượng WeaveMessageInfo .
[in] payload
Con trỏ tới bản tin PacketBuffer chứa gói tin đã nhận được đường hầm.

GetErrorFunct

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.

Chi tiết
Thông số
[in] msgLayer
Một con trỏ đến đối tượng WeaveMessageLayer .
[in] err
WEAVE_ERROR gặp phải khi nhận dữ liệu.
[in] pktInfo
Một con trỏ chỉ đọc đến đối tượng IPPacketInfo.

Tiểu bang

 State

Trạng thái của WeaveMessageLayer .

Tính chất
kState_Initialized

Trạng thái khi WeaveMessageLayer được khởi tạo.

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 không được khởi tạo.

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 Tunneled qua đường hầm UDP cục bộ.

Chi tiết
Thông số
[in] msgLayer
Một con trỏ đến đối tượng WeaveMessageLayer .
[in] payload
Con trỏ đến bản tin PacketBuffer chứa gói tin đã nhận được đường hầm.

Thuộc tính công cộng

AppState

void * AppState

Một con 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.

Nhà máy

WeaveFabricState * FabricState

[CHỈ ĐỌC] Đối tượng WeaveFnaiState được liên kết.

IncomingConIdleTimeout

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 lắng nghe kết nối / tin nhắn đến, nếu không thì sai.

OnAcceptError

AcceptErrorFunct OnAcceptError

OnConnectionRenition

ConnectionReceiveFunct OnConnectionReceived

OnMessageReceive

MessageReceiveFunct OnMessageReceived

OnReceiveError

ReceiveErrorFunct OnReceiveError

OnUDPTunneledMessageReceive

TunneledMsgReceiveFunct OnUDPTunneledMessageReceived

SecurityMgr

WeaveSecurityManager * SecurityMgr

[CHỈ ĐỌC] Đối tượng WeaveSecurityManager được liên kết.

Tiểu bang

uint8_t State

[CHỈ ĐỌC] Trạng thái của đối tượng WeaveMessageLayer .

SystemLayer

System::Layer * SystemLayer

mDropMessage

bool mDropMessage

Nội bộ và chỉ để gỡ lỗi; Khi được đặt, WeaveMessageLayer sẽ bỏ tin nhắn và trả về.

Chức năng công cộng

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 đó hủy mọi WeaveConnections đang mở và tắt mọi đối tượng WeaveConnectionTunnel đang mở.

Xem thêm:
Tắt máy () .

CreateTunnel

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

Tạo WeaveConnectionTunnel bằng cách ghép hai WeaveConnections được chỉ định với nhau.

Khi tạo thành công, các TCPEndPoint tương ứng với các đối tượng thành phần WeaveConnection sẽ được chuyển giao cho WeaveConnectionTunnel , nếu không WeaveConnections sẽ bị đóng.

Chi tiết
Thông số
[out] tunPtr
Một con trỏ tới con trỏ của đối tượng WeaveConnectionTunnel .
[in] conOne
Tham chiếu đến đối tượng WeaveConnection đầu tiên.
[in] conTwo
Tham chiếu đến đối tượng WeaveConnection thứ hai.
[in] inactivityTimeoutMS
Thời gian tối đa tính bằng mili giây mà đường hầm kết nối Weave có thể không hoạt động.
Giá trị trả lại
WEAVE_NO_ERROR
khi tạo thành công WeaveConnectionTunnel .
WEAVE_ERROR_INCORRECT_STATE
nếu các đối tượng thành phần WeaveConnection của WeaveConnectionTunnel không ở trạng thái chính xác.
WEAVE_ERROR_NO_MEMORY
nếu không thể tạo đối tượng WeaveConnectionTunnel mới.

DecodeHeader

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

Giải mã tiêu đề lớp Thông báo Weave từ thông báo Weave đã nhận.

Chi tiết
Thông số
[in] msgBuf
Một con trỏ đến đối tượng PacketBuffer đang giữ thông báo Weave.
[in] msgInfo
Một con trỏ đến một đối tượng WeaveMessageInfo sẽ nhận thông tin về thông báo.
[out] payloadStart
Một con trỏ tới một con trỏ đến vị trí trong bộ đệm thư sau khi giải mã xong.
Giá trị trả lại
WEAVE_NO_ERROR
Khi giải mã thành công tiêu đề thư.
WEAVE_ERROR_INVALID_MESSAGE_LENGTH
Nếu bộ đệm thông báo được truyền có độ dài không hợp lệ.
WEAVE_ERROR_UNSUPPORTED_MESSAGE_VERSION
Nếu phiên bản định dạng tiêu đề Thông báo Weave không được hỗ trợ.

EncodeMessage

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

Mã hóa tiêu đề WeaveMessageLayer thành PacketBuffer.

Chi tiết
Thông số
[in] msgInfo
Một con trỏ đến một đối tượng WeaveMessageInfo có chứa thông tin về tin nhắn sẽ được mã hóa.
[in] msgBuf
Một con trỏ đến đối tượng PacketBuffer sẽ giữ thông báo Weave.
[in] con
Một con trỏ đến đối tượng WeaveConnection .
[in] maxLen
Độ dài tối đa của thông báo Weave được mã hóa.
[in] reserve
Không gian dành riêng trước trọng tải để giữ tiêu đề tin nhắn Weave.
Giá trị trả lại
WEAVE_NO_ERROR
mã hóa thành công tin nhắn.
WEAVE_ERROR_UNSUPPORTED_MESSAGE_VERSION
nếu phiên bản định dạng tiêu đề Thông báo Weave không được hỗ trợ.
WEAVE_ERROR_INVALID_MESSAGE_LENGTH
nếu độ dài trọng tải trong bộ đệm thông báo bằng 0.
WEAVE_ERROR_UNSUPPORTED_ENCRYPTION_TYPE
nếu kiểu mã hóa trong tiêu đề thư không được hỗ trợ.
WEAVE_ERROR_MESSAGE_TOO_LONG
nếu tin nhắn được mã hóa sẽ dài hơn mức tối đa được yêu cầu.
WEAVE_ERROR_BUFFER_TOO_SMALL
nếu không có đủ dung lượng trước hoặc sau tải tin nhắn.
other
lỗi do đối tượng trạng thái vải tạo ra khi tìm nạp trạng thái phiên.

EncodeMessage

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

Mã hóa tiêu đề lớp Thông báo Weave thành Bộ đệm gói.

Chi tiết
Thông số
[in] destAddr
Địa chỉ IP đích.
[in] destPort
Cổng đích.
[in] sendIntId
Giao diện để gửi tin nhắn Weave.
[in] msgInfo
Một con trỏ đến một đối tượng WeaveMessageInfo .
[in] payload
Một con trỏ đến đối tượng PacketBuffer sẽ giữ thông báo Weave.
Giá trị trả lại
WEAVE_NO_ERROR
khi mã hóa thành công thông điệp Weave.
WEAVE_ERROR_UNSUPPORTED_MESSAGE_VERSION
nếu phiên bản Weave Message không được hỗ trợ.
WEAVE_ERROR_INVALID_MESSAGE_LENGTH
nếu độ dài trọng tải trong bộ đệm thông báo bằng 0.
WEAVE_ERROR_UNSUPPORTED_ENCRYPTION_TYPE
nếu loại mã hóa không được hỗ trợ.
WEAVE_ERROR_MESSAGE_TOO_LONG
nếu tin nhắn được mã hóa sẽ dài hơn mức tối đa được yêu cầu.
WEAVE_ERROR_BUFFER_TOO_SMALL
nếu không có đủ dung lượng trước hoặc sau tải tin nhắn.
other
lỗi do đối tượng trạng thái vải tạo ra khi tìm nạp trạng thái phiên.

EphemeralUDPPortEnabled

bool EphemeralUDPPortEnabled(
  void
) const 

Kiểm tra xem trao đổi Weave UDP được khởi tạo cục bộ có được gửi từ mộ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 hồ bơi.

Chi tiết
Thông số
[out] aOutInUse
Tham chiếu đến size_t, trong đó số lượng kết nối đang sử dụng được lưu trữ.

IPv4ListenEnabled

bool IPv4ListenEnabled(
  void
) const 

Kiểm tra xem WeaveMessageLayer có được định cấu hình để lắng nghe các liên lạc đến qua IPv4 hay không.

IPv6ListenEnabled

bool IPv6ListenEnabled(
  void
) const 

Kiểm tra xem WeaveMessageLayer có được định cấu hình để lắng nghe các liên lạc đến qua IPv4 hay không.

Trong đó

WEAVE_ERROR Init(
  InitContext *context
)

Khởi tạo đối tượng lớp Weave Message.

Chi tiết
Thông số
[in] context
Một con trỏ đến đối tượng InitContext .
Giá trị trả lại
WEAVE_NO_ERROR
khi khởi tạo thành công.
WEAVE_ERROR_INVALID_ARGUMENT
nếu đối tượng InitContext được truyền là NULL.
WEAVE_ERROR_INCORRECT_STATE
nếu trạng thái của đối tượng WeaveMessageLayer không chính xác.
other
lỗi tạo ra từ lớp Inet thấp hơn trong quá trình tạo điểm cuối.

IsBoundToLocalIPv4Address

bool IsBoundToLocalIPv4Address(
  void
) const 

Kiểm tra xem WeaveMessageLayer 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
)

Kết nối mới

WeaveConnection * NewConnection(
  void
)

Tạo một đối tượng WeaveConnection mới từ một nhóm.

Chi tiết
Lợi nhuận
một con trỏ đến đối tượng WeaveConnection mới được tạo nếu thành công, nếu không thì NULL.

NewConnectionTunnel

WeaveConnectionTunnel * NewConnectionTunnel(
  void
)

Tạo một đối tượng WeaveConnectionTunnel mới từ một nhóm.

Chi tiết
Lợi nhuận
một con trỏ đến đối tượng WeaveConnectionTunnel mới được tạo nếu thành công, nếu không thì 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ả lại
WEAVE_NO_ERROR
khi làm mới thành công các điểm cuối.
InetLayer
lỗi dựa trên cuộc gọi để tạo điểm cuối TCP / UDP.

Gửi lại tin nhắn

WEAVE_ERROR ResendMessage(
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

Gửi lại tin nhắn Weave được mã hóa bằng cách sử dụng điểm cuối Inetlayer UDP bên dưới.

Chi tiết
Thông số
[in] msgInfo
Một con trỏ đến đối tượng WeaveMessageInfo .
[in] payload
Một con trỏ đến đối tượng PacketBuffer chứa thông điệp Weave được mã hóa.
Giá trị trả lại
WEAVE_NO_ERROR
khi gửi thành công thông báo xuống lớp mạng.
errors
được tạo từ điểm cuối UDP lớp Inet thấp hơn trong quá trình gửi.

Gửi lại tin nhắn

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

Gửi lại tin nhắn Weave được mã hóa bằng cách sử dụng điểm cuối Inetlayer UDP bên dưới.

Chi tiết
Thông số
[in] destAddr
Địa chỉ IP đích.
[in] msgInfo
Một con trỏ đến đối tượng WeaveMessageInfo .
[in] payload
Một con trỏ đến đối tượng PacketBuffer chứa thông điệp Weave được mã hóa.
Giá trị trả lại
WEAVE_NO_ERROR
khi gửi thành công thông báo xuống lớp mạng.
errors
được tạo từ điểm cuối UDP lớp Inet thấp hơn trong quá trình gửi.

Gửi lại tin nhắn

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

Gửi lại tin nhắn Weave được mã hóa bằng cách sử dụng điểm cuối Inetlayer UDP bên dưới.

Chi tiết
Thông số
[in] destAddr
Địa chỉ IP đích.
[in] destPort
Cổng đích.
[in] msgInfo
Một con trỏ đến đối tượng WeaveMessageInfo .
[in] payload
Một con trỏ đến đối tượng PacketBuffer chứa thông điệp Weave được mã hóa.
Giá trị trả lại
WEAVE_NO_ERROR
khi gửi thành công thông báo xuống lớp mạng.
errors
được tạo từ điểm cuối UDP lớp Inet thấp hơn trong quá trình gửi.

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 tin nhắn Weave được mã hóa bằng cách sử dụng điểm cuối Inetlayer UDP bên dưới.

Lưu ý: -Nếu địa chỉ đích chưa được cung cấp, hãy cố gắng xác định nó từ mã định danh nút trong tiêu đề thư. Thất bại nếu điều này không thể được thực hiện. -Nếu địa chỉ đích là địa chỉ vải cho cấu trúc cục bộ và người gọi không chỉ định id nút đích, hãy trích xuất nó từ địa chỉ đích.

Chi tiết
Thông số
[in] aDestAddr
Địa chỉ IP đích.
[in] destPort
Cổng đích.
[in] interfaceId
Giao diện để gửi tin nhắn Weave.
[in] msgInfo
Một con trỏ đến đối tượng WeaveMessageInfo .
[in] payload
Một con trỏ đến đối tượng PacketBuffer chứa thông điệp Weave được mã hóa.
Giá trị trả lại
WEAVE_NO_ERROR
khi gửi thành công thông báo xuống lớp mạng.
errors
được tạo từ điểm cuối UDP lớp Inet thấp hơn trong quá trình gửi.

Gửi tin nhắn

WEAVE_ERROR SendMessage(
  WeaveMessageInfo *msgInfo,
  PacketBuffer *msgBuf
)

Gửi tin nhắn Weave bằng điểm cuối Inetlayer UDP bên dưới sau khi mã hóa nó.

Chi tiết
Thông số
[in] msgInfo
Một con trỏ đến đối tượng WeaveMessageInfo chứa thông tin về tin nhắn sẽ được gửi.
[in] payload
Một con trỏ đến đối tượng PacketBuffer chứa thông điệp Weave được mã hóa.
Giá trị trả lại
WEAVE_NO_ERROR
khi gửi thành công thông báo xuống lớp mạng.
errors
được tạo từ điểm cuối UDP lớp Inet thấp hơn trong quá trình gửi.

Gửi tin nhắn

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

Gửi tin nhắn Weave bằng điểm cuối Inetlayer UDP bên dưới sau khi mã hóa nó.

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 nó từ định danh nút trong tiêu đề thư. Không thành công nếu điều này không thể được thực hiện.

-Nếu địa chỉ đích là địa chỉ vải cho cấu trúc cục bộ và người gọi không chỉ định id nút đích, hãy trích xuất nó từ địa chỉ đích.

Chi tiết
Thông số
[in] destAddr
Địa chỉ IP đích.
[in] msgInfo
Một con trỏ đến đối tượng WeaveMessageInfo chứa thông tin về tin nhắn sẽ được gửi.
[in] payload
Một con trỏ đến đối tượng PacketBuffer chứa thông điệp Weave được mã hóa.
Giá trị trả lại
WEAVE_NO_ERROR
khi gửi thành công thông báo xuống lớp mạng.
errors
được tạo từ điểm cuối UDP lớp Inet thấp hơn trong quá trình gửi.

Gửi tin nhắn

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

Gửi tin nhắn Weave bằng điểm cuối Inetlayer UDP bên dưới sau khi mã hóa nó.

Lưu ý: -Nếu địa chỉ đích chưa được cung cấp, hãy cố gắng xác định nó từ mã định danh nút trong tiêu đề thư. Không thành công nếu không thể thực hiện được. -Nếu địa chỉ đích là địa chỉ vải cho cấu trúc cục bộ và người gọi không chỉ định id nút đích, hãy trích xuất nó từ địa chỉ đích.

Chi tiết
Thông số
[in] aDestAddr
Địa chỉ IP đích.
[in] destPort
Cổng đích.
[in] sendIntfId
Giao diện để gửi tin nhắn Weave.
[in] msgInfo
Một con trỏ đến đối tượng WeaveMessageInfo chứa thông tin về tin nhắn sẽ được gửi.
[in] payload
Một con trỏ đến đối tượng PacketBuffer chứa thông điệp Weave được mã hóa.
Giá trị trả lại
WEAVE_NO_ERROR
khi gửi thành công thông báo xuống lớp mạng.
WEAVE_ERROR_INVALID_ADDRESS
nếu destAddr không được chỉ định hoặc không thể được xác định từ id nút đích.
errors
được tạo từ điểm cuối UDP lớp Inet thấp hơn trong quá trình gửi.

SendUDPTunneledMessage

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

Chức năng gửi một gói Tunneled qua một đường hầm UDP cục bộ.

Gửi tin nhắn dữ liệu IPv6 đường hầm qua UDP.

Chi tiết
Thông số
[in] msgInfo
Một con trỏ đến một đối tượng WeaveMessageInfo .
[in] destAddr
Địa chỉ IP của đích đường hầm UDP.
[in] msgBuf
Một con trỏ đến đối tượng PacketBuffer đang giữ gói tin để gửi.
Giá trị trả lại
WEAVE_NO_ERROR
khi gửi thành công thông báo xuống lớp mạng.
WEAVE_ERROR_INVALID_ADDRESS
nếu destAddr không được chỉ định hoặc không thể được xác định từ id nút đích.
errors
được tạo từ điểm cuối UDP lớp Inet thấp hơn trong quá trình gửi.

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úc:

  • số lượng các sàn giao dịch đã 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ở lại 0. Trình xử lý được coi là tín hiệu chung cho biết có bất kỳ cuộc hội thoại nào đang diễn ra trên Weave hoặc phản hồi đang chờ xử lý hay không. Trình xử lý phải được đặt sau khi WeaveMessageLayer đã được khởi tạo; tắt WeaveMessageLayer sẽ xóa trình xử lý hiện tại.

Chi tiết
Thông số
[in] messageLayerActivityChangeHandler
Một con trỏ đến một hàm được gọi bất cứ khi nào hoạt động của lớp thông báo thay đổi.
Giá trị trả lại
None.

SetTCPListenEnabled

void SetTCPListenEnabled(
  bool val
)

Bật hoặc tắt tính năng nghe các kết nối TCP gửi đến trong WeaveMessageLayer .

LƯU Ý: RefreshEndpoints() phải được gọi sau khi trạng thái lắng nghe TCP được thay đổi.

SetUDPListenEnabled

void SetUDPListenEnabled(
  bool val
)

Bật hoặc tắt tính năng nghe các tin nhắn UDP gửi đến trong WeaveMessageLayer .

LƯU Ý: RefreshEndpoints() phải được gọi sau khi trạng thái lắng 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ả các điểm cuối lớp Inet đang 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 viên và các đối tượng. Một lệnh gọi đến Shutdown () sẽ kết thúc đối tượng WeaveMessageLayer .

TCPListenEnabled

bool TCPListenEnabled(
  void
) const 

Kiểm tra xem WeaveMessageLayer có được định cấu hình để lắng nghe các kết nối TCP gửi đế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 gửi đến hay không.

UnsecuredListenEnabled

bool UnsecuredListenEnabled(
  void
) const 

Bật hoặc tắt việc bắt đầu trao đổi Weave UDP từ mộ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 được thay đổi. Kiểm tra xem tính năng nghe không an toàn đã được bật chưa.

WeaveMessageLayer

 WeaveMessageLayer(
  void
)

Phương thức khởi tạo của lớp Thông điệp Weave.

Chức năng tĩnh công khai

GetMaxWeavePayloadSize

uint32_t GetMaxWeavePayloadSize(
  const PacketBuffer *msgBuf,
  bool isUDP,
  uint32_t udpMTU
)

Nhận kích thước tải trọng Weave tối đa cho cấu hình tin nhắn và PacketBuffer được 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 khả dụng cho tải trọng bên trong PacketBuffer được cung cấp.

Nếu thông báo là UDP, kích thước trọng tải 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 đượ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 sẽ làm tràn kích thước thông báo Weave tối đa.

Chi tiết
Thông số
[in] msgBuf
Một con trỏ tới PacketBuffer mà trọng tải thông báo sẽ được ghi.
[in] isUDP
Đúng nếu tin nhắn là tin nhắn UDP.
[in] udpMTU
Kích thước của UDP MTU. Bỏ qua nếu isUDP là sai.
Lợi nhuận
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
)

Xây dựng một chuỗi mô tả một nút ngang hàng và thông tin địa chỉ / kết nối liên quan của nó.

Chuỗi được tạo có định dạng sau:

 ([]:%, con )

Chi tiết
Thông số
[in] buf
Một con trỏ tới bộ đệm mà chuỗi sẽ được ghi vào đó. Bộ đệm được cung cấp ít nhất phải lớn bằng kWeavePeerDescription_MaxLength. Nếu một bộ đệm nhỏ hơn được cung cấp, chuỗi sẽ được cắt bớt để vừa. Đầu ra sẽ bao gồm một ký tự kết thúc NUL trong mọi trường hợp.
[in] bufSize
Kích thước của bộ đệm do buf trỏ vào.
[in] nodeId
Id nút sẽ được in.
[in] addr
Một con trỏ đến địa chỉ IP sẽ được in; hoặc NULL nếu không có địa chỉ IP nào được in.
[in] port
Số cổng IP sẽ được in. Số cổng sẽ không được in nếu addr là NULL.
[in] interfaceId
Một InterfaceId xác định giao diện sẽ được in. Chuỗi đầu ra sẽ chứa tên của giao diện được biết đến với ngăn xếp mạng bên dưới. Sẽ không có tên giao diện nào được in nếu interfaceId là INET_NULL_INTERFACEID hoặc nếu addr là NULL.
[in] con
Một con trỏ đến một đối tượng WeaveConnection có id ghi nhật ký sẽ được in; hoặc NULL nếu không có id kết nối nào được in.

GetPeerDescription

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

Xây dựng một chuỗi mô tả một nút ngang hàng dựa trên thông tin được liên kết với một thông báo nhận được từ nút ngang hàng.

Chi tiết
Thông số
[in] buf
Một con trỏ tới bộ đệm mà chuỗi sẽ được ghi vào. Bộ đệm được cung cấp ít nhất phải lớn bằng kWeavePeerDescription_MaxLength. Nếu một bộ đệm nhỏ hơn được cung cấp, chuỗi sẽ được cắt bớt để vừa. Đầu ra sẽ bao gồm một ký tự kết thúc NUL trong mọi trường hợp.
[in] bufSize
Kích thước của bộ đệm do buf trỏ vào.
[in] msgInfo
Một con trỏ đến cấu trúc WeaveMessageInfo chứa thông tin về thông báo.