nl:: Weave:: Profiles:: BDX_Development:: BDXTransfer
#include <src/lib/profiles/bulk-data-transfer/Development/BDXTransferState.h>
이 구조에는 활성 BDX 전송을 나타내는 데이터 멤버가 포함됩니다.
요약
이러한 객체는 BdxProtocol에서 프로토콜 상태를 유지하는 데 사용됩니다. 연결 및 ExchangeContext 관리를 포함하여 새 전송 생성 및 초기화를 처리하는 BdxServer가 관리합니다.
공개 속성 |
|
---|---|
mAmInitiator
|
bool
|
mAmSender
|
bool
|
mAppState
|
void *
|
mBlockCounter
|
uint32_t
전송할 때 (이전이 공식적으로 시작된 후)에 대해 BlockQuery 또는 BlockACK를 수신할 다음 블록 번호가 수신될 것으로 예상됩니다.
|
mBytesSent
|
uint64_t
|
mExchangeContext
|
|
mFileDesignator
|
파일/블록 관련 데이터 멤버 TODO: 이 문자열을 삭제하시겠습니까? 아니면 이 문자열의 모양과 사용 방법에 관한 계약을 수립해야 하나요? 구체적으로, PacketBuffer로 지원되나요? 그렇다면 전체 xfer를 위해 붙어있으면 안 됩니다. 잔상을 차지하기 때문입니다.
|
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 (이전이 공식적으로 시작되고 첫 번째 쿼리를 전송한 후)가 전송됩니다.
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
파일/블록 관련 데이터 멤버 TODO: 이 문자열을 삭제하시겠습니까? 아니면 이 문자열의 모양과 사용 방법에 관한 계약을 수립해야 하나요? 구체적으로, PacketBuffer로 지원되나요? 그렇다면 전체 xfer를 위해 붙어있으면 안 됩니다. 잔상을 차지하기 때문입니다.
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 )
오류 핸들러가 설정된 경우 호출하세요.
설정하지 않으면 기본 동작으로 전송을 종료합니다.
세부정보 | |||
---|---|---|---|
매개변수 |
|
DispatchGetBlockHandler
void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchGetBlockHandler( uint64_t *aLength, uint8_t **aDataBlock, bool *aLastBlock )
get 블록 핸들러가 설정된 경우 이를 호출합니다.
세부정보 | |||||||
---|---|---|---|---|---|---|---|
매개변수 |
|
DispatchPutBlockHandler
void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchPutBlockHandler( uint64_t aLength, uint8_t *aDataBlock, bool aLastBlock )
put 블록 핸들러가 설정된 경우 이를 호출합니다.
세부정보 | |||||||
---|---|---|---|---|---|---|---|
매개변수 |
|
DispatchReceiveAccept
WEAVE_ERROR nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchReceiveAccept( ReceiveAccept *aReceiveAcceptMsg )
디스패처는 핸들러가 설정되었는지 확인한 다음 설정된 경우 호출합니다.
수신 수락 핸들러가 설정된 경우 이를 호출합니다.
따라서 콜백 호출을 위한 공개 인터페이스로 사용해야 하며 외부 애플리케이션에서 직접 터치해서는 안 됩니다. BDXTransfer의 향후 버전에서는 각 콜백에 대한 개별 포인터를 저장하는 대신 위임 객체를 사용할 수도 있습니다.
세부정보 | |||
---|---|---|---|
매개변수 |
|
||
반환 |
오류 값
|
DispatchRejectHandler
void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchRejectHandler( StatusReport *aReport )
거부 핸들러가 설정된 경우 호출합니다.
설정하지 않으면 기본 동작으로 전송을 종료합니다.
세부정보 | |||
---|---|---|---|
매개변수 |
|
DispatchSendAccept
WEAVE_ERROR nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchSendAccept( SendAccept *aSendAcceptMsg )
DispatchXferDoneHandler
void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchXferDoneHandler( void )
전송 완료 핸들러가 설정된 경우 이를 호출합니다.
설정하지 않으면 기본 동작으로 전송을 종료합니다.
DispatchXferErrorHandler
void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchXferErrorHandler( StatusReport *aXferError )
전송 오류 핸들러가 설정된 경우 호출하세요.
설정하지 않으면 기본 동작으로 전송을 종료합니다.
세부정보 | |||
---|---|---|---|
매개변수 |
|
GetDefaultFlags
uint16_t nl::Weave::Profiles::BDX_Development::BDXTransfer::GetDefaultFlags( bool 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의 일부가 아니므로 수동으로 설정하기보다는 이 메서드를 사용해야 합니다.
세부정보 | |||
---|---|---|---|
매개변수 |
|
종료
void nl::Weave::Profiles::BDX_Development::BDXTransfer::Shutdown( void )
Shuts down the current transfer, including closing any open ExchangeContext.
이 기회를 사용하여 이 전송 및 애플리케이션 로직과 관련된 리소스를 확보하세요.