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

nl::위::프로필:BDX_개발:BDXTransfer

#include <src/lib/profiles/bulk-data-transfer/Development/BDXTransferState.h>

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

요약

이러한 객체는 BdxProtocol에서 프로토콜 상태를 유지하는 데 사용됩니다. BdxServer에서 관리되며, 연결 및 ExchangeContext 관리를 비롯하여 새 전송 생성 및 초기화를 처리합니다.

공개 속성

mAmInitiator
bool
mAmSender
bool
mAppState
void *
mBlockCounter
uint32_t
송금이 공식적으로 시작된 후 전송할 다음 BlockQuery 또는 BlockACK가 수신될 것으로 예상되는 다음 블록 번호입니다.
mBytesSent
uint64_t
mExchangeContext
mFileDesignator
file/block 관련 데이터 멤버 TODO: 이거 삭제하시겠습니까? 아니면 이 문자열의 모양과 용도에 대한 계약을 체결해야 할까요? 특히 PacketBuffer의 지원을 받게 되나요? 이 경우 꼭 들어야 할 게 이리를 쫓아 다니지 않아도 됩니다.
mFirstQuery
bool
mHandlers
mIsAccepted
bool
mIsCompletedSuccessfully
bool
mIsInitiated
bool
mIsWideRange
bool
mLength
uint64_t
mMaxBlockSize
uint16_t
mNext)(BDXTransfer &)
mStartOffset
uint64_t
mTransferMode
uint8_t
mVersion
uint8_t

공개 함수

DispatchErrorHandler(WEAVE_ERROR anErrorCode)
void
오류 핸들러가 설정되어 있으면 호출합니다.
DispatchGetBlockHandler(uint64_t *aLength, uint8_t **aDataBlock, bool *aLastBlock)
void
get 블록 핸들러가 설정되었으면 호출합니다.
DispatchPutBlockHandler(uint64_t aLength, uint8_t *aDataBlock, bool aLastBlock)
void
put 블록 핸들러가 설정되었으면 호출합니다.
DispatchReceiveAccept(ReceiveAccept *aReceiveAcceptMsg)
디스패처는 핸들러가 설정되었는지 확인하고 설정한 경우 호출합니다.
DispatchRejectHandler(StatusReport *aReport)
void
거부 핸들러가 설정되어 있으면 호출합니다.
DispatchSendAccept(SendAccept *aSendAcceptMsg)
전송 수락 핸들러가 설정된 경우 호출합니다.
DispatchXferDoneHandler(void)
void
전송 완료 핸들러가 설정되어 있으면 호출합니다.
DispatchXferErrorHandler(StatusReport *aXferError)
void
전송 오류 핸들러가 설정된 경우 호출합니다.
GetDefaultFlags(bool aExpectResponse)
uint16_t
이 함수는 메시지와 함께 전송될 기본 플래그를 반환합니다.
IsAsync(void)
bool
 Returns true if this transfer is asynchronous, false otherwise.
IsDriver(void)
bool
 Returns true if this entity (node) is the driver for this transfer, false otherwise.
Reset(void)
void
 Sets all pointers to NULL, resets counters, etc.
SetHandlers(BDXHandlers aHandlers)
void
이 함수는 이 BDXTransfer 객체에 핸들러를 설정합니다.
Shutdown(void)
void
 Shuts down the current transfer, including closing any open ExchangeContext.

공개 속성

mAmInitiator

bool nl::Weave::Profiles::BDX_Development::BDXTransfer::mAmInitiator

mAmSender

bool nl::Weave::Profiles::BDX_Development::BDXTransfer::mAmSender

mAppState

void * nl::Weave::Profiles::BDX_Development::BDXTransfer::mAppState

mBlockCounter

uint32_t nl::Weave::Profiles::BDX_Development::BDXTransfer::mBlockCounter

송금이 공식적으로 시작된 후 전송할 다음 BlockQuery 또는 BlockACK가 수신될 것으로 예상되는 다음 블록 번호입니다.

수신 시 Google에서 수신할 것으로 예상되는 다음 BlockSend 또는 최근에 전송된 BlockQuery (전송이 공식적으로 시작되고 전송된 첫 번째 쿼리)입니다.

전송 바이트

uint64_t nl::Weave::Profiles::BDX_Development::BDXTransfer::mBytesSent

mExchangeContext를 추가합니다.

ExchangeContext * nl::Weave::Profiles::BDX_Development::BDXTransfer::mExchangeContext

mFileDesignator 파일

ReferencedString nl::Weave::Profiles::BDX_Development::BDXTransfer::mFileDesignator

file/block 관련 데이터 멤버 TODO: 이거 삭제하시겠습니까? 아니면 이 문자열의 모양과 용도에 대한 계약을 체결해야 할까요? 특히 PacketBuffer의 지원을 받게 되나요? 이 경우 꼭 들어야 할 게 이리를 쫓아 다니지 않아도 됩니다.

mFirstQuery

bool nl::Weave::Profiles::BDX_Development::BDXTransfer::mFirstQuery

mHandler

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

MMI 수락됨

bool nl::Weave::Profiles::BDX_Development::BDXTransfer::mIsAccepted

mICompleted성공

bool nl::Weave::Profiles::BDX_Development::BDXTransfer::mIsCompletedSuccessfully

mIsInitiated

bool nl::Weave::Profiles::BDX_Development::BDXTransfer::mIsInitiated

mIsWideRange

bool nl::Weave::Profiles::BDX_Development::BDXTransfer::mIsWideRange

mLength

uint64_t nl::Weave::Profiles::BDX_Development::BDXTransfer::mLength

mMaxBlockSize

