O Google tem o compromisso de promover a igualdade racial para as comunidades negras. Saiba como.

nl::Weave::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. Elas são gerenciadas pelo BdxServer, que lida com a criação e inicialização de novas transferências, incluindo o gerenciamento de Connections e ExchangeContexts.

Atributos públicos

mAmInitiator
bool
mAmSender
bool
mAppState
void *
mBlockCounter
uint32_t
O próximo número de bloco que deve receber um BlockQuery ou BlockACK para o envio (após o início oficial da transferência).
mBytesSent
uint64_t
mExchangeContext
mFileDesignator
arquivo/bloqueio de membros de dados relacionados TODO: remover isto? Ou devemos apenas estabelecer um contrato que pode representar a string e como ela será usada? Especificamente, ele é respaldado por um PackageBuffer? Se for o caso, ele provavelmente não deve permanecer no xfer inteiro, já que 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 gerenciador de erros tiver sido definido, chame-o.
DispatchGetBlockHandler(uint64_t *aLength, uint8_t **aDataBlock, bool *aLastBlock)
void
Se o gerenciador de bloqueio de get tiver sido definido, chame-o.
DispatchPutBlockHandler(uint64_t aLength, uint8_t *aDataBlock, bool aLastBlock)
void
Se o gerenciador "block" tiver sido definido, chame-o.
DispatchReceiveAccept(ReceiveAccept *aReceiveAcceptMsg)
Os agentes verificam se um gerenciador foi definido e os chamam.
DispatchRejectHandler(StatusReport *aReport)
void
Se o gerenciador de rejeição tiver sido definido, chame-o.
DispatchSendAccept(SendAccept *aSendAcceptMsg)
Se o gerenciador de aceitação de envio tiver sido definido, chame-o.
DispatchXferDoneHandler(void)
void
Se o gerenciador de transferência concluído tiver sido definido, chame-o.
DispatchXferErrorHandler(StatusReport *aXferError)
void
Se o gerenciador de erros de transferência tiver sido definido, chame-o.
GetDefaultFlags(bool aExpectResponse)
uint16_t
Essa função retorna as sinalizações padrão que serão enviadas 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
Essa função define os gerenciadores nesse objeto BDXTransfer.
Shutdown(void)
void
 Shuts down the current transfer, including closing any open ExchangeContext.

Atributos públicos

mAmitiator

bool nl::Weave::Profiles::BDX_Development::BDXTransfer::mAmInitiator

mAmRemetente

bool nl::Weave::Profiles::BDX_Development::BDXTransfer::mAmSender

Estado do aplicativo

void * nl::Weave::Profiles::BDX_Development::BDXTransfer::mAppState

mBlockCounter

uint32_t nl::Weave::Profiles::BDX_Development::BDXTransfer::mBlockCounter

O próximo número de bloco que deve receber um BlockQuery ou BlockACK para o envio (após o início oficial da transferência).

Ao receber, é o próximo BlockSend que esperamos receber ou a BlockQuery mais recente que enviamos (após o início oficial da transferência e a primeira consulta enviada).

mBytes enviados

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/bloqueio de membros de dados relacionados TODO: remover isto? Ou devemos apenas estabelecer um contrato que pode representar a string e como ela será usada? Especificamente, ele é respaldado por um PackageBuffer? Se for o caso, ele provavelmente não deve permanecer no xfer inteiro, já que ocupa um pbuf

mFirstQuery

bool nl::Weave::Profiles::BDX_Development::BDXTransfer::mFirstQuery

Manipuladores

BDXHandlers nl::Weave::Profiles::BDX_Development::BDXTransfer::mHandlers

mIsAceito

bool nl::Weave::Profiles::BDX_Development::BDXTransfer::mIsAccepted

mIsCompleteConcluído

bool nl::Weave::Profiles::BDX_Development::BDXTransfer::mIsCompletedSuccessfully

mIsStarted

bool nl::Weave::Profiles::BDX_Development::BDXTransfer::mIsInitiated

mIsWideRange

bool nl::Weave::Profiles::BDX_Development::BDXTransfer::mIsWideRange

mComprimento

uint64_t nl::Weave::Profiles::BDX_Development::BDXTransfer::mLength

mMaxBlockSize

uint16_t nl::Weave::Profiles::BDX_Development::BDXTransfer::mMaxBlockSize

Próxima

WEAVE_ERROR(* nl::Weave::Profiles::BDX_Development::BDXTransfer::mNext)(BDXTransfer &)

mStartOffset

uint64_t nl::Weave::Profiles::BDX_Development::BDXTransfer::mStartOffset

Modo de transferência para dispositivos móveis

uint8_t nl::Weave::Profiles::BDX_Development::BDXTransfer::mTransferMode

Versão m

