нл:: Переплетение:: Профили:: BDX_Development:: BDXПередача
#include <src/lib/profiles/bulk-data-transfer/Development/BDXTransferState.h>
Эта структура содержит элементы данных, представляющие активную передачу BDX.
Краткое содержание
Эти объекты используются BdxProtocol для поддержания состояния протокола. Они управляются BdxServer, который занимается созданием и инициализацией новых передач, включая управление соединениями и ExchangeContexts.
Публичные атрибуты | |
---|---|
mAmInitiator | bool |
mAmSender | bool |
mAppState | void * |
mBlockCounter | uint32_t Следующий номер блока, для которого мы ожидаем получить BlockQuery или BlockACK при отправке (как только передача официально начнется). |
mBytesSent | uint64_t |
mExchangeContext | |
mFileDesignator | Члены данных, связанные с файлом/блоком TODO: удалить это? или нам следует просто договориться о том, как эта строка может выглядеть и как она будет использоваться? В частности, поддерживается ли он PacketBuffer? Если да, то, вероятно, не следует сохранять его на протяжении всего xfer, поскольку он занимает pbuf. |
mFirstQuery | bool |
mHandlers | |
mIsAccepted | bool |
mIsCompletedSuccessfully | bool |
mIsInitiated | bool |
mIsWideRange | bool |
mLength | uint64_t |
mMaxBlockSize | uint16_t |
mNext )(BDXTransfer &) | WEAVE_ERROR (* |
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. |
Публичные атрибуты
мАминициатор
bool nl::Weave::Profiles::BDX_Development::BDXTransfer::mAmInitiator
mAmSender
bool nl::Weave::Profiles::BDX_Development::BDXTransfer::mAmSender
маппстате
void * nl::Weave::Profiles::BDX_Development::BDXTransfer::mAppState
mBlockCounter
uint32_t nl::Weave::Profiles::BDX_Development::BDXTransfer::mBlockCounter
Следующий номер блока, для которого мы ожидаем получить BlockQuery или BlockACK при отправке (как только передача официально начнется).
При получении это следующий BlockSend, который мы ожидаем получить, или последний отправленный нами BlockQuery (после официального начала передачи и первого отправленного запроса).
мбайтотправлено
uint64_t nl::Weave::Profiles::BDX_Development::BDXTransfer::mBytesSent
мExchangeContext
ExchangeContext * nl::Weave::Profiles::BDX_Development::BDXTransfer::mExchangeContext
мфиледесигнатор
ReferencedString nl::Weave::Profiles::BDX_Development::BDXTransfer::mFileDesignator
Члены данных, связанные с файлом/блоком TODO: удалить это? или нам следует просто договориться о том, как эта строка может выглядеть и как она будет использоваться? В частности, поддерживается ли он PacketBuffer? Если да, то, вероятно, не следует сохранять его на протяжении всего xfer, поскольку он занимает pbuf.
мфирсткуери
bool nl::Weave::Profiles::BDX_Development::BDXTransfer::mFirstQuery
mHandlers
BDXHandlers nl::Weave::Profiles::BDX_Development::BDXTransfer::mHandlers
неправильно принято
bool nl::Weave::Profiles::BDX_Development::BDXTransfer::mIsAccepted
mIsCompletedУспешно
bool nl::Weave::Profiles::BDX_Development::BDXTransfer::mIsCompletedSuccessfully
неправильно инициировано
bool nl::Weave::Profiles::BDX_Development::BDXTransfer::mIsInitiated
mIsWideRange
bool nl::Weave::Profiles::BDX_Development::BDXTransfer::mIsWideRange
мдлина
uint64_t nl::Weave::Profiles::BDX_Development::BDXTransfer::mLength
ммакксблоксизе
uint16_t nl::Weave::Profiles::BDX_Development::BDXTransfer::mMaxBlockSize
mСледующий
WEAVE_ERROR(* nl::Weave::Profiles::BDX_Development::BDXTransfer::mNext)(BDXTransfer &)
мстартоффсет
uint64_t nl::Weave::Profiles::BDX_Development::BDXTransfer::mStartOffset
mTransferMode
uint8_t nl::Weave::Profiles::BDX_Development::BDXTransfer::mTransferMode
мВерсия
uint8_t nl::Weave::Profiles::BDX_Development::BDXTransfer::mVersion
Общественные функции
Диспетчереррорхандлер
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, вызовите его.
Подробности | |||||||
---|---|---|---|---|---|---|---|
Параметры |
|
ОтправкаПолучитьПринять
WEAVE_ERROR nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchReceiveAccept( ReceiveAccept *aReceiveAcceptMsg )
Диспетчеры просто проверяют, установлен ли обработчик, а затем вызывают его, если да.
Если установлен обработчик приема, вызовите его.
Следовательно, их следует использовать в качестве общедоступного интерфейса для вызова обратных вызовов, к которым внешние приложения никогда не должны обращаться напрямую. Вполне возможно, что в будущей версии BDXTransfer будет использоваться объект делегата, а не хранить отдельные указатели на каждый из обратных вызовов.
Подробности | |||
---|---|---|---|
Параметры |
| ||
Возврат | значение ошибки |
Обработчик диспетчеризацииRejectHandler
void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchRejectHandler( StatusReport *aReport )
Если установлен обработчик отклонения, вызовите его.
Если не установлено, также отключите передачу в качестве поведения по умолчанию.
Подробности | |||
---|---|---|---|
Параметры |
|
ОтправкаОтправитьПринять
WEAVE_ERROR nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchSendAccept( SendAccept *aSendAcceptMsg )
Если установлен обработчик приема отправки, вызовите его.
Подробности | |||
---|---|---|---|
Параметры |
| ||
Возврат | значение ошибки |
DispatchXferDoneHandler
void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchXferDoneHandler( void )
Если установлен обработчик завершения передачи, вызовите его.
Если не установлено, также отключите передачу в качестве поведения по умолчанию.
Диспетчфереррорхандлер
void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchXferErrorHandler( StatusReport *aXferError )
Если установлен обработчик ошибок передачи, вызовите его.
Если не установлено, также отключите передачу в качестве поведения по умолчанию.
Подробности | |||
---|---|---|---|
Параметры |
|
GetDefaultFlags
uint16_t nl::Weave::Profiles::BDX_Development::BDXTransfer::GetDefaultFlags( bool 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.
Вызывается при выключении.
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.
Используйте эту возможность, чтобы освободить любые ресурсы, связанные с этой передачей и логикой вашего приложения.