O Google tem o compromisso de promover a igualdade racial para as comunidades negras. Saiba como.
Esta página foi traduzida pela API Cloud Translation.
Switch to English

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 &)
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
[in] anErrorCode
Código de erro a ser processado

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
[in] aLength
Comprimento do bloco
[in] aDataBlock
Ponteiro para o bloco de dados
[in] aLastBlock
Verdadeiro se este for o último bloco na transferência

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
[in] aLength
Comprimento do bloco
[in] aDataBlock
Ponteiro para o bloco de dados
[in] aLastBlock
Verdadeiro se este for o último bloco na transferência

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
[in] aReceiveAcceptMsg
Mensagem ReceiveAccept a ser processada
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
[in] aReport
Mensagem StatusReport a ser processada

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
[in] aSendAcceptMsg
SendAccept mensagem a ser processada
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
[in] aXferError
Relatório de status de um erro a ser processado

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
[in] aExpectResponse
Se esperamos uma resposta a esta mensagem
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
[in] aHandlers
Estrutura de manipuladores de retorno de chamada a serem chamados

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.