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

nl :: Tecer:: Perfis :: BDX_Development

Este namespace inclui todas as interfaces dentro do Weave para o perfil Bulk Data Transfer (BDX) que estão ativamente em desenvolvimento e não devem ser usadas para uso em produção.

Resumo

Enumerações

@80 enum
@81 enum
@82 enum
@83 enum

Typedefs

BdxClient typedef
BdxServer typedef
ErrorHandler )(BDXTransfer *aXfer, WEAVE_ERROR anErrorCode) typedef
void(*
Esse manipulador é chamado sempre que um erro Weave é encontrado e não pode ser retornado diretamente por meio de códigos de erro para o fluxo de controle definido pelo aplicativo do 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(*
Manipula o bloco de dados apontado por aDataBlock de comprimento aLength.
ReceiveAcceptHandler )(BDXTransfer *aXfer, ReceiveAccept *aReceiveAcceptMsg) typedef
Callback invocado quando um enviado anteriormente ReceiveInit é aceito pelo destino.
ReceiveInitHandler )(BDXTransfer *aXfer, ReceiveInit *aReceiveInitMsg) typedef
uint16_t(*
Callback invocado quando receber uma ReceiveInit mensagem.
RejectHandler )(BDXTransfer *aXfer, StatusReport *aReport) typedef
void(*
Chamado se uma das mensagens de inicialização anteriores foi rejeitada pelo destino.
SendAcceptHandler )(BDXTransfer *aXfer, SendAccept *aSendAcceptMsg) typedef
Callback invocado quando um enviado anteriormente SendInit é aceito pelo destino.
SendInitHandler )(BDXTransfer *aXfer, SendInit *aSendInitMsg) typedef
uint16_t(*
Callback invocado quando receber uma SendInit mensagem.
XferDoneHandler )(BDXTransfer *aXfer) typedef
void(*
Trate os casos em que a transferência é concluída.
XferErrorHandler )(BDXTransfer *aXfer, StatusReport *aXferError) typedef
void(*
Handle TransferError mensagens recebidas ou enviadas por BDX.

Funções

GetBDXAckFlag ( ExchangeContext *anEc)
uint16_t
GetBDXAckFlag retorna o sinalizador apropriado para o campo RequestAck dependendo da conexão do contexto de troca (sem confirmação de solicitação para TCP) e com base no suporte de tempo de compilação para WRMP.

Aulas

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

O BlockAck mensagem é usada para reconhecer um bloco de dados.

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

O BlockAckV1 mensagem é usada para reconhecer um bloco de dados.

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

O BlockEOF mensagem é usado para transferir o último bloco de dados do remetente ao receptor.

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

O BlockEOFAck mensagem é usada para reconhecer o último bloco de dados.

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

O BlockEOFAckV1 mensagem é usada para reconhecer o último bloco de dados.

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

O BlockEOFV1 mensagem é usado para transferir o último bloco de dados do remetente ao receptor.

nl :: Weave :: Profiles :: BDX_Development :: BlockQuery

O BlockQuery mensagem é utilizada a pedido para que um bloco de dados ser transferido do emissor para o receptor.

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

O BlockQueryV1 mensagem é utilizada a pedido para que um bloco de dados ser transferido do emissor para o receptor.

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

O BlockSend mensagem é usado para transferir um bloco de dados do emissor para o receptor.

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

O BlockSendV1 mensagem é usado para transferir um bloco de dados do emissor para o receptor.

nl :: Weave :: Profiles :: BDX_Development :: ReceiveAccept

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

nl :: Weave :: Profiles :: BDX_Development :: ReceiveInit

O ReceiveInit mensagem é usado para iniciar uma troca quando o receptor é o iniciador.

nl :: Weave :: Profiles :: BDX_Development :: ReceiveReject

O ReceiveReject mensagem é usada para rejeitar uma troca proposta quando o remetente é o iniciador.

nl :: Weave :: Profiles :: BDX_Development :: SendAccept

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

nl :: Weave :: Profiles :: BDX_Development :: SendInit

O SendInit mensagem é usado para iniciar uma troca quando o remetente é o iniciador.

nl :: Weave :: Profiles :: BDX_Development :: SendReject

O SendReject mensagem é usada para rejeitar uma troca proposta quando o remetente é o iniciador.

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

A mensagem de erro é usada para relatar um erro e abortar uma troca.

Structs

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

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

Namespaces

nl :: Weave :: Profiles :: BDX_Development :: BdxProtocol

Enumerações

@ 80

 @80

@ 81

 @81

@ 82

 @82

@ 83

 @83

Typedefs

BdxClient

BdxNode BdxClient

BdxServer

BdxNode BdxServer

ErrorHandler

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

Esse manipulador é chamado sempre que um erro Weave é encontrado e não pode ser retornado diretamente por meio de códigos de erro para o fluxo de controle definido pelo aplicativo do usuário.

Ou seja, se ocorrer um erro em outro manipulador cuja assinatura tenha tipo de retorno void (por exemplo, em resposta a uma mensagem Weave recebida ou mesmo despachado pelo protocolo), este manipulador será chamado para que o usuário possa determinar se a transferência pode ser recuperada e continuar ou se eles devem chamar Shutdown (). Note que é possível que um erro ocorra antes de uma BDXTransfer é inicializado (por exemplo, já muitos objetos de transferência alocados). Nesse caso, o referido erro será registrado pelo Weave e o protocolo tratará da limpeza de qualquer estado necessário que tenha alocado.

Detalhes
Parâmetros
[in] aXfer
Ponteiro para o BDXTransfer associado a esta 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 chamador fornece o espaço de buffer (buffer e comprimento do buffer, passado por referência). O Callee (aplicativo do usuário) DEVE usar o buffer fornecido, mas por motivos de compatibilidade com versões anteriores, pode retornar seu próprio buffer. Receptor não deve fornecer mais do que o aLength de bytes. Em retorno, aLength contém o número real de bytes lidos na memória intermédia.

Detalhes
Parâmetros
[in] aXfer
O BDXTransfer associado a esta transferência contínua
[in,out] aLength
O comprimento dos dados lidos e armazenados neste bloco. Na chamada para a função contém o comprimento do tampão do passado 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 pela estrutura; o receptor pode usar esse espaço para preencher o buffer ou fornecer seu próprio espaço de buffer (para aplicativos de compatibilidade com versões anteriores). Os aplicativos que usam o buffer fornecido não devem assumir nenhum alinhamento.
[out] aLastBlock
Verdadeiro se o bloco deve ser enviado como um BlockEOF ea transferência concluída, caso contrário false

PutBlockHandler

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

Manipula 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 esta transferência contínua
[in] aLength
O comprimento dos dados lidos e armazenados no bloco especificado
[in] aDataBlock
O bloco real de dados
[in] aLastBlock
Verdadeiro se o bloco foi recebido como um BlockEOF ea transferência concluída, caso contrário false. Se verdadeiro, o programador provavelmente deve finalizar quaisquer identificadores de arquivo, tendo em mente que o XferDoneHandler será chamado após isso

ReceiveAcceptHandler

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

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

Você pode querer usar esta oportunidade para abrir arquivos ou alocar recursos para a transferência, caso não o tenha feito ao iniciá-la.

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

ReceiveInitHandler

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

Callback invocado quando receber uma ReceiveInit mensagem.

Seu trabalho é determinar se você deseja aceitar o Recebimento e, em caso afirmativo, defina aXfer-> mIsAccepted = true para que o protocolo envie uma mensagem de aceitação ao iniciador. O BDXTransfer objeto é iniciada com as configurações padrão. Este é um bom lugar para anexar qualquer estado específico do aplicativo (identificadores de arquivo aberto, etc.) para aXfer-> mAppState. Você também deve anexar os manipuladores necessários para manuseio de blocos por exemplo, para o BDXTransfer objeto neste momento. Se um código de erro diferente de kStatus_Success for retornado, a transferência será considerada rejeitada e o protocolo tratará do envio de uma mensagem de rejeição com o código.

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

RejectHandler

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

Chamado se uma das mensagens iniciais anteriores foi rejeitada pelo destino.

Detalhes
Parâmetros
[in] aXfer
Ponteiro para o BDXTransfer associado a esta transferência
[in] aReport
Ponteiro para a rejeição da mensagem StatusReport que estamos processando

SendAcceptHandler

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

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

Você pode querer usar esta oportunidade para abrir arquivos ou alocar recursos para a transferência, caso não o tenha feito ao iniciá-la.

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

SendInitHandler

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

Callback invocado quando receber uma SendInit mensagem.

Sua função é determinar se você deseja aceitar a SendInit e, em caso afirmativo, definir aXfer-> mIsAccepted = true para que o protocolo irá enviar uma mensagem de aceitar para o iniciador. O BDXTransfer objeto é iniciada com as configurações padrão. Este é um bom lugar para anexar qualquer estado específico do aplicativo (identificadores de arquivo aberto, etc.) para aXfer-> mAppState. Você também deve anexar os manipuladores necessários para manuseio de blocos por exemplo, para o BDXTransfer objeto neste momento. Se um código de erro diferente de WEAVE_NO_ERROR for retornado, a transferência será considerada rejeitada e o protocolo tratará do envio de uma mensagem de rejeição com o código.

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

XferDoneHandler

void(* XferDoneHandler)(BDXTransfer *aXfer)

Trate os casos em que a transferência é concluída.

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

XferErrorHandler

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

Handle TransferError mensagens recebidas ou enviadas por BDX.

Nota: A transferência BDX se presume ser potencialmente recuperáveis (por exemplo, possivelmente temporária fora do PacketBuffers no momento) e por isso a opção de chamar Shutdown () é deixado para o programador da aplicação e os retornos de chamada que definem. TODO: verifique isso e reconcilie-o com o idioma no documento BDX, que afirma: "[A TransferError] Pode ser enviado 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 esta transferência
[in] aXferError
Ponteiro para o erro de mensagem StatusReport que estamos processando

Funções

GetBDXAckFlag

uint16_t GetBDXAckFlag(
  ExchangeContext *anEc
)

GetBDXAckFlag retorna o sinalizador apropriado para o campo RequestAck dependendo da conexão do contexto de troca (sem confirmação de solicitação para TCP) e com base no suporte de tempo de compilação para WRMP.

Detalhes
Parâmetros
[in] anEc
O contexto de troca, devemos obter a bandeira com base em
Devoluções
0 ou kSendFlag_RequestAck