Opened 13 years ago
Last modified 13 years ago
#1346 new task
Clase @Blob para el manejo de información binaria arbitraria.
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. He aquí algunos de los casos más claros cuya necesidad ya ha sido detectada:
- Protocolos de codificación de objetos TOL
- TOL: Expresión TOL para ser evaluada para cualquier tipo TOL. Puede ser útil para casos sencillos y para depurar.
- OIS: formato binario para objetos TOL genéricos, indexados y documentados. Es el más potente pero implica mucho over-head para objetos sencillos.
- DDS: formato binario de objetos sin documentación y restringida a ciertos tipos TOL (Ver #1291). Muy eficiente para pasar datos puros.
- 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
- TXT: Texto ascii neutro.
- 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 (3)
comment:1 Changed 13 years ago by
Description: | modified (diff) |
---|
comment:2 Changed 13 years ago by
Description: | modified (diff) |
---|
comment:3 Changed 13 years ago by
Description: | modified (diff) |
---|