Opened 13 years ago
Last modified 13 years ago
#1346 new task
Clase @Blob para el manejo de información binaria arbitraria. — at Version 2
Reported by: | Víctor de Buen Remiro | Owned by: | Víctor de Buen Remiro |
---|---|---|---|
Priority: | normal | Milestone: | TOL Extensions |
Component: | Kernel | Version: | head |
Severity: | normal | Keywords: | |
Cc: |
Description (last modified by )
Es necesaria una forma de manejar en TOL información binaria arbitraria para distintos propósitos:
- Almacenamiento de campos blob en bases de datos (de ahí el nombre)
- Serialización binaria de objetos TOL (Ver #1291)
- Comunicación entre procesos TOL (paralelización)
- Tratamiento de archivos binarios (imágenes, mapas, ...)
Actualmente, en algunas API's para el manejo de estructuras de datos ajenas a TOL como TolExcel
, TolIpopt
, NonLinGloOpt
, etc.; se está usando un Real
que mapea el puntero a la estructura interna la cual es conocida por las funciones de la API.
Esta estrategia tiene sentido en ese tipo de API's pero existen aplicaciones algo más genéricas que requieren también información sobre el tamaño total del objeto y para las que se pueden dar ciertos métodos comunes, por lo que una clase sería lo más adecuado.
Según el tipo de información podría haber distintas formas de codificar la información que fueran más adecuadas que otras según otras condiciones como el tamaño, la necesidad de meta-información añadida, la estructura de los datos, la velocidad de transmisión, etc.:
- Protocolos de codificación de objetos TOL
- TXT: Texto ascii neutro. (Text)
- TOL: Expresión TOL para ser evaluada para cualquier tipo TOL.
- DDS: binaria de objetos sin documentación y restringida a ciertos tipos TOL (Ver #1291)
- OIS: formato binario para objetos TOL genéricos, indexados y documentados.
- En caso de ser necesario, podría estudiarse algún protocolo ad-hoc que fuera especialmente eficaz en casos como tablas (Set de Set) y cosas por el estilo.
- Protocolos de codificación de objetos externos
- BFL: formato binario para ficheros
- ZIP: ficheros comprimidos con ZIP
La clase tendría los siguientes miembros
Class @Blob { Text _.type; //Type of information Text _.protocol; //Codification protocol Real _.pointer; //Internal address Real _.bytes; //Total size }
Habría que ir declarando constructores para los distintos protocolos de codificación y tipos de información.
Otros tickets relacionados con el manejo eficiente de información en TOL son el #1070, #1072
Change History (2)
comment:1 Changed 13 years ago by
Description: | modified (diff) |
---|
comment:2 Changed 13 years ago by
Description: | modified (diff) |
---|