nl:: Weave:: Profiles:: BDX_Development:: SendInit
#include <src/lib/profiles/bulk-data-transfer/Development/BDXMessages.h>
當傳送者是發起人時,系統會使用 SendInit 訊息啟動交換作業。
摘要
繼承
直接已知子類別: nl::Weave::Profiles::BDX_Development::ReceiveInit
建構函式和解構函式 |
|
---|---|
SendInit(void)
|
公開類型 |
|
---|---|
MetaDataTLVWriteCallback)(uint8_t *aBuffer, uint16_t aBufferLength, uint16_t &aNumBytesWritten, void *aAppState)
|
typedef MetaDataTLVWriteCallback 提供用戶端可以提供 SendInit 和他們需要的中繼資料的方式。 |
公開屬性 |
|
---|---|
mAsynchronousModeSupported
|
bool
如果我們可以支援非同步模式,則為「true」。
|
mDefiniteLength
|
bool
如果存在長度欄位,則為「true」。
|
mFileDesignator
|
包含預先協商資訊的字串。
|
mLength
|
uint64_t
建議的移轉資料長度,0 代表無限期。
|
mMaxBlockSize
|
uint16_t
建議用於移轉作業的區塊大小上限。
|
mMetaData
|
選用的 TLV 中繼資料。
|
mMetaDataAppState
|
void *
TLV 中繼資料的選用應用程式狀態。
|
mMetaDataWriteCallback
|
可寫入 TLV 中繼資料的選用函式。
|
mReceiverDriveSupported
|
bool
如果我們可以支援接收器磁碟,則為 True。
|
mSenderDriveSupported
|
bool
如果我們可以支援傳送者的硬碟,則為 True。
|
mStartOffset
|
uint64_t
建議的資料起始位移。
|
mStartOffsetPresent
|
bool
如果存在起始偏移欄位,則傳回「是」。
|
mVersion
|
uint8_t
我們決定採用的 BDX 通訊協定版本。
|
mWideRange
|
bool
如果偏移量和長度為 64 位元,則為 True。
|
公用函式 |
|
---|---|
init(uint8_t aVersion, bool aSenderDrive, bool aReceiverDrive, bool aAsynchMode, uint16_t aMaxBlockSize, uint64_t aStartOffset, uint64_t aLength, ReferencedString & aFileDesignator, ReferencedTLVData *aMetaData)
|
初始化「寬」的 SendInit。
|
init(uint8_t aVersion, bool aSenderDrive, bool aReceiverDrive, bool aAsynchMode, uint16_t aMaxBlockSize, uint32_t aStartOffset, uint32_t aLength, ReferencedString & aFileDesignator, ReferencedTLVData *aMetaData)
|
初始化「非寬」的 SendInit (32 位元起始位移,32 位元長度)
|
init(uint8_t aVersion, bool aSenderDrive, bool aReceiverDrive, bool aAsynchMode, uint16_t aMaxBlockSize, uint64_t aStartOffset, uint64_t aLength, ReferencedString & aFileDesignator, MetaDataTLVWriteCallback aMetaDataWriteCallback, void *aMetaDataAppState)
|
初始化「寬」的 SendInit。
|
init(uint8_t aVersion, bool aSenderDrive, bool aReceiverDrive, bool aAsynchMode, uint16_t aMaxBlockSize, uint32_t aStartOffset, uint32_t aLength, ReferencedString & aFileDesignator, MetaDataTLVWriteCallback aMetaDataWriteCallback, void *aMetaDataAppState)
|
初始化「非寬」的 SendInit (32 位元起始位移,32 位元長度)
|
operator==(const SendInit &) const
|
bool
SendInit 訊息之間的相等性比較。
|
pack(PacketBuffer *aBuffer)
|
將傳送初始化訊息封裝到 PacketBuffer。
|
packedLength(void)
|
uint16_t
傳回這個傳送初始化訊息的封裝長度。
|
公開的靜態函式 |
|
---|---|
parse(PacketBuffer *aBuffer, SendInit & aRequest)
|
將 PacketBuffer 中的資料剖析為 SendInit 訊息格式。
|
公開類型
MetaDataTLVWriteCallback
WEAVE_ERROR(* MetaDataTLVWriteCallback)(uint8_t *aBuffer, uint16_t aBufferLength, uint16_t &aNumBytesWritten, void *aAppState)
MetaDataTLVWriteCallback 提供用戶端可以提供 SendInit 和他們需要的中繼資料的方式。
用戶端可以視需求提供預先編碼的 TLV (較快)、即時編碼 (使用較少記憶體)、延遲編碼 (啟動速度較快) 等等。
在所有情況下,我們假設回呼產生的資料針對特定 SendInit 是固定的,也就是說,無論呼叫何時,資料都維持不變。這是因為回呼也用於計算任何隨時可能要求寫入的任何這類已寫入 TLV 的長度。
詳細說明 | |||||||||
---|---|---|---|---|---|---|---|---|---|
參數 |
|
||||||||
傳回值 |
|
公開屬性
mAsynchronousModeSupported
bool mAsynchronousModeSupported
如果我們可以支援非同步模式,則為「true」。
mDefiniteLength
bool mDefiniteLength
如果存在長度欄位,則為「true」。
mLength
uint64_t mLength
建議的移轉資料長度,0 代表無限期。
mMaxBlockSize
uint16_t mMaxBlockSize
建議用於移轉作業的區塊大小上限。
mReceiverDriveSupported
bool mReceiverDriveSupported
如果我們可以支援接收器磁碟,則為 True。
mSenderDriveSupported
bool mSenderDriveSupported
如果我們可以支援傳送者的硬碟,則為 True。
mStartOffset
uint64_t mStartOffset
建議的資料起始位移。
mStartOffsetPresent
bool mStartOffsetPresent
如果存在起始偏移欄位,則傳回「是」。
mVersion
uint8_t mVersion
我們決定採用的 BDX 通訊協定版本。
mWideRange
bool mWideRange
如果偏移量和長度為 64 位元,則為 True。
公用函式
SendInit
SendInit( void )
init
WEAVE_ERROR init( uint8_t aVersion, bool aSenderDrive, bool aReceiverDrive, bool aAsynchMode, uint16_t aMaxBlockSize, uint64_t aStartOffset, uint64_t aLength, ReferencedString & aFileDesignator, ReferencedTLVData *aMetaData )
初始化「寬」的 SendInit。
詳細說明 | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
參數 |
|
||||||||||||||||||
傳回 |
WEAVE_NO_ERROR (如果成功)
|
init
WEAVE_ERROR init( uint8_t aVersion, bool aSenderDrive, bool aReceiverDrive, bool aAsynchMode, uint16_t aMaxBlockSize, uint32_t aStartOffset, uint32_t aLength, ReferencedString & aFileDesignator, ReferencedTLVData *aMetaData )
初始化「非寬」的 SendInit (32 位元起始位移,32 位元長度)
詳細說明 | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
參數 |
|
||||||||||||||||||
傳回 |
WEAVE_NO_ERROR (如果成功)
|
init
WEAVE_ERROR init( uint8_t aVersion, bool aSenderDrive, bool aReceiverDrive, bool aAsynchMode, uint16_t aMaxBlockSize, uint64_t aStartOffset, uint64_t aLength, ReferencedString & aFileDesignator, MetaDataTLVWriteCallback aMetaDataWriteCallback, void *aMetaDataAppState )
初始化「寬」的 SendInit。
詳細說明 | |||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
參數 |
|
||||||||||||||||||||
傳回 |
WEAVE_NO_ERROR (如果成功)
|
init
WEAVE_ERROR init( uint8_t aVersion, bool aSenderDrive, bool aReceiverDrive, bool aAsynchMode, uint16_t aMaxBlockSize, uint32_t aStartOffset, uint32_t aLength, ReferencedString & aFileDesignator, MetaDataTLVWriteCallback aMetaDataWriteCallback, void *aMetaDataAppState )
初始化「非寬」的 SendInit (32 位元起始位移,32 位元長度)
詳細說明 | |||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
參數 |
|
||||||||||||||||||||
傳回 |
WEAVE_NO_ERROR (如果成功)
|
運算子==
bool operator==( const SendInit & ) const
包
WEAVE_ERROR pack( PacketBuffer *aBuffer )
將傳送初始化訊息封裝到 PacketBuffer。
詳細說明 | |||||
---|---|---|---|---|---|
參數 |
|
||||
傳回值 |
|
packedLength
uint16_t packedLength( void )
傳回這個傳送初始化訊息的封裝長度。
詳細說明 | |
---|---|
傳回 |
封裝完成後
|
公開的靜態函式
parse
WEAVE_ERROR parse( PacketBuffer *aBuffer, SendInit & aRequest )