nl :: Tejido:: Perfiles: BDX_Development
Este espacio de nombres incluye todas las interfaces dentro de Weave para el perfil Bulk Data Transfer (BDX) que están en desarrollo activo y no deben usarse para uso de producción.
Resumen
Enumeraciones | |
---|---|
@80 | enumeración |
@81 | enumeración |
@82 | enumeración |
@83 | enumeración |
Typedefs | |
---|---|
BdxClient | typedef |
BdxServer | typedef |
ErrorHandler )(BDXTransfer *aXfer, WEAVE_ERROR anErrorCode) | typedefvoid(* Este controlador se llama 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 del 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 apuntado por un DataBlock de longitud aLength. |
ReceiveAcceptHandler )(BDXTransfer *aXfer, ReceiveAccept *aReceiveAcceptMsg) | typedefWEAVE_ERROR (* La devolución de llamada se invoca cuando el destino acepta un ReceiveInit enviado anteriormente. |
ReceiveInitHandler )(BDXTransfer *aXfer, ReceiveInit *aReceiveInitMsg) | typedefuint16_t(* Devolución de llamada invocada al recibir un mensaje ReceiveInit . |
RejectHandler )(BDXTransfer *aXfer, StatusReport *aReport) | typedefvoid(* Se invoca si el destino rechazó uno de los mensajes de inicialización anteriores. |
SendAcceptHandler )(BDXTransfer *aXfer, SendAccept *aSendAcceptMsg) | typedefWEAVE_ERROR (* La devolución de llamada se invoca cuando el destino acepta un SendInit enviado anteriormente. |
SendInitHandler )(BDXTransfer *aXfer, SendInit *aSendInitMsg) | typedefuint16_t(* Devolución de llamada invocada al recibir un mensaje SendInit . |
XferDoneHandler )(BDXTransfer *aXfer) | typedefvoid(* Manejar los casos donde la transferencia está terminada. |
XferErrorHandler )(BDXTransfer *aXfer, StatusReport *aXferError) | typedefvoid(* Manejar los mensajes TransferError recibidos o enviados por BDX. |
Funciones | |
---|---|
GetBDXAckFlag ( ExchangeContext *anEc) | uint16_t GetBDXAckFlag devuelve el indicador apropiado para el campo RequestAck dependiendo de la conexión del contexto de intercambio (sin solicitud de confirmación para TCP) y según el tiempo de compilación compatible con WRMP. |
Clases | |
---|---|
nl :: Weave :: Perfiles :: BDX_Development :: BdxNode | |
nl :: Weave :: Perfiles :: BDX_Development :: BlockAck | El mensaje BlockAck se utiliza para reconocer un bloque de datos. |
nl :: Weave :: Perfiles :: BDX_Development :: BlockAckV1 | El mensaje BlockAckV1 se utiliza para reconocer un bloque de datos. |
nl :: Weave :: Perfiles :: BDX_Development :: BlockEOF | El mensaje BlockEOF se utiliza para transferir el último bloque de datos del remitente al receptor. |
nl :: Weave :: Perfiles :: BDX_Development :: BlockEOFAck | El mensaje BlockEOFAck se utiliza para reconocer el último bloque de datos. |
nl :: Weave :: Perfiles :: BDX_Development :: BlockEOFAckV1 | El mensaje BlockEOFAckV1 se utiliza para reconocer el último bloque de datos. |
nl :: Weave :: Perfiles :: BDX_Development :: BlockEOFV1 | El mensaje BlockEOFV1 se utiliza para transferir el último bloque de datos del remitente al receptor. |
nl :: Weave :: Perfiles :: BDX_Development :: BlockQuery | El mensaje BlockQuery se utiliza para solicitar que se transfiera un bloque de datos del remitente al receptor. |
nl :: Weave :: Perfiles :: BDX_Development :: BlockQueryV1 | El mensaje BlockQueryV1 se utiliza para solicitar que se transfiera un bloque de datos del remitente al receptor. |
nl :: Weave :: Perfiles :: BDX_Development :: BlockSend | El mensaje BlockSend se utiliza para transferir un bloque de datos del remitente al receptor. |
nl :: Weave :: Perfiles :: BDX_Development :: BlockSendV1 | El mensaje BlockSendV1 se utiliza para transferir un bloque de datos del remitente al receptor. |
nl :: Weave :: Profiles :: BDX_Development :: ReceiveAccept | El mensaje ReceiveAccept se utiliza para aceptar un intercambio propuesto cuando el receptor es el iniciador. |
nl :: Weave :: Perfiles :: BDX_Development :: ReceiveInit | El mensaje ReceiveInit se utiliza para iniciar un intercambio cuando el receptor es el iniciador. |
nl :: Weave :: Profiles :: BDX_Development :: ReceiveReject | El mensaje ReceiveReject se utiliza para rechazar un intercambio propuesto cuando el remitente es el iniciador. |
nl :: Weave :: Perfiles :: BDX_Development :: SendAccept | El mensaje SendAccept se utiliza para aceptar un intercambio propuesto cuando el remitente es el iniciador. |
nl :: Weave :: Perfiles :: BDX_Development :: SendInit | El mensaje SendInit se utiliza para iniciar un intercambio cuando el remitente es el iniciador. |
nl :: Weave :: Perfiles :: BDX_Development :: SendReject | El mensaje SendReject se utiliza para rechazar un intercambio propuesto cuando el remitente es el iniciador. |
nl :: Weave :: Perfiles :: BDX_Development :: TransferError | El mensaje de error se utiliza para informar un error y cancelar un intercambio. |
Estructuras | |
---|---|
nl :: Weave :: Perfiles :: BDX_Development :: BDXHandlers | |
nl :: Weave :: Perfiles :: BDX_Development :: BDXTransfer | Esta estructura contiene miembros de datos que representan una transferencia BDX activa. |
Espacios de nombres | |
---|---|
nl :: Weave :: Perfiles :: BDX_Development :: BdxProtocol |
Enumeraciones
@ 80
@80
@ 81
@81
@ 82
@82
@ 83
@83
Typedefs
BdxClient
BdxNode BdxClient
BdxServer
BdxNode BdxServer
ErrorHandler
void(* ErrorHandler)(BDXTransfer *aXfer, WEAVE_ERROR anErrorCode)
Este controlador se llama 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 del usuario.
Es decir, si ocurre un error dentro de otro controlador cuya firma tiene el tipo de retorno nulo (por ejemplo, en respuesta a un mensaje Weave entrante 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 deben llamar a Shutdown (). Tenga en cuenta que es posible que se produzca un error antes de que se inicialice una BDXTransfer (por ejemplo, ya hay demasiados objetos de transferencia asignados). En tal caso, Weave registrará dicho 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.
La persona que llama proporciona el espacio de almacenamiento en búfer (búfer y longitud del búfer, pasados por referencia). Callee (aplicación de usuario) DEBE usar el búfer provisto, pero por razones de compatibilidad con versiones anteriores, puede devolver su propio búfer. El destinatario no debe proporcionar más de una aLength
de bytes. A la vuelta, aLength
contiene el número 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 apuntado por un DataBlock de longitud aLength.
Es probable que esto implique escribirlo en un archivo y cerrar dicho archivo si isLastBlock es verdadero.
Detalles | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parámetros |
|
ReceiveAcceptHandler
WEAVE_ERROR(* ReceiveAcceptHandler)(BDXTransfer *aXfer, ReceiveAccept *aReceiveAcceptMsg)
La devolución de llamada se invoca cuando el destino acepta un ReceiveInit enviado anteriormente.
Es posible que desee aprovechar esta oportunidad para abrir archivos o asignar recursos para la transferencia si no lo hizo al iniciarla.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
ReceiveInitHandler
uint16_t(* ReceiveInitHandler)(BDXTransfer *aXfer, ReceiveInit *aReceiveInitMsg)
Devolución de llamada invocada al recibir un mensaje ReceiveInit .
Su trabajo es determinar si desea aceptar la recepción y, de ser así, establecer aXfer-> mIsAccepted = true para que el protocolo envíe un mensaje de aceptación al iniciador. El objeto BDXTransfer se inicia con la configuración predeterminada. Este es un buen lugar para adjuntar cualquier estado específico de la aplicación (identificadores de archivos abiertos, etc.) a aXfer-> mAppState. También debe adjuntar los controladores necesarios para, por ejemplo, el manejo de bloques al objeto BDXTransfer en este punto. Si se devuelve un código de error que no sea kStatus_Success, se supone que la transferencia es rechazada 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 inicialización anteriores.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
SendAcceptHandler
WEAVE_ERROR(* SendAcceptHandler)(BDXTransfer *aXfer, SendAccept *aSendAcceptMsg)
La devolución de llamada se invoca cuando el destino acepta un SendInit enviado anteriormente.
Es posible que desee aprovechar 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)
Devolución de llamada invocada al recibir un mensaje SendInit .
Su trabajo es determinar si desea aceptar SendInit y, de ser así, establecer aXfer-> mIsAccepted = true para que el protocolo envíe un mensaje de aceptación al iniciador. El objeto BDXTransfer se inicia con la configuración predeterminada. Este es un buen lugar para adjuntar cualquier estado específico de la aplicación (identificadores de archivos abiertos, etc.) a aXfer-> mAppState. También debe adjuntar los controladores necesarios para, por ejemplo, el manejo de bloques al objeto BDXTransfer en este punto. Si se devuelve un código de error que no sea WEAVE_NO_ERROR, se asume que la transferencia es rechazada y el protocolo manejará el envío de un mensaje de rechazo con el código.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
XferDoneHandler
void(* XferDoneHandler)(BDXTransfer *aXfer)
Manejar los casos donde la transferencia está terminada.
Detalles | |||
---|---|---|---|
Parámetros |
|
XferErrorHandler
void(* XferErrorHandler)(BDXTransfer *aXfer, StatusReport *aXferError)
Manejar los mensajes TransferError recibidos o enviados por BDX.
Nota: Se presume que la transferencia de BDX es potencialmente recuperable (posiblemente temporal, por ejemplo, fuera de PacketBuffers en este momento) y, por lo tanto, la opción de llamar a Shutdown () se deja al programador de la aplicación y las devoluciones de llamada que definen. TODO: verificar esto y conciliarlo con el idioma en el documento BDX, que dice: "[Un TransferError] Puede ser enviado en cualquier momento por cualquiera de las partes para finalizar prematuramente la transferencia masiva de datos".
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
Funciones
GetBDXAckFlag
uint16_t GetBDXAckFlag( ExchangeContext *anEc )
GetBDXAckFlag devuelve el indicador apropiado para el campo RequestAck dependiendo de la conexión del contexto de intercambio (sin solicitud de confirmación para TCP) y según el tiempo de compilación compatible con WRMP.
Detalles | |||
---|---|---|---|
Parámetros |
| ||
Devoluciones | 0 o kSendFlag_RequestAck |