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::Weave::Hồ sơ::BDX_Growthment::BdxNode

Tóm tắt

Hàm dựng và hàm phá hủy

BdxNode(void)
Hàm dựng mặc định đặt tất cả thành viên thành NULL.

Hàm công khai

AllowBdxTransferToRun(bool aEnable)
void
Sử dụng để bật/tắt máy chủ BDX mà không cần tắt máy chủ hoàn toàn và khởi động lại.
AwaitBdxReceiveInit(ReceiveInitHandler aReceiveInitHandler)
AwaitBdxSendInit(SendInitHandler aSendInitHandler)
CanBdxTransferRun(void)
bool
Trả về true nếu máy chủ BDX được phép bắt đầu chuyển vào thời điểm này, false nếu không được cho phép.
Init(WeaveExchangeManager *anExchangeMgr)
Đặt mọi lượt chuyển ở trạng thái mặc định 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 và đặ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 tạo.
NewTransfer(Binding *aBinding, BDXHandlers aBDXHandlers, ReferencedString & aFileDesignator, void *anAppState, BDXTransfer *& aXfer)
Lấy và thiết lập một BDXTransfer mới từ nhóm chuyển (nếu có) hoặc đặt thành NULL. Các trường hợp khác sẽ trả về lỗi.
NewTransfer(WeaveConnection *aCon, BDXHandlers aBDXHandlers, ReferencedString & aFileDesignator, void *anAppState, BDXTransfer *& aXfer)
Lấy và thiết lập một BDXTransfer mới từ nhóm chuyển (nếu có) hoặc đặt thành NULL. Các trường hợp khác sẽ trả về lỗi.
Shutdown(void)
Tắt tất cả hoạt động 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 chuyển đã cho và quay lại nhóm.

Hàm công khai

AllowBdxTransferToRun

void AllowBdxTransferToRun(
  bool aEnable
)

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

Thông tin chi tiết
Các thông số
[in] aEnable
Bật (đúng) hoặc tắt (false)

AChờBdxRecipientInit

WEAVE_ERROR AwaitBdxReceiveInit(
  ReceiveInitHandler aReceiveInitHandler
)

Chờ đợi

WEAVE_ERROR AwaitBdxSendInit(
  SendInitHandler aSendInitHandler
)

Nút Bdx

 BdxNode(
  void
)

Hàm dựng mặc định đặt tất cả thành viên thành NULL.

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

CanBdxTransferRun

bool CanBdxTransferRun(
  void
)

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

Thông tin chi tiết
Trả về
true nếu được phép chuyển BDX, false nếu không được phép

Số nguyên

WEAVE_ERROR Init(
  WeaveExchangeManager *anExchangeMgr
)

Đặt mọi lượt chuyển ở trạng thái mặc định 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 và đặt allowBdxTransferToRun(true).

Thông tin chi tiết
Các thông số
[in] anExchangeMgr
Trình quản lý trao đổi để sử dụng cho thao tác chuyể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ị null, đã được khởi tạo

InitBdxRecipient

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

InitBdxGửi

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

InitBdxGửi

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

Đã khởi tạo

bool IsInitialized(
  void
)

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

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

Chuyển dữ liệu mới

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

Lấy và thiết lập một BDXTransfer mới từ nhóm chuyển (nếu có) hoặc đặt thành NULL. Các trường hợp khác sẽ trả về lỗi.

Thông tin chi tiết
Các thông 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 được liên kết cho lần chuyển này.
[in] aBDXHandlers
Cấu trúc của trình xử lý lệnh gọi lại BDX sẽ được gọi trong quá trình chuyển
[in] aFileDesignator
Trình chỉ định tệp cho tệp sẽ được chuyển.
[in] anAppState
Đối tượng trạng thái dành riêng cho ứng dụng cần đính kèm vào tệp BDXTransfer để ứng dụng của người dùng và các lệnh gọi lại được liên kết sử dụng.
[in] aXfer
Con trỏ tham chiếu đến tham chiếu đến đối tượng BDXTransfer mới nếu có, đối tượng khác là NULL.
Giá trị trả về
WEAVE_NO_ERROR
Nếu chúng tôi tìm thấy tệp BDXTransfer thành công.
WEAVE_ERROR_NO_MEMORY
Nếu không thể tạo ExchangeContext
WEAVE_ERROR_TOO_MANY_CONNECTIONS
Nếu có quá nhiều lần chuyển hiện đang hoạt động và aXfer là NULL
WEAVE_ERROR_INCORRECT_STATE
Nếu ABinding không được chuẩn bị

Chuyển dữ liệu mới

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

Lấy và thiết lập một BDXTransfer mới từ nhóm chuyển (nếu có) hoặc đặt thành NULL. Các trường hợp khác sẽ trả về lỗi.

Thông tin chi tiết
Các thông số
[in] aCon
WeaveConnection tới nút mà chúng ta sẽ bắt đầu chuyển. Mã này được dùng để tạo một ExchangeContext được liên kết cho lần chuyển này.
[in] aBDXHandlers
Cấu trúc của trình xử lý lệnh gọi lại BDX sẽ được gọi trong quá trình chuyển
[in] aFileDesignator
Trình chỉ định tệp cho tệp sẽ được chuyển.
[in] anAppState
Đối tượng trạng thái dành riêng cho ứng dụng cần đính kèm vào tệp BDXTransfer để ứng dụng của người dùng và các lệnh gọi lại được liên kết sử dụng.
[in] aXfer
Con trỏ tham chiếu đến tham chiếu đến đối tượng BDXTransfer mới nếu có, đối tượng khác là NULL.
Giá trị trả về
WEAVE_NO_ERROR
Nếu chúng tôi tìm thấy tệp BDXTransfer thành công.
WEAVE_ERROR_NO_MEMORY
Nếu không thể tạo ExchangeContext
WEAVE_ERROR_TOO_MANY_CONNECTIONS
Nếu có quá nhiều lần chuyển hiện đang hoạt động và aXfer là 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ả hoạt động 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).

Thông tin chi tiết
Trả về
WEAVE_NO_ERROR nếu tắt thành công, một lỗi khác nếu AChờBdxSend/ NhậnInit trả về lỗi

Hàm tĩnh công khai

Tên nhận xử lý

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

Tên người dùng khi gửi

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

Chuyển sang trạng thái tắt

void ShutdownTransfer(
  BDXTransfer *aXfer
)

Tắt đối tượng chuyển đã cho và quay lại nhóm.

Thao tác này chỉ cần thực hiện theo thao tác BDXTransfer::Shutdown()

Thông tin chi tiết
Các thông số
[in] aXfer
BDXTransfer để tắt