En Google, luchamos por la equidad racial de la comunidad negra. Más información
Se usó la API de Cloud Translation para traducir esta página.
Switch to English

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) typedef
void(*
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) typedef
void(*
Get a block of data to be transmitted.
PutBlockHandler )(BDXTransfer *aXfer, uint64_t aLength, uint8_t *aDataBlock, bool aLastBlock) typedef
void(*
Maneja el bloque de datos apuntado por un DataBlock de longitud aLength.
ReceiveAcceptHandler )(BDXTransfer *aXfer, ReceiveAccept *aReceiveAcceptMsg) typedef
La devolución de llamada se invoca cuando el destino acepta un ReceiveInit enviado anteriormente.
ReceiveInitHandler )(BDXTransfer *aXfer, ReceiveInit *aReceiveInitMsg) typedef
uint16_t(*
Devolución de llamada invocada al recibir un mensaje ReceiveInit .
RejectHandler )(BDXTransfer *aXfer, StatusReport *aReport) typedef
void(*
Se invoca si el destino rechazó uno de los mensajes de inicialización anteriores.
SendAcceptHandler )(BDXTransfer *aXfer, SendAccept *aSendAcceptMsg) typedef
La devolución de llamada se invoca cuando el destino acepta un SendInit enviado anteriormente.
SendInitHandler )(BDXTransfer *aXfer, SendInit *aSendInitMsg) typedef
uint16_t(*
Devolución de llamada invocada al recibir un mensaje SendInit .
XferDoneHandler )(BDXTransfer *aXfer) typedef
void(*
Manejar los casos donde la transferencia está terminada.
XferErrorHandler )(BDXTransfer *aXfer, StatusReport *aXferError) typedef
void(*
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
[in] aXfer
Puntero al BDXTransfer asociado con esta transferencia
[in] anErrorCode
El código de error que necesitamos procesar.

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
[in] aXfer
El BDXTransfer asociado con esta transferencia en curso
[in,out] aLength
La longitud de los datos leídos y almacenados en este bloque. En la llamada a la función contiene la longitud del búfer pasado en el aDataBlock . A su regreso, la variable contiene la longitud de los datos realmente leídos.
[in,out] aDataBlock
El puntero al bloque de datos. En la entrada, contiene el búfer proporcionado por el marco; el destinatario puede usar ese espacio para llenar el búfer o proporcionar su propio espacio de almacenamiento en búfer (para aplicaciones de compatibilidad con versiones anteriores). Las aplicaciones que utilizan el búfer proporcionado no deben asumir ninguna alineación.
[out] aLastBlock
Verdadero si el bloque debe enviarse como BlockEOF y la transferencia completada, falso en caso contrario

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
[in] aXfer
El BDXTransfer asociado con esta transferencia en curso
[in] aLength
La longitud de los datos leídos y almacenados en el bloque especificado
[in] aDataBlock
El bloque de datos real
[in] aLastBlock
Verdadero si el bloque se recibió como BlockEOF y la transferencia se completó, falso en caso contrario. Si es verdadero, el programador probablemente debería finalizar cualquier identificador de archivo, teniendo en cuenta que se llamará a XferDoneHandler después de esto.

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
[in] aXfer
Puntero al BDXTransfer asociado con esta transferencia
[in] aReceiveAcceptMsg
Puntero al mensaje ReceiveAccept que estamos procesando

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
[in] aXfer
Puntero al BDXTransfer asociado con esta transferencia
[in] aReceiveInitMsg
Puntero al mensaje ReceiveInit que estamos procesando

RejectHandler

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

Se invoca si el destino rechazó uno de los mensajes de inicialización anteriores.

Detalles
Parámetros
[in] aXfer
Puntero al BDXTransfer asociado con esta transferencia
[in] aReport
Puntero al rechazo del mensaje StatusReport que estamos procesando

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
[in] aXfer
Puntero al BDXTransfer asociado con esta transferencia
[in] aSendAcceptMsg
Puntero al mensaje SendAccept que estamos procesando

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
[in] aXfer
Puntero al BDXTransfer asociado con esta transferencia
[in] aSendInitMsg
Puntero al mensaje SendInit que estamos procesando

XferDoneHandler

void(* XferDoneHandler)(BDXTransfer *aXfer)

Manejar los casos donde la transferencia está terminada.

Detalles
Parámetros
[in] aXfer
Puntero al BDXTransfer asociado con esta transferencia

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
[in] aXfer
Puntero al BDXTransfer asociado con esta transferencia
[in] aXferError
Puntero al error del mensaje StatusReport que estamos procesando

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
[in] anEc
El contexto de intercambio en el que deberíamos obtener la bandera
Devoluciones
0 o kSendFlag_RequestAck