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.

nl :: Dệt :: WeaveExchangeManager

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

Lớp này được sử dụng để quản lý ExchangeContexts với các nút Weave khác.

Tóm lược

Nó hoạt động thay mặt cho các lớp cao hơn, tạo ExchangeContexts và xử lý việc đăng ký / hủy đăng ký các trình xử lý thư không được yêu cầu.

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

WeaveExchangeManager (void)
Constructor cho WeaveExchangeManager lớp.

Các loại công khai

State {
kState_NotInitialized = 0,
kState_Initialized = 1
}
enum

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

FabricState
[CHỈ ĐỌC] Đối tượng FabricState được liên kết.
MessageLayer
[READ ONLY] Các liên WeaveMessageLayer đối tượng.
State
uint8_t
[READ ONLY] Tình trạng của WeaveExchangeManager đối tượng.

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

AllowUnsolicitedMessages ( WeaveConnection *con)
void
Cho phép nhận các tin nhắn không mong muốn trên kết nối được chỉ định.
ClearMsgCounterSyncReq (uint64_t peerNodeId)
void
Xóa cờ MsgCounterSyncReq cho tất cả các thư đang chờ xử lý đến đồng đẳng đó.
FindContext (uint64_t peerNodeId, WeaveConnection *con, void *appState, bool isInitiator)
Tìm các ExchangeContext từ một hồ bơi phù hợp với một tập hợp các thông số.
Init ( WeaveMessageLayer *msgLayer)
Khởi tạo WeaveExchangeManager đối tượng.
NewBinding (Binding::EventCallback eventCallback, void *appState)
Phân bổ một mới Binding với các đối số cung cấp.
NewContext (const uint64_t & peerNodeId, void *appState)
Tạo mới ExchangeContext với một nút Weave ngang hàng trao quy định bởi các định danh nút đồng đẳng.
NewContext (const uint64_t & peerNodeId, const IPAddress & peerAddr, void *appState)
Tạo mới ExchangeContext với một peer trao Weave nút được chỉ định bởi các định danh nút đồng đẳng và ngang hàng địa chỉ IP.
NewContext (const uint64_t & peerNodeId, const IPAddress & peerAddr, uint16_t peerPort, InterfaceId sendIntfId, void *appState)
Tạo mới ExchangeContext với một peer trao Weave nút được chỉ định bởi các định danh ngang hàng nút, địa chỉ IP ngang hàng, và cổng đích trên một giao diện cụ thể.
NewContext ( WeaveConnection *con, void *appState)
Tạo mới ExchangeContext với một nút Weave ngang hàng trao qua một quy định WeaveConnection .
RegisterUnsolicitedMessageHandler (uint32_t profileId, ExchangeContext::MessageReceiveFunct handler, void *appState)
Đăng ký một trình xử lý tin nhắn không được yêu cầu cho một số nhận dạng hồ sơ nhất định.
RegisterUnsolicitedMessageHandler (uint32_t profileId, ExchangeContext::MessageReceiveFunct handler, bool allowDups, void *appState)
Đăng ký một trình xử lý tin nhắn không được yêu cầu cho một số nhận dạng hồ sơ nhất định.
RegisterUnsolicitedMessageHandler (uint32_t profileId, uint8_t msgType, ExchangeContext::MessageReceiveFunct handler, void *appState)
Đăng ký một trình xử lý tin nhắn không được yêu cầu cho một số nhận dạng hồ sơ nhất định và loại tin nhắn.
RegisterUnsolicitedMessageHandler (uint32_t profileId, uint8_t msgType, ExchangeContext::MessageReceiveFunct handler, bool allowDups, void *appState)
Đăng ký một trình xử lý tin nhắn không được yêu cầu cho một số nhận dạng hồ sơ nhất định và loại tin nhắn.
RegisterUnsolicitedMessageHandler (uint32_t profileId, uint8_t msgType, WeaveConnection *con, ExchangeContext::MessageReceiveFunct handler, void *appState)
Đăng ký trình xử lý thông báo không được yêu cầu cho một số nhận dạng cấu hình nhất định, loại thông báo trên một kết nối Weave được chỉ định.
RegisterUnsolicitedMessageHandler (uint32_t profileId, uint8_t msgType, WeaveConnection *con, ExchangeContext::MessageReceiveFunct handler, bool allowDups, void *appState)
Đăng ký trình xử lý thông báo không được yêu cầu cho một số nhận dạng cấu hình nhất định, loại thông báo trên một kết nối Weave được chỉ định.
Shutdown (void)
UnregisterUnsolicitedMessageHandler (uint32_t profileId)
Hủy đăng ký một trình xử lý thư không được yêu cầu cho một số nhận dạng hồ sơ nhất định.
UnregisterUnsolicitedMessageHandler (uint32_t profileId, uint8_t msgType)
Hủy đăng ký một trình xử lý thư không được yêu cầu cho một số nhận dạng tiểu sử và loại thư nhất định.
UnregisterUnsolicitedMessageHandler (uint32_t profileId, uint8_t msgType, WeaveConnection *con)
Hủy đăng ký một trình xử lý tin nhắn không được yêu cầu cho một số nhận dạng hồ sơ, loại tin nhắn và kết nối Weave nhất định.

