| [6d7779d] | 1 | TODO-1- Documentacion |
|---|
| 2 | |
|---|
| 3 | Documentacion de usuario/administrador y usuario/programador-tol |
|---|
| 4 | |
|---|
| 5 | TODO-2- Documentacion |
|---|
| 6 | |
|---|
| 7 | Documentacion de desarrollador |
|---|
| 8 | |
|---|
| 9 | TODO-3- TEST |
|---|
| 10 | |
|---|
| 11 | Test en varios servidores. Apoyarse en el test de producto de |
|---|
| 12 | matrices. |
|---|
| 13 | |
|---|
| 14 | TODO-4- ENHANCEMENT, hacer amigos rmtps <--> tolsh |
|---|
| 15 | |
|---|
| 16 | Dotar al servidor RmtPS de un protocolo de control de tolsh. Una |
|---|
| 17 | idea puede ser algo asi: |
|---|
| 18 | |
|---|
| 19 | - RmtPS se ejecuta como un daemon en la maquina servidora |
|---|
| 20 | |
|---|
| 21 | - RmtPS tiene un archivo de configuracion que entre otras aspectos |
|---|
| 22 | puede contener una lista de puertos donde arrancar servidores |
|---|
| 23 | tolsh. |
|---|
| 24 | |
|---|
| 25 | - Un cliente tiene una lista de ordenadores del cluster de calculo y |
|---|
| 26 | el puerto donde el daemon RmtPS esta escuchando. La primera |
|---|
| 27 | comunicacion es pedirle al RmtPS que arranque los servidores y que |
|---|
| 28 | nos de los puertos donde estan escuchando. Esto puede quedar |
|---|
| 29 | englobado en una funcion del API que podemos denominar |
|---|
| 30 | TolServerInit. |
|---|
| 31 | |
|---|
| 32 | - Un cliente arranca el tolsh a traves de RmtPS y recibe ademas el |
|---|
| 33 | puerto donde el servidor tolsh atendera a peticiones escucha. |
|---|
| 34 | |
|---|
| 35 | TODO-5 ENHANCEMENT, hacer amigos tolbase <--> tolsh |
|---|
| 36 | |
|---|
| 37 | Dotar a Tolbase de la capacidad de dialogar con TolServer de la misma |
|---|
| 38 | forma que tolsh lo hace. |
|---|
| 39 | |
|---|
| 40 | TODO-6 TEST/ROBUSTNES, RECONNECT |
|---|
| 41 | |
|---|
| 42 | Verificar que el protocolo de RECONNECT controla perfectamente todas |
|---|
| 43 | las situaciones de excepcion que se presentan. Esto va en la linea |
|---|
| 44 | de mejorar la robusteza del servidor. |
|---|
| 45 | |
|---|
| 46 | TODO-7 ENHANCEMENT/DIAGNOSTIC, informacion de errores. |
|---|
| 47 | |
|---|
| 48 | Facilitar informacion de errores que puedan producirse en la parte |
|---|
| 49 | del servidor durante la evaluacion de una tarea. El protocolo |
|---|
| 50 | TFINISH puede contener, ademas de ID de tarea, informacion adicional |
|---|
| 51 | sobre el numero de errores y warnings. |
|---|
| 52 | |
|---|
| 53 | TODO-8 BUG, particionar el buffer en trozos |
|---|
| 54 | |
|---|
| 55 | El protocolo de comunicacion es orientado a buffer lleno. Esto puede |
|---|
| 56 | conducir a una situacion de error cuando la expresion a evaluar se |
|---|
| 57 | mayor que el tamaño del buffer. Una posible solucion seria adaptar |
|---|
| 58 | el protocolo de comunicacion para que se pueda pasar la expresion |
|---|
| 59 | particionada en trozos desde el cliente y el servidor se juntan, |
|---|
| 60 | cuando este toda la expresion unida es que se procede a registrar la |
|---|
| 61 | evaluacion. |
|---|
| 62 | |
|---|
| 63 | TODO-9 ENHANCEMENT, comunicacion de objetos TOL |
|---|
| 64 | |
|---|
| 65 | TolServerGetObj(Text host, Real port, Text grammar, Text name) |
|---|
| 66 | |
|---|
| 67 | |
|---|
| 68 | en toltcl necesitamos algo como: |
|---|
| 69 | |
|---|
| 70 | tol::binget objref que retorna una imagen binaria del objeto |
|---|
| 71 | |
|---|
| 72 | tol::binput objref binvalue |
|---|
| 73 | |
|---|
| 74 | binvalue debe ser el resultado de un binget |
|---|
| 75 | |
|---|
| 76 | el binvalue lo pasaremos por los canales de comunicacion |
|---|
| 77 | |
|---|
| 78 | tolsh mantendra un cache de objref de forma tal que pueda atender a |
|---|
| 79 | peticiones sucesivas del mismo objeto. |
|---|
| 80 | |
|---|
| 81 | el cache se podra (debera) invalidar por parte del cliente: |
|---|
| 82 | |
|---|
| 83 | TolServerInvalidateCache(Text host, Real port) |
|---|
| 84 | |
|---|
| 85 | tolsh deberia ser multithreaded asi si tol esta ocupado calculando |
|---|
| 86 | este puede atender a peticiones incrementando asi la robusteza del |
|---|
| 87 | protocolo de comunicacion entre el cliente y el servidor. |
|---|
| 88 | |
|---|
| 89 | TODO-10 Build, crear tclkit --thread-enable |
|---|
| 90 | |
|---|
| 91 | Es importante con vistas a mantener tol en un thread separado de |
|---|
| 92 | tolsh, ver TODO-9. |
|---|
| 93 | |
|---|
| 94 | Ya esta creado en Linux. Falta Windows. |
|---|
| 95 | |
|---|
| 96 | TODO-11 Bug, protocolo binario |
|---|
| 97 | |
|---|
| 98 | Hay que cambiar el formato de los paquetes de comunicacion. Ahora |
|---|
| 99 | mismo se interpretan basados en regexp lo cual es inapropiado para |
|---|
| 100 | paquetes binarios. La solucion es usar 'binary format' para crear |
|---|
| 101 | los paquetes y 'binary scan' para decodificarlos. |
|---|
| 102 | |
|---|
| 103 | TODO-12 Check/BUG RECONNECT |
|---|
| 104 | |
|---|
| 105 | Revisar en el codigo de tolclient/tolserver la parte relacionada a |
|---|
| 106 | RECONNECT. |
|---|
| 107 | |
|---|
| 108 | TODO-13 Performance-C++ |
|---|
| 109 | |
|---|
| 110 | Implementar tolserver/tolclient en C? |
|---|
| 111 | |
|---|
| 112 | TODO-14 FEATURE TolServerTaskStatus |
|---|
| 113 | |
|---|
| 114 | Implementar TolServerTaskStatus para preguntar sobre el estado de |
|---|
| 115 | una tarea. |
|---|