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에 대한 요청 ack 없음)과 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인 경우 프로그래머는 아마도 모든 파일 핸들을 마무리해야 할 것입니다.

ReceiveAcceptHandler

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

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

전송을 시작할 때 하지 않은 경우 이 기회를 사용하여 파일을 열거나 전송을 위한 리소스를 할당할 수 있습니다.

세부정보
매개변수
[in] aXfer
이 전송과 연결된 BDXTransfer를 가리키는 포인터입니다.
[in] aReceiveAcceptMsg
처리 중인 ReceiveAccept 메시지를 가리키는 포인터

ReceiveInitHandler

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

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

역할은 수신을 수락할지 여부를 결정하고, 수락할 경우, 프로토콜이 시작자에게 수락 메시지를 보내도록 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
Google에서 처리 중인 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에 대한 요청 ack 없음)과 WRMP의 컴파일 시간 지원에 따라 RequestAck 필드에 적절한 플래그를 반환합니다.

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