Các loại công khai

Tiểu bang

 State
Tính chất
kState_Initialized

Được sử dụng để chỉ ra rằng WeaveExchangeManager được khởi tạo.

kState_NotInitialized

Được sử dụng để chỉ ra rằng WeaveExchangeManager không được khởi tạo.

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

Nhà chế tạo

WeaveFabricState * FabricState

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

MessageLayer

WeaveMessageLayer * MessageLayer

[READ ONLY] Các liên WeaveMessageLayer đối tượng.

Tiểu bang

uint8_t State

[READ ONLY] Tình trạng của WeaveExchangeManager đối tượng.

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

AllowUnsolicitedMessages

void AllowUnsolicitedMessages(
  WeaveConnection *con
)

Cho phép nhận các tin nhắn không mong muốn trên kết nối được chỉ định.

Phương thức này đặt trình xử lý nhận tin nhắn trên kết nối Weave đã cho.

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

ClearMsgCounterSyncReq

void ClearMsgCounterSyncReq(
  uint64_t peerNodeId
)

Xóa cờ MsgCounterSyncReq cho tất cả các thư đang chờ xử lý đến đồng đẳng đó.

Chi tiết
Thông số
[in] peerNodeId
ID nút của nút đích.

FindContext

ExchangeContext * FindContext(
  uint64_t peerNodeId,
  WeaveConnection *con,
  void *appState,
  bool isInitiator
)

Tìm các ExchangeContext từ một hồ bơi phù hợp với một tập hợp các thông số.

Chi tiết
Thông số
[in] peerNodeId
Từ định danh nút của các đồng đẳng với đó ExchangeContext đã được thiết lập.
[in] con
Một con trỏ tới các WeaveConnection đối tượng đại diện cho các kết nối TCP với các đồng đẳng.
[in] appState
Một con trỏ đến một đối tượng lớp cao hơn có trạng thái ngữ cảnh.
[in] isInitiator
Chỉ báo Boolean về việc liệu nút cục bộ có phải là người khởi tạo trao đổi hay không.
Lợi nhuận
Một con trỏ tới các ExchangeContext đối tượng phù hợp với các thông số được cung cấp trên thành công, NULL trên không phù hợp.

Trong đó

WEAVE_ERROR Init(
  WeaveMessageLayer *msgLayer
)

Khởi tạo WeaveExchangeManager đối tượng.

Trong vòng đời của cá thể này, phương thức này được gọi một lần sau khi xây dựng đối tượng cho đến khi thực hiện lệnh gọi Tắt máy để kết thúc phiên bản.

Chi tiết
Thông số
[in] msgLayer
Một con trỏ tới các WeaveMessageLayer đối tượng.
Giá trị trả lại
WEAVE_ERROR_INCORRECT_STATE
Nếu trạng thái không bằng kState_NotInitialized.
WEAVE_NO_ERROR
Về thành công.

NewBinding

Binding * NewBinding(
  Binding::EventCallback eventCallback,
  void *appState
)

Phân bổ một mới Binding với các đối số cung cấp.

Chi tiết
Thông số
[in] eventCallback
Một con trỏ hàm được sử dụng để gọi lại sự kiện
[in] appState
Một con trỏ đến một số ngữ cảnh sẽ được thực hiện trong sự kiện gọi lại sau này
Lợi nhuận
Một con trỏ tới mới được phân bổ Ràng buộc , hoặc NULL nếu hồ đã cạn kiệt

