nl:: Weave:: Profiles:: BDX_Development
이 네임스페이스는 현재 개발 중이며 프로덕션 용도로 사용해서는 안 되는 일괄 데이터 전송 (BDX) 프로필을 위한 Weave 내의 모든 인터페이스를 포함합니다.
요약
열거 |
|
---|---|
@80
|
enum |
@81
|
enum |
@82
|
enum |
@83
|
enum |
Typedef |
|
---|---|
BdxClient
|
typedef |
BdxServer
|
typedef |
ErrorHandler)(BDXTransfer *aXfer, WEAVE_ERROR anErrorCode)
|
typedefvoid(*
이 핸들러는 사용자 애플리케이션이 정의한 제어 흐름에 오류 코드를 통해 직접 반환될 수 없는 Weave 오류가 발생할 때마다 호출됩니다. |
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(*
길이 aLength의 aDataBlock이 가리키는 데이터 블록을 처리합니다. |
ReceiveAcceptHandler)(BDXTransfer *aXfer, ReceiveAccept *aReceiveAcceptMsg)
|
typedef 이전에 전송된 ReceiveInit를 대상에서 수락할 때 호출되는 콜백입니다. |
ReceiveInitHandler)(BDXTransfer *aXfer, ReceiveInit *aReceiveInitMsg)
|
typedefuint16_t(*
ReceiveInit 메시지를 수신할 때 호출되는 콜백입니다. |
RejectHandler)(BDXTransfer *aXfer, StatusReport *aReport)
|
typedefvoid(*
이전 Init 메시지 중 하나가 대상에서 거부되면 호출됩니다. |
SendAcceptHandler)(BDXTransfer *aXfer, SendAccept *aSendAcceptMsg)
|
typedef 이전에 보낸 SendInit을 대상이 수락했을 때 호출되는 콜백입니다. |
SendInitHandler)(BDXTransfer *aXfer, SendInit *aSendInitMsg)
|
typedefuint16_t(*
SendInit 메시지를 수신할 때 호출되는 콜백입니다. |
XferDoneHandler)(BDXTransfer *aXfer)
|
typedefvoid(*
트랜스퍼가 완료된 케이스를 처리합니다. |
XferErrorHandler)(BDXTransfer *aXfer, StatusReport *aXferError)
|
typedefvoid(*
BDX에서 수신 또는 전송한 TransferError 메시지를 처리합니다. |
함수 |
|
---|---|
GetBDXAckFlag(ExchangeContext *anEc)
|
uint16_t
GetBDXAckFlag는 교환 컨텍스트의 연결 (TCP에 대한 요청 ack 없음)과 WRMP의 컴파일 시간 지원에 따라 RequestAck 필드에 적절한 플래그를 반환합니다.
|
구조체 |
|
---|---|
nl:: |
|
nl:: |
이 구조에는 활성 BDX 전송을 나타내는 데이터 멤버가 포함됩니다. |
네임스페이스 |
|
---|---|
nl:: |
열거
@80
@80
@81
@81
@82
@82
@83
@83
Typedef
BdxClient
BdxNode BdxClient
BdxServer
BdxNode BdxServer
ErrorHandler
void(* ErrorHandler)(BDXTransfer *aXfer, WEAVE_ERROR anErrorCode)
이 핸들러는 사용자 애플리케이션이 정의한 제어 흐름에 오류 코드를 통해 직접 반환될 수 없는 Weave 오류가 발생할 때마다 호출됩니다.
다시 말해, 수신 Weave 메시지에 응답하거나 프로토콜에 의해 전달되었을 때처럼 서명이 void를 반환한 다른 핸들러 내에서 오류가 발생하는 경우, 이 핸들러는 사용자가 전송을 복구할 수 있는지, 계속할 수 있는지 또는 Shutdown()을 호출해야 하는지 여부를 결정할 수 있도록 호출됩니다. BDXTransfer가 초기화되기 전에 오류가 발생할 수 있습니다 (예: 이미 할당된 전송 객체가 너무 많음). 그러한 경우, Weave가 해당 오류를 기록하고 프로토콜이 자신이 할당한 필요한 상태를 정리하는 작업을 처리합니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
GetBlockHandler
void(* GetBlockHandler)(BDXTransfer *aXfer, uint64_t *aLength, uint8_t **aDataBlock, bool *aLastBlock)
Get a block of data to be transmitted.
호출자는 버퍼링 공간 (버퍼 및 버퍼의 길이, 참조에 의해 전달됨)을 제공합니다. 피호출자(사용자 애플리케이션)는 제공된 버퍼를 사용해야 하지만(SHOULD) 이전 버전과의 호환성을 위해 자체 버퍼를 반환할 수 있습니다. 수신자는 aLength
이상의 바이트를 제공해서는 안 됩니다. 반환 시 aLength
에는 버퍼로 읽은 실제 바이트 수가 포함됩니다.
세부정보 | |||||||||
---|---|---|---|---|---|---|---|---|---|
매개변수 |
|
PutBlockHandler
void(* PutBlockHandler)(BDXTransfer *aXfer, uint64_t aLength, uint8_t *aDataBlock, bool aLastBlock)
길이 aLength의 aDataBlock이 가리키는 데이터 블록을 처리합니다.
이는 파일에 쓰고 isLastBlock이 true인 경우 해당 파일을 닫는 작업이 포함될 수 있습니다.
세부정보 | |||||||||
---|---|---|---|---|---|---|---|---|---|
매개변수 |
|
ReceiveAcceptHandler
WEAVE_ERROR(* ReceiveAcceptHandler)(BDXTransfer *aXfer, ReceiveAccept *aReceiveAcceptMsg)
이전에 전송된 ReceiveInit를 대상에서 수락할 때 호출되는 콜백입니다.
전송을 시작할 때 하지 않은 경우 이 기회를 사용하여 파일을 열거나 전송을 위한 리소스를 할당할 수 있습니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
ReceiveInitHandler
uint16_t(* ReceiveInitHandler)(BDXTransfer *aXfer, ReceiveInit *aReceiveInitMsg)
ReceiveInit 메시지를 수신했을 때 호출되는 콜백입니다.
역할은 수신을 수락할지 여부를 결정하고, 수락할 경우, 프로토콜이 시작자에게 수락 메시지를 보내도록 aXfer->mIsAccepted=true를 설정하는 것입니다. BDXTransfer 객체가 기본 설정으로 시작됩니다. 여기에서 애플리케이션별 상태 (열린 파일 핸들 등)를 aXfer->mAppState에 연결할 수 있습니다. 또한 다음과 같이 필요한 핸들러를 연결해야 합니다. 이 시점에서 BDXTransfer 객체로 블록 처리를 전달합니다. kStatus_Success 이외의 오류 코드가 반환되면 전송이 거부된 것으로 가정하고 프로토콜이 코드와 함께 거부 메시지 전송을 처리합니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
RejectHandler
void(* RejectHandler)(BDXTransfer *aXfer, StatusReport *aReport)
이전 Init 메시지 중 하나가 대상에서 거부되면 호출됩니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
SendAcceptHandler
WEAVE_ERROR(* SendAcceptHandler)(BDXTransfer *aXfer, SendAccept *aSendAcceptMsg)
이전에 보낸 SendInit을 대상이 수락했을 때 호출되는 콜백입니다.
전송을 시작할 때 하지 않은 경우 이 기회를 사용하여 파일을 열거나 전송을 위한 리소스를 할당할 수 있습니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
SendInitHandler
uint16_t(* SendInitHandler)(BDXTransfer *aXfer, SendInit *aSendInitMsg)
SendInit 메시지를 수신할 때 호출되는 콜백입니다.
역할은 SendInit을 수락할지 결정하고, 수락할 경우 프로토콜이 시작자에게 수락 메시지를 보내도록 aXfer->mIsAccepted=true를 설정하는 것입니다. BDXTransfer 객체가 기본 설정으로 시작됩니다. 여기에서 애플리케이션별 상태 (열린 파일 핸들 등)를 aXfer->mAppState에 연결할 수 있습니다. 또한 다음과 같이 필요한 핸들러를 연결해야 합니다. 이 시점에서 BDXTransfer 객체로 블록 처리를 전달합니다. WEAVE_NO_ERROR 이외의 오류 코드가 반환되면 전송이 거부된 것으로 가정하고 프로토콜이 코드와 함께 거부 메시지 전송을 처리합니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
XferDoneHandler
void(* XferDoneHandler)(BDXTransfer *aXfer)
트랜스퍼가 완료된 케이스를 처리합니다.
세부정보 | |||
---|---|---|---|
매개변수 |
|
XferErrorHandler
void(* XferErrorHandler)(BDXTransfer *aXfer, StatusReport *aXferError)
BDX에서 수신 또는 전송한 TransferError 메시지를 처리합니다.
참고: BDX 전송은 복구 가능한 것으로 간주되어 (예: 현재 PacketBuffers에서처럼 일시적으로) Shutdown() 호출 옵션은 애플리케이션 프로그래머와 이들이 정의하는 콜백에 맡겨집니다. 할 일: 이를 확인하고 BDX 문서의 언어로 수정합니다. '[A TransferError] 어느 쪽에서든 언제든지 조기에 종료할 수 있습니다."
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
함수
GetBDXAckFlag
uint16_t GetBDXAckFlag( ExchangeContext *anEc )
GetBDXAckFlag는 교환 컨텍스트의 연결 (TCP에 대한 요청 ack 없음)과 WRMP의 컴파일 시간 지원에 따라 RequestAck 필드에 적절한 플래그를 반환합니다.
세부정보 | |||
---|---|---|---|
매개변수 |
|
||
반환 |
0 또는 kSendFlag_RequestAck
|