nl::編織::設定檔::BDX_開發::BDXTransfer

#include <src/lib/profiles/bulk-data-transfer/Development/BDXTransferState.h>

這個結構包含代表有效 BDX 移轉的資料成員。

總結

Bdx Protocol 會使用這些物件來維護通訊協定狀態。這些服務是由 BdxServer 管理,負責管理和初始化新的移轉作業,包括管理連線和 ExchangeContexts。

公開屬性

mAmInitiator
bool
mAmSender
bool
mAppState
void *
mBlockCounter
uint32_t
下一次,當下一個傳輸作業正式開始時,我們預期會收到 BlockQuery 或 BlockACK。
mBytesSent
uint64_t
mExchangeContext
mFileDesignator
/具體來說,它是由 PacketBuffer 提供支援嗎?如果是的話,整個 Xfer 應該不會被轉到
mFirstQuery
bool
mHandlers
mIsAccepted
bool
mIsCompletedSuccessfully
bool
mIsInitiated
bool
mIsWideRange
bool
mLength
uint64_t
mMaxBlockSize
uint16_t
mNext)(BDXTransfer &)
mStartOffset
uint64_t
mTransferMode
uint8_t
mVersion
uint8_t

公開函式

DispatchErrorHandler(WEAVE_ERROR anErrorCode)
void
如果已經設定錯誤處理常式,請呼叫該處理常式。
DispatchGetBlockHandler(uint64_t *aLength, uint8_t **aDataBlock, bool *aLastBlock)
void
如果已設定 getblock 處理常式,請呼叫該處理常式。
DispatchPutBlockHandler(uint64_t aLength, uint8_t *aDataBlock, bool aLastBlock)
void
如果 Put 區塊處理常式已設定,請呼叫該處理常式。
DispatchReceiveAccept(ReceiveAccept *aReceiveAcceptMsg)
調度人員只要檢查處理常式是否已設定,接著就會呼叫該處理常式。
DispatchRejectHandler(StatusReport *aReport)
void
如果已設定拒絕處理常式,請呼叫該處理常式。
DispatchSendAccept(SendAccept *aSendAcceptMsg)
如果已經設定傳送接受處理常式,請呼叫該處理常式。
DispatchXferDoneHandler(void)
void
如果已設定移轉完成處理常式,請呼叫該處理常式。
DispatchXferErrorHandler(StatusReport *aXferError)
void
如果已設定轉移錯誤處理常式,請呼叫該處理常式。
GetDefaultFlags(bool aExpectResponse)
uint16_t
此函式會傳回與訊息一起傳送的預設標記。
IsAsync(void)
bool
 Returns true if this transfer is asynchronous, false otherwise.
IsDriver(void)
bool
 Returns true if this entity (node) is the driver for this transfer, false otherwise.
Reset(void)
void
 Sets all pointers to NULL, resets counters, etc.
SetHandlers(BDXHandlers aHandlers)
void
此函式會設定此 BDXTransfer 物件的處理常式。
Shutdown(void)
void
 Shuts down the current transfer, including closing any open ExchangeContext.

公開屬性

行動發起人

bool nl::Weave::Profiles::BDX_Development::BDXTransfer::mAmInitiator

寄件者

bool nl::Weave::Profiles::BDX_Development::BDXTransfer::mAmSender

行動應用程式狀態

void * nl::Weave::Profiles::BDX_Development::BDXTransfer::mAppState

mBlockCounter

uint32_t nl::Weave::Profiles::BDX_Development::BDXTransfer::mBlockCounter

下一次,當下一個傳輸作業正式開始時,我們預期會收到 BlockQuery 或 BlockACK。

收到之後,我們預期會收到下一個 BlockSend 或是我們傳送的最新 BlockQuery (轉移作業正式開始並傳送第一個查詢後)。

mBytesSent (已傳送 mBytes)

uint64_t nl::Weave::Profiles::BDX_Development::BDXTransfer::mBytesSent

mExchange 內容

ExchangeContext * nl::Weave::Profiles::BDX_Development::BDXTransfer::mExchangeContext

mFileDesignator

ReferencedString nl::Weave::Profiles::BDX_Development::BDXTransfer::mFileDesignator

/具體來說,它是由 PacketBuffer 提供支援嗎?如果是的話,整個 Xfer 應該不會被轉到

mFirstQuery (行動優先查詢)

bool nl::Weave::Profiles::BDX_Development::BDXTransfer::mFirstQuery

mHandlers

BDXHandlers nl::Weave::Profiles::BDX_Development::BDXTransfer::mHandlers

可接受

bool nl::Weave::Profiles::BDX_Development::BDXTransfer::mIsAccepted

成功完成

bool nl::Weave::Profiles::BDX_Development::BDXTransfer::mIsCompletedSuccessfully

已啟動

bool nl::Weave::Profiles::BDX_Development::BDXTransfer::mIsInitiated

最大範圍

bool nl::Weave::Profiles::BDX_Development::BDXTransfer::mIsWideRange

毫秒長度

uint64_t nl::Weave::Profiles::BDX_Development::BDXTransfer::mLength

廣告大小上限上限

uint16_t nl::Weave::Profiles::BDX_Development::BDXTransfer::mMaxBlockSize