NewContext

ExchangeContext * NewContext(
  const uint64_t & peerNodeId,
  void *appState
)

Tạo mới ExchangeContext với một nút Weave ngang hàng trao quy định bởi các định danh nút đồng đẳng.

Chi tiết
Thông số
[in] peerNodeId
Từ định danh nút của các đồng đẳng với đó ExchangeContext đang được thiết lập.
[in] appState
Một con trỏ đến một đối tượng lớp cao hơn có trạng thái ngữ cảnh.
Lợi nhuận
Một con trỏ tới các tạo ExchangeContext đối tượng On thành công. Ngược lại NULL nếu không có đối tượng nào có thể được cấp phát hoặc có sẵn.

NewContext

ExchangeContext * NewContext(
  const uint64_t & peerNodeId,
  const IPAddress & peerAddr,
  void *appState
)

Tạo mới ExchangeContext với một peer trao Weave nút được chỉ định bởi các định danh nút đồng đẳng và ngang hàng địa chỉ IP.

Chi tiết
Thông số
[in] peerNodeId
Từ định danh nút của các đồng đẳng với đó ExchangeContext đang được thiết lập.
[in] peerAddr
Địa chỉ IP của nút ngang hàng.
[in] appState
Một con trỏ đến một đối tượng lớp cao hơn có trạng thái ngữ cảnh.
Lợi nhuận
Một con trỏ tới các tạo ExchangeContext đối tượng On thành công. Ngược lại, NULL nếu không có đối tượng nào có thể được cấp phát hoặc có sẵn.

NewContext

ExchangeContext * NewContext(
  const uint64_t & peerNodeId,
  const IPAddress & peerAddr,
  uint16_t peerPort,
  InterfaceId sendIntfId,
  void *appState
)

Tạo mới ExchangeContext với một peer trao Weave nút được chỉ định bởi các định danh ngang hàng nút, địa chỉ IP ngang hàng, và cổng đích trên một giao diện cụ thể.

Chi tiết
Thông số
[in] peerNodeId
Từ định danh nút của các đồng đẳng với đó ExchangeContext đang được thiết lập.
[in] peerAddr
Địa chỉ IP của nút ngang hàng.
[in] peerPort
Cổng của nút ngang hàng.
[in] sendIntfId
Giao diện sử dụng để gửi tin nhắn Weave trên sàn giao dịch này.
[in] appState
Một con trỏ đến một đối tượng lớp cao hơn có trạng thái ngữ cảnh.
Lợi nhuận
Một con trỏ tới các tạo ExchangeContext đối tượng On thành công. Ngược lại, NULL nếu không có đối tượng nào có thể được cấp phát hoặc có sẵn.

NewContext

ExchangeContext * NewContext(
  WeaveConnection *con,
  void *appState
)

Tạo mới ExchangeContext với một nút Weave ngang hàng trao qua một quy định WeaveConnection .

Chi tiết
Thông số
[in] con
Một con trỏ tới các WeaveConnection đối tượng đại diện cho các kết nối TCP với các đồng đẳng.
[in] appState
Một con trỏ đến một đối tượng lớp cao hơn có trạng thái ngữ cảnh.
Lợi nhuận
Một con trỏ tới các tạo ExchangeContext đối tượng On thành công. Ngược lại, NULL nếu không có đối tượng nào có thể được cấp phát hoặc có sẵn.

RegisterUnsolicitedMessageHandler

WEAVE_ERROR RegisterUnsolicitedMessageHandler(
  uint32_t profileId,
  ExchangeContext::MessageReceiveFunct handler,
  void *appState
)

Đăng ký một trình xử lý tin nhắn không được yêu cầu cho một số nhận dạng hồ sơ nhất định.

Trình xử lý này sẽ được gọi cho tất cả các thông báo của cấu hình đã cho.

Chi tiết
Thông số
[in] profileId
Định danh hồ sơ của tin nhắn đã nhận.
[in] handler
Trình xử lý thư không được yêu cầu.
[in] appState
Một con trỏ đến một đối tượng lớp cao hơn có trạng thái ngữ cảnh.
Giá trị trả lại
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
Nếu nhóm xử lý thư không mong muốn đã đầy và không thể cấp phát một nhóm mới.
WEAVE_NO_ERROR
Về thành công.