uint16_t nl::Weave::Profiles::BDX_Development::BDXTransfer::mMaxBlockSize

다음

WEAVE_ERROR(* nl::Weave::Profiles::BDX_Development::BDXTransfer::mNext)(BDXTransfer &)

mStartOffset

uint64_t nl::Weave::Profiles::BDX_Development::BDXTransfer::mStartOffset

mTransferMode

uint8_t nl::Weave::Profiles::BDX_Development::BDXTransfer::mTransferMode

mVersion

uint8_t nl::Weave::Profiles::BDX_Development::BDXTransfer::mVersion

공개 함수

DispatchErrorHandler

void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchErrorHandler(
  WEAVE_ERROR anErrorCode
)

오류 핸들러가 설정되어 있으면 호출합니다.

설정되어 있지 않으면 전송을 기본 동작으로도 종료합니다.

세부정보
매개변수
[in] anErrorCode
처리할 오류 코드

DispatchGetBlockHandler

void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchGetBlockHandler(
  uint64_t *aLength,
  uint8_t **aDataBlock,
  bool *aLastBlock
)

get 블록 핸들러가 설정되었으면 호출합니다.

세부정보
매개변수
[in] aLength
블록 길이
[in] aDataBlock
데이터 블록 포인터
[in] aLastBlock
트랜스퍼의 마지막 블록인 경우 참입니다.

DispatchPlaceBlockHandler

void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchPutBlockHandler(
  uint64_t aLength,
  uint8_t *aDataBlock,
  bool aLastBlock
)

put 블록 핸들러가 설정되었으면 호출합니다.

세부정보
매개변수
[in] aLength
블록 길이
[in] aDataBlock
데이터 블록 포인터
[in] aLastBlock
트랜스퍼의 마지막 블록인 경우 참입니다.

DispatchReceiveAccept

WEAVE_ERROR nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchReceiveAccept(
  ReceiveAccept *aReceiveAcceptMsg
)

디스패처는 핸들러가 설정되었는지 확인하고 설정한 경우 호출합니다.

수신 허용 핸들러가 설정된 경우 호출합니다.

따라서 콜백 호출을 위한 공개 인터페이스로 사용해야 하며, 외부 애플리케이션에 의해 직접 터치되면 안 됩니다. BDXTransfer의 향후 버전에서는 각 콜백에 개별 포인터를 저장하는 대신 대리자 객체를 사용할 수 있습니다.

세부정보
매개변수
[in] aReceiveAcceptMsg
처리할 ReceiveAccept 메시지
반환
오류 값

DispatchRejectHandler

void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchRejectHandler(
  StatusReport *aReport
)

거부 핸들러가 설정되어 있으면 호출합니다.

설정되어 있지 않으면 전송을 기본 동작으로도 종료합니다.

세부정보
매개변수
[in] aReport
처리할 StatusReport 메시지

DispatchSendAccept

WEAVE_ERROR nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchSendAccept(
  SendAccept *aSendAcceptMsg
)

전송 수락 핸들러가 설정된 경우 호출합니다.

세부정보
매개변수
[in] aSendAcceptMsg
처리할 SendAccept 메시지
반환
오류 값

DispatchXferDoneHandler

void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchXferDoneHandler(
  void
)

전송 완료 핸들러가 설정되어 있으면 호출합니다.

설정되어 있지 않으면 전송을 기본 동작으로도 종료합니다.

DispatchXferErrorHandler

void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchXferErrorHandler(
  StatusReport *aXferError
)

전송 오류 핸들러가 설정된 경우 호출합니다.

설정되어 있지 않으면 전송을 기본 동작으로도 종료합니다.

세부정보
매개변수
[in] aXferError
처리할 오류의 상태 보고서

GetDefaultFlags

uint16_t nl::Weave::Profiles::BDX_Development::BDXTransfer::GetDefaultFlags(
  bool aExpectResponse
)

이 함수는 메시지와 함께 전송될 기본 플래그를 반환합니다.

세부정보
매개변수
[in] aExpectResponse
이 메시지에 답변이 있을 것으로 예상됩니다.
반환
전송할 플래그입니다.

비동기

bool nl::Weave::Profiles::BDX_Development::BDXTransfer::IsAsync(
  void
)

 Returns true if this transfer is asynchronous, false otherwise.

세부정보
반환
전송이 비동기식인 경우 true입니다.

드라이버

bool nl::Weave::Profiles::BDX_Development::BDXTransfer::IsDriver(
  void
)

 Returns true if this entity (node) is the driver for this transfer, false otherwise.

세부정보
반환
이 항목이 이 트랜스퍼의 동인이면 true입니다.

재설정

void nl::Weave::Profiles::BDX_Development::BDXTransfer::Reset(
  void
)

 Sets all pointers to NULL, resets counters, etc.

종료 시 호출됩니다.

SetHandler

void nl::Weave::Profiles::BDX_Development::BDXTransfer::SetHandlers(
  BDXHandlers aHandlers
)

이 함수는 이 BDXTransfer 객체에 핸들러를 설정합니다.

핸들러 함수 포인터가 저장되는 방식의 기본 구현에서는 공개 API의 일부가 아니므로 이를 수동으로 설정하는 대신 항상 이 메서드를 사용해야 합니다.

세부정보
매개변수
[in] aHandlers
호출할 콜백 핸들러의 구조

종료

void nl::Weave::Profiles::BDX_Development::BDXTransfer::Shutdown(
  void
)

 Shuts down the current transfer, including closing any open ExchangeContext.

이 전송을 사용하여 이 전송 및 애플리케이션 로직과 관련된 모든 리소스를 해제합니다.