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) | typedefvoid(* 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) | typedefvoid(* Get a block of data to be transmitted. |
PutBlockHandler )(BDXTransfer *aXfer, uint64_t aLength, uint8_t *aDataBlock, bool aLastBlock) | typedefvoid(* Manipula o bloco de dados apontado por aDataBlock de comprimento aLength. |
ReceiveAcceptHandler )(BDXTransfer *aXfer, ReceiveAccept *aReceiveAcceptMsg) | typedefWEAVE_ERROR (* Callback invocado quando um enviado anteriormente ReceiveInit é aceito pelo destino. |
ReceiveInitHandler )(BDXTransfer *aXfer, ReceiveInit *aReceiveInitMsg) | typedefuint16_t(* Callback invocado quando receber uma ReceiveInit mensagem. |
RejectHandler )(BDXTransfer *aXfer, StatusReport *aReport) | typedefvoid(* Chamado se uma das mensagens de inicialização anteriores foi rejeitada pelo destino. |
SendAcceptHandler )(BDXTransfer *aXfer, SendAccept *aSendAcceptMsg) | typedefWEAVE_ERROR (* Callback invocado quando um enviado anteriormente SendInit é aceito pelo destino. |
SendInitHandler )(BDXTransfer *aXfer, SendInit *aSendInitMsg) | typedefuint16_t(* Callback invocado quando receber uma SendInit mensagem. |
XferDoneHandler )(BDXTransfer *aXfer) | typedefvoid(* Trate os casos em que a transferência é concluída. |
XferErrorHandler )(BDXTransfer *aXfer, StatusReport *aXferError) | typedefvoid(* 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 |
|
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 |
|
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 |
|
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 |
|
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 |
|
RejectHandler
void(* RejectHandler)(BDXTransfer *aXfer, StatusReport *aReport)
Chamado se uma das mensagens iniciais anteriores foi rejeitada pelo destino.
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
|
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 |
|
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 |
|
XferDoneHandler
void(* XferDoneHandler)(BDXTransfer *aXfer)
Trate os casos em que a transferência é concluída.
Detalhes | |||
---|---|---|---|
Parâmetros |
|
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 |
|
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 |
| ||
Devoluções | 0 ou kSendFlag_RequestAck |