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에 대한 요청 확인 없음) 및 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 메시지를 수신할 때 호출되는 콜백입니다.
이 메서드는 Received를 수락할지 여부를 결정하고, 수락할 경우 프로토콜이 시작자에게 수락 메시지를 보내도록 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에 대한 요청 확인 없음) 및 WRMP의 컴파일 시간 지원에 따라 RequestAck 필드에 적합한 플래그를 반환합니다.
세부정보 | |||
---|---|---|---|
매개변수 |
|
||
반환 |
0 또는 kSendFlag_RequestAck
|