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) 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(*
aLength 길이의 aDataBlock이 가리키는 데이터 블록을 처리합니다.
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는 거래소 컨텍스트의 연결 (TCP에 대한 요청 확인 없음) 및 WRMP의 컴파일 시간 지원에 따라 RequestAck 필드에 적합한 플래그를 반환합니다.

클래스

nl::Weave::Profiles::BDX_Development::BdxNode
nl::Weave::Profiles::BDX_Development::BlockAck

BlockAck 메시지는 데이터 블록을 확인하는 데 사용됩니다.

nl::Weave::Profiles::BDX_Development::BlockAckV1

BlockAckV1 메시지는 데이터 블록을 확인하는 데 사용됩니다.

nl::Weave::Profiles::BDX_Development::BlockEOF

BlockEOF 메시지는 데이터의 마지막 블록을 발신자에서 수신자에게 전송하는 데 사용됩니다.

nl::Weave::Profiles::BDX_Development::BlockEOFAck

BlockEOFAck 메시지는 데이터의 마지막 블록을 확인하는 데 사용됩니다.

nl::Weave::Profiles::BDX_Development::BlockEOFAckV1

BlockEOFAckV1 메시지는 데이터의 마지막 블록을 확인하는 데 사용됩니다.

nl::Weave::Profiles::BDX_Development::BlockEOFV1

BlockEOFV1 메시지는 데이터의 마지막 블록을 발신자에서 수신자에게 전송하는 데 사용됩니다.

nl::Weave::Profiles::BDX_Development::BlockQuery

BlockQuery 메시지는 발신자에서 수신자에게 데이터 블록을 전송하도록 요청하는 데 사용됩니다.

nl::Weave::Profiles::BDX_Development::BlockQueryV1

BlockQueryV1 메시지는 데이터 블록을 발신자에서 수신자에게 전송하는 데 사용됩니다.

nl::Weave::Profiles::BDX_Development::BlockSend

BlockSend 메시지는 데이터 블록을 발신자에서 수신자에게 전송하는 데 사용됩니다.

nl::Weave::Profiles::BDX_Development::BlockSendV1

BlockSendV1 메시지는 데이터 블록을 발신자에서 수신자에게 전송하는 데 사용됩니다.

nl::Weave::Profiles::BDX_Development::ReceiveAccept

ReceiveAccept 메시지는 수신자가 개시자인 경우 제안된 광고 거래를 수락하는 데 사용됩니다.

nl::Weave::Profiles::BDX_Development::ReceiveInit

ReceiveInit 메시지는 수신자가 개시자인 경우 교환을 시작하는 데 사용됩니다.

nl::Weave::Profiles::BDX_Development::ReceiveReject

ReceiveReject 메시지는 발신자가 시작된 경우 제안된 교환을 거부하는 데 사용됩니다.

nl::Weave::Profiles::BDX_Development::SendAccept

SendAccept 메시지는 발신자가 개시자인 경우 제안된 교환을 수락하는 데 사용됩니다.

nl::Weave::Profiles::BDX_Development::SendInit

SendInit 메시지는 발신자가 개시자인 경우 교환을 시작하는 데 사용됩니다.

nl::Weave::Profiles::BDX_Development::SendReject

SendReject 메시지는 발신자가 시작한 경우 제안된 교환을 거부하는 데 사용됩니다.

nl::Weave::Profiles::BDX_Development::TransferError

오류 메시지는 오류를 보고하고 교환을 취소하는 데 사용됩니다.

구조체

nl::Weave::Profiles::BDX_Development::BDXHandlers
nl::Weave::Profiles::BDX_Development::BDXTransfer

이 구조에는 활성 BDX 전송을 나타내는 데이터 멤버가 포함됩니다.

네임스페이스

nl::Weave::Profiles::BDX_Development::BdxProtocol

열거형

@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에 의해 기록되며 프로토콜은 할당된 모든 필수 상태 정리를 처리합니다.

세부정보
매개변수
[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.

호출자가 버퍼링 공간 (참조를 통해 전달된 버퍼 및 버퍼의 길이)을 제공합니다. 피호출자(사용자 애플리케이션)는 제공된 버퍼를 사용해야 하지만(SHOULD) 이전 버전과의 호환성을 위해 자체 버퍼를 반환할 수 있습니다. 피호출자는 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)

aLength 길이의 aDataBlock이 가리키는 데이터 블록을 처리합니다.

아마도 이렇게 하려면 파일에 파일을 쓰고 isLastBlock이 true인 경우 해당 파일을 닫는 것입니다.

세부정보
매개변수
[in] aXfer
진행 중인 이전과 관련된 BDXTransfer
[in] aLength
지정된 블록에서 읽고 저장하는 데이터의 길이
[in] aDataBlock
실제 데이터 블록은
[in] aLastBlock
차단이 BlockEOF로 수신되고 전송이 완료된 경우 true, 그렇지 않은 경우 false입니다. true이면 프로그래머가 파일 핸들을 마무리해야 할 것입니다. 이 때 XferDoneHandler가 호출된다는 점을 염두에 두세요.

ReceiveAcceptHandler

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

이전에 전송된 ReceiveInit을 대상에서 수락할 때 호출되는 콜백입니다.

전송을 시작할 때 그렇게 하지 않았다면 이 기회를 활용하여 파일을 열거나 전송을 위한 리소스를 할당할 수 있습니다.

세부정보
매개변수
[in] aXfer
이 환승과 연결된 BDXTransfer를 가리키는 포인터
[in] aReceiveAcceptMsg
처리 중인 ReceiveAccept 메시지에 대한 포인터

ReceiveInitHandler

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

ReceiveInit 메시지를 수신할 때 호출되는 콜백입니다.

이 메서드는 Received를 수락할지 여부를 결정하고, 수락할 경우 프로토콜이 시작자에게 수락 메시지를 보내도록 aXfer->mIsAccepted=true를 설정합니다. BDXTransfer 객체가 기본 설정으로 시작됩니다. 이는 애플리케이션별 상태 (열린 파일 핸들 등)를 aXfer->mAppState에 연결하기에 좋은 위치입니다. 또한 이 시점에서 블록 처리 등에 필요한 핸들러도 BDXTransfer 객체에 연결해야 합니다. kStatus_Success 이외의 오류 코드가 반환되면 전송이 거부된 것으로 가정하고 프로토콜은 코드와 함께 거부 메시지 전송을 처리합니다.

세부정보
매개변수
[in] aXfer
이 환승과 연결된 BDXTransfer를 가리키는 포인터
[in] aReceiveInitMsg
처리 중인 ReceiveInit 메시지에 대한 포인터

RejectHandler

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

이전 Init 메시지 중 하나가 대상에서 거부되면 호출됩니다.

세부정보
매개변수
[in] aXfer
이 환승과 연결된 BDXTransfer를 가리키는 포인터
[in] aReport
처리 중인 StatusReport 메일 거부를 가리키는 포인터

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->mIsAccepted=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 문서의 언어로 조정합니다. '[A TransferError] 언제 어느 당사자라도 대량 데이터 전송을 조기 종료할 수 있습니다.'

세부정보
매개변수
[in] aXfer
이 환승과 연결된 BDXTransfer를 가리키는 포인터
[in] aXferError
처리 중인 StatusReport 메시지 오류에 대한 포인터

함수

GetBDXAckFlag

uint16_t GetBDXAckFlag(
  ExchangeContext *anEc
)

GetBDXAckFlag는 거래소 컨텍스트의 연결 (TCP에 대한 요청 확인 없음) 및 WRMP의 컴파일 시간 지원에 따라 RequestAck 필드에 적합한 플래그를 반환합니다.

세부정보
매개변수
[in] anEc
플래그를 가져올 교환 컨텍스트는
반환
0 또는 kSendFlag_RequestAck