uint8_t nl::Weave::Profiles::BDX_Development::BDXTransfer::mVersion

Funções públicas

DespatchErrorHandler

void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchErrorHandler(
  WEAVE_ERROR anErrorCode
)

Se o gerenciador de erros tiver sido definido, chame-o.

Se a política não for definida, encerre a transferência como um comportamento padrão.

Detalhes
Parâmetros
[in] anErrorCode
Código do erro a ser processado

DespatchGetBlockHandler

void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchGetBlockHandler(
  uint64_t *aLength,
  uint8_t **aDataBlock,
  bool *aLastBlock
)

Se o gerenciador de bloqueio de get tiver sido definido, chame-o.

Detalhes
Parâmetros
[in] aLength
Tamanho do bloco
[in] aDataBlock
Ponteiro para o bloco de dados
[in] aLastBlock
Verdadeiro se este for o último bloco na transferência

Despatch PutBlockHandler

void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchPutBlockHandler(
  uint64_t aLength,
  uint8_t *aDataBlock,
  bool aLastBlock
)

Se o gerenciador "block" tiver sido definido, chame-o.

Detalhes
Parâmetros
[in] aLength
Tamanho 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 agentes verificam se um gerenciador foi definido e os chamam.

Se o gerenciador de recebimento de recebimento tiver sido definido, chame-o.

Portanto, eles devem ser usados como a interface pública para chamar callbacks, que nunca devem ser tocados diretamente por apps externos. É possível que uma futura revisão de BDXTransfer use um objeto delegado em vez de armazenar ponteiros individuais para cada callback.

Detalhes
Parâmetros
[in] aReceiveAcceptMsg
A mensagem ReceiveAccept será processada.
Retorna
um valor de erro

DespatchjeHandler

void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchRejectHandler(
  StatusReport *aReport
)

Se o gerenciador de rejeição tiver sido definido, chame-o.

Se a política não for definida, encerre a transferência como um comportamento padrão.

Detalhes
Parâmetros
[in] aReport
A mensagem StatusReport será processada

DespatchSendAccept

WEAVE_ERROR nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchSendAccept(
  SendAccept *aSendAcceptMsg
)

Se o gerenciador de aceitação de envio tiver sido definido, chame-o.

Detalhes
Parâmetros
[in] aSendAcceptMsg
Mensagem SendAccept a ser processada
Retorna
um valor de erro

DespatchXferDoneHandler

void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchXferDoneHandler(
  void
)

Se o gerenciador de transferência concluído tiver sido definido, chame-o.

Se a política não for definida, encerre a transferência como um comportamento padrão.

DispatchXferErrorHandler

void nl::Weave::Profiles::BDX_Development::BDXTransfer::DispatchXferErrorHandler(
  StatusReport *aXferError
)

Se o gerenciador de erros de transferência tiver sido definido, chame-o.

Se a política não for definida, encerre 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
)

Essa função retorna as sinalizações padrão que serão enviadas com uma mensagem.

Detalhes
Parâmetros
[in] aExpectResponse
Se esperamos uma resposta a esta mensagem
Retorna
As sinalizações a serem enviadas

IsAsync

bool nl::Weave::Profiles::BDX_Development::BDXTransfer::IsAsync(
  void
)

 Returns true if this transfer is asynchronous, false otherwise.

Detalhes
Retorna
verdadeiro se a transferência for assíncrona.

Motorista

bool nl::Weave::Profiles::BDX_Development::BDXTransfer::IsDriver(
  void
)

 Returns true if this entity (node) is the driver for this transfer, false otherwise.

Detalhes
Retorna
Verdadeiro se essa entidade for a motivadora da transferência

Redefinir

void nl::Weave::Profiles::BDX_Development::BDXTransfer::Reset(
  void
)

 Sets all pointers to NULL, resets counters, etc.

Chamado quando desligado.

SetHandlers.

void nl::Weave::Profiles::BDX_Development::BDXTransfer::SetHandlers(
  BDXHandlers aHandlers
)

Essa função define os gerenciadores nesse objeto BDXTransfer.

Você sempre deve usar esse método em vez de tentar configurá-los manualmente, porque a implementação subjacente de como os ponteiros de função do gerenciador são armazenados não faz parte da API pública.

Detalhes
Parâmetros
[in] aHandlers
Estrutura de gerenciadores de callback a serem chamados

Encerramento

void nl::Weave::Profiles::BDX_Development::BDXTransfer::Shutdown(
  void
)

 Shuts down the current transfer, including closing any open ExchangeContext.

Use essa oportunidade para liberar todos os recursos associados a essa transferência e a lógica do seu aplicativo.

Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates. Thread is a registered trademark of the Thread Group, Inc.

Last updated 2018-06-05 UTC.