RegisterUnsolicitedMessageHandler

WEAVE_ERROR RegisterUnsolicitedMessageHandler(
  uint32_t profileId,
  ExchangeContext::MessageReceiveFunct handler,
  bool allowDups,
  void *appState
)

Đăng ký một trình xử lý tin nhắn không được yêu cầu cho một số nhận dạng hồ sơ nhất định.

Trình xử lý này sẽ được gọi cho tất cả các thông báo của cấu hình đã cho.

Chi tiết
Thông số
[in] profileId
Định danh hồ sơ của tin nhắn đã nhận.
[in] handler
Trình xử lý thư không được yêu cầu.
[in] allowDups
Chỉ báo Boolean về việc có cho phép các thư trùng lặp đối với một cấu hình nhất định hay không.
[in] appState
Một con trỏ đến một đối tượng lớp cao hơn có trạng thái ngữ cảnh.
Giá trị trả lại
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
Nếu nhóm xử lý thư không mong muốn đã đầy và không thể cấp phát một nhóm mới.
WEAVE_NO_ERROR
Về thành công.

RegisterUnsolicitedMessageHandler

WEAVE_ERROR RegisterUnsolicitedMessageHandler(
  uint32_t profileId,
  uint8_t msgType,
  ExchangeContext::MessageReceiveFunct handler,
  void *appState
)

Đăng ký một trình xử lý tin nhắn không được yêu cầu cho một số nhận dạng hồ sơ nhất định và loại tin nhắn.

Chi tiết
Thông số
[in] profileId
Định danh hồ sơ của tin nhắn đã nhận.
[in] msgType
Loại thông báo của cấu hình tương ứng.
[in] handler
Trình xử lý thư không được yêu cầu.
[in] appState
Một con trỏ đến một đối tượng lớp cao hơn có trạng thái ngữ cảnh.
Giá trị trả lại
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
Nếu nhóm xử lý thư không mong muốn đã đầy và không thể cấp phát một nhóm mới.
WEAVE_NO_ERROR
Về thành công.

RegisterUnsolicitedMessageHandler

WEAVE_ERROR RegisterUnsolicitedMessageHandler(
  uint32_t profileId,
  uint8_t msgType,
  ExchangeContext::MessageReceiveFunct handler,
  bool allowDups,
  void *appState
)

Đăng ký một trình xử lý tin nhắn không được yêu cầu cho một số nhận dạng hồ sơ nhất định và loại tin nhắn.

Chi tiết
Thông số
[in] profileId
Định danh hồ sơ của tin nhắn đã nhận.
[in] msgType
Loại thông báo của cấu hình tương ứng.
[in] handler
Trình xử lý thư không được yêu cầu.
[in] allowDups
Chỉ báo Boolean về việc có cho phép các thông báo trùng lặp đối với một số nhận dạng cấu hình nhất định và loại thông báo hay không.
[in] appState
Một con trỏ đến một đối tượng lớp cao hơn có trạng thái ngữ cảnh.
Giá trị trả lại
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
Nếu nhóm xử lý thư không mong muốn đã đầy và không thể cấp phát một nhóm mới.
WEAVE_NO_ERROR
Về thành công.

RegisterUnsolicitedMessageHandler

WEAVE_ERROR RegisterUnsolicitedMessageHandler(
  uint32_t profileId,
  uint8_t msgType,
  WeaveConnection *con,
  ExchangeContext::MessageReceiveFunct handler,
  void *appState
)

Đăng ký trình xử lý thông báo không được yêu cầu cho một số nhận dạng cấu hình nhất định, loại thông báo trên một kết nối Weave được chỉ định.

Chi tiết
Thông số
[in] profileId
Định danh hồ sơ của tin nhắn đã nhận.
[in] msgType
Loại thông báo của cấu hình tương ứng.
[in] con
Một con trỏ tới các WeaveConnection đối tượng đại diện cho các kết nối TCP với các đồng đẳng.
[in] handler
Trình xử lý thư không được yêu cầu.
[in] appState
Một con trỏ đến một đối tượng lớp cao hơn có trạng thái ngữ cảnh.
Giá trị trả lại
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
Nếu nhóm xử lý thư không mong muốn đã đầy và không thể cấp phát một nhóm mới.
WEAVE_NO_ERROR
Về thành công.

