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

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

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

요약

이러한 객체는 BdxProtocol에서 프로토콜 상태를 유지하는 데 사용됩니다. 이들은 Connections 및 ExchangeContexts 관리를 포함하여 새로운 전송의 생성 및 초기화를 처리하는 BdxServer에서 관리합니다.

공개 속성

mAmInitiator
bool
mAmSender
bool
mAppState
void *
mBlockCounter
uint32_t
전송 시 BlockQuery 또는 BlockACK를 수신할 것으로 예상되는 다음 블록 번호입니다 (전송이 공식적으로 시작된 경우).
mBytesSent
uint64_t
mExchangeContext
mFileDesignator
파일/차단 관련 데이터 멤버 할 일: 삭제하시겠습니까? 아니면 이 문자열이 어떤 모양인지, 어떻게 사용할 것인지에 관한 계약을 맺어야 할까요? 특히 PacketBuffer가 지원되나요? 그렇다면 100% 득점할 수 있는 만큼
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를 수신할 것으로 예상되는 다음 블록 번호입니다 (전송이 공식적으로 시작된 경우).

수신하면 수신될 것으로 예상되는 다음 BlockSend 또는 우리가 보낸 가장 최근의 BlockQuery입니다 (전송이 공식적으로 시작되고 전송된 첫 번째 쿼리가 전송된 후).

mBytesSent

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

파일/차단 관련 데이터 멤버 할 일: 삭제하시겠습니까? 아니면 이 문자열이 어떤 모양인지, 어떻게 사용할 것인지에 관한 계약을 맺어야 할까요? 특히 PacketBuffer가 지원되나요? 그렇다면 100% 득점할 수 있는 만큼

mFirstQuery

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

mHandlers

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

mIsAccepted

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

mIsCompletedSuccessfully

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

mNext

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
환승의 마지막 블록인 경우 true입니다.

DispatchPutBlockHandler

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

put 블록 핸들러가 설정된 경우 호출합니다.

세부정보
매개변수
[in] aLength
블록 길이
[in] aDataBlock
데이터 블록을 가리키는 포인터
[in] aLastBlock
환승의 마지막 블록인 경우 true입니다.

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
이 메시지에 대한 응답이 예상되는 경우
반환
전송할 플래그

IsAsync

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

 Returns true if this transfer is asynchronous, false otherwise.

세부정보
반환
전송이 비동기식이면 true를 반환합니다.

IsDriver

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.

종료될 때 호출됩니다.

SetHandlers

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.

이번 기회를 활용하여 이 전송 및 애플리케이션 로직과 관련된 모든 리소스를 확보하세요.