nl::Weave::Binding

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

Nắm bắt mục tiêu dự kiến của hoạt động giao tiếp trên Weave và thông tin cấu hình liên quan.

Tóm tắt

Đối tượng Binding xác định mục tiêu dự kiến của hoạt động giao tiếp Weave (còn gọi là "ngang hàng"), cùng với một tập hợp các tham số cấu hình mô tả cách quá trình giao tiếp với ứng dụng ngang hàng sẽ diễn ra. Các liên kết độc lập với giao thức ứng dụng được đọc giữa hai bên. Do vậy, chúng nắm bắt được "ai" và câu hỏi "cách thức" về giao tiếp mà không phải là "cái gì".

Cấu hình

Ứng dụng phải định cấu hình Liên kết với các tham số cụ thể cho loại kênh liên lạc mong muốn. Các mối liên kết hỗ trợ nhiều phương thức truyền tải mạng, bao gồm TCP, UDP, UDP với Weave Trusted Messaging và Weave over BLE (WoBLE). Ứng dụng cũng có thể yêu cầu sử dụng các cơ chế bảo mật cụ thể để bảo vệ thư được gửi giữa các bên. Chúng bao gồm các phiên CASE và PASE cũng như các khoá nhóm ứng dụng. Giao diện để định cấu hình Liên kết sử dụng kiểu API khai báo cho phép các ứng dụng nêu rõ yêu cầu giao tiếp theo cách đơn giản.

Hãy xem tài liệu về Binding::Configuration để biết thêm chi tiết.

Chuẩn bị

Trước khi quá trình giao tiếp diễn ra, một Liên kết phải được "chuẩn bị". Hành động chuẩn bị Ràng buộc bao gồm việc thiết lập trạng thái cần thiết để quá trình giao tiếp diễn ra. Chẳng hạn như: phân giải địa chỉ mạng của ứng dụng ngang hàng, thiết lập kết nối mạng và thương lượng khoá bảo mật. Sau khi ứng dụng định cấu hình, Liên kết sẽ xử lý tất cả các bước cần thiết để chuẩn bị giao tiếp, gọi lại ứng dụng khi quá trình hoàn tất. Bằng cách này, Ràng buộc ẩn cơ chế giao tiếp, cho phép các ứng dụng tập trung vào những hoạt động tương tác cấp cao.

Liên lạc

Khi đã chuẩn bị, Binding (Liên kết) sẽ sẵn sàng để sử dụng. Ở trạng thái này, các ứng dụng (hay phổ biến hơn là mã lớp giao thức hoạt động thay mặt cho ứng dụng) yêu cầu Binding để phân bổ ngữ cảnh trao đổi Weave. Bối cảnh trao đổi kết quả được định cấu hình sẵn để giao tiếp, cho phép ứng dụng ngay lập tức bắt đầu một hoạt động trao đổi Weave với ứng dụng ngang hàng. Ứng dụng có thể tiếp tục yêu cầu ngữ cảnh trao đổi từ Liên kết cho đến khi Liên kết được đóng, hoặc một số sự kiện (ví dụ: lỗi mạng) chấm dứt kênh liên lạc cơ bản.

Các thay đổi về trạng thái Binding

Trong quá trình sử dụng, Binding (Liên kết) sẽ gửi các sự kiện API đến ứng dụng để thông báo cho ứng dụng về những thay đổi đối với trạng thái của Binding. Ví dụ: khi chuẩn bị thành công, ứng dụng sẽ nhận được một sự kiện thông báo rằng Liên kết đã sẵn sàng để sử dụng. Tương tự, nếu kênh liên lạc cơ bản bị lỗi, một sự kiện sẽ được gửi đến ứng dụng để thông báo rằng Binding không còn ở trạng thái sẵn sàng nữa.

Các sự kiện API được phân phối đến ứng dụng thông qua hàm callback sự kiện được cung cấp khi phân bổ Binding.

Thời gian tồn tại của Binding

