透過集合功能整理內容 你可以依據偏好儲存及分類內容。

nl::編織::個人資料::BDX_開發

這個命名空間包含 Weave 內用於大量資料傳輸 (BDX) 設定檔的所有介面,目前正積極開發,不應用於實際工作環境。

總結

列舉

@80 列舉
@81 列舉
@82 列舉
@83 列舉

Typedefs

BdxClient typedef
BdxServer typedef
ErrorHandler)(BDXTransfer *aXfer, WEAVE_ERROR anErrorCode) typedef
void(*
當發生 Weave 錯誤時,無法透過錯誤代碼,直接傳回此處理常式至使用者定義的控制流程。
GetBlockHandler)(BDXTransfer *aXfer, uint64_t *aLength, uint8_t **aDataBlock, bool *aLastBlock) typedef
void(*
Get a block of data to be transmitted.
PutBlockHandler)(BDXTransfer *aXfer, uint64_t aLength, uint8_t *aDataBlock, bool aLastBlock) typedef
void(*
處理由 aLengthLength 長度為 aLength 所指向的資料區塊。
ReceiveAcceptHandler)(BDXTransfer *aXfer, ReceiveAccept *aReceiveAcceptMsg) typedef
目的地接受之前傳送的 ReceiveInit 時叫用回呼。
ReceiveInitHandler)(BDXTransfer *aXfer, ReceiveInit *aReceiveInitMsg) typedef
uint16_t(*
收到 ReceiveInit 訊息時叫用的回呼。
RejectHandler)(BDXTransfer *aXfer, StatusReport *aReport) typedef
void(*
先前目標的 Init 訊息在遭到目的地拒絕時叫用。
SendAcceptHandler)(BDXTransfer *aXfer, SendAccept *aSendAcceptMsg) typedef
當目的地接受先前傳送的 SendInit 時,會叫用回呼。
SendInitHandler)(BDXTransfer *aXfer, SendInit *aSendInitMsg) typedef
uint16_t(*
接收 SendInit 訊息時叫用的回呼。
XferDoneHandler)(BDXTransfer *aXfer) typedef
void(*
處理轉移作業已完成。
XferErrorHandler)(BDXTransfer *aXfer, StatusReport *aXferError) typedef
void(*
處理 BDX 所接收或傳送的 TransferError 訊息。

函式

GetBDXAckFlag(ExchangeContext *anEc)
uint16_t
GetBDXAckFlag 會根據 Exchange 內容連線 (TCP 沒有要求封包) 及 WRMP 編譯時間支援,傳回 RequestAck 欄位的適當旗標。

類別

nl::Weave::Profiles::BDX_Devment::BdxNode
nl::Weave::Profiles::BDX_Devment::BlockAck

BlockAck 訊息是用來確認資料區塊。

nl::Weave::Profiles::BDX_Devment::BlockAckV1

BlockAckV1 訊息是用來確認資料區塊。

nl::Weave::Profiles::BDX_Devment::BlockEOF

BlockEOF 訊息是用來將最後一個資料區塊從寄件者轉移到接收者。

nl::Weave::Profiles::BDX_Devment::BlockEOFAck

BlockEOFAck 訊息是用來確認最後一個資料區塊,

nl::Weave::Profiles::BDX_Devment::BlockEOFAckV1

BlockEOFAckV1 訊息是用來確認最後一個資料區塊。

nl::Weave::Profiles::BDX_Devment::BlockEOFV1

BlockEOFV1 訊息是用來將最後一個資料區塊從寄件者轉移到接收者。

nl::Weave::Profiles::BDX_Devment::BlockQuery

BlockQuery 訊息用於要求將某個資料區塊從傳送者傳輸至接收端。

nl::Weave::Profiles::BDX_Devment::BlockQueryV1

BlockQueryV1 訊息用於要求將某個區塊的資料從寄件者傳輸到接收端。

nl::Weave::Profiles::BDX_Devment::BlockSend

BlockSend 訊息可用於將資料區塊從寄件者轉移到接收者。

nl::Weave::Profiles::BDX_Devment::BlockSendV1

BlockSendV1 訊息是用來將資料區塊從寄件者轉移到接收者。

nl::Weave::Profiles::BDX_Devment::ReceiveAccept

當接收方是發起人時,系統會使用 AcceptAccept 訊息來接受提議的廣告交易平台。

nl::Weave::Profiles::BDX_Devment::ReceiveInit

ReceiveInit 訊息會在接收方是啟動者時啟動交換作業。

nl::Weave::Profiles::BDX_Devment::GetAccept

當收件者是發起人時,接收拒絕訊息是用來拒絕提議的廣告交易平台。

nl::Weave::Profiles::BDX_Devment::SendAccept

當傳送者是發起人時,系統會使用 SendAccept 訊息來接受提議的廣告交易平台。

nl::Weave::Profiles::BDX_Devment::SendInit

「寄件者」訊息會在寄件者是發起者時啟動。

nl::Weave::Profiles::BDX_Devment::SendRejected

如果寄件者是發起人,系統就會使用 SendRejected 訊息來拒絕提議的廣告交易平台。

nl::Weave::Profiles::BDX_Devment::TransferError

[錯誤訊息] 是用於回報錯誤及取消交換作業。

結構

nl::Weave::Profiles::BDX_Devment::BDXHandlers
nl::Weave::Profiles::BDX_Devment::BDXTransfer

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

命名空間

nl::Weave::Profiles::BDX_Devment::Bdx Protocol

列舉

@80

 @80

@81

 @81

@82

 @82

@83

 @83

Typedefs

BXXClient

BdxNode BdxClient

BXXServer

BdxNode BdxServer

ErrorHandler

void(* ErrorHandler)(BDXTransfer *aXfer, WEAVE_ERROR anErrorCode)

當發生 Weave 錯誤時,無法透過錯誤代碼,直接傳回此處理常式至使用者定義的控制流程。

也就是說,如果其他處理常式的傳回類型為 null (例如,表示針對收到的 Weave 訊息,甚至是通訊協定分派的處理常式),就會發生錯誤;系統會呼叫這個處理常式,以判斷使用者是否可以復原並繼續傳輸,或者應該呼叫 Shutdown()。請注意,在初始化 BDXTransfer 之前,可能會發生錯誤。在這種情況下,Weave 會記錄上述錯誤,而通訊協定將負責清理其分配的所有必要狀態。

詳細資料
參數
[in] aXfer
指向與這個轉移作業相關聯的 BDXTransfer
[in] anErrorCode
我們需要處理的錯誤代碼

GetBlockHandler

void(* GetBlockHandler)(BDXTransfer *aXfer, uint64_t *aLength, uint8_t **aDataBlock, bool *aLastBlock)

Get a block of data to be transmitted.

呼叫者提供緩衝區 (緩衝區與緩衝區長度,以參照方式傳入)。受話者 (使用者應用程式) 應使用提供的緩衝區,但基於回溯相容性的緣故,可能會傳回自己的緩衝區。呼叫者不得超過 aLength 位元組。傳回時,aLength 包含讀取緩衝區的實際位元組數。

詳細資料
參數
[in] aXfer
與這項進行中的移轉作業相關的 BDXTransfer
[in,out] aLength
讀取及儲存此區塊的資料長度。呼叫函式時,包含 aDataBlock 中傳遞的緩衝區長度。傳回時,變數包含實際讀取的資料長度。
[in,out] aDataBlock
指向資料區塊的指標。輸入時,它包含 架構 所提供的緩衝區;被呼叫者可使用該空間來填入緩衝區,或提供其緩衝緩衝區 (用於回溯相容性的應用程式)。如果應用程式使用提供的緩衝區,則不得假設採用任何對齊方式。
[out] aLastBlock
如果區塊應以 BlockEOF 格式傳送,且轉移作業已完成,則傳回 true,否則為 false

PutBlockHandler

void(* PutBlockHandler)(BDXTransfer *aXfer, uint64_t aLength, uint8_t *aDataBlock, bool aLastBlock)

處理由 aLengthLength 長度為 aLength 所指向的資料區塊。

這很可能是在寫入檔案後,如果 isLastBlock 為 true,就要關閉檔案。

詳細資料
參數
[in] aXfer
與這項進行中的移轉作業相關的 BDXTransfer
[in] aLength
指定區塊中讀取及儲存的資料長度
[in] aDataBlock
資料區塊
[in] aLastBlock
如果區塊是 BlockEOF,且轉移作業已完成,則傳回 True,否則為 False。如果設為 True,程式設計師可能必須完成任何檔案處理作業。請注意,此呼叫之後將呼叫 XferDoneHandler

接收接受處理常式

WEAVE_ERROR(* ReceiveAcceptHandler)(BDXTransfer *aXfer, ReceiveAccept *aReceiveAcceptMsg)

目的地接受之前傳送的 ReceiveInit 時叫用回呼。

如果在啟動作業時未執行此作業,您或許可以利用這個機會開啟檔案或分配資源。

詳細資料
參數
[in] aXfer
指向與這個轉移作業相關聯的 BDXTransfer
[in] aReceiveAcceptMsg
指向我們處理中的 AcceptAccept 訊息

接收 InitHandler

uint16_t(* ReceiveInitHandler)(BDXTransfer *aXfer, ReceiveInit *aReceiveInitMsg)

收到 ReceiveInit 訊息時叫用的回呼。

這項工作的職責是決定是否要接受 接收,如果是的話,請將 aXfer->mIsAccept=true 設定為通訊協定,讓通訊協定傳送接受訊息給發起人。系統會啟動 BDXTransfer 物件並預設為預設值。在此建議您將任何應用程式專屬狀態 (開啟檔案控點等) 附加到 aXfer->mAppState。此時,您也應該在 BDXTransfer 物件上附加必要處理常式,例如封鎖處理。如果傳回 kStatus_Success 以外的錯誤代碼,系統會假設傳輸作業遭到拒絕,而通訊協定將處理含有該代碼的拒送訊息。

詳細資料
參數
[in] aXfer
指向與這個轉移作業相關聯的 BDXTransfer
[in] aReceiveInitMsg
指向我們處理中的 ReceiveInit 訊息

拒絕處理常式

void(* RejectHandler)(BDXTransfer *aXfer, StatusReport *aReport)

先前目標的 Init 訊息在遭到目的地拒絕時叫用。

詳細資料
參數
[in] aXfer
指向與這個轉移作業相關聯的 BDXTransfer
[in] aReport
「狀態回報」訊息指出我們正在處理中

SendAcceptHandler

WEAVE_ERROR(* SendAcceptHandler)(BDXTransfer *aXfer, SendAccept *aSendAcceptMsg)

當目的地接受先前傳送的 SendInit 時,會叫用回呼。

如果在啟動作業時未執行此作業,您或許可以利用這個機會開啟檔案或分配資源。

詳細資料
參數
[in] aXfer
指向與這個轉移作業相關聯的 BDXTransfer
[in] aSendAcceptMsg
指向我們處理中的 SendAccept 訊息

SendInitHandler

uint16_t(* SendInitHandler)(BDXTransfer *aXfer, SendInit *aSendInitMsg)

接收 SendInit 訊息時呼叫的回呼。

並判斷是否要接受 SendInit。如果是的話,請設定 aXfer->mIsAccept=true,這樣通訊協定才會將接受訊息傳送給發起人。系統會啟動 BDXTransfer 物件並預設為預設值。在此建議您將任何應用程式專屬狀態 (開啟檔案控點等) 附加到 aXfer->mAppState。此時,您也應該在 BDXTransfer 物件上附加必要處理常式,例如封鎖處理。如果傳回 WEAVE_NO_ERROR 以外的錯誤代碼,系統會假設傳輸作業遭到拒絕,而通訊協定將處理含有該代碼的拒送訊息。

詳細資料
參數
[in] aXfer
指向與這個轉移作業相關聯的 BDXTransfer
[in] aSendInitMsg
指向我們處理中的 SendInit 訊息

XferDoneHandler

void(* XferDoneHandler)(BDXTransfer *aXfer)

處理轉移作業已完成。

詳細資料
參數
[in] aXfer
指向與這個轉移作業相關聯的 BDXTransfer

XferErrorHandler

void(* XferErrorHandler)(BDXTransfer *aXfer, StatusReport *aXferError)

處理 BDX 所接收或傳送的 TransferError 訊息。

注意:系統認定 BDX 傳輸可能無法復原 (例如暫時離開 PacketBuffers),因此呼叫應用程式程式的程式和其定義的回呼是保留呼叫 Shutdown() 的選項。待辦事項:請確認相關資訊,並依照 BDX 文件中的用語核對內容,當中註明:「[移轉錯誤] 任何一方皆可隨時傳送大量資料移轉作業。」

詳細資料
參數
[in] aXfer
指向與這個轉移作業相關聯的 BDXTransfer
[in] aXferError
指向我們處理中的 StatusReport 訊息錯誤

函式

GetBDXAckFlag

uint16_t GetBDXAckFlag(
  ExchangeContext *anEc
)

GetBDXAckFlag 會根據 Exchange 內容連線 (TCP 沒有要求封包) 及 WRMP 編譯時間支援,傳回 RequestAck 欄位的適當旗標。

詳細資料
參數
[in] anEc
根據
傳回
0 或 kSendFlag_RequestAck