Google은 흑인 공동체를 위한 인종적 평등을 추구하기 위해 노력하고 있습니다. 자세히 알아보기

nl::Weave::프로필: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 메시지를 처리합니다.

Functions

GetBDXAckFlag(ExchangeContext *anEc)
uint16_t
GetBDXAckFlag는 거래소 컨텍스트 (TCP의 요청 ack 없음)에 따라 WRMP의 컴파일 시간 지원을 기반으로 RequestAck 필드에 적절한 플래그를 반환합니다.

클래스

nl::Weave::프로필::BDX_Development::BdxNode
nl::Weave::프로필::BDX_Development::BlockAck

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

nl::Weave::프로필::BDX_Development::BlockAckV1

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

nl::Weave::프로필::BDX_Development::BlockEOF

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

nl::Weave::프로필::BDX_Development::BlockEOFAck

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

nl::Weave::프로필::BDX_Development::BlockEOFAckV1

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

nl::Weave::프로필::BDX_Development::BlockEOFV1

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

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

BlockQuery 메시지는 보내는 사용자 블록을 수신기로 전송하도록 요청하는 데 사용됩니다.

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

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

nl::Weave::프로필::BDX_Development::BlockSend

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

nl::Weave::프로필::BDX_Development::BlockSendV1

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

nl::Weave::프로필::BDX_Development::ReceiveAccept

ReceiveAccept 메시지는 수신기가 개시자일 때 제안된 교환을 수락하는 데 사용됩니다.

nl::Weave::프로필::BDX_Development::ReceiveInit

ReceiveInit 메시지는 수신기가 개시자일 때 교환을 시작하는 데 사용됩니다.

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

ReceiveReject 메시지는 보내는 사람이 개시일 때 제안된 교환을 거부하는 데 사용됩니다.

nl::Weave::프로필::BDX_Development::SendAccept

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

nl::Weave::프로필::BDX_Development::SendInit

SendInit 메시지는 발신자가 송금자일 때 교환을 시작하는 데 사용됩니다.

nl::Weave::프로필::BDX_Development::SendReject

SendReject 메시지는 발신자가 제안한 거래소인 경우 거부하는 데 사용됩니다.

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

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

구조체

nl::Weave::프로필::BDX_Development::BDXHandler
nl::Weave::프로필::BDX_Development::BDXTransfer

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

네임스페이스

nl::Weave::프로필::BDX_Development::BdxProtocol

열거

@80

 @80

@81

 @81

@82

 @82

@83

 @83

Typedef

Bdx 클라이언트

BdxNode BdxClient

Bdx서버

BdxNode BdxServer

ErrorHandler

void(* ErrorHandler)(BDXTransfer *aXfer, WEAVE_ERROR anErrorCode)

이 핸들러는 오류 코드를 통해 사용자 애플리케이션 정의 제어 흐름에 직접 반환할 수 없는 Weave 오류가 발생할 때마다 호출됩니다.

즉, 서명에 void 유형이 있는 다른 핸들러 내에서 오류가 발생하는 경우 (예: 수신 Weave 메시지에 대한 응답으로 또는 프로토콜을 통해 전달됨) 이 핸들러가 호출되어 사용자가 전송을 복구할 수 있는지 그리고 계속할지 여부를 결정하거나 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로 전송해야 하며 전송을 완료해야 하는 경우 참, 그렇지 않으면 false입니다.

BlockBlockHandler

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인 경우 프로그래머는 모든 파일 핸들을 완료해야 할 수 있습니다. XperDoneHandler는 호출 후 호출된다는 점을 기억하세요.

ReceiveAcceptHandler

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

이전에 전송된 ReceiveInit가 대상에서 수락되면 콜백이 호출됩니다.

이 작업을 시작할 때 파일을 열지 않거나 전송을 위한 리소스를 할당하는 데 사용할 수 있습니다.

세부정보
매개변수
[in] aXfer
이 트랜스퍼와 연결된 BDXTransfer의 포인터
[in] aReceiveAcceptMsg
Google에서 처리 중인 ReceiveAccept 메시지에 대한 포인터

ReceiveInitHandler

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

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

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

세부정보
매개변수
[in] aXfer
이 트랜스퍼와 연결된 BDXTransfer의 포인터
[in] aReceiveInitMsg
Google에서 처리 중인 ReceiveInit 메시지 포인터

거부 핸들러

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
Google에서 처리 중인 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()를 호출하는 옵션은 애플리케이션 프로그래머가 정의하고 정의한 콜백에 남아 있습니다. TODO: BDX 문서의 내용을 확인하고 &20;[ATransferError] 로 표기합니다. 언제든지 양측에 전송되어 일괄 데이터 전송을 조기에 종료할 수 있습니다.

세부정보
매개변수
[in] aXfer
이 트랜스퍼와 연결된 BDXTransfer의 포인터
[in] aXferError
처리 중인 StatusReport 메시지 오류 포인터

Functions

GetBDXAckFlag

uint16_t GetBDXAckFlag(
  ExchangeContext *anEc
)

GetBDXAckFlag는 거래소 컨텍스트 (TCP의 요청 ack 없음)에 따라 WRMP의 컴파일 시간 지원을 기반으로 RequestAck 필드에 적절한 플래그를 반환합니다.

세부정보
매개변수
[in] anEc
자세히 설명하려는 경우
반환
0 또는 kSendFlag_RequestAck