Liên kết được tính để cho phép sử dụng chung trên nhiều thành phần phần mềm. Khi một Liên kết được phân bổ, một tham chiếu duy nhất đến liên kết đó sẽ được tạo. Ứng dụng sẽ chịu trách nhiệm phát hành tệp đối chiếu này vào một thời điểm trong tương lai sao cho Liên kết được miễn phí để sử dụng lại sau này.

Khi hoàn tất quá trình Liên kết, ứng dụng có thể gọi Close() trên liên kết. Thao tác này sẽ huỷ bỏ tham chiếu đến Binding của ứng dụng và chặn tất cả việc phân phối thêm sự kiện API. Khi tham chiếu cuối cùng đến một Liên kết được giải phóng, nó sẽ tự động đóng.

Loại công khai

@23{
  kGetPeerDescription_MaxLength = nl::Weave::kWeavePeerDescription_MaxLength
}
enum
EventCallback)(void *apAppState, EventType aEvent, const InEventParam &aInParam, OutEventParam &aOutParam) typedef
void(*
EventType{
  kEvent_ConnectionEstablished = 1,
  kEvent_BindingReady = 2,
  kEvent_PrepareFailed = 3,
  kEvent_BindingFailed = 4,
  kEvent_PrepareRequested = 5,
  kEvent_PASEParametersRequested = 6,
  kEvent_TAKEParametersRequested = 7,
  kEvent_DefaultCheck = 100
}
enum
State enum

Các thuộc tính công khai

AppState
void *

Hàm công khai

AddRef(void)
void
Đặt trước tệp tham chiếu đến đối tượng liên kết.
AdjustResponseTimeout(ExchangeContext *apExchangeContext) const
Định cấu hình lại một Ngữ cảnh Exchange hiện có để điều chỉnh thời gian chờ phản hồi.
AllocateRightSizedBuffer(PacketBuffer *& buf, const uint32_t desiredSize, const uint32_t minSize, uint32_t & outMaxPayloadSize)
BeginConfiguration()
Là quá trình định cấu hình Liên kết.
CanBePrepared(void) const
bool
Close(void)
void
Đóng đối tượng liên kết và giải phóng một tham chiếu.
GetConnection() const
Lấy đối tượng kết nối Weave được liên kết với liên kết.
GetDefaultResponseTimeout() const
uint32_t
Lấy thời gian chờ phản hồi mặc định của sàn giao dịch để sử dụng khi giao tiếp với ứng dụng ngang hàng.
GetDefaultWRMPConfig(void) const
const WRMPConfig &
Nhận cấu hình WRMP mặc định để sử dụng khi giao tiếp với ứng dụng ngang hàng.
GetEncryptionType(void) const
uint8_t
Truy xuất loại mã hoá thư sẽ được sử dụng khi mã hoá thư đến/từ ứng dụng ngang hàng.
GetEventCallback() const
EventCallback
Lấy hàm sẽ được gọi khi sự kiện API xảy ra đối với Binding.
GetExchangeManager() const
GetKeyId(void) const
uint32_t
Truy xuất mã nhận dạng của khoá mã hoá thư sẽ dùng khi mã hoá thư đến/từ ứng dụng ngang hàng.
GetLogId(void) const
uint16_t
Nhận mã nhận dạng duy nhất cho liên kết.
GetMaxWeavePayloadSize(const System::PacketBuffer *msgBuf)
uint32_t
Lấy kích thước tải trọng Weave tối đa có thể vừa với PacketBuffer đã cung cấp.
GetPeerDescription(char *buf, uint32_t bufSize) const
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 quan.
GetPeerIPAddress(nl::Inet::IPAddress & address, uint16_t & port, InterfaceId & interfaceId) const
void
Truy xuất thông tin địa chỉ IP của ứng dụng ngang hàng, nếu có.
GetPeerNodeId(void) const
uint64_t
Truy xuất mã nút của ứng dụng ngang hàng liên kết.
GetProtocolLayerCallback(EventCallback & callback, void *& state) const
void
GetState(void) const
State
Truy xuất trạng thái hiện tại của liên kết.
IsAuthenticMessageFromPeer(const WeaveMessageInfo *msgInfo)
bool
Xác định xem một thư đến cụ thể có phải là từ ứng dụng ngang hàng đã định cấu hình và được xác thực phù hợp hay không.
IsConnectionTransport() const
bool
IsPreparing(void) const
bool
IsReady(void) const
bool
IsUDPTransport() const
bool
IsUnreliableUDPTransport() const
bool
IsWRMTransport() const
bool
NewExchangeContext(ExchangeContext *& appExchangeContext)
Phân bổ một Ngữ cảnh Exchange mới để giao tiếp với ứng dụng ngang hàng là mục tiêu của liên kết.
Release(void)
void
Giải phóng mục tham chiếu đến đối tượng liên kết.
RequestPrepare()
Yêu cầu ứng dụng định cấu hình và chuẩn bị Binding.
Reset(void)
void
Đặt lại liên kết trở lại trạng thái chưa được định cấu hình.
SetDefaultResponseTimeout(uint32_t msec)
void
Đặt thời gian chờ mặc định của phản hồi trao đổi để sử dụng khi giao tiếp với ứng dụng ngang hàng.
SetDefaultWRMPConfig(const WRMPConfig & wrmpConfig)
void
Đặt cấu hình WRMP mặc định được sử dụng khi giao tiếp với ứng dụng ngang hàng.
SetEventCallback(EventCallback aEventCallback)
void
Đặt hàm do ứng dụng xác định sẽ được gọi khi sự kiện API xảy ra cho sự kiện Binding.
SetProtocolLayerCallback(EventCallback callback, void *state)
void
Đặt một hàm callback sự kiện cho mã lớp giao thức bằng cách sử dụng Binding thay mặt cho ứng dụng.

Hàm tĩnh công khai

DefaultEventHandler(void *apAppState, EventType aEvent, const InEventParam & aInParam, OutEventParam & aOutParam)
void
Trình xử lý mặc định cho các sự kiện API liên kết.

Lớp

nl::Weave::Binding::Configuration

Cung cấp giao diện kiểu khai báo để định cấu hình và chuẩn bị đối tượng Binding.

Cấu trúc

nl::Weave::Binding::InEventParam

Nhập tham số vào sự kiện Binding API.

nl::Weave::Binding::OutEventParam

Xuất các tham số cho một sự kiện API Binding.

Loại công khai

@23 tuổi

 @23
Thuộc tính
kGetPeerDescription_MaxLength

Độ dài tối đa của chuỗi (bao gồm cả ký tự NUL) do GetPeerDescription() trả về.

EventCallback

void(* EventCallback)(void *apAppState, EventType aEvent, const InEventParam &aInParam, OutEventParam &aOutParam)

EventType

 EventType
Thuộc tính
kEvent_BindingFailed

Không liên kết được và không thể dùng để giao tiếp với ứng dụng ngang hàng nữa.

kEvent_BindingReady

Hành động chuẩn bị trên liên kết đã thành công và liên kết này hiện có thể được dùng để giao tiếp với ứng dụng ngang hàng.

kEvent_ConnectionEstablished

Đã thiết lập kết nối Weave yêu cầu.

kEvent_DefaultCheck

Dùng để xác minh cách xử lý sự kiện mặc định chính xác trong ứng dụng.

kEvent_PASEParametersRequested

Ứng dụng được yêu cầu cung cấp các tham số dùng trong quá trình thiết lập phiên PASE.

kEvent_PrepareFailed

Hành động chuẩn bị đối với liên kết không thành công.

kEvent_PrepareRequested

Ứng dụng cần phải định cấu hình và chuẩn bị liên kết để ngăn xếp mạng sử dụng.

kEvent_TAKEParametersRequested

Ứng dụng được yêu cầu cung cấp các tham số sẽ dùng trong quá trình thiết lập phiên GET.

Tiểu bang

 State

Các thuộc tính công khai

AppState

void * AppState

Hàm công khai

AddRef

void AddRef(
  void
)

Đặt trước tệp tham chiếu đến đối tượng liên kết.

AdjustResponseTimeout

WEAVE_ERROR AdjustResponseTimeout(
  ExchangeContext *apExchangeContext
) const 

Định cấu hình lại một Ngữ cảnh Exchange hiện có để điều chỉnh thời gian chờ phản hồi.

Chi tiết
Tham số
[in] apExchangeContext
Con trỏ trỏ đến đối tượng Ngữ cảnh Exchange sẽ được định cấu hình lại

AllocateRightSizedBuffer

WEAVE_ERROR AllocateRightSizedBuffer(
  PacketBuffer *& buf,
  const uint32_t desiredSize,
  const uint32_t minSize,
  uint32_t & outMaxPayloadSize
)

BeginConfiguration

Configuration BeginConfiguration()

Là quá trình định cấu hình Liên kết.

Các ứng dụng phải gọi BeginConfiguration() để định cấu hình Binding trước khi chuẩn bị giao tiếp với ứng dụng ngang hàng.

Chi tiết
Trả về
Bạn có thể dùng đối tượng Binding::Configuration để định cấu hình liên kết.

CanBePrepared

bool CanBePrepared(
  void
) const 

Đóng

void Close(
  void
)

Đóng đối tượng liên kết và giải phóng một tham chiếu.

Khi được gọi, phương thức này sẽ khiến liên kết chuyển sang trạng thái Đóng. Mọi hành động chuẩn bị đang diễn ra cho liên kết đều bị huỷ và mọi tài nguyên giao tiếp bên ngoài mà liên kết nắm giữ sẽ được giải phóng.

Việc gọi Close() sẽ giảm số lượng tham chiếu liên kết với liên kết, giải phóng đối tượng nếu số lượng tham chiếu trở thành 0.

GetConnection

WeaveConnection * GetConnection() const 

Lấy đối tượng kết nối Weave được liên kết với liên kết.

Chi tiết
Trả về
Con trỏ trỏ đến đối tượng WeaveConnection hoặc NULL nếu không có kết nối nào được liên kết với liên kết.

GetDefaultResponseTimeout

uint32_t GetDefaultResponseTimeout() const 

Lấy thời gian chờ phản hồi mặc định của sàn giao dịch để sử dụng khi giao tiếp với ứng dụng ngang hàng.

Chi tiết
Trả về
Thời gian chờ phản hồi tính bằng mili giây.

GetDefaultWRMPConfig

const WRMPConfig & GetDefaultWRMPConfig(
  void
) const 

Nhận cấu hình WRMP mặc định để sử dụng khi giao tiếp với ứng dụng ngang hàng.

Chi tiết
Trả về
Tham chiếu đến cấu trúc WRMPConfig chứa các giá trị cấu hình mặc định.

GetEncryptionType

uint8_t GetEncryptionType(
  void
) const 

Truy xuất loại mã hoá thư sẽ được sử dụng khi mã hoá thư đến/từ ứng dụng ngang hàng.

GetEventCallback

EventCallback GetEventCallback() const 

Lấy hàm sẽ được gọi khi sự kiện API xảy ra đối với Binding.

Chi tiết
Trả về
Con trỏ trỏ đến hàm callback.

GetExchangeManager

WeaveExchangeManager * GetExchangeManager() const 

GetKeyId

uint32_t GetKeyId(
  void
) const 

Truy xuất mã nhận dạng của khoá mã hoá thư sẽ dùng khi mã hoá thư đến/từ ứng dụng ngang hàng.

GetLogId

uint16_t GetLogId(
  void
) const 

Nhận mã nhận dạng duy nhất cho liên kết.

GetMaxWeavePayloadSize

uint32_t GetMaxWeavePayloadSize(
  const System::PacketBuffer *msgBuf
)

Lấy kích thước tải trọng Weave tối đa có thể vừa với PacketBuffer đã cung cấp.

Đối với UDP, bao gồm cả UDP với WRM, kích thước tải trọng tối đa được trả về sẽ đảm bảo thông báo Weave nhận được sẽ không làm tràn MTU UDP đã định cấu hình.

Ngoài ra, phương pháp này sẽ đảm bảo tải trọng Weave sẽ không làm tràn PacketBuffer đã cung cấp.

Chi tiết
Tham số
[in] msgBuf
Con trỏ tới PacketBuffer mà tải trọng thông báo sẽ được ghi.
Trả về
Kích thước tải trọng Weave tối đa.

GetPeerDescription

void GetPeerDescription(
  char *buf,
  uint32_t bufSize
) const 

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 quan.

Chi tiết
Tham số
[in] buf
Con trỏ trỏ đến vùng đệm mà chuỗi sẽ được ghi vào vùng đệm. Vùng đệm được cung cấp ít nhất phải lớn bằng kGetPeerDescription_MaxLength. Nếu vùng đệm nhỏ hơn được cung cấp, chuỗi sẽ được cắt bớt cho phù hợp. Dữ liệu đầ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 vùng đệm trỏ bởi buf.

GetPeerIPAddress

void GetPeerIPAddress(
  nl::Inet::IPAddress & address,
  uint16_t & port,
  InterfaceId & interfaceId
) const 

Truy xuất thông tin địa chỉ IP của ứng dụng ngang hàng, nếu có.

Tính sẵn có của thông tin địa chỉ IP của ứng dụng ngang hàng phụ thuộc vào trạng thái và cấu hình của liên kết. Thông tin địa chỉ IP chỉ xuất hiện khi sử dụng phương thức truyền tải dựa trên IP (TCP, UDP hoặc UDP với WRMP). Trước khi bắt đầu chuẩn bị, thông tin địa chỉ chỉ có sẵn nếu ứng dụng đã đặt rõ ràng thông tin này trong quá trình định cấu hình. Trong giai đoạn chuẩn bị, thông tin địa chỉ sẽ xuất hiện khi quá trình chuẩn bị địa chỉ hoàn tất (ví dụ: sau khi quá trình phân giải DNS hoàn tất). Sau khi Liên kết đã sẵn sàng, thông tin địa chỉ sẽ vẫn còn cho đến khi Liên kết được đặt lại.

Chi tiết
Tham số
[out] address
Tham chiếu đến đối tượng IPAddress sẽ nhận địa chỉ IP của ứng dụng ngang hàng. Nếu không có thông tin địa chỉ IP của ứng dụng ngang hàng, thì giá trị này sẽ được đặt thành IPAddress::Any.
[out] port
Tham chiếu đến một số nguyên sẽ nhận số cổng của ứng dụng ngang hàng. Nếu không có thông tin địa chỉ IP của ứng dụng ngang hàng, thì giá trị này là không xác định.
[out] interfaceId
Tham chiếu đến một số nguyên sẽ nhận mã của giao diện mạng mà qua đó ứng dụng ngang hàng có thể kết nối. Nếu không có thông tin địa chỉ IP của ứng dụng ngang hàng, thì giá trị này là không xác định.

GetPeerNodeId

uint64_t GetPeerNodeId(
  void
) const 

Truy xuất mã nút của ứng dụng ngang hàng liên kết.

Chỉ hợp lệ sau khi đối tượng liên kết đã được chuẩn bị.

Chi tiết
Trả về
Mã nút dệt của ứng dụng ngang hàng

GetProtocolLayerCallback

void GetProtocolLayerCallback(
  EventCallback & callback,
  void *& state
) const 

GetState

State GetState(
  void
) const 

Truy xuất trạng thái hiện tại của liên kết.

Chi tiết
Trả về
Trạng thái liên kết.

IsAuthenticMessageFromPeer

bool IsAuthenticMessageFromPeer(
  const WeaveMessageInfo *msgInfo
)

Xác định xem một thư đến cụ thể có phải là từ ứng dụng ngang hàng đã định cấu hình và được xác thực phù hợp hay không.

Phương thức này xác nhận các thông tin chi tiết sau về thông báo đã cho:

  • Thông báo bắt nguồn từ nút ngang hàng của liên kết
  • Thông báo được nhận qua cùng một loại truyền tải với liên kết. Nếu thư được nhận qua một kết nối, phương thức này cũng sẽ xác nhận rằng thư được nhận qua kết nối chính xác được liên kết với liên kết.
  • Khoá mã hoá và loại dùng để mã hoá thư khớp với khoá và kiểu được định cấu hình trong liên kết. Đối với các mối liên kết được định cấu hình mà không sử dụng tính năng bảo mật, phương thức này xác nhận rằng tin nhắn đến KHÔNG được mã hoá.

Phương thức này được dùng trong các giao thức như WDM, trong đó các ứng dụng ngang hàng có thể tự động bắt đầu trao đổi trở lại nút cục bộ sau quá trình trao đổi ban đầu từ nút tới nút ngang hàng. Trong những trường hợp như vậy, phương thức này cho phép nút cục bộ xác nhận rằng tin nhắn không mong muốn đến đã được gửi bởi ứng dụng ngang hàng đã liên kết. (Tất nhiên, đối với các Liên kết được định cấu hình mà không sử dụng tính năng mã hoá thư, xác nhận này không cung cấp giá trị nào về khía cạnh bảo mật. Phương thức này chỉ xác nhận rằng mã nhận dạng nút của người gửi và kiểu truyền tải khớp nhau.)

Lưu ý rằng nếu liên kết không ở trạng thái Sẵn sàng, thì phương thức này sẽ luôn trả về giá trị false.

Chi tiết
Tham số
[in] msgInfo
Thông tin về tin nhắn Weave cho tin nhắn đến.
Trả về
Đúng nếu tin nhắn đó là của đối tác chính xác.

IsConnectionTransport

bool IsConnectionTransport() const 

IsPreparing

bool IsPreparing(
  void
) const 

Chi tiết
Trả về
Đúng nếu Liên kết hiện đang được chuẩn bị.

IsReady

bool IsReady(
  void
) const 

Chi tiết
Trả về
Đúng nếu Binding ở trạng thái Sẵn sàng.

IsUDPTransport

bool IsUDPTransport() const 

IsUnreliableUDPTransport

bool IsUnreliableUDPTransport() const 

IsWRMTransport

bool IsWRMTransport() const 

NewExchangeContext

WEAVE_ERROR NewExchangeContext(
  ExchangeContext *& appExchangeContext
)

Phân bổ một Ngữ cảnh Exchange mới để giao tiếp với ứng dụng ngang hàng là mục tiêu của liên kết.

Chi tiết
Tham số
[out] appExchangeContext
Tham chiếu đến một con trỏ sẽ nhận đối tượng Ngữ cảnh Exchange mới được phân bổ. Con trỏ sẽ được đặt thành NULL trong trường hợp phương thức này không thành công.
Giá trị trả về
WEAVE_NO_ERROR
Liệu ngữ cảnh trao đổi có được phân bổ thành công hay không.
WEAVE_ERROR_NO_MEMORY
Nếu không có bộ nhớ để phân bổ ngữ cảnh trao đổi.
WEAVE_ERROR_INCORRECT_STATE
Nếu liên kết không ở trạng thái Sẵn sàng.
other
Các lỗi khác liên quan đến việc định cấu hình ngữ cảnh trao đổi dựa trên cấu hình của liên kết.

Bản phát hành

void Release(
  void
)

Giải phóng mục tham chiếu đến đối tượng liên kết.

Nếu không có thêm tham chiếu nào đến đối tượng liên kết, liên kết sẽ được đóng và giải phóng.

RequestPrepare

WEAVE_ERROR RequestPrepare()

Yêu cầu ứng dụng định cấu hình và chuẩn bị Binding.

Mã lớp giao thức có thể sử dụng phương thức này trên một Binding chưa được định cấu hình hoặc không thành công để kích hoạt một sự kiện đến ứng dụng (kEvent_PrepareRequested) yêu cầu ứng dụng định cấu hình và chuẩn bị liên kết để sử dụng.

Phương thức này chỉ có thể được gọi trên các Liên kết ở trạng thái Chưa định cấu hình hoặc Không thành công.

Nếu ứng dụng không hỗ trợ cấu hình/chuẩn bị liên kết theo yêu cầu, thì phương thức này sẽ không thành công với WEAVE_ERROR_NOT_IMPLEMENTED.

Đặt lại

void Reset(
  void
)

Đặt lại liên kết trở lại trạng thái chưa được định cấu hình.

Khi gọi Reset(), mọi hành động chuẩn bị đang tiến hành cho liên kết đều sẽ bị huỷ và mọi tài nguyên giao tiếp bên ngoài mà liên kết nắm giữ sẽ được giải phóng. Reset() đặt liên kết ở trạng thái Chưa định cấu hình, sau đó liên kết có thể được định cấu hình và chuẩn bị lại.

Reset() không làm thay đổi số lượng tham chiếu của liên kết.

SetDefaultResponseTimeout

void SetDefaultResponseTimeout(
  uint32_t msec
)

Đặt thời gian chờ mặc định của phản hồi trao đổi để sử dụng khi giao tiếp với ứng dụng ngang hàng.

Chi tiết
Tham số
[in] timeout
Thời gian chờ phản hồi mới tính bằng mili giây.

SetDefaultWRMPConfig

void SetDefaultWRMPConfig(
  const WRMPConfig & wrmpConfig
)

Đặt cấu hình WRMP mặc định được sử dụng khi giao tiếp với ứng dụng ngang hàng.

Chi tiết
Tham số
[in] aWRMPConfig
Tham chiếu đến cấu trúc WRMPConfig chứa cấu hình mặc định mới.

SetEventCallback

void SetEventCallback(
  EventCallback aEventCallback
)

Đặt hàm do ứng dụng xác định sẽ được gọi khi sự kiện API xảy ra cho sự kiện Binding.

Chi tiết
Tham số
[in] aEventCallback
Con trỏ trỏ đến hàm callback.

SetProtocolLayerCallback

void SetProtocolLayerCallback(
  EventCallback callback,
  void *state
)

Đặt một hàm callback sự kiện cho mã lớp giao thức bằng cách sử dụng Binding thay mặt cho ứng dụng.

Hàm này sẽ được gọi cùng với hàm callback do ứng dụng xác định khi các sự kiện API xảy ra cho thao tác Binding.

Chi tiết
Tham số
[in] callback
Con trỏ trỏ đến hàm callback.
[in] state
Con trỏ trỏ đến một đối tượng trạng thái sẽ được cung cấp cho mã lớp giao thức khi lệnh gọi lại lớp giao thức xảy ra.

Hàm tĩnh công khai

DefaultEventHandler

void DefaultEventHandler(
  void *apAppState,
  EventType aEvent,
  const InEventParam & aInParam,
  OutEventParam & aOutParam
)

Trình xử lý mặc định cho các sự kiện API liên kết.

Các ứng dụng cần phải gọi phương thức này cho mọi sự kiện API mà ứng dụng không nhận dạng hoặc xử lý được. Tham số được cung cấp phải giống với tham số được liên kết chuyển đến hàm trình xử lý sự kiện của ứng dụng.

Chi tiết
Tham số
[in] apAppState
Con trỏ trỏ tới thông tin trạng thái do ứng dụng xác định được liên kết với liên kết.
[in] aEvent
Mã sự kiện bị lệnh gọi lại sự kiện truyền
[in] aInParam
Tham chiếu các thông số sự kiện đầu vào được lệnh gọi lại sự kiện truyền
[in] aOutParam
Tham chiếu đến các thông số sự kiện đầu ra được lệnh gọi lại sự kiện truyền