nl:: Weave:: Perfiles: BDX_Development
Este espacio de nombres incluye todas las interfaces de Weave para el perfil de transferencia masiva de datos (BDX) que están activamente en desarrollo y no se deben usar para usar en la 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 mostrar directamente a través del código de error en el flujo de control definido por la aplicación. |
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(*
Controla el bloque de datos al que apunta aDataBlock con una longitud aLength. |
ReceiveAcceptHandler)(BDXTransfer *aXfer, ReceiveAccept *aReceiveAcceptMsg)
|
typedef Es la devolución de llamada invocada cuando el destino acepta una ReceiveInit enviada anteriormente. |
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 Init anteriores. |
SendAcceptHandler)(BDXTransfer *aXfer, SendAccept *aSendAcceptMsg)
|
typedef Es la devolución de llamada invocada cuando el destino acepta un 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(*
Maneja casos en los que se completó la transferencia. |
XferErrorHandler)(BDXTransfer *aXfer, StatusReport *aXferError)
|
typedefvoid(*
Controla los mensajes TransferError recibidos o enviados por BDX. |
Functions |
|
---|---|
GetBDXAckFlag(ExchangeContext *anEc)
|
uint16_t
GetBDXAckFlag muestra la marca adecuada para el campo RequestAck según la conexión del contexto de intercambio (sin conexión ack de solicitud para TCP) y según la compatibilidad del tiempo de compilación para WRMP.
|
Clases |
|
---|---|
nl:: |
|
nl:: |
El mensaje BlockAck se usa para reconocer un bloque de datos. |
nl:: |
El mensaje BlockAckV1 se usa para reconocer un bloque de datos. |
nl:: |
El mensaje BlockEOF se usa para transferir el último bloque de datos de remitente a receptor. |
nl:: |
El mensaje BlockEOFAck se usa para reconocer 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 de remitente a receptor. |
nl:: |
El mensaje BlockQuery se usa para solicitar que un bloque de datos se transfiera del remitente al receptor. |
nl:: |
El mensaje BlockQueryV1 se usa para solicitar que un bloque de datos se transfiera del remitente al receptor. |
nl:: |
El mensaje BlockSend se usa para transferir un bloque de datos de remitente a receptor. |
nl:: |
El mensaje BlockSendV1 se usa para transferir un bloque de datos de remitente a 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 ReceiveReceive 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 SendRejected 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 BDX activa. |
Espacios de nombres |
|
---|---|
nl:: |
Enumeraciones
@80
@80
@81
@81
@82
@82
@83
@83
Typedefs
Cliente Bdx
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 mostrar directamente a través del código de error en el flujo de control definido por la aplicación.
Es decir, si se produce un error dentro de otro controlador cuya firma tiene un tipo de datos anulado (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 se inicialice BDXTransfer (p.ej., demasiados objetos ya asignados). En ese caso, Weave registrará ese error y el protocolo se encargará de limpiar cualquier estado que se 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, que se pasa por referencia). Callee (aplicación del usuario) DEBE usar el búfer provisto, pero por motivos de retrocompatibilidad puede mostrar su propio búfer. Callee no debe proporcionar más que el aLength
de bytes. Al mostrar un resultado, 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)
Controla el bloque de datos al que apunta aDataBlock con una longitud aLength.
Es probable que esto implique escribirlo en un archivo y cerrar dicho archivo si isLastBlock es verdadero.
Detalles | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parámetros |
|
Recibe AcceptHandler
WEAVE_ERROR(* ReceiveAcceptHandler)(BDXTransfer *aXfer, ReceiveAccept *aReceiveAcceptMsg)
Es la devolución de llamada invocada cuando el destino acepta una ReceiveInit enviada anteriormente.
Le recomendamos que utilice esta oportunidad para abrir archivos o asignar recursos para la transferencia si no lo hizo al iniciarla.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
RecibeInitHandler
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 desea aceptar la recepción y, de ser así, establecer aXfer->mIsAccept=true para que el protocolo envíe un mensaje de aceptación al iniciador. El objeto BDXTransfer se inicia en 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, p.ej., el control de bloqueo al objeto BDXTransfer. Si se muestra un código de error distinto de kStatus_Success, se supone que se rechazó la transferencia y que el protocolo se encargará de enviar un mensaje de rechazo con el código.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
RechazarHandler
void(* RejectHandler)(BDXTransfer *aXfer, StatusReport *aReport)
Se invoca si el destino rechazó uno de los mensajes 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 SendInit enviado anteriormente.
Le recomendamos que utilice esta oportunidad para abrir archivos o asignar recursos para la transferencia si no lo hizo 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 SendInit y, de ser así, establecer aXfer->mIsAccept=true para que el protocolo envíe un mensaje de aceptación al iniciador. El objeto BDXTransfer se inicia en 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, p.ej., el control de bloqueo al objeto BDXTransfer. Si se muestra un código de error distinto de WEAVE_NO_ERROR, se supone que se rechazó la transferencia y que el protocolo se encargará de enviar un mensaje de rechazo con el código.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
XferDoneHandler
void(* XferDoneHandler)(BDXTransfer *aXfer)
Maneja casos en los que se completó la transferencia.
Detalles | |||
---|---|---|---|
Parámetros |
|
XferErrorHandler
void(* XferErrorHandler)(BDXTransfer *aXfer, StatusReport *aXferError)
Controla los mensajes TransferError recibidos o enviados por BDX.
Nota: Se supone que la transferencia de BDX se puede recuperar (posiblemente, de manera temporal, por fuera de PacketBuffers) por lo que la opción de llamar a Shutdown() queda en manos del programador de la aplicación y de las devoluciones de llamada que definen. ACTIVIDAD: Verifique esto y concilia el mensaje con el lenguaje que se encuentra en el documento de BDX, que declara: "A TransferError" en cualquier momento. Cualquiera de las partes puede enviarlo para finalizar prematuramente la transferencia masiva de datos.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
Functions
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 conexión ack de solicitud para TCP) y según la compatibilidad del tiempo de compilación para WRMP.
Detalles | |||
---|---|---|---|
Parámetros |
|
||
Qué muestra |
0 o kSendFlag_RequestAck
|