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

摘要

建構函式和解構函式

BdxNode(void)
這個預設建構函式會將所有成員設為 NULL。

公開函式

AllowBdxTransferToRun(bool aEnable)
void
用於啟用/停用 BDX 伺服器,而不完全關閉再重新啟動。
AwaitBdxReceiveInit(ReceiveInitHandler aReceiveInitHandler)
AwaitBdxSendInit(SendInitHandler aSendInitHandler)
CanBdxTransferRun(void)
bool
如果目前允許 BDX 伺服器啟動移轉作業,則傳回 true,否則傳回 false。
Init(WeaveExchangeManager *anExchangeMgr)
將所有移轉作業設為可使用的預設狀態,請儲存 WeaveExchangeManager 和其他必要的 Weave 資源,並設定 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
如果這個 BdxNode 已完成初始化,則傳回 true。
NewTransfer(Binding *aBinding, BDXHandlers aBDXHandlers, ReferencedString & aFileDesignator, void *anAppState, BDXTransfer *& aXfer)
取得並設定新的 BDXTransfer (如果可用),或是設為 NULL,然後傳回錯誤。
NewTransfer(WeaveConnection *aCon, BDXHandlers aBDXHandlers, ReferencedString & aFileDesignator, void *anAppState, BDXTransfer *& aXfer)
取得並設定新的 BDXTransfer (如果可用),或是設為 NULL,然後傳回錯誤。
Shutdown(void)
關閉所有移轉作業並釋出所有 Weave 資源 (目前將 mExchangeMgr 設為 NULL)。

公開的靜態函式

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
關閉指定的轉移物件,並回到集區。

公開函式

AllowBdxTransferToRun

void AllowBdxTransferToRun(
  bool aEnable
)

用於啟用/停用 BDX 伺服器,而不完全關閉再重新啟動。

詳細資料
參數
[in] aEnable
啟用 (true) 或停用 (false)

AwaitBdxReceiveInit

WEAVE_ERROR AwaitBdxReceiveInit(
  ReceiveInitHandler aReceiveInitHandler
)

AwaitBdxSendInit

WEAVE_ERROR AwaitBdxSendInit(
  SendInitHandler aSendInitHandler
)

BdxNode

 BdxNode(
  void
)

這個預設建構函式會將所有成員設為 NULL。

除非您至少呼叫 init(),否則請勿嘗試透過伺服器執行任何操作。

CanBdxTransferRun

bool CanBdxTransferRun(
  void
)

如果目前允許 BDX 伺服器啟動移轉作業,則傳回 true,否則傳回 false。

詳細資料
傳回
如允許 BDX 傳輸,則為 true;如果不允許進行 BDX 傳輸,則為 false

Init

WEAVE_ERROR Init(
  WeaveExchangeManager *anExchangeMgr
)

將所有移轉作業設為可使用的預設狀態,請儲存 WeaveExchangeManager 和其他必要的 Weave 資源,並設定 allowBdxTransferToRun(true)。

詳細資料
參數
[in] anExchangeMgr
用於這項大量移轉作業的廣告交易平台管理員。
傳回值
WEAVE_NO_ERROR
若成功
WEAVE_ERROR_INCORRECT_STATE
如果 mExchangeMgr 不是空值,表示已初始化

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
)

如果這個 BdxNode 已完成初始化,則傳回 true。

詳細資料
傳回
如果此物件已初始化,則傳回 true

NewTransfer

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

取得並設定新的 BDXTransfer (如果可用),或是設為 NULL,然後傳回錯誤。

詳細資料
參數
[in] aBinding
要用來啟動移轉作業的節點的繫結。用於為這項移轉作業建立相關聯的 ExchangeContext
[in] aBDXHandlers
傳輸期間要呼叫的 BDX 回呼處理常式結構
[in] aFileDesignator
即將傳輸的檔案指定器。
[in] anAppState
附加至 BDXTransfer 的應用程式專屬狀態物件,供使用者應用程式和相關回呼使用。
[in] aXfer
傳遞的參照指標,會指向新的 BDXTransfer 物件 (如有),否則為 NULL。
傳回值
WEAVE_NO_ERROR
如果系統成功找到新的 BDXTransfer
WEAVE_ERROR_NO_MEMORY
如果無法建立 ExchangeContext
WEAVE_ERROR_TOO_MANY_CONNECTIONS
如果目前正在執行太多移轉作業,且 aXfer 為 NULL
WEAVE_ERROR_INCORRECT_STATE
如果尚未準備繫結

NewTransfer

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

取得並設定新的 BDXTransfer (如果可用),或是設為 NULL,然後傳回錯誤。

詳細資料
參數
[in] aCon
我們要啟動轉移作業的 WeaveConnection 節點。用於為這項移轉作業建立相關聯的 ExchangeContext
[in] aBDXHandlers
傳輸期間要呼叫的 BDX 回呼處理常式結構
[in] aFileDesignator
即將傳輸的檔案指定器。
[in] anAppState
附加至 BDXTransfer 的應用程式專屬狀態物件,供使用者應用程式和相關回呼使用。
[in] aXfer
傳遞的參照指標,會指向新的 BDXTransfer 物件 (如有),否則為 NULL。
傳回值
WEAVE_NO_ERROR
如果系統成功找到新的 BDXTransfer
WEAVE_ERROR_NO_MEMORY
如果無法建立 ExchangeContext
WEAVE_ERROR_TOO_MANY_CONNECTIONS
如果目前正在執行太多移轉作業,且 aXfer 為 NULL
WEAVE_ERROR_INCORRECT_STATE
如果尚未設定 mExchangeMgr,或 aCon 無法順利連結

關閉

WEAVE_ERROR Shutdown(
  void
)

關閉所有移轉作業並釋出所有 Weave 資源 (目前將 mExchangeMgr 設為 NULL)。

設定 allowBdxTransferToRun(false) 並中斷目前回呼 (例如 SendInitHandler)。

詳細資料
傳回
WEAVE_NO_ERROR 表示成功關閉,如果 AwaitBdxSend/ReceiveInit 傳回錯誤,則發生其他錯誤

公開的靜態函式

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
)

關閉指定的轉移物件,並回到集區。

只需遵循 BDXTransfer::Shutdown() 即可。

詳細資料
參數
[in] aXfer
BDXTransfer 可關閉