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

nl::Weave::Perfis::BDX_Development

Esse namespace inclui todas as interfaces no Weave para o perfil de transferência de dados em massa (BDX, na sigla em inglês) que estão ativamente em desenvolvimento e não devem ser usados para uso em produção.

Resumo

Enumerações

@80 tipo enumerado
@81 tipo enumerado
@82 tipo enumerado
@83 tipo enumerado

Typedefs

BdxClient typedef
BdxServer typedef
ErrorHandler)(BDXTransfer *aXfer, WEAVE_ERROR anErrorCode) typedef
void(*
Esse gerenciador é chamado sempre que ocorre um erro de Weave que não pode ser retornado diretamente por códigos de erro para o fluxo de controle definido pelo usuário.
GetBlockHandler)(BDXTransfer *aXfer, uint64_t *aLength, uint8_t **aDataBlock, bool *aLastBlock) typedef
void(*
Get a block of data to be transmitted.
PutBlockHandler)(BDXTransfer *aXfer, uint64_t aLength, uint8_t *aDataBlock, bool aLastBlock) typedef
void(*
Processe o bloco de dados apontado por aDataBlock de comprimento aLength.
ReceiveAcceptHandler)(BDXTransfer *aXfer, ReceiveAccept *aReceiveAcceptMsg) typedef
Callback invocado quando um ReceiveInit enviado anteriormente é aceito pelo destino.
ReceiveInitHandler)(BDXTransfer *aXfer, ReceiveInit *aReceiveInitMsg) typedef
uint16_t(*
Chamada de retorno invocada ao receber uma mensagem ReceiveInit.
RejectHandler)(BDXTransfer *aXfer, StatusReport *aReport) typedef
void(*
Invocado se uma das mensagens Init anteriores foi rejeitada pelo destino.
SendAcceptHandler)(BDXTransfer *aXfer, SendAccept *aSendAcceptMsg) typedef
Callback invocado quando um SendInit enviado anteriormente é aceito pelo destino.
SendInitHandler)(BDXTransfer *aXfer, SendInit *aSendInitMsg) typedef
uint16_t(*
Chamada de retorno invocada ao receber uma mensagem SendInit.
XferDoneHandler)(BDXTransfer *aXfer) typedef
void(*
Processar casos em que a transferência foi concluída
XferErrorHandler)(BDXTransfer *aXfer, StatusReport *aXferError) typedef
void(*
Processar mensagens TransferError recebidas ou enviadas pelo BDX.

Functions

GetBDXAckFlag(ExchangeContext *anEc)
uint16_t
GetBDXAckFlag retorna a sinalização apropriada para o campo RequestAck, dependendo da conexão do contexto de troca (sem confirmação de solicitação para TCP) e com base na compatibilidade com tempo de compilação para WRMP.

Classes

nl::Weave::Perfis::BDX_Development::BdxNode
nl::Weave::Profiles::BDX_Development::BlockAck

A mensagem BlockAck é usada para confirmar um bloco de dados.

nl::Weave::Profiles::BDX_Development::BlockAckV1

A mensagem BlockAckV1 é usada para confirmar um bloco de dados.

nl::Weave::Profiles::BDX_Development::BlockEOF

A mensagem BlockEOF é usada para transferir o último bloco de dados do remetente para o destinatário.

nl::Weave::Profiles::BDX_Development::BlockEOFAck

A mensagem BlockEOFAck é usada para confirmar o último bloco de dados.

nl::Weave::Profiles::BDX_Development::BlockEOFAckV1

A mensagem BlockEOFAckV1 é usada para confirmar o último bloco de dados.

nl::Weave::Profiles::BDX_Development::BlockEOFV1

A mensagem BlockEOFV1 é usada para transferir o último bloco de dados do remetente para o destinatário.

nl::Weave::Perfis::BDX_Development::BlockQuery

A mensagem BlockQuery é usada para solicitar que um bloco de dados seja transferido do remetente para o destinatário.

nl::Weave::Profiles::BDX_Development::BlockQueryV1

A mensagem BlockQueryV1 é usada para solicitar que um bloco de dados seja transferido do remetente para o destinatário.

nl::Weave::Profiles::BDX_Development::BlockSend

A mensagem BlockSend é usada para transferir um bloco de dados do remetente para o destinatário.

nl::Weave::Profiles::BDX_Development::BlockSendV1

A mensagem BlockSendV1 é usada para transferir um bloco de dados do remetente para o destinatário.

nl::Weave::Perfis::BDX_Development::ReceiveAccept

A mensagem ReceiveAccept é usada para aceitar uma troca proposta quando o receptor for o iniciador.

nl::Weave::Perfis::BDX_Development::ReceiveInit

A mensagem ReceiveInit é usada para iniciar uma troca quando o receptor é o iniciador.

nl::Weave::Profiles::BDX_Development::ReceiveRecusa

A mensagem ReceiveRecusa é usada para rejeitar uma troca proposta quando o remetente é o iniciador.

nl::Weave::Perfis::BDX_Development::SendAccept

A mensagem SendAccept é usada para aceitar uma troca proposta quando o remetente é o iniciador.

nl::Weave::Perfis::BDX_Development::SendInit

A mensagem SendInit é usada para iniciar uma troca quando o remetente é o iniciador.

nl::Weave::Profiles::BDX_Development::SendRejected

A mensagem SendRejected é usada para rejeitar uma troca proposta quando o remetente é o iniciador.

nl::Weave::Profiles::BDX_Development::TransferError

A mensagem de erro é usada para informar um erro e cancelar uma troca.

Estruturas

nl::Weave::Perfis::BDX_Development::BDXHandlers
nl::Weave::Perfis::BDX_Development::BDXTransfer

Essa estrutura contém membros de dados que representam uma transferência BDX ativa.

Namespaces

nl::Weave::Perfis::BDX_Development::BdxProtocol

Enumerações

@80

 @80

@81

 @81

88

 @82

@83

 @83

Typedefs

BdxClient

BdxNode BdxClient

BdxServer

BdxNode BdxServer

ErrorHandler

void(* ErrorHandler)(BDXTransfer *aXfer, WEAVE_ERROR anErrorCode)

Esse gerenciador é chamado sempre que ocorre um erro de Weave que não pode ser retornado diretamente por códigos de erro para o fluxo de controle definido pelo usuário.

Ou seja, se ocorrer um erro em outro gerenciador com uma assinatura que tenha o tipo de retorno vazio (por exemplo, em resposta a uma mensagem do Weave recebida ou até mesmo enviada pelo protocolo), esse gerenciador será chamado para que o usuário possa determinar se a transferência pode ser recuperada e continuar ou se ele precisa chamar Shutdown(). É possível que ocorra um erro antes que um BDXTransfer seja inicializado (por exemplo, muitos objetos de transferência alocados). Nesse caso, o erro será registrado pelo Weave e o protocolo processará a limpeza dos estados necessários alocados.

Detalhes
Parâmetros
[in] aXfer
Ponteiro para o BDXTransfer associado a essa transferência
[in] anErrorCode
O código de erro que precisamos processar

GetBlockHandler

void(* GetBlockHandler)(BDXTransfer *aXfer, uint64_t *aLength, uint8_t **aDataBlock, bool *aLastBlock)

Get a block of data to be transmitted.

O autor da chamada fornece o espaço do buffer (buffer e tamanho do buffer, passados por referência). O recebedor da chamada (aplicativo do usuário) DEVE usar o buffer fornecido, mas, por motivos de compatibilidade com versões anteriores, pode retornar o próprio buffer. O recebedor da chamada não pode fornecer mais que aLength de bytes. No retorno, aLength contém o número real de bytes lidos no buffer.

Detalhes
Parâmetros
[in] aXfer
O BDXTransfer associado a essa transferência em andamento.
[in,out] aLength
O tamanho dos dados lidos e armazenados neste bloco. Na chamada para a função contém o comprimento do buffer transmitido no aDataBlock. No retorno, a variável contém o comprimento dos dados realmente lidos.
[in,out] aDataBlock
O ponteiro para o bloco de dados. Na entrada, ele contém o buffer fornecido pelo framework. O recebedor da chamada pode usar esse espaço para preencher o buffer ou fornecer o próprio espaço em buffer (para aplicativos de compatibilidade com versões anteriores). Os aplicativos que usam o buffer fornecido não podem assumir nenhum alinhamento.
[out] aLastBlock
Verdadeiro se o bloco precisar ser enviado como BlockEOF e a transferência for concluída. Caso contrário, será falso.

PutBlockHandler

void(* PutBlockHandler)(BDXTransfer *aXfer, uint64_t aLength, uint8_t *aDataBlock, bool aLastBlock)

Processe o bloco de dados apontado por aDataBlock de comprimento aLength.

Provavelmente, isso envolverá gravá-lo em um arquivo e fechar esse arquivo se isLastBlock for verdadeiro.

Detalhes
Parâmetros
[in] aXfer
O BDXTransfer associado a essa transferência em andamento.
[in] aLength
O comprimento dos dados lidos e armazenados no bloco especificado.
[in] aDataBlock
O próprio bloco de dados
[in] aLastBlock
Verdadeiro se o bloco for recebido como um BlockEOF e a transferência for concluída. Caso contrário, será falso. Se for verdadeiro, o programador provavelmente precisa finalizar todos os identificadores de arquivo, tendo em mente que o XferDoneHandler será chamado depois disso

ReceiveAcceptHandler

WEAVE_ERROR(* ReceiveAcceptHandler)(BDXTransfer *aXfer, ReceiveAccept *aReceiveAcceptMsg)

Callback invocado quando um ReceiveInit enviado anteriormente é aceito pelo destino.

Talvez você queira usar essa oportunidade para abrir arquivos ou alocar recursos para a transferência, caso não tenha feito isso ao iniciá-la.

Detalhes
Parâmetros
[in] aXfer
Ponteiro para o BDXTransfer associado a essa transferência
[in] aReceiveAcceptMsg
Ponteiro para a mensagem ReceiveAccept que estamos processando

ReceiveInitHandler

uint16_t(* ReceiveInitHandler)(BDXTransfer *aXfer, ReceiveInit *aReceiveInitMsg)

Chamada de retorno invocada ao receber uma mensagem ReceiveInit.

A função dele é determinar se você quer aceitar o recebimento e, em caso afirmativo, definir aXfer->mIsAccepted=true para que o protocolo envie uma mensagem de aceitação para o iniciador. O objeto BDXTransfer é iniciado para as configurações padrão. Este é um bom lugar para anexar qualquer estado específico do aplicativo (alças de arquivos abertas etc.) a aXfer->mAppState. Você também precisa anexar os gerenciadores necessários para, por exemplo, o processamento de blocos ao objeto BDXTransfer. Se um código de erro diferente de kStatus_Success for retornado, a transferência será considerada rejeitada e o protocolo processará o envio de uma mensagem de rejeição com o código.

Detalhes
Parâmetros
[in] aXfer
Ponteiro para o BDXTransfer associado a essa transferência
[in] aReceiveInitMsg
Ponteiro para a mensagem ReceiveInit que estamos processando

Rejeitador

void(* RejectHandler)(BDXTransfer *aXfer, StatusReport *aReport)

Invocado se uma das mensagens Init anteriores foi rejeitada pelo destino.

Detalhes
Parâmetros
[in] aXfer
Ponteiro para o BDXTransfer associado a essa transferência
[in] aReport
Apontador para a mensagem de statusStatus rejeitada

SendAcceptHandler.

WEAVE_ERROR(* SendAcceptHandler)(BDXTransfer *aXfer, SendAccept *aSendAcceptMsg)

Callback invocado quando um SendInit enviado anteriormente é aceito pelo destino.

Talvez você queira usar essa oportunidade para abrir arquivos ou alocar recursos para a transferência, caso não tenha feito isso ao iniciá-la.

Detalhes
Parâmetros
[in] aXfer
Ponteiro para o BDXTransfer associado a essa transferência
[in] aSendAcceptMsg
Ponteiro para a mensagem SendAccept que estamos processando

SendInitHandler

uint16_t(* SendInitHandler)(BDXTransfer *aXfer, SendInit *aSendInitMsg)

Chamada de retorno invocada ao receber uma mensagem SendInit.

A função dele é determinar se você quer aceitar o SendInit e, em caso afirmativo, definir aXfer->mIsAccepted=true para que o protocolo envie uma mensagem de aceitação ao iniciador. O objeto BDXTransfer é iniciado para as configurações padrão. Este é um bom lugar para anexar qualquer estado específico do aplicativo (alças de arquivos abertas etc.) a aXfer->mAppState. Você também precisa anexar os gerenciadores necessários para, por exemplo, o processamento de blocos ao objeto BDXTransfer. Se um código de erro diferente de WEAVE_NO_ERROR for retornado, a transferência será considerada rejeitada e o protocolo tratará o envio de uma mensagem de rejeição com o código.

Detalhes
Parâmetros
[in] aXfer
Ponteiro para o BDXTransfer associado a essa transferência
[in] aSendInitMsg
Ponteiro para a mensagem SendInit que estamos processando

XferDoneHandler

void(* XferDoneHandler)(BDXTransfer *aXfer)

Processar casos em que a transferência foi concluída

Detalhes
Parâmetros
[in] aXfer
Ponteiro para o BDXTransfer associado a essa transferência

XferErrorHandler

void(* XferErrorHandler)(BDXTransfer *aXfer, StatusReport *aXferError)

Processar mensagens TransferError recebidas ou enviadas pelo BDX.

Observação: presume-se que a transferência BDX seja potencialmente recuperável (possivelmente temporariamente, como fora dos PackageBuffers) no momento. Portanto, a opção de chamar Shutdown() é deixada para o programador de aplicativos e para os callbacks definidos. TODO: confirmar e reconciliar com a linguagem do documento BDX, que declara: "quoquo;[A TransferError] pode ser enviada a qualquer momento por qualquer uma das partes para encerrar prematuramente a transferência de dados em massa."

Detalhes
Parâmetros
[in] aXfer
Ponteiro para o BDXTransfer associado a essa transferência
[in] aXferError
Ponteiro para o erro de mensagem StatusReport que estamos processando

Functions

GetBDXAckFlag

uint16_t GetBDXAckFlag(
  ExchangeContext *anEc
)

GetBDXAckFlag retorna a sinalização apropriada para o campo RequestAck, dependendo da conexão do contexto de troca (sem confirmação de solicitação para TCP) e com base na compatibilidade com tempo de compilação para WRMP.

Detalhes
Parâmetros
[in] anEc
O contexto de troca deve ser usado com base na sinalização.
Retorna
0 ou kSendFlag_RequestAck