nl :: Dệt :: Hồ sơ :: BDX_Development
Không gian tên này bao gồm tất cả các giao diện trong Weave cho cấu hình Chuyển dữ liệu hàng loạt (BDX) đang được phát triển tích cực và không được sử dụng cho mục đích sản xuất.
Tóm lược
Bảng kê | |
---|---|
@80 | enum |
@81 | enum |
@82 | enum |
@83 | enum |
Typedefs | |
---|---|
BdxClient | typedef |
BdxServer | typedef |
ErrorHandler )(BDXTransfer *aXfer, WEAVE_ERROR anErrorCode) | typedefvoid(* Trình xử lý này được gọi bất kỳ khi nào gặp lỗi Weave mà không thể trả lại trực tiếp thông qua mã lỗi cho luồng điều khiển do người dùng-ứng dụng xác định. |
GetBlockHandler )(BDXTransfer *aXfer, uint64_t *aLength, uint8_t **aDataBlock, bool *aLastBlock) | typedefvoid(* Get a block of data to be transmitted. |
PutBlockHandler )(BDXTransfer *aXfer, uint64_t aLength, uint8_t *aDataBlock, bool aLastBlock) | typedefvoid(* Xử lý khối dữ liệu được trỏ tới bởi aDataBlock có độ dài aLength. |
ReceiveAcceptHandler )(BDXTransfer *aXfer, ReceiveAccept *aReceiveAcceptMsg) | typedefWEAVE_ERROR (* Gọi lại được gọi khi một Đơn vị nhận được gửi trước đó được đích đến chấp nhận. |
ReceiveInitHandler )(BDXTransfer *aXfer, ReceiveInit *aReceiveInitMsg) | typedefuint16_t(* Callback gọi khi nhận được một ReceiveInit nhắn. |
RejectHandler )(BDXTransfer *aXfer, StatusReport *aReport) | typedefvoid(* Được gọi nếu một trong các thư Init trước đó bị đích từ chối. |
SendAcceptHandler )(BDXTransfer *aXfer, SendAccept *aSendAcceptMsg) | typedefWEAVE_ERROR (* Gọi lại được gọi khi một SendInit đã gửi trước đó được đích đến chấp nhận. |
SendInitHandler )(BDXTransfer *aXfer, SendInit *aSendInitMsg) | typedefuint16_t(* Gọi lại được gọi khi nhận được tin nhắn SendInit . |
XferDoneHandler )(BDXTransfer *aXfer) | typedefvoid(* Xử lý các trường hợp đã chuyển xong. |
XferErrorHandler )(BDXTransfer *aXfer, StatusReport *aXferError) | typedefvoid(* Xử lý TransferError tin nhắn nhận được hoặc gửi qua đường BDX. |
Chức năng | |
---|---|
GetBDXAckFlag ( ExchangeContext *anEc) | uint16_t GetBDXAckFlag trả về cờ thích hợp cho trường RequestAck tùy thuộc vào kết nối của ngữ cảnh trao đổi (không có yêu cầu ack cho TCP) và dựa trên hỗ trợ thời gian biên dịch cho WRMP. |
Các lớp học | |
---|---|
nl :: Weave :: Profiles :: BDX_Development :: BdxNode | |
nl :: Weave :: Profiles :: BDX_Development :: BlockAck | Thông báo BlockAck được sử dụng để xác nhận một khối dữ liệu. |
nl :: Weave :: Profiles :: BDX_Development :: BlockAckV1 | Thông báo BlockAckV1 được sử dụng để xác nhận một khối dữ liệu. |
nl :: Weave :: Profiles :: BDX_Development :: BlockEOF | Thông điệp BlockEOF được sử dụng để chuyển khối dữ liệu cuối cùng từ người gửi sang người nhận. |
nl :: Weave :: Profiles :: BDX_Development :: BlockEOFAck | Thông báo BlockEOFAck được sử dụng để xác nhận khối dữ liệu cuối cùng. |
nl :: Weave :: Profiles :: BDX_Development :: BlockEOFAckV1 | Thông báo BlockEOFAckV1 được sử dụng để xác nhận khối dữ liệu cuối cùng. |
nl :: Weave :: Profiles :: BDX_Development :: BlockEOFV1 | Thông điệp BlockEOFV1 được sử dụng để chuyển khối dữ liệu cuối cùng từ người gửi sang người nhận. |
nl :: Weave :: Profiles :: BDX_Development :: BlockQuery | Thông điệp BlockQuery được sử dụng để yêu cầu một khối dữ liệu được chuyển từ người gửi sang người nhận. |
nl :: Weave :: Profiles :: BDX_Development :: BlockQueryV1 | Thông báo BlockQueryV1 được sử dụng để yêu cầu chuyển một khối dữ liệu từ người gửi sang người nhận. |
nl :: Weave :: Profiles :: BDX_Development :: BlockSend | Thông điệp BlockSend được sử dụng để chuyển một khối dữ liệu từ người gửi đến người nhận. |
nl :: Weave :: Profiles :: BDX_Development :: BlockSendV1 | Thông điệp BlockSendV1 được sử dụng để chuyển một khối dữ liệu từ người gửi đến người nhận. |
nl :: Weave :: Profiles :: BDX_Development :: ReceiveAccept | Thông báo GetAccept được sử dụng để chấp nhận một trao đổi được đề xuất khi người nhận là người khởi tạo. |
nl :: Weave :: Profiles :: BDX_Development :: ReceiveInit | Bản tin GetInit được sử dụng để bắt đầu trao đổi khi người nhận là người khởi tạo. |
nl :: Weave :: Hồ sơ :: BDX_Development :: Nhận được từ chối | Thông báo GetReject được sử dụng để từ chối trao đổi được đề xuất khi người gửi là người khởi tạo. |
nl :: Weave :: Profiles :: BDX_Development :: SendAccept | Thông báo SendAccept được sử dụng để chấp nhận một trao đổi được đề xuất khi người gửi là người khởi tạo. |
nl :: Weave :: Profiles :: BDX_Development :: SendInit | Thông điệp SendInit được sử dụng để bắt đầu trao đổi khi người gửi là người khởi xướng. |
nl :: Weave :: Profiles :: BDX_Development :: SendReject | Thông báo SendReject được sử dụng để từ chối trao đổi được đề xuất khi người gửi là người khởi xướng. |
nl :: Weave :: Profiles :: BDX_Development :: TransferError | Thông báo Lỗi được sử dụng để báo cáo lỗi và hủy bỏ trao đổi. |
Cấu trúc | |
---|---|
nl :: Weave :: Profiles :: BDX_Development :: BDXHandlers | |
nl :: Weave :: Profiles :: BDX_Development :: BDXTransfer | Cấu trúc này chứa các thành viên dữ liệu đại diện cho quá trình truyền BDX đang hoạt động. |
Không gian tên | |
---|---|
nl :: Weave :: Profiles :: BDX_Development :: BdxProtocol |
Bảng kê
@ 80
@80
@ 81
@81
@ 82
@82
@ 83
@83
Typedefs
BdxClient
BdxNode BdxClient
BdxServer
BdxNode BdxServer
ErrorHandler
void(* ErrorHandler)(BDXTransfer *aXfer, WEAVE_ERROR anErrorCode)
Trình xử lý này được gọi bất cứ khi nào gặp lỗi Weave mà không thể trả về trực tiếp thông qua mã lỗi cho luồng điều khiển do người dùng-ứng dụng xác định.
Có nghĩa là, nếu lỗi xảy ra trong một trình xử lý khác có chữ ký có kiểu trả về là void (ví dụ: để phản hồi thông báo Weave đến hoặc thậm chí được gửi bởi giao thức), trình xử lý này sẽ được gọi để người dùng có thể xác định liệu quá trình chuyển có thể được khôi phục hay không và tiếp tục hoặc nếu họ nên gọi Shutdown (). Lưu ý rằng có thể xảy ra lỗi trước khi BDXTransfer được khởi tạo (ví dụ: đã có quá nhiều đối tượng truyền được cấp phát). Trong trường hợp như vậy, lỗi đã nói sẽ được Weave ghi lại và giao thức sẽ xử lý dọn dẹp mọi trạng thái cần thiết mà nó đã cấp phát.
Chi tiết | |||||
---|---|---|---|---|---|
Thông số |
|
GetBlockHandler
void(* GetBlockHandler)(BDXTransfer *aXfer, uint64_t *aLength, uint8_t **aDataBlock, bool *aLastBlock)
Get a block of data to be transmitted.
Người gọi cung cấp không gian đệm (bộ đệm và độ dài của bộ đệm, được truyền vào bằng tham chiếu). Callee (ứng dụng người dùng) NÊN sử dụng bộ đệm được cung cấp, nhưng vì lý do tương thích ngược, có thể trả về bộ đệm của chính nó. Callee không được cung cấp nhiều hơn aLength
của byte. Đổi lại, aLength
chứa số byte thực tế được đọc vào bộ đệm.
Chi tiết | |||||||||
---|---|---|---|---|---|---|---|---|---|
Thông số |
|
PutBlockHandler
void(* PutBlockHandler)(BDXTransfer *aXfer, uint64_t aLength, uint8_t *aDataBlock, bool aLastBlock)
Xử lý khối dữ liệu được trỏ tới bởi aDataBlock có độ dài aLength.
Có thể điều này sẽ liên quan đến việc ghi nó vào một tệp và đóng tệp đã nói nếu isLastBlock là đúng.
Chi tiết | |||||||||
---|---|---|---|---|---|---|---|---|---|
Thông số |
|
GetAcceptHandler
WEAVE_ERROR(* ReceiveAcceptHandler)(BDXTransfer *aXfer, ReceiveAccept *aReceiveAcceptMsg)
Gọi lại được gọi khi một Đơn vị nhận được gửi trước đó được đích đến chấp nhận.
Bạn có thể muốn sử dụng cơ hội này để mở tệp hoặc phân bổ tài nguyên cho quá trình chuyển nếu bạn không làm như vậy khi bắt đầu.
Chi tiết | |||||
---|---|---|---|---|---|
Thông số |
|
GetInitHandler
uint16_t(* ReceiveInitHandler)(BDXTransfer *aXfer, ReceiveInit *aReceiveInitMsg)
Callback gọi khi nhận được một ReceiveInit nhắn.
Công việc của nó là xác định xem bạn có muốn chấp nhận Nhận hay không và nếu có, hãy đặt aXfer-> mIsAccepted = true để giao thức sẽ gửi thông báo chấp nhận đến trình khởi tạo. Đối tượng BDXTransfer được khởi tạo theo cài đặt mặc định. Đây là một nơi tốt để đính kèm mọi trạng thái dành riêng cho ứng dụng (mở tệp xử lý, v.v.) vào aXfer-> mAppState. Bạn cũng nên đính kèm các trình xử lý cần thiết để ví dụ như xử lý khối vào đối tượng BDXTransfer tại thời điểm này. Nếu mã lỗi không phải kStatus_Success được trả về, quá trình chuyển được coi là bị từ chối và giao thức sẽ xử lý việc gửi thông báo từ chối cùng với mã.
Chi tiết | |||||
---|---|---|---|---|---|
Thông số |
|
RejectHandler
void(* RejectHandler)(BDXTransfer *aXfer, StatusReport *aReport)
Được gọi nếu một trong các thư Init trước đó bị đích từ chối.
Chi tiết | |||||
---|---|---|---|---|---|
Thông số |
|
SendAcceptHandler
WEAVE_ERROR(* SendAcceptHandler)(BDXTransfer *aXfer, SendAccept *aSendAcceptMsg)
Gọi lại được gọi khi một SendInit đã gửi trước đó được đích đến chấp nhận.
Bạn có thể muốn sử dụng cơ hội này để mở tệp hoặc phân bổ tài nguyên cho quá trình chuyển nếu bạn không làm như vậy khi bắt đầu.
Chi tiết | |||||
---|---|---|---|---|---|
Thông số |
|
SendInitHandler
uint16_t(* SendInitHandler)(BDXTransfer *aXfer, SendInit *aSendInitMsg)
Gọi lại được gọi khi nhận được tin nhắn SendInit .
Công việc của nó là xác định xem bạn có muốn chấp nhận SendInit hay không và nếu có, hãy đặt aXfer-> mIsAccepted = true để giao thức sẽ gửi một thông báo chấp nhận đến trình khởi tạo. Đối tượng BDXTransfer được khởi tạo theo cài đặt mặc định. Đây là một nơi tốt để đính kèm mọi trạng thái dành riêng cho ứng dụng (mở tệp xử lý, v.v.) vào aXfer-> mAppState. Bạn cũng nên đính kèm các trình xử lý cần thiết để ví dụ: xử lý khối vào đối tượng BDXTransfer tại thời điểm này. Nếu mã lỗi không phải WEAVE_NO_ERROR được trả về, quá trình chuyển được coi là bị từ chối và giao thức sẽ xử lý việc gửi thông báo từ chối cùng với mã.
Chi tiết | |||||
---|---|---|---|---|---|
Thông số |
|
XferDoneHandler
void(* XferDoneHandler)(BDXTransfer *aXfer)
Xử lý các trường hợp đã chuyển xong.
Chi tiết | |||
---|---|---|---|
Thông số |
|
XferErrorHandler
void(* XferErrorHandler)(BDXTransfer *aXfer, StatusReport *aXferError)
Xử lý các tin nhắn TransferError do BDX nhận hoặc gửi.
Lưu ý: Quá trình truyền BDX được cho là có khả năng khôi phục được (có thể là tạm thời, ví dụ như thoát khỏi PacketBuffers vào lúc này) và do đó tùy chọn gọi Shutdown () được để cho lập trình viên ứng dụng và các lệnh gọi lại mà họ xác định. VIỆC CẦN LÀM: xác minh điều này và điều chỉnh nó với ngôn ngữ trong tài liệu BDX, trong đó nêu rõ: "[A TransferError] Có thể được gửi bất kỳ lúc nào bởi một trong hai bên để kết thúc sớm quá trình truyền dữ liệu hàng loạt."
Chi tiết | |||||
---|---|---|---|---|---|
Thông số |
|
Chức năng
GetBDXAckFlag
uint16_t GetBDXAckFlag( ExchangeContext *anEc )
GetBDXAckFlag trả về cờ thích hợp cho trường RequestAck tùy thuộc vào kết nối của ngữ cảnh trao đổi (không có yêu cầu ack cho TCP) và dựa trên hỗ trợ thời gian biên dịch cho WRMP.
Chi tiết | |||
---|---|---|---|
Thông số |
| ||
Lợi nhuận | 0 hoặc kSendFlag_RequestAck |