nl:: Weave:: Profiles:: BDX_Development
Este espacio de nombres incluye todas las interfaces de Weave del perfil de transferencia de datos masiva (BDX) que están en desarrollo y no deben usarse para producción.
Resumen
Enumeraciones |
|
---|---|
@80
|
enum |
@81
|
enum |
@82
|
enum |
@83
|
enum |
Typedefs |
|
---|---|
BdxClient
|
typedef |
BdxServer
|
typedef |
ErrorHandler)(BDXTransfer *aXfer, WEAVE_ERROR anErrorCode)
|
typedefvoid(*
Se llama a este controlador cada vez que se encuentra un error de Weave que no se puede devolver directamente a través de códigos de error al flujo de control definido por la aplicación por el usuario. |
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(*
Maneja el bloque de datos al que apunta aDataBlock de longitud aLength. |
ReceiveAcceptHandler)(BDXTransfer *aXfer, ReceiveAccept *aReceiveAcceptMsg)
|
typedef Es la devolución de llamada que se invoca cuando el destino acepta un ReceiveInit que se envió previamente. |
ReceiveInitHandler)(BDXTransfer *aXfer, ReceiveInit *aReceiveInitMsg)
|
typedefuint16_t(*
Es la devolución de llamada invocada cuando se recibe un mensaje ReceiveInit. |
RejectHandler)(BDXTransfer *aXfer, StatusReport *aReport)
|
typedefvoid(*
Se invoca si el destino rechazó uno de los mensajes de Init anteriores. |
SendAcceptHandler)(BDXTransfer *aXfer, SendAccept *aSendAcceptMsg)
|
typedef Es la devolución de llamada invocada cuando el destino acepta un elemento SendInit enviado anteriormente. |
SendInitHandler)(BDXTransfer *aXfer, SendInit *aSendInitMsg)
|
typedefuint16_t(*
Es la devolución de llamada invocada cuando se recibe un mensaje SendInit. |
XferDoneHandler)(BDXTransfer *aXfer)
|
typedefvoid(*
Controla los casos en los que finalizó la transferencia. |
XferErrorHandler)(BDXTransfer *aXfer, StatusReport *aXferError)
|
typedefvoid(*
Controla mensajes de TransferError que recibe o envía BDX. |
remotas |
|
---|---|
GetBDXAckFlag(ExchangeContext *anEc)
|
uint16_t
GetBDXAckFlag muestra la marca adecuada para el campo RequestAck según la conexión del contexto de intercambio (sin confirmación de solicitud para TCP) y según la compatibilidad en tiempo de compilación con WRMP.
|
Clases |
|
---|---|
nl:: |
|
nl:: |
El mensaje BlockAck se usa para confirmar un bloque de datos. |
nl:: |
El mensaje BlockAckV1 se usa para confirmar un bloque de datos. |
nl:: |
El mensaje BlockEOF se usa para transferir el último bloque de datos del remitente al receptor. |
nl:: |
El mensaje BlockEOFAck se usa para confirmar el último bloque de datos. |
nl:: |
El mensaje BlockEOFAckV1 se usa para confirmar el último bloque de datos. |
nl:: |
El mensaje BlockEOFV1 se usa para transferir el último bloque de datos del remitente al receptor. |
nl:: |
El mensaje BlockQuery se usa para solicitar que se transfiera un bloque de datos del remitente al receptor. |
nl:: |
El mensaje BlockQueryV1 se usa para solicitar que se transfiera un bloque de datos de un remitente a otro. |
nl:: |
El mensaje BlockSend se usa para transferir un bloque de datos del remitente al receptor. |
nl:: |
El mensaje BlockSendV1 se usa para transferir un bloque de datos del remitente al receptor. |
nl:: |
El mensaje ReceiveAccept se usa para aceptar un intercambio propuesto cuando el receptor es el iniciador. |
nl:: |
El mensaje ReceiveInit se usa para iniciar un intercambio cuando el receptor es el iniciador. |
nl:: |
El mensaje ReceiveReject se usa para rechazar un intercambio propuesto cuando el remitente es el iniciador. |
nl:: |
El mensaje SendAccept se usa para aceptar un intercambio propuesto cuando el remitente es el iniciador. |
nl:: |
El mensaje SendInit se usa para iniciar un intercambio cuando el remitente es el iniciador. |
nl:: |
El mensaje SendReject se usa para rechazar un intercambio propuesto cuando el remitente es el iniciador. |
nl:: |
El mensaje de error se usa para informar un error y anular un intercambio. |
Structs |
|
---|---|
nl:: |
|
nl:: |
Esta estructura contiene miembros de datos que representan una transferencia de BDX activa. |
Espacios de nombres |
|
---|---|
nl:: |
Enumeraciones
@80
@80
@81
@81
@82
@82
@83
@83
Typedefs
BdxClient
BdxNode BdxClient
BdxServer
BdxNode BdxServer
ErrorHandler
void(* ErrorHandler)(BDXTransfer *aXfer, WEAVE_ERROR anErrorCode)
Se llama a este controlador cada vez que se encuentra un error de Weave que no se puede devolver directamente a través de códigos de error al flujo de control definido por la aplicación por el usuario.
Es decir, si se produce un error dentro de otro controlador cuya firma tiene un tipo de datos que se muestra vacío (p.ej., en respuesta a un mensaje entrante de Weave o incluso enviado por el protocolo), se llamará a este controlador para que el usuario pueda determinar si la transferencia se puede recuperar y continuar, o si debe llamar a Shutdown(). Ten en cuenta que es posible que se produzca un error antes de que ya se inicialice una BDXTransfer (p.ej., demasiados objetos). En ese caso, Weave registrará ese error y el protocolo se encargará de limpiar cualquier estado necesario que haya asignado.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
GetBlockHandler
void(* GetBlockHandler)(BDXTransfer *aXfer, uint64_t *aLength, uint8_t **aDataBlock, bool *aLastBlock)
Get a block of data to be transmitted.
El emisor proporciona el espacio de almacenamiento en búfer (búfer y longitud del búfer, pasados por referencia). Callee (aplicación de usuario) DEBE utilizar el búfer proporcionado, pero, por razones de retrocompatibilidad, puede mostrar su propio búfer. La callee no debe proporcionar más de aLength
de bytes. Cuando se muestra, aLength
contiene la cantidad real de bytes leídos en el búfer.
Detalles | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parámetros |
|
PutBlockHandler
void(* PutBlockHandler)(BDXTransfer *aXfer, uint64_t aLength, uint8_t *aDataBlock, bool aLastBlock)
Maneja el bloque de datos al que apunta aDataBlock de longitud aLength.
Probablemente, esto implique escribirlo en un archivo y cerrarlo si isLastBlock es verdadero.
Detalles | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parámetros |
|
ReceiveAcceptHandler
WEAVE_ERROR(* ReceiveAcceptHandler)(BDXTransfer *aXfer, ReceiveAccept *aReceiveAcceptMsg)
Es la devolución de llamada que se invoca cuando el destino acepta un ReceiveInit que se envió previamente.
Te recomendamos aprovechar esta oportunidad para abrir archivos o asignar recursos para la transferencia si no lo hiciste al iniciarla.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
ReceiveInitHandler
uint16_t(* ReceiveInitHandler)(BDXTransfer *aXfer, ReceiveInit *aReceiveInitMsg)
Es la devolución de llamada invocada cuando se recibe un mensaje ReceiveInit.
Su trabajo es determinar si deseas aceptar la recepción y, de ser así, configurar aXfer->mIsAccepted=true para que el protocolo envíe un mensaje de aceptación al iniciador. El objeto BDXTransfer se inicia según la configuración predeterminada. Este es un buen lugar para adjuntar cualquier estado específico de la aplicación (controladores de archivos abiertos, etc.) a aXfer->mAppState. En este punto, también debes adjuntar los controladores necesarios para el manejo de bloques, p.ej., al objeto BDXTransfer. Si se muestra un código de error distinto de kStatus_Success, se supone que la transferencia se rechaza y el protocolo manejará el envío de un mensaje de rechazo con el código.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
RejectHandler
void(* RejectHandler)(BDXTransfer *aXfer, StatusReport *aReport)
Se invoca si el destino rechazó uno de los mensajes de Init anteriores.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
SendAcceptHandler
WEAVE_ERROR(* SendAcceptHandler)(BDXTransfer *aXfer, SendAccept *aSendAcceptMsg)
Es la devolución de llamada invocada cuando el destino acepta un elemento SendInit enviado anteriormente.
Te recomendamos aprovechar esta oportunidad para abrir archivos o asignar recursos para la transferencia si no lo hiciste al iniciarla.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
SendInitHandler
uint16_t(* SendInitHandler)(BDXTransfer *aXfer, SendInit *aSendInitMsg)
Es la devolución de llamada invocada cuando se recibe un mensaje SendInit.
Su trabajo es determinar si deseas aceptar el elemento SendInit y, de ser así, configurar aXfer->mIsAccepted=true para que el protocolo envíe un mensaje de aceptación al iniciador. El objeto BDXTransfer se inicia según la configuración predeterminada. Este es un buen lugar para adjuntar cualquier estado específico de la aplicación (controladores de archivos abiertos, etc.) a aXfer->mAppState. En este punto, también debes adjuntar los controladores necesarios para el manejo de bloques, p.ej., al objeto BDXTransfer. Si se devuelve un código de error distinto de WEAVE_NO_ERROR, se supone que se rechaza la transferencia y el protocolo se encarga del envío de un mensaje de rechazo con el código.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
XferDoneHandler
void(* XferDoneHandler)(BDXTransfer *aXfer)
Controla los casos en los que finalizó la transferencia.
Detalles | |||
---|---|---|---|
Parámetros |
|
XferErrorHandler
void(* XferErrorHandler)(BDXTransfer *aXfer, StatusReport *aXferError)
Controla mensajes de TransferError que recibe o envía BDX.
Nota: Se supone que la transferencia de BDX es potencialmente recuperable (posiblemente temporal, p. ej., fuera de PacketBuffers por el momento). Por lo tanto, la opción de llamar a Shutdown() depende del programador de la aplicación y de las devoluciones de llamada que defina. TODO: verifica esto y concílialo con el texto del documento de BDX, que declara lo siguiente: "[Un TransferError] puede ser enviado en cualquier momento por cualquiera de las partes para finalizar prematuramente la transferencia masiva de datos".
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
remotas
GetBDXAckFlag
uint16_t GetBDXAckFlag( ExchangeContext *anEc )
GetBDXAckFlag muestra la marca adecuada para el campo RequestAck según la conexión del contexto de intercambio (sin confirmación de solicitud para TCP) y según la compatibilidad en tiempo de compilación con WRMP.
Detalles | |||
---|---|---|---|
Parámetros |
|
||
Qué muestra |
0 o kSendFlag_RequestAck
|