RegisterUnsolicitedMessageHandler

WEAVE_ERROR RegisterUnsolicitedMessageHandler(
  uint32_t profileId,
  uint8_t msgType,
  WeaveConnection *con,
  ExchangeContext::MessageReceiveFunct handler,
  bool allowDups,
  void *appState
)

Đăng ký một trình xử lý tin nhắn không được yêu cầu cho một số nhận dạng hồ sơ nhất định, loại tin nhắn trên một kết nối Weave được chỉ định.

Chi tiết
Thông số
[in] profileId
Định danh hồ sơ của tin nhắn đã nhận.
[in] msgType
Loại thông báo của cấu hình tương ứng.
[in] con
Một con trỏ tới các WeaveConnection đối tượng đại diện cho các kết nối TCP với các đồng đẳng.
[in] handler
Trình xử lý thư không được yêu cầu.
[in] allowDups
Chỉ báo Boolean về việc có cho phép các thư trùng lặp đối với một số nhận dạng cấu hình nhất định hay không, loại thông báo trên một kết nối Weave được chỉ định.
[in] appState
Một con trỏ đến một đối tượng lớp cao hơn có trạng thái ngữ cảnh.
Giá trị trả lại
WEAVE_ERROR_TOO_MANY_UNSOLICITED_MESSAGE_HANDLERS
Nếu nhóm xử lý thư không mong muốn đã đầy và không thể cấp phát một nhóm mới.
WEAVE_NO_ERROR
Về thành công.

Tắt

WEAVE_ERROR Shutdown(
  void
)

Shutdown WeaveExchangeManager .

Điều này kết thúc phiên bản này của đối tượng và giải phóng tất cả các tài nguyên được giữ.

Chi tiết
Lợi nhuận
WEAVE_NO_ERROR vô điều kiện.

UnregisterUnsolicitedMessageHandler

WEAVE_ERROR UnregisterUnsolicitedMessageHandler(
  uint32_t profileId
)

Hủy đăng ký một trình xử lý thư không được yêu cầu cho một số nhận dạng hồ sơ nhất định.

Chi tiết
Thông số
[in] profileId
Định danh hồ sơ của tin nhắn đã nhận.
Giá trị trả lại
WEAVE_ERROR_NO_UNSOLICITED_MESSAGE_HANDLER
Nếu không tìm thấy trình xử lý thư không mong muốn phù hợp.
WEAVE_NO_ERROR
Về thành công.

UnregisterUnsolicitedMessageHandler

WEAVE_ERROR UnregisterUnsolicitedMessageHandler(
  uint32_t profileId,
  uint8_t msgType
)

Hủy đăng ký một trình xử lý thư không được yêu cầu cho một số nhận dạng tiểu sử và loại thư nhất định.

Chi tiết
Thông số
[in] profileId
Định danh hồ sơ của tin nhắn đã nhận.
[in] msgType
Loại thông báo của cấu hình tương ứng.
Giá trị trả lại
WEAVE_ERROR_NO_UNSOLICITED_MESSAGE_HANDLER
Nếu không tìm thấy trình xử lý thư không mong muốn phù hợp.
WEAVE_NO_ERROR
Về thành công.

UnregisterUnsolicitedMessageHandler

WEAVE_ERROR UnregisterUnsolicitedMessageHandler(
  uint32_t profileId,
  uint8_t msgType,
  WeaveConnection *con
)

Hủy đăng ký một trình xử lý tin nhắn không được yêu cầu cho một số nhận dạng hồ sơ, loại tin nhắn và kết nối Weave nhất định.

Chi tiết
Thông số
[in] profileId
Định danh hồ sơ của tin nhắn đã nhận.
[in] msgType
Loại thông báo của cấu hình tương ứng.
[in] con
Một con trỏ tới các WeaveConnection đối tượng đại diện cho các kết nối TCP với các đồng đẳng.
Giá trị trả lại
WEAVE_ERROR_NO_UNSOLICITED_MESSAGE_HANDLER
Nếu không tìm thấy trình xử lý thư không mong muốn phù hợp.
WEAVE_NO_ERROR
Về thành công.

WeaveExchangeManager

 WeaveExchangeManager(
  void
)

Constructor cho WeaveExchangeManager lớp.

Nó đặt trạng thái thành kState_NotInitialized.