]> git.llucax.com Git - z.facultad/75.42/plaqui.git/commitdiff
Actualizo protocolo de comandos HTTP. Ahora es mucho mas simple y extensible.
authorLeandro Lucarella <llucax@gmail.com>
Wed, 5 Nov 2003 03:43:13 +0000 (03:43 +0000)
committerLeandro Lucarella <llucax@gmail.com>
Wed, 5 Nov 2003 03:43:13 +0000 (03:43 +0000)
docs/server.txt

index c553d5458b97f968af14172b6897fc873457705c..c81a3f8dddff476186ec5374e2ee8775b43e9da6 100644 (file)
@@ -60,70 +60,87 @@ por POST. Es decir, de un 'request' HTTP solo se usara la ruta para codificar
 los comandos. Ejemplo: GET /ruta/que/representa/comando?query=string HTTP/1.1
                           '----------------------------'
 Este es el comando que entendera el servidor. La presencia de un 'query string'
-sera ignorada, al igual que datos enviados por POST, silenciosamente (sin
+será ignorada, al igual que datos enviados por POST, silenciosamente (sin
 producir un error).
 
 Todos los comandos son respondidos con una respuesta XML que *siempre* incluye
 un código de éxito/error. Adicionalmente puede devolver más datos en la
 respuesta en cuyo caso se especifica expresamente.
 
-Comandos Generales:
--------------------
-Los nombres entre "<" y ">" denotan un argumento.
-
-Comando                      |Descripción           |Respuesta
-----------------------+----------------------+----------------------------------
-/                     |Obtiene estado general|Cantidad de plantas,
-                      |del servidor.         |conexiones, transmisiones,
-                      |                      |versión, uptime, etc.
-----------------------+----------------------+----------------------------------
-/plants               |Obtiene lista de      |Lista de plantas con info mínima
-                      |plantas.              |de cada una (está corriendo o no,
-                      |                      |uptime, cantidad de elementos,etc)
-----------------------+----------------------+----------------------------------
-/plants/<nombre>      |Obtiene la planta de  |El mismo archivo que se crea en el
-                      |nombre <nombre>.      |Constructor.
-----------------------+----------------------+----------------------------------
-/transmissions        |Obtiene una lista de  |Lista de transmisiones activas
-                      |las transmisiones     |(host, puerto, uptime, etc).
-                      |activas.              |
+Comandos en general:
+--------------------
+Los comandos se tiene una estructura general compuesta por 3 elementos:
+- Destino: A quien se le envía el comando.
+- Comando: El comando en sí (la acción a realizar).
+- Argumentos: Opciones y datos necesarios para ejecutar el comando.
+Esto se estructura como una ruta, por lo que todos los comandos se componen la
+menos de 2 'directorios' anidados, con cero o más argumentos representados a su
+ves por archivos o más subdirectorios:
+/<destino>/<comando>/<argumento 1>/<argumento 2>/<...>/<argumento N>
+
+Los destinos disponibles serán:
+- server: Comandos para el servidor en sí.
+- plant: Comandos para las plantas.
+- transmission: Comandos para las transmisiones (el módulo de transmisión).
+
+Comandos para el servidor:
+--------------------------
+Los comandos para el servidor, como se vio previamente, comienzan con /server/
+seguido de alguna de las siguientes opciones.
+
+Comando         | Descripción            | Respuesta                                   
+---------+------------------------+---------------------------------------------
+status   | Obtiene estado general | Cantidad de plantas, conexiones,
+         | del servidor.          | transmisiones, versión, uptime, etc.
+---------+------------------------+---------------------------------------------
 
 Comandos para una Planta:
 -------------------------
-Todos los comandos de plantas comienzan con /plants/ y reciben un argumento que
-es el nombre de la planta, <nombre>, a la cual enviar el comando.
-Los comandos a continuación comienzan todos con '/plants/<nombre>'.
-
-Comando                      |Descripción           |Respuesta
-----------------------+----------------------+----------------------------------
-/start                |Comienza la simulación|Nada.
-                      |de la planta de nombre|
-                      |<planta>.             |
-----------------------+----------------------+----------------------------------
-/stop                 |Finaliza la simulación|Nada.
-                      |de la planta de nombre|
-                      |<planta>.             |
-----------------------+----------------------+----------------------------------
-/set/<elem>/<prop>/<v>|Cambia la propiedad   |Nada (a ver si no retorna el valor
-                      |<prop> del elemento   |realmente aceptado).
-                      |<elem>, asignándole   |
-                      |el valor <v>.         |
+Todos los comandos de plantas comienzan con /plant/ y continúan con alguna de
+las siguientes opciones:
+
+Comando               |Descripción                  |Respuesta
+---------------+-----------------------------+----------------------------------
+list           |Obtiene lista de plantas.    |Lista de plantas con info mínima
+               |                             |de cada una (está corriendo o no,
+               |                             |uptime, cantidad de elementos,etc)
+---------------+-----------------------------+----------------------------------
+get/<planta>   |Obtiene la planta de         |El mismo archivo que se crea en el
+               |nombre <planta>.             |Constructor.
+---------------+-----------------------------+----------------------------------
+start/<planta> |Comienza la simulación de la |Nada.
+               |planta de nombre <planta>.   |
+---------------+-----------------------------+----------------------------------
+stop/<planta>  |Finaliza la simulación de la |Nada.
+               |planta de nombre <planta>.   |
+---------------+-----------------------------+----------------------------------
+set/<planta>   |Cambia la propiedad <prop>   |Nada (a ver si no retorna el valor
+ /<elem>       |del elemento <elem>,         |realmente aceptado).
+ /<prop>       |asignándole el valor <v> a   |
+ /<v>          |planta de nombre <planta>.   |
+
+NOTA: Los nombres entre "<" y ">" denotan un argumento.
 
 Comandos para una Transmisión:
 ------------------------------
-Todos los comandos de transmisiones comienzan con /transmissions.
-Los comandos a continuación comienzan todos con '/transmissions'.
-Los argumentos entre "[" y "]" son opcionales. De omitirse se usan valores por
-predefinidos.
-
-Comando                        |Descripción                                 |Respuesta
-------------------------+--------------------------------------------+----------
-/start/<host>/[<port>]  |Comienza la transmisión al <host> en el     |Nada.
-                        |puerto al <host> en el puerto <port>.       |
-------------------------+--------------------------------------------+----------
-/stop/[<host>]/[<port>] |Finaliza la transmisiónal <host> en el      |Nada.
-                        |puerto <port>. Si se omite el <host>, se    |
-                        |finalizan todas las transmisiones.          |
+Todos los comandos de transmisiones comienzan con /transmission/ y continúan con
+alguna de las siguientes opciones:
+
+Comando                        |Descripción                         |Respuesta
+-------------------+-----------------------------------------+------------------
+list               |Obtiene una lista de las las             |Lista de transmi-
+                   |transmisiones activas.                   |siones activas 
+                   |                                         |(host, puerto, 
+                   |                                         |uptime, etc).
+-------------------+-----------------------------------------+------------------
+start/<host>/<port>|Comienza la transmisión al <host> en el  |Nada.
+                   |puerto al <host> en el puerto <port>.    |
+-------------------+-----------------------------------------+------------------
+stop/<host>/<port> |Finaliza la transmisiónal <host> en el   |Nada.
+                   |puerto <port>. Si se omite el <host>, se |
+                   |finalizan todas las transmisiones.       |
+
+NOTA: Los nombres entre "<" y ">" denotan un argumento.
 
 
 Características adicionales (a desarrollar si el tiempo lo permite):
@@ -158,5 +175,15 @@ Es posible hacer que el comando /transmissions/start sin argumentos comience una
 transmisión por 'broadcast' de la planta para todo aquel que quiera monitorearla
 desde la red en la que se haga el 'broadcast'.
 
+Atajos de comandos:
+-------------------
+Se trata de 'alias' de comandos. Por ejemplo que '/' de un estado del server
+(/sever/status), que /plant de una lista de plantas, etc.
+
+Valores por defecto:
+--------------------
+Para los comandos que requieren argumentos se podría asumir valores por defecto
+en caso de faltar alguno.
+
 
 vim: set et ts=4 sw=4 tw=80: