Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Add a state SD_READY to the tasks to optimize SD_simulate
[simgrid.git] / TODO
diff --git a/TODO b/TODO
index ea8fd6f..bd0098b 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,11 +1,24 @@
 ###
 ### Ongoing stuff
 ###
 ###
 ### Ongoing stuff
 ###
+/* FIXME: better place? */
+int vasprintf  (char **ptr, const char *fmt, va_list ap);
+char *bprintf(const char*fmt, ...) _XBT_GNUC_PRINTF(1,2);
 
 
-* tcp->incoming_socks
-  sock specific tcp (buffsize) useless
+Module renamings:
+ - rename SWAG to RING?
+ - Rename cursor to iterator
 
 
-* use the exception everywhere
+log.h still contains @name which break doxygen:
+xbt/log.h:/** \name DEBUG
+xbt/log.h:/** \name VERB
+xbt/log.h:/** \name INFO
+xbt/log.h:/** \name WARN
+xbt/log.h:/** \name ERROR
+xbt/log.h:/** \name CRITICAL
+
+gras_socket_close should be blocking until all the data sent have been
+received by the other side (implemented with an ACK mechanism).
 
 ###
 ### Planned
 
 ###
 ### Planned
@@ -18,6 +31,8 @@
 [autoconf]
   * Check the gcc version on powerpc. We disabled -floop-optimize on powerpc,
     but versions above 3.4.0 should be ok.
 [autoconf]
   * Check the gcc version on powerpc. We disabled -floop-optimize on powerpc,
     but versions above 3.4.0 should be ok.
+  * check whether we have better than jmp_buf to implement exceptions, and
+    use it (may need to generate a public .h, as glib does)
 
 *
 * XBT
 
 *
 * XBT
@@ -35,7 +50,7 @@
     The first ones should be repported to the user, the second should kill
     the program (or, yet better, only the msg handler)
   * Allows the use of an error handler depending on the current module (ie,
     The first ones should be repported to the user, the second should kill
     the program (or, yet better, only the msg handler)
   * Allows the use of an error handler depending on the current module (ie,
-    the same philosophy than log4c using GSL's error functions)
+    the same philosophy as log4c using GSL's error functions)
 
 [logs]
   * Hijack message from a given category to another for a while (to mask
 
 [logs]
   * Hijack message from a given category to another for a while (to mask
@@ -50,7 +65,9 @@
 
 [modules]
   * better formalisation of what modules are (amok deeply needs it)
 
 [modules]
   * better formalisation of what modules are (amok deeply needs it)
-    configuration + init() + exit() + dependencies
+    configuration + init() + join() + exit() + leave() + dependencies
+    init and exit are run only once
+    join and leave are run for each process.
   * allow to load them at runtime
     check in erlang how they upgrade them without downtime
 
   * allow to load them at runtime
     check in erlang how they upgrade them without downtime
 
   * we may need a round-robin database module, and a statistical one
   * a hook module *may* help cleaning up some parts. Not sure yet.
   * Some of the datacontainer modules seem to overlap. Kill some of them?
   * we may need a round-robin database module, and a statistical one
   * a hook module *may* help cleaning up some parts. Not sure yet.
   * Some of the datacontainer modules seem to overlap. Kill some of them?
+    - replace fifo with dynars
+    - replace set with SWAG
 
 *
 * GRAS
 ******
 
 [doc]
 
 *
 * GRAS
 ******
 
 [doc]
-  * add the token ring as official example
   * implement the P2P protocols that macedon does. They constitute great
     examples, too
 
   * implement the P2P protocols that macedon does. They constitute great
     examples, too
 
   * gras_datadesc_import_nws?
 
 [Messaging]
   * gras_datadesc_import_nws?
 
 [Messaging]
-  * A proper RPC mecanism
-    - gras_rpctype_declare_v (name,ver, payload_request, payload_answer)
-      (or gras_msgtype_declare_rpc_v). 
-    - Attaching a cb works the same way.
-    - gras_msg_rpc(peer, &request, &answer)
-    - On the wire, a byte indicate the message type:
-      - 0: one-way message (what we have for now)
-      - 1: method call (answer expected; sessionID attached)
-      - 2: successful return (usual datatype attached, with sessionID)
-      - 3: error return (payload = exception)
-      - other message types are possible (forwarding request, group
-        communication)
+  * Other message types than oneway & RPC are possible:
+     - forwarding request, group communication
   * Message priority
   * Message forwarding
   * Group communication
   * Message priority
   * Message forwarding
   * Group communication
   * watchdog in RL (ie, while (1) { fork; exec the child, wait in father })
   * Allow [homogeneous] dico to be sent
   * Make GRAS thread safe by mutexing what needs to be
   * watchdog in RL (ie, while (1) { fork; exec the child, wait in father })
   * Allow [homogeneous] dico to be sent
   * Make GRAS thread safe by mutexing what needs to be
-  * Use a xbt_set for gras_procdata_t->libdata instead of a dict
-    so that the search can be linear.
 
 *
 * AMOK
 
 *
 * AMOK