Google cam kết thúc đẩy công bằng chủng tộc cho Cộng đồng người da đen. Xem cách thực hiện.
Trang này được dịch bởi Cloud Translation API.
Switch to English

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) typedef
void(*
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) typedef
void(*
Get a block of data to be transmitted.
PutBlockHandler )(BDXTransfer *aXfer, uint64_t aLength, uint8_t *aDataBlock, bool aLastBlock) typedef
void(*
Xử lý khối dữ liệu được trỏ tới bởi aDataBlock có độ dài aLength.
ReceiveAcceptHandler )(BDXTransfer *aXfer, ReceiveAccept *aReceiveAcceptMsg) typedef
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) typedef
uint16_t(*
Callback gọi khi nhận được một ReceiveInit nhắn.
RejectHandler )(BDXTransfer *aXfer, StatusReport *aReport) typedef
void(*
Được gọi nếu một trong các thư Init trước đó bị đích từ chối.
SendAcceptHandler )(BDXTransfer *aXfer, SendAccept *aSendAcceptMsg) typedef
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) typedef
uint16_t(*
Gọi lại được gọi khi nhận được tin nhắn SendInit .
XferDoneHandler )(BDXTransfer *aXfer) typedef
void(*
Xử lý các trường hợp đã chuyển xong.
XferErrorHandler )(BDXTransfer *aXfer, StatusReport *aXferError) typedef
void(*
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ố
[in] aXfer
Trỏ tới BDXTransfer được liên kết với quá trình chuyển này
[in] anErrorCode
Mã lỗi mà chúng tôi cần xử lý

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ố
[in] aXfer
BDXTransfer được liên kết với quá trình chuyển đang diễn ra này
[in,out] aLength
Độ dài của dữ liệu được đọc và lưu trữ trong khối này. Khi gọi hàm chứa độ dài của bộ đệm được truyền trong aDataBlock . Đổi lại, biến chứa độ dài dữ liệu thực sự được đọc.
[in,out] aDataBlock
Con trỏ tới khối dữ liệu. Trên đầu vào, nó chứa bộ đệm do khuôn khổ cung cấp; callee có thể sử dụng không gian đó để lấp đầy bộ đệm hoặc cung cấp không gian đệm của riêng nó (đối với các ứng dụng tương thích ngược). Các ứng dụng sử dụng bộ đệm được cung cấp không được giả định bất kỳ sự liên kết nào.
[out] aLastBlock
Đúng nếu khối sẽ được gửi dưới dạng BlockEOF và quá trình chuyển hoàn tất, nếu không thì sai

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ố
[in] aXfer
BDXTransfer được liên kết với quá trình chuyển đang diễn ra này
[in] aLength
Độ dài của dữ liệu được đọc và lưu trữ trong khối được chỉ định
[in] aDataBlock
Khối dữ liệu thực tế
[in] aLastBlock
Đúng nếu khối được nhận dưới dạng BlockEOF và quá trình chuyển hoàn tất, ngược lại là false. Nếu đúng, lập trình viên có thể nên hoàn thiện bất kỳ xử lý tệp nào, hãy nhớ rằng XferDoneHandler sẽ được gọi sau điều này

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ố
[in] aXfer
Trỏ tới BDXTransfer được liên kết với quá trình chuyển này
[in] aReceiveAcceptMsg
Trỏ tới thông báo GetAccept mà chúng tôi đang xử lý

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ố
[in] aXfer
Trỏ tới BDXTransfer được liên kết với quá trình chuyển này
[in] aReceiveInitMsg
Trỏ tới thông báo GetInit mà chúng tôi đang xử lý

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ố
[in] aXfer
Trỏ tới BDXTransfer được liên kết với quá trình chuyển này
[in] aReport
Trỏ tới thông báo từ chối StatusReport mà chúng tôi đang xử lý

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ố
[in] aXfer
Trỏ tới BDXTransfer được liên kết với quá trình chuyển này
[in] aSendAcceptMsg
Trỏ tới thông báo SendAccept mà chúng tôi đang xử lý

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ố
[in] aXfer
Trỏ đến BDXTransfer được liên kết với chuyển giao này
[in] aSendInitMsg
Trỏ tới thông báo SendInit mà chúng tôi đang xử lý

XferDoneHandler

void(* XferDoneHandler)(BDXTransfer *aXfer)

Xử lý các trường hợp đã chuyển xong.

Chi tiết
Thông số
[in] aXfer
Trỏ tới BDXTransfer được liên kết với quá trình chuyển này

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ố
[in] aXfer
Trỏ tới BDXTransfer được liên kết với quá trình chuyển này
[in] aXferError
Trỏ đến lỗi thông báo StatusReport mà chúng tôi đang xử lý

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ố
[in] anEc
Bối cảnh trao đổi mà chúng ta nên lấy cờ dựa trên
Lợi nhuận
0 hoặc kSendFlag_RequestAck