нл:: Переплетение:: Профили:: 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.
Используйте эту возможность, чтобы освободить любые ресурсы, связанные с этой передачей и логикой вашего приложения.