下一部

WEAVE_ERROR(* nl::Weave::Profiles::BDX_Development::BDXTransfer::mNext)(BDXTransfer &)

mStart 偏移

uint64_t nl::Weave::Profiles::BDX_Development::BDXTransfer::mStartOffset

mTransferMode

uint8_t nl::Weave::Profiles::BDX_Development::BDXTransfer::mTransferMode

行動版

uint8_t nl::Weave::Profiles::BDX_Development::BDXTransfer::mVersion

公開函式

DispatchErrorHandler

void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchErrorHandler(
  WEAVE_ERROR anErrorCode
)

如果已經設定錯誤處理常式,請呼叫該處理常式。

如果未設定,則一併關閉移轉作業的預設行為。

詳細資料
參數
[in] anErrorCode
要處理的錯誤代碼

DispatchGetBlockHandler

void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchGetBlockHandler(
  uint64_t *aLength,
  uint8_t **aDataBlock,
  bool *aLastBlock
)

如果已設定 getblock 處理常式,請呼叫該處理常式。

詳細資料
參數
[in] aLength
區塊長度
[in] aDataBlock
指向資料區塊
[in] aLastBlock
如果這是移轉中的最後一個區塊,則為 True

DispatchPutBlockHandler

void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchPutBlockHandler(
  uint64_t aLength,
  uint8_t *aDataBlock,
  bool aLastBlock
)

如果 Put 區塊處理常式已設定,請呼叫該處理常式。

詳細資料
參數
[in] aLength
區塊長度
[in] aDataBlock
指向資料區塊
[in] aLastBlock
如果這是移轉中的最後一個區塊,則為 True

Dispatch 接收 Accept

WEAVE_ERROR nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchReceiveAccept(
  ReceiveAccept *aReceiveAcceptMsg
)

調度人員只要檢查處理常式是否已設定,接著就會呼叫該處理常式。

如果已經設定接收接受處理常式,請呼叫該處理常式。

因此,您應該將其用做呼叫回呼的公開介面,外部應用程式不需直接呼叫。日後的 BDXTransfer 修訂版本可能會使用委派物件,而不是儲存每個回呼的個別指標。

詳細資料
參數
[in] aReceiveAcceptMsg
要接收的 ReceiveAccept 訊息
傳回
錯誤值

調度拒絕拒絕處理常式

void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchRejectHandler(
  StatusReport *aReport
)

如果已設定拒絕處理常式,請呼叫該處理常式。

如果未設定,則一併關閉移轉作業的預設行為。

詳細資料
參數
[in] aReport
要處理的 StatusReport 訊息

DispatchSendAccept

WEAVE_ERROR nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchSendAccept(
  SendAccept *aSendAcceptMsg
)

如果已經設定傳送接受處理常式,請呼叫該處理常式。

詳細資料
參數
[in] aSendAcceptMsg
發送的 SendAccept 訊息
傳回
錯誤值

DispatchXferDoneHandler

void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchXferDoneHandler(
  void
)

如果已設定移轉完成處理常式,請呼叫該處理常式。

如果未設定,則一併關閉移轉作業的預設行為。

DispatchXferErrorHandler

void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchXferErrorHandler(
  StatusReport *aXferError
)

如果已設定轉移錯誤處理常式,請呼叫該處理常式。

如果未設定,則一併關閉移轉作業的預設行為。

詳細資料
參數
[in] aXferError
錯誤處理狀態報告

GetDefaultFlags

uint16_t nl::Weave::Profiles::BDX_Development::BDXTransfer::GetDefaultFlags(
  bool aExpectResponse
)

此函式會傳回與訊息一起傳送的預設標記。

詳細資料
參數
[in] aExpectResponse
如果我們預期收到這則訊息
傳回
要傳送的旗標

非同步

bool nl::Weave::Profiles::BDX_Development::BDXTransfer::IsAsync(
  void
)

 Returns true if this transfer is asynchronous, false otherwise.

詳細資料
傳回
如果傳輸作業為非同步,則傳回 true。

IsDriver

bool nl::Weave::Profiles::BDX_Development::BDXTransfer::IsDriver(
  void
)

 Returns true if this entity (node) is the driver for this transfer, false otherwise.

詳細資料
傳回
如果這個實體是這項轉移作業的驅動程式,則為 true

重設

void nl::Weave::Profiles::BDX_Development::BDXTransfer::Reset(
  void
)

 Sets all pointers to NULL, resets counters, etc.

關機時呼叫。

SetHandlers

void nl::Weave::Profiles::BDX_Development::BDXTransfer::SetHandlers(
  BDXHandlers aHandlers
)

此函式會設定此 BDXTransfer 物件的處理常式。

您應該一律使用這個方法,而不要以手動方式設定方法,因為這個函式在實作處理常式函式指標時,並非公開 API 的一部分。

詳細資料
參數
[in] aHandlers
要呼叫的回呼處理常式結構

停用

void nl::Weave::Profiles::BDX_Development::BDXTransfer::Shutdown(
  void
)

 Shuts down the current transfer, including closing any open ExchangeContext.

利用這個機會,您可以轉移與這項轉移作業及應用程式邏輯相關的所有資源。