nl::Weave::Profiles::BDX_Development::BdxNode

Tóm tắt

Hàm khởi tạo và phá huỷ

BdxNode(void)
Hàm khởi tạo mặc định đặt tất cả thành phần thành NULL.

Hàm công khai

AllowBdxTransferToRun(bool aEnable)
void
Dùng để bật/tắt máy chủ BDX mà không cần tắt và khởi động lại hoàn toàn.
AwaitBdxReceiveInit(ReceiveInitHandler aReceiveInitHandler)
AwaitBdxSendInit(SendInitHandler aSendInitHandler)
CanBdxTransferRun(void)
bool
Trả về true nếu máy chủ BDX được phép bắt đầu quá trình chuyển vào thời điểm này, trả về false nếu không được phép.
Init(WeaveExchangeManager *anExchangeMgr)
Đặt tất cả các lượt chuyển ở trạng thái mặc định là sẵn sàng để sử dụng, lưu trữ WeaveExchangeManager và mọi tài nguyên Weave cần thiết khác, đồng thời đặt allowBdxTransferToRun(true).
InitBdxReceive(BDXTransfer & aXfer, bool aICanDrive, bool aUCanDrive, bool aAsyncOk, ReferencedTLVData *aMetaData)
InitBdxSend(BDXTransfer & aXfer, bool aICanDrive, bool aUCanDrive, bool aAsyncOk, ReferencedTLVData *aMetaData)
InitBdxSend(BDXTransfer & aXfer, bool aICanDrive, bool aUCanDrive, bool aAsyncOk, SendInit::MetaDataTLVWriteCallback aMetaDataWriteCallback, void *aMetaDataAppState)
IsInitialized(void)
bool
Trả về true nếu BdxNode này đã được khởi động.
NewTransfer(Binding *aBinding, BDXHandlers aBDXHandlers, ReferencedString & aFileDesignator, void *anAppState, BDXTransfer *& aXfer)
Tải và thiết lập một tệp BDXTransfer mới từ nhóm chuyển nếu có hoặc đặt thành NULL và trả về lỗi.
NewTransfer(WeaveConnection *aCon, BDXHandlers aBDXHandlers, ReferencedString & aFileDesignator, void *anAppState, BDXTransfer *& aXfer)
Tải và thiết lập một tệp BDXTransfer mới từ nhóm chuyển nếu có hoặc đặt thành NULL và trả về lỗi.
Shutdown(void)
Tắt tất cả quá trình chuyển và phát hành mọi tài nguyên Weave (hiện đặt mExchangeMgr thành NULL).

Hàm tĩnh công khai

HandleReceiveInit(ExchangeContext *anEc, const IPPacketInfo *aPktInfo, const WeaveMessageInfo *aWeaveMsgInfo, uint32_t aProfileId, uint8_t aMessageType, PacketBuffer *aPacketBuffer)
void
HandleSendInit(ExchangeContext *anEc, const IPPacketInfo *aPktInfo, const WeaveMessageInfo *aWeaveMsgInfo, uint32_t aProfileId, uint8_t aMessageType, PacketBuffer *aPacketBuffer)
void
ShutdownTransfer(BDXTransfer *aXfer)
void
Tắt đối tượng truyền đã cho và đưa đối tượng đó trở lại nhóm.

Hàm công khai

AllowBdxTransferToRun

void AllowBdxTransferToRun(
  bool aEnable
)

Dùng để bật/tắt máy chủ BDX mà không cần tắt và khởi động lại hoàn toàn.

Chi tiết
Tham số
[in] aEnable
Bật (true) hoặc tắt (false)

AwaitBdxReceiveInit

WEAVE_ERROR AwaitBdxReceiveInit(
  ReceiveInitHandler aReceiveInitHandler
)

AwaitBdxSendInit

WEAVE_ERROR AwaitBdxSendInit(
  SendInitHandler aSendInitHandler
)

BdxNode

 BdxNode(
  void
)

Hàm khởi tạo mặc định đặt tất cả thành phần thành NULL.

Đừng cố làm gì với máy chủ cho đến khi ít nhất bạn đã gọi init().

CanBdxTransferRun

bool CanBdxTransferRun(
  void
)

Trả về true nếu máy chủ BDX được phép bắt đầu quá trình chuyển vào thời điểm này, trả về false nếu không được phép.

Chi tiết
Trả về
true nếu cho phép chuyển BDX, false nếu không cho phép

Init

WEAVE_ERROR Init(
  WeaveExchangeManager *anExchangeMgr
)

Đặt tất cả các lượt chuyển ở trạng thái mặc định là sẵn sàng để sử dụng, lưu trữ WeaveExchangeManager và mọi tài nguyên Weave cần thiết khác, đồng thời đặt allowBdxTransferToRun(true).

Chi tiết
Tham số
[in] anExchangeMgr
Một người quản lý sàn giao dịch để sử dụng cho hoạt động chuyển khoản hàng loạt này.
Giá trị trả về
WEAVE_NO_ERROR
nếu thành công
WEAVE_ERROR_INCORRECT_STATE
nếu mExchangeMgr không có giá trị rỗng, tức là đã được khởi chạy

InitBdxReceive

WEAVE_ERROR InitBdxReceive(
  BDXTransfer & aXfer,
  bool aICanDrive,
  bool aUCanDrive,
  bool aAsyncOk,
  ReferencedTLVData *aMetaData
)

InitBdxSend

WEAVE_ERROR InitBdxSend(
  BDXTransfer & aXfer,
  bool aICanDrive,
  bool aUCanDrive,
  bool aAsyncOk,
  ReferencedTLVData *aMetaData
)

