nl :: Tecer:: Perfis :: BDX_Development :: BDXTransfer
#include <src/lib/profiles/bulk-data-transfer/Development/BDXTransferState.h>
Essa estrutura contém membros de dados que representam uma transferência BDX ativa.
Resumo
Esses objetos são usados pelo BdxProtocol para manter o estado do protocolo. Eles são gerenciados pelo BdxServer, que lida com a criação e inicialização de novas transferências, incluindo o gerenciamento de conexões e ExchangeContexts.
Atributos públicos | |
---|---|
mAmInitiator | bool |
mAmSender | bool |
mAppState | void * |
mBlockCounter | uint32_t Esperamos receber um BlockQuery ou BlockACK para o próximo número de bloco ao enviar (assim que a transferência for oficialmente iniciada). |
mBytesSent | uint64_t |
mExchangeContext | |
mFileDesignator | arquivo / bloquear membros de dados relacionados TODO: remover isso? ou deveríamos apenas estabelecer um contrato sobre a aparência dessa string e como ela será usada? Especificamente, ele é apoiado por um PacketBuffer? Em caso afirmativo, provavelmente não deve ficar por todo o xfer, pois ocupa um 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 |
Funções públicas | |
---|---|
DispatchErrorHandler ( WEAVE_ERROR anErrorCode) | void Se o manipulador de erros foi definido, chame-o. |
DispatchGetBlockHandler (uint64_t *aLength, uint8_t **aDataBlock, bool *aLastBlock) | void Se o manipulador de blocos get foi definido, chame-o. |
DispatchPutBlockHandler (uint64_t aLength, uint8_t *aDataBlock, bool aLastBlock) | void Se o manipulador de bloco put foi definido, chame-o. |
DispatchReceiveAccept ( ReceiveAccept *aReceiveAcceptMsg) | Os despachantes simplesmente verificam se um manipulador foi definido e, em seguida, o chamam em caso afirmativo. |
DispatchRejectHandler ( StatusReport *aReport) | void Se o manipulador de rejeições foi definido, chame-o. |
DispatchSendAccept ( SendAccept *aSendAcceptMsg) | Se o manipulador de aceitação de envio foi definido, chame-o. |
DispatchXferDoneHandler (void) | void Se o manipulador de transferência concluída foi definido, chame-o. |
DispatchXferErrorHandler ( StatusReport *aXferError) | void Se o manipulador de erros de transferência foi definido, chame-o. |
GetDefaultFlags (bool aExpectResponse) | uint16_t Esta função retorna os sinalizadores padrão a serem enviados com uma mensagem. |
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 Esta função define os manipuladores neste objeto BDXTransfer . |
Shutdown (void) | void Shuts down the current transfer, including closing any open ExchangeContext. |
Atributos públicos
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
Esperamos receber um BlockQuery ou BlockACK para o próximo número de bloco ao enviar (assim que a transferência for oficialmente iniciada).
Ao receber, é o próximo BlockSend que esperamos receber ou a última BlockQuery que enviamos (depois que a transferência foi oficialmente iniciada e a primeira consulta enviada, isto é).
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
arquivo / bloquear membros de dados relacionados TODO: remover isso? ou deveríamos apenas estabelecer um contrato sobre a aparência dessa string e como ela será usada? Especificamente, ele é apoiado por um PacketBuffer? Em caso afirmativo, provavelmente não deve ficar por todo o xfer, pois ocupa um pbuf
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
Funções públicas
DispatchErrorHandler
void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchErrorHandler( WEAVE_ERROR anErrorCode )
Se o manipulador de erros foi definido, chame-o.
Se não for definido, feche também a transferência como um comportamento padrão.
Detalhes | |||
---|---|---|---|
Parâmetros |
|
DispatchGetBlockHandler
void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchGetBlockHandler( uint64_t *aLength, uint8_t **aDataBlock, bool *aLastBlock )
Se o manipulador de blocos get foi definido, chame-o.
Detalhes | |||||||
---|---|---|---|---|---|---|---|
Parâmetros |
|
DispatchPutBlockHandler
void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchPutBlockHandler( uint64_t aLength, uint8_t *aDataBlock, bool aLastBlock )
Se o manipulador de bloco put foi definido, chame-o.
Detalhes | |||||||
---|---|---|---|---|---|---|---|
Parâmetros |
|
DispatchReceiveAccept
WEAVE_ERROR nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchReceiveAccept( ReceiveAccept *aReceiveAcceptMsg )
Os despachantes simplesmente verificam se um manipulador foi configurado e, em seguida, o chamam em caso afirmativo.
Se o manipulador de aceitação de recebimento foi definido, chame-o.
Portanto, eles devem ser usados como a interface pública para chamar retornos de chamada, que nunca devem ser tocados diretamente por aplicativos externos. É possível que uma revisão futura de BDXTransfer use um objeto delegado em vez de armazenar ponteiros individuais para cada um dos retornos de chamada.
Detalhes | |||
---|---|---|---|
Parâmetros |
| ||
Devoluções | um valor de erro |
DispatchRejectHandler
void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchRejectHandler( StatusReport *aReport )
Se o manipulador de rejeições foi definido, chame-o.
Se não for definido, feche também a transferência como um comportamento padrão.
Detalhes | |||
---|---|---|---|
Parâmetros |
|
DispatchSendAccept
WEAVE_ERROR nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchSendAccept( SendAccept *aSendAcceptMsg )
Se o manipulador de aceitação de envio foi definido, chame-o.
Detalhes | |||
---|---|---|---|
Parâmetros |
| ||
Devoluções | um valor de erro |
DispatchXferDoneHandler
void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchXferDoneHandler( void )
Se o manipulador de transferência concluída foi definido, chame-o.
Se não for definido, feche também a transferência como um comportamento padrão.
DispatchXferErrorHandler
void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchXferErrorHandler( StatusReport *aXferError )
Se o manipulador de erros de transferência foi definido, chame-o.
Se não for definido, feche também a transferência como um comportamento padrão.
Detalhes | |||
---|---|---|---|
Parâmetros |
|
GetDefaultFlags
uint16_t nl::Weave::Profiles::BDX_Development::BDXTransfer::GetDefaultFlags( bool aExpectResponse )
Esta função retorna os sinalizadores padrão a serem enviados com uma mensagem.
Detalhes | |||
---|---|---|---|
Parâmetros |
| ||
Devoluções | As bandeiras a serem enviadas |
IsAsync
bool nl::Weave::Profiles::BDX_Development::BDXTransfer::IsAsync( void )
Returns true if this transfer is asynchronous, false otherwise.
Detalhes | |
---|---|
Devoluções | verdadeiro se a transferência for assíncrona. |
IsDriver
bool nl::Weave::Profiles::BDX_Development::BDXTransfer::IsDriver( void )
Returns true if this entity (node) is the driver for this transfer, false otherwise.
Detalhes | |
---|---|
Devoluções | verdadeiro se esta entidade for o driver para esta transferência |
Redefinir
void nl::Weave::Profiles::BDX_Development::BDXTransfer::Reset( void )
Sets all pointers to NULL, resets counters, etc.
Chamado quando encerrado.
SetHandlers
void nl::Weave::Profiles::BDX_Development::BDXTransfer::SetHandlers( BDXHandlers aHandlers )
Esta função define os manipuladores neste objeto BDXTransfer .
Você deve sempre usar esse método em vez de tentar defini-los manualmente, pois a implementação subjacente de como os ponteiros de função do manipulador são armazenados não faz parte da API pública.
Detalhes | |||
---|---|---|---|
Parâmetros |
|
Desligar
void nl::Weave::Profiles::BDX_Development::BDXTransfer::Shutdown( void )
Shuts down the current transfer, including closing any open ExchangeContext.
Use esta oportunidade para liberar quaisquer recursos associados a esta transferência e sua lógica de aplicativo.