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

摘要

建構函式和解構函式

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

公用函式

AllowBdxTransferToRun(bool aEnable)
void
用於在不完全關閉並重新啟動 BDX 伺服器的情況下啟用/停用 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 伺服器的情況下啟用/停用 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;如果不是,則為 false

Init

WEAVE_ERROR Init(
  WeaveExchangeManager *anExchangeMgr
)

將所有傳輸作業維持在預設狀態以供使用,請儲存 WeaveExchangeManager 和其他必要 Weave 資源,並設定 allowBdxTransferToRun(true)。

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

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