InitBdxSend

WEAVE_ERROR InitBdxSend(
  BDXTransfer & aXfer,
  bool aICanDrive,
  bool aUCanDrive,
  bool aAsyncOk,
  SendInit::MetaDataTLVWriteCallback aMetaDataWriteCallback,
  void *aMetaDataAppState
)

IsInitialized

bool IsInitialized(
  void
)

Trả về true nếu BdxNode này đã được khởi động.

Chi tiết
Trả về
true nếu đối tượng này đã được khởi tạo

NewTransfer

WEAVE_ERROR NewTransfer(
  Binding *aBinding,
  BDXHandlers aBDXHandlers,
  ReferencedString & aFileDesignator,
  void *anAppState,
  BDXTransfer *& aXfer
)

Tải và thiết lập một tệp BDXTransfer mới từ nhóm chuyển nếu có hoặc đặt thành NULL và trả về lỗi.

Chi tiết
Tham số
[in] aBinding
Liên kết với nút mà chúng ta sẽ bắt đầu chuyển. Mã này được dùng để tạo một ExchangeContext liên kết cho quá trình chuyển này.
[in] aBDXHandlers
Cấu trúc của trình xử lý gọi lại BDX sẽ được gọi trong quá trình chuyển
[in] aFileDesignator
Chỉ định tệp cho tệp sẽ được chuyển.
[in] anAppState
Một đối tượng trạng thái dành riêng cho ứng dụng cần được đính kèm vào BDXTransfer để ứng dụng của người dùng sử dụng và các lệnh gọi lại được liên kết.
[in] aXfer
Con trỏ tham chiếu truyền qua sẽ trỏ đến đối tượng BDXTransfer mới (nếu có), nếu không phải là đối tượng NULL.
Giá trị trả về
WEAVE_NO_ERROR
Nếu chúng tôi tìm thấy thành công một BDXTransfer mới.
WEAVE_ERROR_NO_MEMORY
Nếu không thể tạo ExchangeContext
WEAVE_ERROR_TOO_MANY_CONNECTIONS
Nếu có quá nhiều lượt chuyển đang diễn ra và aXfer là giá trị NULL
WEAVE_ERROR_INCORRECT_STATE
Nếu aBinding không được chuẩn bị

NewTransfer

WEAVE_ERROR NewTransfer(
  WeaveConnection *aCon,
  BDXHandlers aBDXHandlers,
  ReferencedString & aFileDesignator,
  void *anAppState,
  BDXTransfer *& aXfer
)

Tải và thiết lập một tệp BDXTransfer mới từ nhóm chuyển nếu có hoặc đặt thành NULL và trả về lỗi.

Chi tiết
Tham số
[in] aCon
WeaveConnection đến nút mà chúng ta sẽ bắt đầu chuyển. Mã này được dùng để tạo một ExchangeContext liên kết cho quá trình chuyển này.
[in] aBDXHandlers
Cấu trúc của trình xử lý gọi lại BDX sẽ được gọi trong quá trình chuyển
[in] aFileDesignator
Chỉ định tệp cho tệp sẽ được chuyển.
[in] anAppState
Một đối tượng trạng thái dành riêng cho ứng dụng cần được đính kèm vào BDXTransfer để ứng dụng của người dùng sử dụng và các lệnh gọi lại được liên kết.
[in] aXfer
Con trỏ tham chiếu truyền qua sẽ trỏ đến đối tượng BDXTransfer mới (nếu có), nếu không phải là đối tượng NULL.
Giá trị trả về
WEAVE_NO_ERROR
Nếu chúng tôi tìm thấy thành công một BDXTransfer mới.
WEAVE_ERROR_NO_MEMORY
Nếu không thể tạo ExchangeContext
WEAVE_ERROR_TOO_MANY_CONNECTIONS
Nếu có quá nhiều lượt chuyển đang diễn ra và aXfer là giá trị NULL
WEAVE_ERROR_INCORRECT_STATE
Nếu mExchangeMgr chưa được đặt hoặc nếu aCon chưa kết nối thành công

Tắt

WEAVE_ERROR Shutdown(
  void
)

Tắt tất cả quá trình chuyển và phát hành mọi tài nguyên Weave (hiện đặt mExchangeMgr thành NULL).

Đặt AllowBdxTransferToRun(false) và ngắt kết nối mọi lệnh gọi lại hiện tại (ví dụ: SendInitHandler).

Chi tiết
Trả về
WEAVE_NO_ERROR nếu tắt thành công, sẽ xảy ra lỗi khác nếu AwaitBdxSend/ReceiveInit trả về lỗi

Hàm tĩnh công khai

HandleReceiveInit

void HandleReceiveInit(
  ExchangeContext *anEc,
  const IPPacketInfo *aPktInfo,
  const WeaveMessageInfo *aWeaveMsgInfo,
  uint32_t aProfileId,
  uint8_t aMessageType,
  PacketBuffer *aPacketBuffer
)

HandleSendInit

void HandleSendInit(
  ExchangeContext *anEc,
  const IPPacketInfo *aPktInfo,
  const WeaveMessageInfo *aWeaveMsgInfo,
  uint32_t aProfileId,
  uint8_t aMessageType,
  PacketBuffer *aPacketBuffer
)

ShutdownTransfer

void ShutdownTransfer(
  BDXTransfer *aXfer
)

Tắt đối tượng truyền đã cho và đưa đối tượng đó trở lại nhóm.

Thao tác này chỉ trì hoãn lệnh BDXTransfer::Shutdown()

Chi tiết
Tham số
[in] aXfer
BDXTransfer sẽ ngừng hoạt động