Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Reindent everything (possibly breaking all branches, but for the last time)
authormquinson <mquinson@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Tue, 26 May 2009 15:29:22 +0000 (15:29 +0000)
committermquinson <mquinson@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Tue, 26 May 2009 15:29:22 +0000 (15:29 +0000)
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@6309 48e7efb5-ca39-0410-a469-dd3cf9ba447f

318 files changed:
examples/amok/bandwidth/bandwidth.c
examples/amok/saturate/saturate.c
examples/gras/all2all/all2all.c
examples/gras/chrono/chrono.c
examples/gras/mmrpc/mmrpc.h
examples/gras/mmrpc/mmrpc_client.c
examples/gras/mmrpc/mmrpc_common.c
examples/gras/mmrpc/mmrpc_server.c
examples/gras/mutual_exclusion/simple_token/simple_token.c
examples/gras/ping/ping.h
examples/gras/ping/ping_client.c
examples/gras/ping/ping_common.c
examples/gras/ping/ping_server.c
examples/gras/pmm/pmm.c
examples/gras/properties/properties.c
examples/gras/rpc/rpc.c
examples/gras/spawn/spawn.h
examples/gras/spawn/spawn_child.c
examples/gras/spawn/spawn_common.c
examples/gras/spawn/spawn_father.c
examples/gras/synchro/philosopher.c
examples/gras/timer/timer.c
examples/msg/actions/actions.c
examples/msg/gtnets/gtnets.c
examples/msg/gtnets/gtnets_kayo.c
examples/msg/masterslave/masterslave_bypass.c
examples/msg/masterslave/masterslave_failure.c
examples/msg/masterslave/masterslave_forwarder.c
examples/msg/migration/migration.c
examples/msg/parallel_task/parallel_task.c
examples/msg/parallel_task/test_ptask.c
examples/msg/priority/priority.c
examples/msg/properties/msg_prop.c
examples/msg/sendrecv/sendrecv.c
examples/msg/suspend/suspend.c
examples/simdag/metaxml/sd_meta.c
examples/simdag/properties/sd_prop.c
examples/simdag/sd_test.c
examples/simdag/sd_test2.c
include/amok/bandwidth.h
include/amok/peermanagement.h
include/gras.h
include/gras/datadesc.h
include/gras/emul.h
include/gras/messages.h
include/gras/module.h
include/gras/process.h
include/gras/timer.h
include/gras/transport.h
include/gras/virtu.h
include/msg/datatypes.h
include/msg/msg.h
include/simdag/datatypes.h
include/simdag/simdag.h
include/smpi/smpi.h
include/surf/simgrid_dtd.h
include/surf/surfxml_parse.h
include/xbt/asserts.h
include/xbt/config.h
include/xbt/cunit.h
include/xbt/dict.h
include/xbt/dynar.h
include/xbt/ex.h
include/xbt/fifo.h
include/xbt/function_types.h
include/xbt/graph.h
include/xbt/graphxml.h
include/xbt/graphxml_parse.h
include/xbt/hash.h
include/xbt/heap.h
include/xbt/log.h
include/xbt/mallocator.h
include/xbt/matrix.h
include/xbt/misc.h
include/xbt/module.h
include/xbt/peer.h
include/xbt/queue.h
include/xbt/set.h
include/xbt/str.h
include/xbt/strbuff.h
include/xbt/swag.h
include/xbt/synchro.h
include/xbt/sysdep.h
include/xbt/time.h
include/xbt/virtu.h
src/amok/Bandwidth/bandwidth.c
src/amok/Bandwidth/bandwidth_private.h
src/amok/Bandwidth/saturate.c
src/amok/PeerManagement/peermanagement.c
src/amok/amok_base.c
src/gras/DataDesc/cbps.c
src/gras/DataDesc/datadesc.c
src/gras/DataDesc/datadesc_interface.h
src/gras/DataDesc/datadesc_private.h
src/gras/DataDesc/ddt_convert.c
src/gras/DataDesc/ddt_create.c
src/gras/DataDesc/ddt_exchange.c
src/gras/DataDesc/ddt_parse.c
src/gras/DataDesc/ddt_parse.yy.c
src/gras/DataDesc/ddt_parse.yy.h
src/gras/Msg/gras_msg_exchange.c
src/gras/Msg/gras_msg_listener.c
src/gras/Msg/gras_msg_mod.c
src/gras/Msg/gras_msg_types.c
src/gras/Msg/msg_interface.h
src/gras/Msg/msg_private.h
src/gras/Msg/rl_msg.c
src/gras/Msg/rpc.c
src/gras/Msg/sg_msg.c
src/gras/Msg/timer.c
src/gras/Transport/rl_transport.c
src/gras/Transport/sg_transport.c
src/gras/Transport/transport.c
src/gras/Transport/transport_interface.h
src/gras/Transport/transport_plugin_file.c
src/gras/Transport/transport_plugin_sg.c
src/gras/Transport/transport_plugin_tcp.c
src/gras/Transport/transport_private.h
src/gras/Virtu/gras_module.c
src/gras/Virtu/process.c
src/gras/Virtu/rl_dns.c
src/gras/Virtu/rl_emul.c
src/gras/Virtu/rl_process.c
src/gras/Virtu/sg_dns.c
src/gras/Virtu/sg_emul.c
src/gras/Virtu/sg_process.c
src/gras/Virtu/virtu_interface.h
src/gras/Virtu/virtu_private.h
src/gras/Virtu/virtu_sg.h
src/gras/gras.c
src/gras/rl_stubs.c
src/gras_modinter.h
src/include/simix/datatypes.h
src/include/simix/simix.h
src/include/surf/maxmin.h
src/include/surf/random_mgr.h
src/include/surf/surf.h
src/include/surf/surfxml_parse_private.h
src/include/surf/trace_mgr.h
src/include/xbt/context.h
src/include/xbt/wine_dbghelp.h
src/include/xbt/xbt_os_thread.h
src/include/xbt/xbt_os_time.h
src/java/jmsg.c
src/java/jmsg.h
src/java/jmsg_application_handler.c
src/java/jmsg_application_handler.h
src/java/jmsg_channel.c
src/java/jmsg_channel.h
src/java/jmsg_host.c
src/java/jmsg_host.h
src/java/jmsg_process.c
src/java/jmsg_process.h
src/java/jmsg_task.c
src/java/jmsg_task.h
src/java/jxbt_utilities.c
src/java/jxbt_utilities.h
src/msg/deployment.c
src/msg/environment.c
src/msg/global.c
src/msg/gos.c
src/msg/host.c
src/msg/m_process.c
src/msg/mailbox.h
src/msg/msg_actions.c
src/msg/msg_config.c
src/msg/msg_mailbox.c
src/msg/private.h
src/msg/task.c
src/portable.h
src/simdag/private.h
src/simdag/sd_global.c
src/simdag/sd_link.c
src/simdag/sd_task.c
src/simdag/sd_workstation.c
src/simix/private.h
src/simix/smx_action.c
src/simix/smx_config.c
src/simix/smx_deployment.c
src/simix/smx_environment.c
src/simix/smx_global.c
src/simix/smx_host.c
src/simix/smx_process.c
src/simix/smx_synchro.c
src/smpi/private.h
src/smpi/smpi_base.c
src/smpi/smpi_bench.c
src/smpi/smpi_global.c
src/smpi/smpi_mpi.c
src/smpi/smpi_receiver.c
src/smpi/smpi_sender.c
src/smpi/smpi_util.c
src/surf/cpu.c
src/surf/cpu_private.h
src/surf/fair_bottleneck.c
src/surf/gtnets/gtnets_interface.h
src/surf/gtnets/gtnets_simulator.h
src/surf/gtnets/gtnets_topology.h
src/surf/lagrange.c
src/surf/maxmin.c
src/surf/maxmin_private.h
src/surf/network.c
src/surf/network_common.h
src/surf/network_constant.c
src/surf/network_gtnets.c
src/surf/network_gtnets_private.h
src/surf/network_private.h
src/surf/random_mgr.c
src/surf/sdp.c
src/surf/simgrid_dtd.c
src/surf/surf.c
src/surf/surf_private.h
src/surf/surf_timer.c
src/surf/surf_timer_private.h
src/surf/surfxml_parse.c
src/surf/trace_mgr.c
src/surf/trace_mgr_private.h
src/surf/workstation.c
src/surf/workstation_private.h
src/surf/workstation_ptask_L07.c
src/xbt/asserts.c
src/xbt/backtrace_dummy.c
src/xbt/backtrace_linux.c
src/xbt/backtrace_windows.c
src/xbt/config.c
src/xbt/cunit.c
src/xbt/dict.c
src/xbt/dict_cursor.c
src/xbt/dict_elm.c
src/xbt/dict_multi.c
src/xbt/dict_private.h
src/xbt/dynar.c
src/xbt/dynar_private.h
src/xbt/ex.c
src/xbt/ex_interface.h
src/xbt/fifo.c
src/xbt/fifo_private.h
src/xbt/graph.c
src/xbt/graph_private.h
src/xbt/graphxml.c
src/xbt/graphxml_parse.c
src/xbt/heap.c
src/xbt/heap_private.h
src/xbt/log.c
src/xbt/log_private.h
src/xbt/mallocator.c
src/xbt/mallocator_private.h
src/xbt/set.c
src/xbt/snprintf.c
src/xbt/swag.c
src/xbt/xbt_context.c
src/xbt/xbt_context_java.h
src/xbt/xbt_context_private.h
src/xbt/xbt_log_appender_file.c
src/xbt/xbt_log_layout_format.c
src/xbt/xbt_log_layout_simple.c
src/xbt/xbt_main.c
src/xbt/xbt_matrix.c
src/xbt/xbt_os_thread.c
src/xbt/xbt_os_time.c
src/xbt/xbt_peer.c
src/xbt/xbt_queue.c
src/xbt/xbt_rl_synchro.c
src/xbt/xbt_rl_time.c
src/xbt/xbt_sg_stubs.c
src/xbt/xbt_sg_synchro.c
src/xbt/xbt_sg_time.c
src/xbt/xbt_sha.c
src/xbt/xbt_str.c
src/xbt/xbt_strbuff.c
src/xbt/xbt_virtu.c
src/xbt_modinter.h
teshsuite/gras/datadesc/datadesc_structs.c
teshsuite/gras/datadesc/datadesc_usage.c
teshsuite/gras/empty_main/empty_main.c
teshsuite/gras/msg_handle/msg_handle.c
teshsuite/gras/small_sleep/small_sleep.c
teshsuite/msg/get_sender.c
teshsuite/simdag/basic0.c
teshsuite/simdag/basic1.c
teshsuite/simdag/basic2.c
teshsuite/simdag/basic3.c
teshsuite/simdag/basic4.c
teshsuite/simdag/basic5.c
teshsuite/simdag/basic6.c
teshsuite/simdag/network/mxn/test_intra_all2all.c
teshsuite/simdag/network/mxn/test_intra_independent_comm.c
teshsuite/simdag/network/mxn/test_intra_scatter.c
teshsuite/simdag/network/p2p/test_latency1.c
teshsuite/simdag/network/p2p/test_latency2.c
teshsuite/simdag/network/p2p/test_latency3.c
teshsuite/simdag/network/p2p/test_latency_bound.c
teshsuite/simdag/network/test_reinit_costs.c
teshsuite/simdag/partask/test_comp_only_par.c
teshsuite/simdag/partask/test_comp_only_seq.c
teshsuite/simdag/platforms/basic_parsing_test.c
teshsuite/simdag/platforms/flatifier.c
teshsuite/xbt/log_large_test.c
teshsuite/xbt/parallel_log_crashtest.c
testsuite/simdag/sd_test.c
testsuite/surf/lmm_usage.c
testsuite/surf/maxmin_bench.c
testsuite/surf/surf_usage.c
testsuite/surf/surf_usage2.c
testsuite/surf/trace_usage.c
testsuite/xbt/context_usage.c
testsuite/xbt/graphxml_usage.c
testsuite/xbt/heap_bench.c
testsuite/xbt/log_usage.c
tools/gras/gras_stub_generator.h
tools/gras/stub_generator.c
tools/gras/unix_stub_generator.c
tools/gras/windows_stub_generator.c
tools/tesh/run_context.c
tools/tesh/run_context.h
tools/tesh/signal.c
tools/tesh/tesh.c
tools/tesh/tesh.h

index 5f1b720..65538fe 100644 (file)
 #include "amok/bandwidth.h"
 #include "amok/peermanagement.h"
 
-XBT_LOG_NEW_DEFAULT_CATEGORY(Bandwidth,"Messages specific to this example");
+XBT_LOG_NEW_DEFAULT_CATEGORY(Bandwidth, "Messages specific to this example");
 
 /* **********************************************************************
  * Sensor code
  * **********************************************************************/
 
 /* Function prototypes */
-int sensor (int argc,char *argv[]);
+int sensor(int argc, char *argv[]);
 
-int sensor (int argc,char *argv[]) {
+int sensor(int argc, char *argv[])
+{
   gras_socket_t mysock;
-  gras_socket_t master=NULL;
+  gras_socket_t master = NULL;
   int connection_try = 10;
   xbt_ex_t e;
 
   gras_init(&argc, argv);
   amok_bw_init();
   amok_pm_init();
-  mysock = gras_socket_server_range(3000,9999,0,0);
-  INFO1("Sensor starting (on port %d)",gras_os_myport());
+
+  mysock = gras_socket_server_range(3000, 9999, 0, 0);
+  INFO1("Sensor starting (on port %d)", gras_os_myport());
   while (connection_try > 0 && master == NULL) {
-     int connected = 0;
-     TRY {
-       master = gras_socket_client_from_string(argv[1]);
-       connected = 1;
-     } CATCH(e) {
-       xbt_ex_free(e);
-     }
-     if (!connected) {
-       connection_try--;
-       gras_os_sleep(0.5); /* let the master get ready */
-     }
+    int connected = 0;
+    TRY {
+      master = gras_socket_client_from_string(argv[1]);
+      connected = 1;
+    } CATCH(e) {
+      xbt_ex_free(e);
+    }
+    if (!connected) {
+      connection_try--;
+      gras_os_sleep(0.5);       /* let the master get ready */
+    }
   }
-                                             
-  amok_pm_group_join(master,"bandwidth",-1);
+
+  amok_pm_group_join(master, "bandwidth", -1);
   amok_pm_mainloop(60);
 
   gras_socket_close(mysock);
@@ -61,18 +62,19 @@ int sensor (int argc,char *argv[]) {
  * **********************************************************************/
 
 /* Function prototypes */
-int maestro (int argc,char *argv[]);
+int maestro(int argc, char *argv[]);
 
-int maestro(int argc,char *argv[]) {
+int maestro(int argc, char *argv[])
+{
   double sec, bw;
-  int buf_size=32  *1024;
-  int msg_size=512 *1024;
+  int buf_size = 32 * 1024;
+  int msg_size = 512 * 1024;
   int msg_amount = 1;
   double min_duration = 1;
-   
+
   gras_socket_t peer;
   gras_socket_t mysock;
-  xbt_peer_t h1,h2,h_temp;
+  xbt_peer_t h1, h2, h_temp;
   xbt_dynar_t group;
 
   gras_init(&argc, argv);
@@ -81,49 +83,50 @@ int maestro(int argc,char *argv[]) {
 
   INFO0("Maestro starting");
   if (argc != 2) {
-     ERROR0("Usage: maestro port\n");
-     return 1;
+    ERROR0("Usage: maestro port\n");
+    return 1;
   }
-  mysock=gras_socket_server(atoi(argv[1]));
-  group=amok_pm_group_new("bandwidth");
+  mysock = gras_socket_server(atoi(argv[1]));
+  group = amok_pm_group_new("bandwidth");
   INFO0("Wait for peers for 5 sec");
-  gras_msg_handleall(5); /* friends, we're ready. Come and play */
-   
+  gras_msg_handleall(5);        /* friends, we're ready. Come and play */
+
   if (xbt_dynar_length(group) < 2) {
-     char *msg;
-     asprintf(&msg,"Not enough peers arrived. Expected 2 got %ld",
-             xbt_dynar_length(group));
-     amok_pm_group_shutdown("bandwidth");
-     xbt_die(msg);
+    char *msg;
+    asprintf(&msg, "Not enough peers arrived. Expected 2 got %ld",
+             xbt_dynar_length(group));
+    amok_pm_group_shutdown("bandwidth");
+    xbt_die(msg);
   }
-  h1 = *(xbt_peer_t*)xbt_dynar_get_ptr(group, 0);
-  h2 = *(xbt_peer_t*)xbt_dynar_get_ptr(group, 1);
+  h1 = *(xbt_peer_t *) xbt_dynar_get_ptr(group, 0);
+  h2 = *(xbt_peer_t *) xbt_dynar_get_ptr(group, 1);
   /* sort peers in right order to keep output right */
-  if (strcmp(h1->name,h2->name) < 0 || h1->port > h2->port) {
-     h_temp = h1;
-     h1 = h2;
-     h2 = h_temp;
+  if (strcmp(h1->name, h2->name) < 0 || h1->port > h2->port) {
+    h_temp = h1;
+    h1 = h2;
+    h2 = h_temp;
   }
 
-  INFO2("Contact %s:%d",h1->name, h1->port);
+  INFO2("Contact %s:%d", h1->name, h1->port);
   peer = gras_socket_client(h1->name, h1->port);
 
-  INFO0("Test the BW between me and one of the sensors");  
-  amok_bw_test(peer,buf_size,msg_size,msg_amount,min_duration,&sec,&bw);
-  INFO7("Experience between me and %s:%d (initially %d msgs of %d bytes, maybe modified to fill the pipe at least %.1fs) took %f sec, achieving %f kb/s",
-       h1->name, h1->port,
-       msg_amount,msg_size,min_duration,
-       sec,((double)bw)/1024.0);
-
-  INFO4("Test the BW between %s:%d and %s:%d", h1->name, h1->port,     h2->name, h2->port);
-  amok_bw_request(h1->name, h1->port,  h2->name, h2->port,
-                 buf_size,msg_size,msg_amount,min_duration,&sec,&bw);
-  INFO6("Experience between %s:%d and %s:%d took took %f sec, achieving %f kb/s",
-       h1->name, h1->port,     h2->name, h2->port,
-       sec,((double)bw)/1024.0);
+  INFO0("Test the BW between me and one of the sensors");
+  amok_bw_test(peer, buf_size, msg_size, msg_amount, min_duration, &sec, &bw);
+  INFO7
+    ("Experience between me and %s:%d (initially %d msgs of %d bytes, maybe modified to fill the pipe at least %.1fs) took %f sec, achieving %f kb/s",
+     h1->name, h1->port, msg_amount, msg_size, min_duration, sec,
+     ((double) bw) / 1024.0);
+
+  INFO4("Test the BW between %s:%d and %s:%d", h1->name, h1->port, h2->name,
+        h2->port);
+  amok_bw_request(h1->name, h1->port, h2->name, h2->port, buf_size, msg_size,
+                  msg_amount, min_duration, &sec, &bw);
+  INFO6
+    ("Experience between %s:%d and %s:%d took took %f sec, achieving %f kb/s",
+     h1->name, h1->port, h2->name, h2->port, sec, ((double) bw) / 1024.0);
 
   /* Game is over, friends */
-  amok_pm_group_shutdown ("bandwidth");
+  amok_pm_group_shutdown("bandwidth");
 
   gras_socket_close(mysock);
   gras_exit();
index 6734088..70d6cad 100644 (file)
 #include "amok/bandwidth.h"
 #include "amok/peermanagement.h"
 
-XBT_LOG_NEW_DEFAULT_CATEGORY(saturate,"Messages specific to this example");
+XBT_LOG_NEW_DEFAULT_CATEGORY(saturate, "Messages specific to this example");
 
 /* **********************************************************************
  * Sensor code
  * **********************************************************************/
 
 /* Function prototypes */
-int sensor (int argc,char *argv[]);
+int sensor(int argc, char *argv[]);
 
-int sensor (int argc,char *argv[]) {
+int sensor(int argc, char *argv[])
+{
   gras_socket_t mysock;
   gras_socket_t master;
 
   gras_init(&argc, argv);
   amok_bw_init();
   amok_pm_init();
-  mysock = gras_socket_server_range(3000,9999,0,0);
-  INFO1("Sensor starting (on port %d)",gras_os_myport());
-  gras_os_sleep(2); /* let the master get ready */
+
+  mysock = gras_socket_server_range(3000, 9999, 0, 0);
+  INFO1("Sensor starting (on port %d)", gras_os_myport());
+  gras_os_sleep(2);             /* let the master get ready */
   master = gras_socket_client_from_string(argv[1]);
-                                             
-  amok_pm_group_join(master,"saturate",-1);
+
+  amok_pm_group_join(master, "saturate", -1);
   amok_pm_mainloop(600);
 
   gras_socket_close(mysock);
@@ -53,7 +54,7 @@ int sensor (int argc,char *argv[]) {
  * **********************************************************************/
 
 /* Function prototypes */
-int maestro (int argc,char *argv[]);
+int maestro(int argc, char *argv[]);
 
 /* XP setups */
 const int buf_size = 0;
@@ -63,110 +64,117 @@ const int sat_size = 1024 * 1024 * 10;
 const double min_duration = 1;
 
 static double XP(const char *bw1, const char *bw2,
-                const char *sat1, const char *sat2) {
+                 const char *sat1, const char *sat2)
+{
 
-  double sec, bw, sec_sat,bw_sat;
+  double sec, bw, sec_sat, bw_sat;
 
-  gras_os_sleep(5.0); /* wait for the sensors to show up */
+  gras_os_sleep(5.0);           /* wait for the sensors to show up */
   /* Test BW without saturation */
-  amok_bw_request(bw1,4000,bw2,4000,
-                 buf_size,msg_size,msg_amount,min_duration,&sec,&bw);
+  amok_bw_request(bw1, 4000, bw2, 4000,
+                  buf_size, msg_size, msg_amount, min_duration, &sec, &bw);
   INFO4("BW(%s,%s) => %f sec, achieving %f Mb/s",
-       bw1, bw2, sec, (bw/1024.0/1024.0));
+        bw1, bw2, sec, (bw / 1024.0 / 1024.0));
 
 
-  /* Test BW with saturation */  
-  amok_bw_saturate_start(sat1,4000,sat2,4000, sat_size,60);
-  gras_os_sleep(1.0); /* let it start */
+  /* Test BW with saturation */
+  amok_bw_saturate_start(sat1, 4000, sat2, 4000, sat_size, 60);
+  gras_os_sleep(1.0);           /* let it start */
 
-  amok_bw_request(bw1,4000,bw2,4000,
-                 buf_size,msg_size,msg_amount,min_duration,&sec_sat,&bw_sat);
-  INFO6("BW(%s,%s//%s,%s) => %f sec, achieving %f Mb/s",
-       bw1,bw2,sat1,sat2,sec,bw/1024.0/1024.0);
-  
-  amok_bw_saturate_stop(sat1,4000,NULL,NULL);
+  amok_bw_request(bw1, 4000, bw2, 4000,
+                  buf_size, msg_size, msg_amount, min_duration, &sec_sat,
+                  &bw_sat);
+  INFO6("BW(%s,%s//%s,%s) => %f sec, achieving %f Mb/s", bw1, bw2, sat1, sat2,
+        sec, bw / 1024.0 / 1024.0);
 
-  if (bw_sat/bw < 0.7) {
+  amok_bw_saturate_stop(sat1, 4000, NULL, NULL);
+
+  if (bw_sat / bw < 0.7) {
     INFO0("THERE IS SOME INTERFERENCE !!!");
-  } 
-  if (bw/bw_sat < 0.7) {
+  }
+  if (bw / bw_sat < 0.7) {
     INFO0("THERE IS SOME INTERFERENCE (and I'm an idiot) !!!");
-  } 
-  return bw_sat/bw;
+  }
+  return bw_sat / bw;
 }
 
-static void kill_buddy(char *name,int port){
-  gras_socket_t sock=gras_socket_client(name,port);
-  gras_msg_send(sock,"kill",NULL);
+static void kill_buddy(char *name, int port)
+{
+  gras_socket_t sock = gras_socket_client(name, port);
+  gras_msg_send(sock, "kill", NULL);
   gras_socket_close(sock);
 }
-static void kill_buddy_dynar(void *b) {
-  xbt_peer_t buddy=*(xbt_peer_t*)b;
-  kill_buddy(buddy->name,buddy->port);
+
+static void kill_buddy_dynar(void *b)
+{
+  xbt_peer_t buddy = *(xbt_peer_t *) b;
+  kill_buddy(buddy->name, buddy->port);
 }
 
-static void free_peer(void *d){
-  xbt_peer_t h=*(xbt_peer_t*)d;
+static void free_peer(void *d)
+{
+  xbt_peer_t h = *(xbt_peer_t *) d;
   free(h->name);
   free(h);
 }
 
-static void simple_saturation(int argc, char*argv[]) {
+static void simple_saturation(int argc, char *argv[])
+{
   xbt_ex_t e;
 
   /* where are the sensors */
   xbt_dynar_t peers;
-  xbt_peer_t h1,h2;
+  xbt_peer_t h1, h2;
   /* results */
-  double duration,bw;
+  double duration, bw;
 
   /* Init the group */
-  peers=amok_pm_group_new("saturate");
+  peers = amok_pm_group_new("saturate");
   /* wait for dudes */
   gras_msg_handleall(5);
 
   /* Stop all sensors but two of them */
   while (xbt_dynar_length(peers) > 2) {
-     xbt_dynar_pop(peers,&h1);
-     amok_pm_kill_hp(h1->name,h1->port);
-     xbt_peer_free(h1);
+    xbt_dynar_pop(peers, &h1);
+    amok_pm_kill_hp(h1->name, h1->port);
+    xbt_peer_free(h1);
   }
-   
+
   /* get 2 friends */
-  xbt_dynar_get_cpy(peers,0,&h1);
-  xbt_dynar_get_cpy(peers,1,&h2);
-   
+  xbt_dynar_get_cpy(peers, 0, &h1);
+  xbt_dynar_get_cpy(peers, 1, &h2);
+
   /* Start saturation */
   INFO4("Start saturation between %s:%d and %s:%d",
-       h1->name,h1->port,
-       h2->name,h2->port);
+        h1->name, h1->port, h2->name, h2->port);
 
-  amok_bw_saturate_start(h1->name,h1->port,
-                        h2->name,h2->port,
-                        0, /* Be a nice boy, compute msg_size yourself */
-                        30  /* 5 sec timeout */);  
+  amok_bw_saturate_start(h1->name, h1->port, h2->name, h2->port, 0,     /* Be a nice boy, compute msg_size yourself */
+                         30 /* 5 sec timeout */ );
 
   /* Stop it after a while */
   INFO0("Have a rest");
   gras_os_sleep(1);
   TRY {
     INFO0("Stop the saturation");
-    amok_bw_saturate_stop(h1->name,h1->port, &duration,&bw);
-  } CATCH(e) {
+    amok_bw_saturate_stop(h1->name, h1->port, &duration, &bw);
+  }
+  CATCH(e) {
     INFO0("Ooops, stoping the saturation raised an exception");
     xbt_ex_free(e);
   }
-  INFO2("Saturation took %.2fsec, achieving %fb/s",duration,bw);
-   
+  INFO2("Saturation took %.2fsec, achieving %fb/s", duration, bw);
+
   /* Game is over, friends */
-  amok_pm_group_shutdown ("saturate");
+  amok_pm_group_shutdown("saturate");
 }
+
 /********************************************************************************************/
-static void full_fledged_saturation(int argc, char*argv[]) {
+static void full_fledged_saturation(int argc, char *argv[])
+{
   xbt_ex_t e;
-  double time1=5.0,bw1=5.0; // 0.5 for test
+  double time1 = 5.0, bw1 = 5.0;        // 0.5 for test
   /* timers */
-  double begin_simulated; 
+  double begin_simulated;
   int begin;
 
   /* where are the sensors */
@@ -178,11 +186,11 @@ static void full_fledged_saturation(int argc, char*argv[]) {
   double *bw_sat;
 
   /* iterators */
-  unsigned int i,j,k,l;
-  xbt_peer_t h1,h2,h3,h4;
+  unsigned int i, j, k, l;
+  xbt_peer_t h1, h2, h3, h4;
 
   /* Init the group */
-  peers=amok_pm_group_new("saturate");
+  peers = amok_pm_group_new("saturate");
   /* wait 4 dudes */
   gras_msg_handle(60);
   gras_msg_handle(60);
@@ -193,76 +201,81 @@ static void full_fledged_saturation(int argc, char*argv[]) {
   INFO0("Let's go for the bw_matrix");
 
   /* Do the test without saturation */
-  begin=time(NULL);
-  begin_simulated=gras_os_time();
+  begin = time(NULL);
+  begin_simulated = gras_os_time();
 
-  bw=amok_bw_matrix(peers,buf_size,msg_size,msg_amount,min_duration);
+  bw = amok_bw_matrix(peers, buf_size, msg_size, msg_amount, min_duration);
 
   INFO2("Did all BW tests in %ld sec (%.2f simulated(?) sec)",
-        (long int) (time(NULL)-begin),gras_os_time()-begin_simulated);
+        (long int) (time(NULL) - begin), gras_os_time() - begin_simulated);
 
   /* Do the test with saturation */
-  bw_sat=xbt_new(double,nb_peers*nb_peers);
-  xbt_dynar_foreach(peers,i,h1) {
-    xbt_dynar_foreach(peers,j,h2) {
-      if (i==j) continue;
+  bw_sat = xbt_new(double, nb_peers * nb_peers);
+  xbt_dynar_foreach(peers, i, h1) {
+    xbt_dynar_foreach(peers, j, h2) {
+      if (i == j)
+        continue;
 
       TRY {
-       amok_bw_saturate_start(h1->name,h1->port,
-                              h2->name,h2->port,
-                              0, /* Be nice, compute msg_size yourself */
-                              0  /* no timeout */);  
-      } CATCH(e) {
-       RETHROW0("Cannot ask peers to saturate the link: %s");
+        amok_bw_saturate_start(h1->name, h1->port, h2->name, h2->port, 0,       /* Be nice, compute msg_size yourself */
+                               0 /* no timeout */ );
+      }
+      CATCH(e) {
+        RETHROW0("Cannot ask peers to saturate the link: %s");
       }
       gras_os_sleep(5);
 
-      begin=time(NULL);
-      begin_simulated=gras_os_time();
-      xbt_dynar_foreach(peers,k,h3) {
-       if (i==k || j==k) continue;
-
-       xbt_dynar_foreach(peers,l,h4) {
-         double ratio;
-         if (i==l || j==l || k==l) continue;
-
-         VERB4("TEST %s %s // %s %s",
-               h1->name,h2->name,h3->name,h4->name);
-         amok_bw_request(h3->name,h3->port, h4->name,h4->port,
-                         buf_size,msg_size,msg_amount,min_duration,
-                         NULL,&(bw_sat[k*nb_peers + l]));
-
-         ratio=bw_sat[k*nb_peers + l] / bw[k*nb_peers + l];
-         INFO8("SATURATED BW XP(%s %s // %s %s) => %f (%f vs %f)%s",
-               h1->name,h2->name,h3->name,h4->name,
-               ratio,
-               bw[k*nb_peers + l] , bw_sat[k*nb_peers + l],
-               ratio < 0.7 ? " THERE IS SOME INTERFERENCE !!!": "");
-       }
+      begin = time(NULL);
+      begin_simulated = gras_os_time();
+      xbt_dynar_foreach(peers, k, h3) {
+        if (i == k || j == k)
+          continue;
+
+        xbt_dynar_foreach(peers, l, h4) {
+          double ratio;
+          if (i == l || j == l || k == l)
+            continue;
+
+          VERB4("TEST %s %s // %s %s",
+                h1->name, h2->name, h3->name, h4->name);
+          amok_bw_request(h3->name, h3->port, h4->name, h4->port,
+                          buf_size, msg_size, msg_amount, min_duration,
+                          NULL, &(bw_sat[k * nb_peers + l]));
+
+          ratio = bw_sat[k * nb_peers + l] / bw[k * nb_peers + l];
+          INFO8("SATURATED BW XP(%s %s // %s %s) => %f (%f vs %f)%s",
+                h1->name, h2->name, h3->name, h4->name,
+                ratio,
+                bw[k * nb_peers + l], bw_sat[k * nb_peers + l],
+                ratio < 0.7 ? " THERE IS SOME INTERFERENCE !!!" : "");
+        }
       }
-      amok_bw_saturate_stop(h1->name,h1->port,&time1,&bw1);
+      amok_bw_saturate_stop(h1->name, h1->port, &time1, &bw1);
 
-      INFO2("Did an iteration on saturation pair in %ld sec (%.2f simulated sec)",
-             (long int) (time(NULL)-begin), gras_os_time()-begin_simulated);
-       INFO2("the duration of the experiment >>>>> %.3f sec (%.3f bandwidth)",time1,bw1);
+      INFO2
+        ("Did an iteration on saturation pair in %ld sec (%.2f simulated sec)",
+         (long int) (time(NULL) - begin), gras_os_time() - begin_simulated);
+      INFO2("the duration of the experiment >>>>> %.3f sec (%.3f bandwidth)",
+            time1, bw1);
     }
   }
   free(bw_sat);
   free(bw);
   /* Game is over, friends */
-  amok_pm_group_shutdown ("saturate");
+  amok_pm_group_shutdown("saturate");
 }
 
 
-int maestro(int argc,char *argv[]) {
+int maestro(int argc, char *argv[])
+{
 
-  gras_init(&argc,argv);
+  gras_init(&argc, argv);
   amok_bw_init();
   amok_pm_init();
 
   gras_socket_server(atoi(argv[1]));
 
-  simple_saturation(argc,argv);
+  simple_saturation(argc, argv);
   //full_fledged_saturation(argc, argv);  
 
   gras_exit();
index 9efad71..d722c56 100644 (file)
@@ -5,40 +5,42 @@
 /* Copyright (c) 2006 Ahmed Harbaoui. All rights reserved.                  */
 
  /* This program is free software; you can redistribute it and/or modify it
- * under the terms of the license (GNU LGPL) which comes with this package. */
 * under the terms of the license (GNU LGPL) which comes with this package. */
 
 #include "gras.h"
 #include "xbt/ex.h"
 
-XBT_LOG_NEW_DEFAULT_CATEGORY(all2all,"Messages specific to this example");
+XBT_LOG_NEW_DEFAULT_CATEGORY(all2all, "Messages specific to this example");
 
 /* register data which may be sent (common to client and server) */
-static void register_messages(void) {
+static void register_messages(void)
+{
 }
 
 /* Function prototypes */
-int receiver (int argc,char *argv[]);
-int sender (int argc,char *argv[]);
+int receiver(int argc, char *argv[]);
+int sender(int argc, char *argv[]);
 
 
 /* **********************************************************************
  * Receiver code
  * **********************************************************************/
-int receiver (int argc,char *argv[]) {
+int receiver(int argc, char *argv[])
+{
 
-  int myport; /* port on which I receive stuff */
-  int todo; /* amount of messages I should get */
-  char *data; /* message content */
+  int myport;                   /* port on which I receive stuff */
+  int todo;                     /* amount of messages I should get */
+  char *data;                   /* message content */
 
-  gras_socket_t mysock;  /* socket on which other people contact me */
-  gras_socket_t expeditor;  /* to notice who wrote me */
+  gras_socket_t mysock;         /* socket on which other people contact me */
+  gras_socket_t expeditor;      /* to notice who wrote me */
 
   /* Init the GRAS infrastructure and declare my globals */
-  gras_init(&argc,argv);
+  gras_init(&argc, argv);
 
   /* Get my settings from the command line */
-  myport=atoi(argv[1]);
-  todo=atoi(argv[2]);
+  myport = atoi(argv[1]);
+  todo = atoi(argv[2]);
 
   /* Register the known messages */
   gras_msgtype_declare("data", gras_datadesc_by_name("string"));
@@ -48,19 +50,16 @@ int receiver (int argc,char *argv[]) {
 
   /* Get the data */
   INFO2("Listening on port %d (expecting %d messages)",
-       gras_socket_my_port(mysock),
-       todo);
-  while (todo>0) {
-     gras_msg_wait(60 /* wait up to one minute */,
-                  "data",
-                  &expeditor,
-                  &data);
-     todo--;
-     free(data);
-
-     INFO3("Got Data from %s:%d (still %d to go)",
-          gras_socket_peer_name(expeditor), gras_socket_peer_port(expeditor),
-          todo);
+        gras_socket_my_port(mysock), todo);
+  while (todo > 0) {
+    gras_msg_wait(60 /* wait up to one minute */ ,
+                  "data", &expeditor, &data);
+    todo--;
+    free(data);
+
+    INFO3("Got Data from %s:%d (still %d to go)",
+          gras_socket_peer_name(expeditor), gras_socket_peer_port(expeditor),
+          todo);
 
   }
 
@@ -69,38 +68,39 @@ int receiver (int argc,char *argv[]) {
 
   gras_exit();
   return 0;
-} /* end_of_receiver */
+}                               /* end_of_receiver */
 
 /* **********************************************************************
  * Sender code
  * **********************************************************************/
 
-int sender (int argc,char *argv[]) {
+int sender(int argc, char *argv[])
+{
 
-  unsigned int iter; /* iterator */
-  char *data; /* data exchanged */
-  int datasize; /* size of message */
-  xbt_peer_t h; /* iterator */
+  unsigned int iter;            /* iterator */
+  char *data;                   /* data exchanged */
+  int datasize;                 /* size of message */
+  xbt_peer_t h;                 /* iterator */
   int connected = 0;
 
-  gras_socket_t peer=NULL;  /* socket to node */
+  gras_socket_t peer = NULL;    /* socket to node */
 
 
   /* xbt_dynar for peers */
-  xbt_dynar_t peers = xbt_dynar_new(sizeof(xbt_peer_t),&xbt_peer_free_voidp);
+  xbt_dynar_t peers = xbt_dynar_new(sizeof(xbt_peer_t), &xbt_peer_free_voidp);
 
   /* Init the GRAS infrastructure and declare my globals */
-  gras_init(&argc,argv);
+  gras_init(&argc, argv);
 
   /* Get the node location from argc/argv */
-  for (iter=1; iter<argc-1; iter++){
+  for (iter = 1; iter < argc - 1; iter++) {
     xbt_peer_t peer = xbt_peer_from_string(argv[iter]);
-    xbt_dynar_push(peers,&peer);
+    xbt_dynar_push(peers, &peer);
   }
 
-  datasize=atoi(argv[argc-1]);
+  datasize = atoi(argv[argc - 1]);
 
-  data=(char *) malloc(datasize+1);  // allocation of datasize octets
+  data = (char *) malloc(datasize + 1); // allocation of datasize octets
   memset(data, 32, datasize);
   data[datasize] = '\0';
 
@@ -111,28 +111,30 @@ int sender (int argc,char *argv[]) {
 
 
   /* write to the receivers */
-  xbt_dynar_foreach(peers,iter,h) {
-     connected = 0;
-     while (!connected) {
-       xbt_ex_t e;
-       TRY {
-          peer = gras_socket_client(h->name,h->port);
-          connected=1;
-       } CATCH(e) {
-          if (e.category != system_error /*in RL*/&& e.category != mismatch_error/*in SG*/)
-            RETHROW;
-          xbt_ex_free(e);
-          gras_os_sleep(0.01);
-       }
-     }
-     gras_msg_send(peer,"data",&data);
-     if (gras_if_SG()) {
-       INFO2("  Sent Data from %s to %s", gras_os_myname(),h->name);
-     } else {
-       INFO0("  Sent Data");
-     }
-
-     gras_socket_close(peer);
+  xbt_dynar_foreach(peers, iter, h) {
+    connected = 0;
+    while (!connected) {
+      xbt_ex_t e;
+      TRY {
+        peer = gras_socket_client(h->name, h->port);
+        connected = 1;
+      }
+      CATCH(e) {
+        if (e.category != system_error  /*in RL */
+            && e.category != mismatch_error /*in SG */ )
+          RETHROW;
+        xbt_ex_free(e);
+        gras_os_sleep(0.01);
+      }
+    }
+    gras_msg_send(peer, "data", &data);
+    if (gras_if_SG()) {
+      INFO2("  Sent Data from %s to %s", gras_os_myname(), h->name);
+    } else {
+      INFO0("  Sent Data");
+    }
+
+    gras_socket_close(peer);
   }
 
   /* Free the allocated resources, and shut GRAS down */
@@ -141,4 +143,4 @@ int sender (int argc,char *argv[]) {
 
   gras_exit();
   return 0;
-} /* end_of_sender */
+}                               /* end_of_sender */
index c703981..450508b 100644 (file)
 #include "gras.h"
 #include "xbt/log.h"
 
-XBT_LOG_NEW_DEFAULT_CATEGORY(Chrono,"Messages specific to this example");
+XBT_LOG_NEW_DEFAULT_CATEGORY(Chrono, "Messages specific to this example");
 
 
 /* Function prototypes */
-int multiplier (int argc,char *argv[]);
+int multiplier(int argc, char *argv[]);
 
-int multiplier (int argc,char *argv[])
+int multiplier(int argc, char *argv[])
 {
-  int i,j,k,l;
-  double *A,*B,*C;
+  int i, j, k, l;
+  double *A, *B, *C;
   int n = 100;
   double start = 0.0;
   double now = 0.0;
 
   gras_init(&argc, argv);
 
-  A = malloc(n*n*sizeof(double));
-  B = malloc(n*n*sizeof(double));
-  C = malloc(n*n*sizeof(double));
+  A = malloc(n * n * sizeof(double));
+  B = malloc(n * n * sizeof(double));
+  C = malloc(n * n * sizeof(double));
 
-  start=now=gras_os_time();
+  start = now = gras_os_time();
 
   INFO1("Begin matrix multiplication loop (time: %g)", start);
 
-  for(l=0; l<4; l++) {
-    now=gras_os_time();
+  for (l = 0; l < 4; l++) {
+    now = gras_os_time();
     GRAS_BENCH_ONCE_RUN_ONCE_BEGIN();
-    for(i=0; i<n; i++)
-      for(j=0; j<n; j++) {
-       A[i*n+j]=2/n;
-       B[i*n+j]=1/n;
-       C[i*n+j]=0.0;
+    for (i = 0; i < n; i++)
+      for (j = 0; j < n; j++) {
+        A[i * n + j] = 2 / n;
+        B[i * n + j] = 1 / n;
+        C[i * n + j] = 0.0;
       }
-    
-    for(i=0; i<n; i++)
-      for(j=0; j<n; j++)
-       for(k=0; k<n; k++)      
-         C[i*n+j] += A[i*n+k]*B[k*n+j];
-    
+
+    for (i = 0; i < n; i++)
+      for (j = 0; j < n; j++)
+        for (k = 0; k < n; k++)
+          C[i * n + j] += A[i * n + k] * B[k * n + j];
+
     GRAS_BENCH_ONCE_RUN_ONCE_END();
-    now=gras_os_time()-now;
+    now = gras_os_time() - now;
     INFO2("Iteration %d : %g ", l, now);
   }
 
-  now=gras_os_time()-start;
-  INFO2("End matrix multiplication loop (time: %g; Duration: %g)", gras_os_time(), now);
+  now = gras_os_time() - start;
+  INFO2("End matrix multiplication loop (time: %g; Duration: %g)",
+        gras_os_time(), now);
 
-  start=now=gras_os_time();
+  start = now = gras_os_time();
   INFO1("Begin malloc loop (time: %g)", start);
-  for(l=0; l<4; l++) {
-    now=gras_os_time();
+  for (l = 0; l < 4; l++) {
+    now = gras_os_time();
     GRAS_BENCH_ONCE_RUN_ONCE_BEGIN();
-     free(A);
-     A = malloc(n*n*sizeof(double));
+    free(A);
+    A = malloc(n * n * sizeof(double));
     GRAS_BENCH_ONCE_RUN_ONCE_END();
-    now=gras_os_time()-now;
+    now = gras_os_time() - now;
     INFO2("Iteration %d : %g ", l, now);
   }
-   
-  start=now=gras_os_time();
+
+  start = now = gras_os_time();
   INFO1("Begin integer incrementation loop (time: %g)", start);
-  for(l=0; l<4; l++) {
+  for (l = 0; l < 4; l++) {
     GRAS_BENCH_ONCE_RUN_ONCE_BEGIN();
     j++;
     GRAS_BENCH_ONCE_RUN_ONCE_END();
@@ -79,7 +80,7 @@ int multiplier (int argc,char *argv[])
   free(A);
   free(B);
   free(C);
-   
+
   gras_exit();
   return 0;
 }
index 781d05a..0daa525 100644 (file)
@@ -19,7 +19,7 @@
 void mmrpc_register_messages(void);
 
 /* Function prototypes */
-int server (int argc,char *argv[]);
-int client (int argc,char *argv[]);
+int server(int argc, char *argv[]);
+int client(int argc, char *argv[]);
 
 #endif /* MMRPC_H */
index 7a0e1fc..897959b 100644 (file)
 
 XBT_LOG_EXTERNAL_DEFAULT_CATEGORY(MatMult);
 
-int client(int argc,char *argv[]) {
-  xbt_ex_t e; 
-  gras_socket_t toserver=NULL; /* peer */
+int client(int argc, char *argv[])
+{
+  xbt_ex_t e;
+  gras_socket_t toserver = NULL;        /* peer */
   int connected = 0;
 
   gras_socket_t from;
   xbt_matrix_t request[2], answer;
 
-  int i,j;
+  int i, j;
 
   const char *host = "127.0.0.1";
-        int   port = 4000;
+  int port = 4000;
 
   /* 1. Init the GRAS's infrastructure */
   gras_init(&argc, argv);
-   
+
   /* 2. Get the server's address. The command line override defaults when specified */
   if (argc == 3) {
-    host=argv[1];
-    port=atoi(argv[2]);
-  } 
+    host = argv[1];
+    port = atoi(argv[2]);
+  }
+
+  INFO2("Launch client (server on %s:%d)", host, port);
 
-  INFO2("Launch client (server on %s:%d)",host,port);
-   
   /* 3. Create a socket to speak to the server */
   while (!connected) {
-     TRY {
-       toserver=gras_socket_client(host,port);
-       connected=1;
-     } CATCH(e) {
-       if (e.category != system_error)
-         RETHROW0("Unable to connect to the server: %s");
-       xbt_ex_free(e);
-       gras_os_sleep(0.05);
-     }
+    TRY {
+      toserver = gras_socket_client(host, port);
+      connected = 1;
+    }
+    CATCH(e) {
+      if (e.category != system_error)
+        RETHROW0("Unable to connect to the server: %s");
+      xbt_ex_free(e);
+      gras_os_sleep(0.05);
+    }
   }
-  INFO2("Connected to %s:%d.",host,port);    
+  INFO2("Connected to %s:%d.", host, port);
 
 
   /* 4. Register the messages (before use) */
   mmrpc_register_messages();
 
   /* 5. Keep the user informed of what's going on */
-  INFO2(">>>>>>>> Connected to server which is on %s:%d <<<<<<<<", 
-       gras_socket_peer_name(toserver),gras_socket_peer_port(toserver));
+  INFO2(">>>>>>>> Connected to server which is on %s:%d <<<<<<<<",
+        gras_socket_peer_name(toserver), gras_socket_peer_port(toserver));
 
   /* 6. Prepare and send the request to the server */
 
-  request[0] = xbt_matrix_double_new_id(MATSIZE,MATSIZE);
-  request[1] = xbt_matrix_double_new_rand(MATSIZE,MATSIZE);
+  request[0] = xbt_matrix_double_new_id(MATSIZE, MATSIZE);
+  request[1] = xbt_matrix_double_new_rand(MATSIZE, MATSIZE);
 
   /*
-  xbt_matrix_dump(request[0],"C:sent0",0,xbt_matrix_dump_display_double);
-  xbt_matrix_dump(request[1],"C:sent1",0,xbt_matrix_dump_display_double);
-  */
+     xbt_matrix_dump(request[0],"C:sent0",0,xbt_matrix_dump_display_double);
+     xbt_matrix_dump(request[1],"C:sent1",0,xbt_matrix_dump_display_double);
+   */
 
   gras_msg_send(toserver, "request", &request);
 
   xbt_matrix_free(request[0]);
 
   INFO2(">>>>>>>> Request sent to %s:%d <<<<<<<<",
-       gras_socket_peer_name(toserver),gras_socket_peer_port(toserver));
+        gras_socket_peer_name(toserver), gras_socket_peer_port(toserver));
 
   /* 7. Wait for the answer from the server, and deal with issues */
-  gras_msg_wait(6000,"answer",&from,&answer);
+  gras_msg_wait(6000, "answer", &from, &answer);
 
   /*
-  xbt_matrix_dump(answer,"C:answer",0,xbt_matrix_dump_display_double);
-  */
-  for (i=0; i<MATSIZE; i++) 
-    for (j=0; i<MATSIZE; i++) 
-      xbt_assert4(xbt_matrix_get_as(answer,i,j,double)==xbt_matrix_get_as(request[1],i,j,double),
-                 "Answer does not match expectations. Found %f at cell %d,%d instead of %f",
-                 xbt_matrix_get_as(answer,i,j,double),i,j,
-                 xbt_matrix_get_as(request[1],i,j,double));
+     xbt_matrix_dump(answer,"C:answer",0,xbt_matrix_dump_display_double);
+   */
+  for (i = 0; i < MATSIZE; i++)
+    for (j = 0; i < MATSIZE; i++)
+      xbt_assert4(xbt_matrix_get_as(answer, i, j, double) ==
+                  xbt_matrix_get_as(request[1], i, j, double),
+                  "Answer does not match expectations. Found %f at cell %d,%d instead of %f",
+                  xbt_matrix_get_as(answer, i, j, double), i, j,
+                  xbt_matrix_get_as(request[1], i, j, double));
 
   /* 8. Keep the user informed of what's going on, again */
-  INFO2(">>>>>>>> Got answer from %s:%d (values are right) <<<<<<<<", 
-       gras_socket_peer_name(from),gras_socket_peer_port(from));
+  INFO2(">>>>>>>> Got answer from %s:%d (values are right) <<<<<<<<",
+        gras_socket_peer_name(from), gras_socket_peer_port(from));
 
   /* 9. Free the allocated resources, and shut GRAS down */
   xbt_matrix_free(request[1]);
@@ -99,4 +102,4 @@ int client(int argc,char *argv[]) {
   gras_socket_close(toserver);
   gras_exit();
   return 0;
-} /* end_of_client */
+}                               /* end_of_client */
index 41b3163..09df910 100644 (file)
@@ -9,19 +9,18 @@
 
 #include "mmrpc.h"
 
-XBT_LOG_NEW_DEFAULT_CATEGORY(MatMult,"Messages specific to this example");
+XBT_LOG_NEW_DEFAULT_CATEGORY(MatMult, "Messages specific to this example");
 
 /* register messages which may be sent and their payload
    (common to client and server) */
-void mmrpc_register_messages(void) {
+void mmrpc_register_messages(void)
+{
   gras_datadesc_type_t matrix_type, request_type;
 
-  matrix_type=gras_datadesc_matrix(gras_datadesc_by_name("double"),
-                                  NULL);
-  request_type=gras_datadesc_array_fixed("s_matrix_t(double)[2]",matrix_type,2);
-  
+  matrix_type = gras_datadesc_matrix(gras_datadesc_by_name("double"), NULL);
+  request_type =
+    gras_datadesc_array_fixed("s_matrix_t(double)[2]", matrix_type, 2);
+
   gras_msgtype_declare("answer", matrix_type);
   gras_msgtype_declare("request", request_type);
 }
-
-
index eacd9d2..ef24fab 100644 (file)
@@ -15,15 +15,16 @@ XBT_LOG_EXTERNAL_DEFAULT_CATEGORY(MatMult);
 
 
 typedef xbt_matrix_t request_t[2];
-static int server_cb_request_handler(gras_msg_cb_ctx_t ctx, 
-                                    void *payload_data) {
+static int server_cb_request_handler(gras_msg_cb_ctx_t ctx,
+                                     void *payload_data)
+{
+
+  gras_socket_t expeditor = gras_msg_cb_ctx_from(ctx);
 
-  gras_socket_t expeditor=gras_msg_cb_ctx_from(ctx);
-                            
   /* 1. Get the payload into the data variable */
-  xbt_matrix_t *request = (xbt_matrix_t*)payload_data;
+  xbt_matrix_t *request = (xbt_matrix_t *) payload_data;
   xbt_matrix_t result;
-  
+
   /* 2. Do the computation */
   result = xbt_matrix_double_new_mult(request[0], request[1]);
 
@@ -34,43 +35,45 @@ static int server_cb_request_handler(gras_msg_cb_ctx_t ctx,
   xbt_matrix_free(request[0]);
   xbt_matrix_free(request[1]);
   xbt_matrix_free(result);
-   
+
   return 0;
-} /* end_of_server_cb_request_handler */
+}                               /* end_of_server_cb_request_handler */
 
-int server (int argc,char *argv[]) {
-  xbt_ex_t e; 
-  gras_socket_t sock=NULL;
+int server(int argc, char *argv[])
+{
+  xbt_ex_t e;
+  gras_socket_t sock = NULL;
   int port = 4000;
-  
+
   /* 1. Init the GRAS infrastructure */
-  gras_init(&argc,argv);
-   
+  gras_init(&argc, argv);
+
   /* 2. Get the port I should listen on from the command line, if specified */
   if (argc == 2) {
-    port=atoi(argv[1]);
+    port = atoi(argv[1]);
   }
 
   /* 3. Create my master socket */
   INFO1("Launch server (port=%d)", port);
   TRY {
     sock = gras_socket_server(port);
-  } CATCH(e) {
+  }
+  CATCH(e) {
     RETHROW0("Unable to establish a server socket: %s");
   }
 
   /* 4. Register the known messages and payloads. */
   mmrpc_register_messages();
-   
+
   /* 5. Register my callback */
-  gras_cb_register("request",&server_cb_request_handler);
+  gras_cb_register("request", &server_cb_request_handler);
 
   /* 6. Wait up to 10 minutes for an incomming message to handle */
   gras_msg_handle(600.0);
-   
+
   /* 7. Free the allocated resources, and shut GRAS down */
   gras_socket_close(sock);
   gras_exit();
-   
+
   return 0;
-} /* end_of_server */
+}                               /* end_of_server */
index f0d8fcb..7960919 100644 (file)
@@ -8,16 +8,17 @@
 
 /* This program is free software; you can redistribute it and/or modify it
  * under the terms of the license (GNU LGPL) which comes with this package. */
+
 #include "gras.h"
+
 #define NBLOOPS 3
 /*#define NBLOOPS 30000*/
 
-XBT_LOG_NEW_DEFAULT_CATEGORY(SimpleToken,"Messages specific to this example");
+XBT_LOG_NEW_DEFAULT_CATEGORY(SimpleToken,
+                             "Messages specific to this example");
 
 /* Function prototypes */
-int node (int argc,char *argv[]);
+int node(int argc, char *argv[]);
 
 
 /* **********************************************************************
@@ -26,135 +27,139 @@ int node (int argc,char *argv[]);
 
 /* Global private data */
 typedef struct {
-  gras_socket_t sock; /* server socket on which I hear */
-  int remaining_loop; /* number of loops to do until done */
-  int create;        /* whether I have to create the token */
-  gras_socket_t tosuccessor; /* how to connect to the successor on ring */
-  double start_time; /* to measure the elapsed time. Only used by the 
-                        node that creates the token */
+  gras_socket_t sock;           /* server socket on which I hear */
+  int remaining_loop;           /* number of loops to do until done */
+  int create;                   /* whether I have to create the token */
+  gras_socket_t tosuccessor;    /* how to connect to the successor on ring */
+  double start_time;            /* to measure the elapsed time. Only used by the 
+                                   node that creates the token */
 } node_data_t;
 
 
 /* Callback function */
-static int node_cb_stoken_handler(gras_msg_cb_ctx_t ctx, void *payload) {
-  
+static int node_cb_stoken_handler(gras_msg_cb_ctx_t ctx, void *payload)
+{
+
   xbt_ex_t e;
-  
+
   /* 1. Get the payload into the msg variable, and retrieve my caller */
-  int msg=*(int*)payload;
+  int msg = *(int *) payload;
   gras_socket_t expeditor = gras_msg_cb_ctx_from(ctx);
 
 
   /* 2. Retrieve the node's state (globals) */
-  node_data_t *globals=(node_data_t*)gras_userdata_get();
+  node_data_t *globals = (node_data_t *) gras_userdata_get();
+
   /* 3. Log which predecessor connected */
-  int supersteps = 1; /* only log every superstep loop */
+  int supersteps = 1;           /* only log every superstep loop */
   if (NBLOOPS >= 1000) {
     supersteps = 100;
   } else if (NBLOOPS >= 100) {
     supersteps = 10;
-  } else if (NBLOOPS <=10) {
+  } else if (NBLOOPS <= 10) {
     supersteps = 1;
   }
-  if (globals->create && (! (globals->remaining_loop % supersteps))) {
+  if (globals->create && (!(globals->remaining_loop % supersteps))) {
     INFO1("Begin a new loop. Still to do: %d", globals->remaining_loop);
-  } else if (! (globals->remaining_loop % supersteps)) {
-    VERB3("Got token(%d) from %s remaining_loop=%d", 
-         msg, gras_socket_peer_name(expeditor),globals->remaining_loop);
+  } else if (!(globals->remaining_loop % supersteps)) {
+    VERB3("Got token(%d) from %s remaining_loop=%d",
+          msg, gras_socket_peer_name(expeditor), globals->remaining_loop);
   }
-  
+
   /* 4. If the right shouldn't be stopped yet */
   if (globals->remaining_loop > 0) {
     msg += 1;
-     
-    DEBUG3("Send token(%d) to %s:%d", msg, 
-          gras_socket_peer_name(globals->tosuccessor),
-          gras_socket_peer_port(globals->tosuccessor));
-     
+
+    DEBUG3("Send token(%d) to %s:%d", msg,
+           gras_socket_peer_name(globals->tosuccessor),
+           gras_socket_peer_port(globals->tosuccessor));
+
     /* 5. Send the token as payload of a stoken message to the successor */
     TRY {
       gras_msg_send(globals->tosuccessor, "stoken", &msg);
-     
-    /* 6. Deal with errors */
-    } CATCH(e) {
+
+      /* 6. Deal with errors */
+    }
+    CATCH(e) {
       gras_socket_close(globals->sock);
       RETHROW0("Unable to forward token: %s");
     }
-  
+
   }
-             
+
   /* DO NOT CLOSE THE expeditor SOCKET since the client socket is
      reused by our predecessor.
      Closing this side would thus create troubles */
-  
+
   /* 7. Decrease the remaining_loop integer. */
   globals->remaining_loop -= 1;
-   
+
   /* 8. Repport the hop number to the user at the end */
   if (globals->remaining_loop == -1 && globals->create) {
-    double elapsed = gras_os_time() - globals->start_time; 
-    INFO1("Shut down the token-ring. There was %d hops.",msg);
+    double elapsed = gras_os_time() - globals->start_time;
+    INFO1("Shut down the token-ring. There was %d hops.", msg);
     VERB1("Elapsed time: %g", elapsed);
   }
 
   /* 9. Tell GRAS that we consummed this message */
   return 0;
-} /* end_of_node_cb_stoken_handler */
+}                               /* end_of_node_cb_stoken_handler */
 
-int node (int argc,char *argv[]) {
+int node(int argc, char *argv[])
+{
   node_data_t *globals;
-  
+
   const char *host;
-  int   myport;
-  int   peerport;
-    
+  int myport;
+  int peerport;
+
   xbt_ex_t e;
-  
+
   /* 1. Init the GRAS infrastructure and declare my globals */
-  gras_init(&argc,argv);
-  globals=gras_userdata_new(node_data_t);
-  
-  
+  gras_init(&argc, argv);
+  globals = gras_userdata_new(node_data_t);
+
+
   /* 2. Get the successor's address. The command line overrides
-        defaults when specified */
+     defaults when specified */
   host = "127.0.0.1";
   myport = 4000;
   peerport = 4000;
   if (argc >= 4) {
-    myport=atoi(argv[1]);
-    host=argv[2];
-    peerport=atoi(argv[3]);
+    myport = atoi(argv[1]);
+    host = argv[2];
+    peerport = atoi(argv[3]);
   }
 
   /* 3. Save successor's address in global var */
-  globals->remaining_loop=NBLOOPS;
+  globals->remaining_loop = NBLOOPS;
   globals->create = 0;
   globals->tosuccessor = NULL;
 
   if (!gras_os_getpid() % 100)
-  INFO4("Launch node %d (successor on %s:%d; listening on %d)",
-       gras_os_getpid(), host,peerport, myport);
+    INFO4("Launch node %d (successor on %s:%d; listening on %d)",
+          gras_os_getpid(), host, peerport, myport);
 
   /* 4. Register the known messages.  */
   gras_msgtype_declare("stoken", gras_datadesc_by_name("int"));
-   
+
   /* 5. Create my master socket for listening */
   globals->sock = gras_socket_server(myport);
-  gras_os_sleep(1.0); /* Make sure all server sockets are created */
-   
+  gras_os_sleep(1.0);           /* Make sure all server sockets are created */
+
   /* 6. Create socket to the successor on the ring */
-  DEBUG2("Connect to my successor on %s:%d",host,peerport);
+  DEBUG2("Connect to my successor on %s:%d", host, peerport);
+
+  globals->tosuccessor = gras_socket_client(host, peerport);
 
-  globals->tosuccessor = gras_socket_client(host,peerport);
-  
   /* 7. Register my callback */
-  gras_cb_register("stoken",&node_cb_stoken_handler);  
+  gras_cb_register("stoken", &node_cb_stoken_handler);
 
   /* 8. One node has to create the token at startup. 
-        It's specified by a command line argument */
-  if (argc >= 5 && !strncmp("--create-token", argv[4],strlen("--create-token")))
-    globals->create=1;
+     It's specified by a command line argument */
+  if (argc >= 5
+      && !strncmp("--create-token", argv[4], strlen("--create-token")))
+    globals->create = 1;
 
   if (globals->create) {
     int token = 0;
@@ -162,31 +167,31 @@ int node (int argc,char *argv[]) {
     globals->start_time = gras_os_time();
 
     globals->remaining_loop = NBLOOPS - 1;
-      
+
     INFO3("Create the token (with value %d) and send it to %s:%d",
-         token, host, peerport);
+          token, host, peerport);
 
-    TRY {        
+    TRY {
       gras_msg_send(globals->tosuccessor, "stoken", &token);
     } CATCH(e) {
       RETHROW0("Unable to send the freshly created token: %s");
     }
-  } 
-  
+  }
+
   /* 8. Wait up to 10 seconds for an incomming message to handle */
   while (globals->remaining_loop > (globals->create ? -1 : 0)) {
     gras_msg_handle(-1);
-  
+
     DEBUG1("looping (remaining_loop=%d)", globals->remaining_loop);
   }
 
-  gras_os_sleep(1.0); /* FIXME: if the sender quited, receive fail */
+  gras_os_sleep(1.0);           /* FIXME: if the sender quited, receive fail */
 
-  /* 9. Free the allocated resources, and shut GRAS down */ 
+  /* 9. Free the allocated resources, and shut GRAS down */
   gras_socket_close(globals->sock);
   gras_socket_close(globals->tosuccessor);
   free(globals);
   gras_exit();
-  
+
   return 0;
-} /* end_of_node */
+}                               /* end_of_node */
index a5a7b2c..af20392 100644 (file)
@@ -16,7 +16,7 @@
 void ping_register_messages(void);
 
 /* Function prototypes */
-int server (int argc,char *argv[]);
-int client (int argc,char *argv[]);
+int server(int argc, char *argv[]);
+int client(int argc, char *argv[]);
 
 #endif
index 2482ee5..2b286e3 100644 (file)
 #include "ping.h"
 XBT_LOG_EXTERNAL_DEFAULT_CATEGORY(Ping);
 
-int client(int argc,char *argv[]) {
+int client(int argc, char *argv[])
+{
   xbt_ex_t e;
-  gras_socket_t toserver=NULL; /* peer */
+  gras_socket_t toserver = NULL;        /* peer */
   int connected = 0;
 
   gras_socket_t from;
   int ping, pong;
 
   const char *host = "127.0.0.1";
-        int   port = 4000;
+  int port = 4000;
 
   /* 1. Init the GRAS's infrastructure */
   gras_init(&argc, argv);
 
   /* 2. Get the server's address. The command line override defaults when specified */
   if (argc == 3) {
-    host=argv[1];
-    port=atoi(argv[2]);
+    host = argv[1];
+    port = atoi(argv[2]);
   }
 
-  INFO2("Launch client (server on %s:%d)",host,port);
+  INFO2("Launch client (server on %s:%d)", host, port);
 
   /* 3. Create a socket to speak to the server */
   while (!connected) {
-     TRY {
-       toserver=gras_socket_client(host,port);
-       connected = 1;
-     } CATCH(e) {
-       if (e.category != system_error)
-         /* dunno what happened, let the exception go through */
-         RETHROW0("Unable to connect to the server: %s");
-       xbt_ex_free(e);
-       gras_os_sleep(0.05);
-     }
+    TRY {
+      toserver = gras_socket_client(host, port);
+      connected = 1;
+    }
+    CATCH(e) {
+      if (e.category != system_error)
+        /* dunno what happened, let the exception go through */
+        RETHROW0("Unable to connect to the server: %s");
+      xbt_ex_free(e);
+      gras_os_sleep(0.05);
+    }
   }
 
-  INFO2("Connected to %s:%d.",host,port);
+  INFO2("Connected to %s:%d.", host, port);
 
   /* 4. Register the messages.
-        See, it doesn't have to be done completely at the beginning, only before use */
+     See, it doesn't have to be done completely at the beginning, only before use */
   ping_register_messages();
 
   /* 5. Keep the user informed of what's going on */
   INFO2(">>>>>>>> Connected to server which is on %s:%d <<<<<<<<",
-       gras_socket_peer_name(toserver),gras_socket_peer_port(toserver));
+        gras_socket_peer_name(toserver), gras_socket_peer_port(toserver));
 
   /* 6. Prepare and send the ping message to the server */
   ping = 1234;
   TRY {
     gras_msg_send(toserver, "ping", &ping);
-  } CATCH(e) {
+  }
+  CATCH(e) {
     gras_socket_close(toserver);
     RETHROW0("Failed to send PING to server: %s");
   }
   INFO3(">>>>>>>> Message PING(%d) sent to %s:%d <<<<<<<<",
-       ping,
-       gras_socket_peer_name(toserver),gras_socket_peer_port(toserver));
+        ping,
+        gras_socket_peer_name(toserver), gras_socket_peer_port(toserver));
 
   /* 7. Wait for the answer from the server, and deal with issues */
   TRY {
-    gras_msg_wait(6000,"pong", &from,&pong);
-  } CATCH(e) {
+    gras_msg_wait(6000, "pong", &from, &pong);
+  }
+  CATCH(e) {
     gras_socket_close(toserver);
     RETHROW0("Why can't I get my PONG message like everyone else: %s");
   }
 
   /* 8. Keep the user informed of what's going on, again */
   INFO3(">>>>>>>> Got PONG(%d) from %s:%d <<<<<<<<",
-       pong,
-       gras_socket_peer_name(from),gras_socket_peer_port(from));
+        pong, gras_socket_peer_name(from), gras_socket_peer_port(from));
 
   /* 9. Free the allocated resources, and shut GRAS down */
   gras_socket_close(toserver);
   INFO0("Done.");
   gras_exit();
   return 0;
-} /* end_of_client */
+}                               /* end_of_client */
index eeb095c..f03154b 100644 (file)
@@ -8,12 +8,12 @@
  * under the terms of the license (GNU LGPL) which comes with this package. */
 
 #include "ping.h"
-XBT_LOG_NEW_DEFAULT_CATEGORY(Ping,"Messages specific to this example");
+XBT_LOG_NEW_DEFAULT_CATEGORY(Ping, "Messages specific to this example");
 
 /* register messages which may be sent (common to client and server) */
-void ping_register_messages(void) {
+void ping_register_messages(void)
+{
   gras_msgtype_declare("ping", gras_datadesc_by_name("int"));
   gras_msgtype_declare("pong", gras_datadesc_by_name("int"));
   INFO0("Messages registered");
 }
-
index 3e8b95b..09c70c4 100644 (file)
@@ -18,56 +18,58 @@ typedef struct {
 } server_data_t;
 
 
-static int server_cb_ping_handler(gras_msg_cb_ctx_t ctx, void *payload) {
-                            
+static int server_cb_ping_handler(gras_msg_cb_ctx_t ctx, void *payload)
+{
+
   xbt_ex_t e;
   /* 1. Get the payload into the msg variable, and retrieve my caller */
-  int msg=*(int*)payload;
+  int msg = *(int *) payload;
   gras_socket_t expeditor = gras_msg_cb_ctx_from(ctx);
 
   /* 2. Retrieve the server's state (globals) */
 
-  server_data_t *globals=(server_data_t*)gras_userdata_get();
+  server_data_t *globals = (server_data_t *) gras_userdata_get();
   globals->endcondition = 0;
-   
+
   /* 3. Log which client connected */
-  INFO3(">>>>>>>> Got message PING(%d) from %s:%d <<<<<<<<", 
-       msg, 
-       gras_socket_peer_name(expeditor), gras_socket_peer_port(expeditor));
-  
+  INFO3(">>>>>>>> Got message PING(%d) from %s:%d <<<<<<<<",
+        msg,
+        gras_socket_peer_name(expeditor), gras_socket_peer_port(expeditor));
+
   /* 4. Change the value of the msg variable */
   msg = 4321;
   /* 5. Send it back as payload of a pong message to the expeditor */
   TRY {
     gras_msg_send(expeditor, "pong", &msg);
 
-  /* 6. Deal with errors: add some details to the exception */
+    /* 6. Deal with errors: add some details to the exception */
   } CATCH(e) {
     gras_socket_close(globals->sock);
     RETHROW0("Unable answer with PONG: %s");
   }
 
   INFO0(">>>>>>>> Answered with PONG(4321) <<<<<<<<");
-   
+
   /* 7. Set the endcondition boolean to true (and make sure the server stops after receiving it). */
   globals->endcondition = 1;
-     
+
   /* 8. Tell GRAS that we consummed this message */
   return 0;
-} /* end_of_server_cb_ping_handler */
+}                               /* end_of_server_cb_ping_handler */
 
-int server (int argc,char *argv[]) {
+int server(int argc, char *argv[])
+{
   server_data_t *globals;
 
   int port = 4000;
-  
+
   /* 1. Init the GRAS infrastructure and declare my globals */
-  gras_init(&argc,argv);
-  globals=gras_userdata_new(server_data_t);
-   
+  gras_init(&argc, argv);
+  globals = gras_userdata_new(server_data_t);
+
   /* 2. Get the port I should listen on from the command line, if specified */
   if (argc == 2) {
-    port=atoi(argv[1]);
+    port = atoi(argv[1]);
   }
 
   INFO1("Launch server (port=%d)", port);
@@ -76,28 +78,29 @@ int server (int argc,char *argv[]) {
   globals->sock = gras_socket_server(port);
 
   /* 4. Register the known messages. This function is called twice here, but it's because
-        this file also acts as regression test, no need to do so yourself of course. */
+     this file also acts as regression test, no need to do so yourself of course. */
   ping_register_messages();
-  ping_register_messages(); /* just to make sure it works ;) */
-   
+  ping_register_messages();     /* just to make sure it works ;) */
+
   /* 5. Register my callback */
-  gras_cb_register("ping",&server_cb_ping_handler);
+  gras_cb_register("ping", &server_cb_ping_handler);
 
-  INFO1(">>>>>>>> Listening on port %d <<<<<<<<", gras_socket_my_port(globals->sock));
-  globals->endcondition=0;
+  INFO1(">>>>>>>> Listening on port %d <<<<<<<<",
+        gras_socket_my_port(globals->sock));
+  globals->endcondition = 0;
 
   /* 6. Wait up to 10 minutes for an incomming message to handle */
   gras_msg_handle(10.0);
-   
+
   /* 7. Housekeeping */
   if (!globals->endcondition)
-     WARN0("An error occured, the endcondition was not set by the callback");
-  
+    WARN0("An error occured, the endcondition was not set by the callback");
+
   /* 8. Free the allocated resources, and shut GRAS down */
   gras_socket_close(globals->sock);
   free(globals);
   INFO0("Done.");
   gras_exit();
-   
+
   return 0;
-} /* end_of_server */
+}                               /* end_of_server */
index 408b70d..a09c143 100755 (executable)
 #define SLAVE_COUNT (PROC_MATRIX_SIZE*PROC_MATRIX_SIZE)
 
 #define DATA_MATRIX_SIZE 18
-const int submatrix_size = DATA_MATRIX_SIZE/PROC_MATRIX_SIZE;
+const int submatrix_size = DATA_MATRIX_SIZE / PROC_MATRIX_SIZE;
 
-XBT_LOG_NEW_DEFAULT_CATEGORY(pmm,"Parallel Matrix Multiplication");
+XBT_LOG_NEW_DEFAULT_CATEGORY(pmm, "Parallel Matrix Multiplication");
 
 /* struct for recovering results */
-GRAS_DEFINE_TYPE(s_result,struct s_result {
-  int linepos;
-  int rowpos;
-  xbt_matrix_t C GRAS_ANNOTE(subtype,double);
-});
+GRAS_DEFINE_TYPE(s_result, struct s_result {
+                 int linepos; int rowpos;
+                 xbt_matrix_t C GRAS_ANNOTE(subtype, double);
+                 });
+
 typedef struct s_result result_t;
 
 /* struct to send initial data to slave */
-GRAS_DEFINE_TYPE(s_pmm_assignment,struct s_pmm_assignment {
-  int linepos;
-  int rowpos;
-  xbt_peer_t line[NEIGHBOR_COUNT];
-  xbt_peer_t row[NEIGHBOR_COUNT];
-  xbt_matrix_t A GRAS_ANNOTE(subtype,double);
-  xbt_matrix_t B GRAS_ANNOTE(subtype,double);
-});
+GRAS_DEFINE_TYPE(s_pmm_assignment, struct s_pmm_assignment {
+                 int linepos;
+                 int rowpos;
+                 xbt_peer_t line[NEIGHBOR_COUNT];
+                 xbt_peer_t row[NEIGHBOR_COUNT];
+                 xbt_matrix_t A GRAS_ANNOTE(subtype, double);
+                 xbt_matrix_t B GRAS_ANNOTE(subtype, double);
+                 });
+
 typedef struct s_pmm_assignment s_pmm_assignment_t;
 
 /* register messages which may be sent (common to client and server) */
-static void register_messages(void) {
+static void register_messages(void)
+{
   gras_datadesc_type_t result_type;
   gras_datadesc_type_t pmm_assignment_type;
 
-  gras_datadesc_set_const("NEIGHBOR_COUNT",NEIGHBOR_COUNT);
-  result_type=gras_datadesc_by_symbol(s_result);
-  pmm_assignment_type=gras_datadesc_by_symbol(s_pmm_assignment);
-       
+  gras_datadesc_set_const("NEIGHBOR_COUNT", NEIGHBOR_COUNT);
+  result_type = gras_datadesc_by_symbol(s_result);
+  pmm_assignment_type = gras_datadesc_by_symbol(s_pmm_assignment);
+
   /* receive a final result from slave */
   gras_msgtype_declare("result", result_type);
 
@@ -54,13 +56,17 @@ static void register_messages(void) {
   gras_msgtype_declare("pmm_slave", pmm_assignment_type);
 
   /* send data between slaves */
-  gras_msgtype_declare("dataA", gras_datadesc_matrix(gras_datadesc_by_name("double"),NULL));
-  gras_msgtype_declare("dataB", gras_datadesc_matrix(gras_datadesc_by_name("double"),NULL));
+  gras_msgtype_declare("dataA",
+                       gras_datadesc_matrix(gras_datadesc_by_name("double"),
+                                            NULL));
+  gras_msgtype_declare("dataB",
+                       gras_datadesc_matrix(gras_datadesc_by_name("double"),
+                                            NULL));
 }
 
 /* Function prototypes */
-int slave (int argc,char *argv[]);
-int master (int argc,char *argv[]);
+int slave(int argc, char *argv[]);
+int master(int argc, char *argv[]);
 
 
 /* **********************************************************************
@@ -69,106 +75,104 @@ int master (int argc,char *argv[]);
 
 /* Global private data */
 typedef struct {
-  int nbr_row,nbr_line;
+  int nbr_row, nbr_line;
   int remaining_step;
   int remaining_ack;
 } master_data_t;
 
 
-int master (int argc,char *argv[]) {
+int master(int argc, char *argv[])
+{
 
   int i;
 
-  xbt_matrix_t A,B,C;
+  xbt_matrix_t A, B, C;
   result_t result;
 
   gras_socket_t from;
 
-  xbt_dynar_t peers; /* group of slaves */
+  xbt_dynar_t peers;            /* group of slaves */
   xbt_peer_t grid[SLAVE_COUNT]; /* The slaves as an array */
-  gras_socket_t socket[SLAVE_COUNT]; /* sockets for brodcast to slaves */
+  gras_socket_t socket[SLAVE_COUNT];    /* sockets for brodcast to slaves */
 
   /* Init the GRAS's infrastructure */
   gras_init(&argc, argv);
   amok_pm_init();
   register_messages();
-      
+
   /* Initialize data matrices */
-  A = xbt_matrix_double_new_id(DATA_MATRIX_SIZE,DATA_MATRIX_SIZE);
-  B = xbt_matrix_double_new_seq(DATA_MATRIX_SIZE,DATA_MATRIX_SIZE);
-  C = xbt_matrix_double_new_zeros(DATA_MATRIX_SIZE,DATA_MATRIX_SIZE);
-       
+  A = xbt_matrix_double_new_id(DATA_MATRIX_SIZE, DATA_MATRIX_SIZE);
+  B = xbt_matrix_double_new_seq(DATA_MATRIX_SIZE, DATA_MATRIX_SIZE);
+  C = xbt_matrix_double_new_zeros(DATA_MATRIX_SIZE, DATA_MATRIX_SIZE);
+
   /* Create the connexions */
-  xbt_assert0(argc>1, "Usage: master <port>");
+  xbt_assert0(argc > 1, "Usage: master <port>");
   gras_socket_server(atoi(argv[1]));
-  peers=amok_pm_group_new("pmm");
-   
+  peers = amok_pm_group_new("pmm");
+
   /* friends, we're ready. Come and play */
   INFO0("Wait for peers for 5 sec");
   gras_msg_handleall(5);
-  INFO1("Got %ld pals",xbt_dynar_length(peers));
+  INFO1("Got %ld pals", xbt_dynar_length(peers));
 
-  for (i=0;
-       i<xbt_dynar_length(peers) && i<SLAVE_COUNT;
-       i++) {
+  for (i = 0; i < xbt_dynar_length(peers) && i < SLAVE_COUNT; i++) {
 
-    xbt_dynar_get_cpy(peers,i,&grid[i]);
-    socket[i]=gras_socket_client(grid[i]->name,grid[i]->port);
+    xbt_dynar_get_cpy(peers, i, &grid[i]);
+    socket[i] = gras_socket_client(grid[i]->name, grid[i]->port);
   }
-  xbt_assert2(i==SLAVE_COUNT,
-             "Not enough slaves for this setting (got %d of %d). Change the deployment file",
-             i,SLAVE_COUNT);
+  xbt_assert2(i == SLAVE_COUNT,
+              "Not enough slaves for this setting (got %d of %d). Change the deployment file",
+              i, SLAVE_COUNT);
 
   /* Kill surnumerous slaves */
-  for (i=SLAVE_COUNT; i<xbt_dynar_length(peers); ) {
+  for (i = SLAVE_COUNT; i < xbt_dynar_length(peers);) {
     xbt_peer_t h;
 
-    xbt_dynar_remove_at(peers,i,&h);
+    xbt_dynar_remove_at(peers, i, &h);
     INFO2("Too much slaves. Killing %s:%d", h->name, h->port);
-    amok_pm_kill_hp(h->name,h->port);
+    amok_pm_kill_hp(h->name, h->port);
     free(h);
   }
 
 
   /* Assign job to slaves */
-  int row=0, line=0;
+  int row = 0, line = 0;
   INFO0("XXXXXXXXXXXXXXXXXXXXXX begin Multiplication");
-  for(i=0 ; i<SLAVE_COUNT; i++){
+  for (i = 0; i < SLAVE_COUNT; i++) {
     s_pmm_assignment_t assignment;
-    int j,k;
+    int j, k;
 
-    assignment.linepos=line; // assigned line
-    assignment.rowpos=row;   // assigned row
+    assignment.linepos = line;  // assigned line
+    assignment.rowpos = row;    // assigned row
 
     /* Neiborhood */
-    for (j=0,k=0; j<PROC_MATRIX_SIZE; j++) {
-      if (i != j*PROC_MATRIX_SIZE+(row)) {         
-        assignment.row[k] = grid[ j*PROC_MATRIX_SIZE+(row) ] ;
-        k++;
+    for (j = 0, k = 0; j < PROC_MATRIX_SIZE; j++) {
+      if (i != j * PROC_MATRIX_SIZE + (row)) {
+        assignment.row[k] = grid[j * PROC_MATRIX_SIZE + (row)];
+        k++;
       }
     }
-    for (j=0,k=0; j<PROC_MATRIX_SIZE; j++) {
-      if (i != (line)*PROC_MATRIX_SIZE+j) {        
-        assignment.line[k] =  grid[ (line)*PROC_MATRIX_SIZE+j ] ;
-        k++;
+    for (j = 0, k = 0; j < PROC_MATRIX_SIZE; j++) {
+      if (i != (line) * PROC_MATRIX_SIZE + j) {
+        assignment.line[k] = grid[(line) * PROC_MATRIX_SIZE + j];
+        k++;
       }
     }
 
-    assignment.A=xbt_matrix_new_sub(A,
-                                   submatrix_size,submatrix_size,
-                                   submatrix_size*line,submatrix_size*row,
-                                   NULL);
-    assignment.B=xbt_matrix_new_sub(B,
-                                   submatrix_size,submatrix_size,
-                                   submatrix_size*line,submatrix_size*row,
-                                   NULL);
+    assignment.A = xbt_matrix_new_sub(A,
+                                      submatrix_size, submatrix_size,
+                                      submatrix_size * line,
+                                      submatrix_size * row, NULL);
+    assignment.B =
+      xbt_matrix_new_sub(B, submatrix_size, submatrix_size,
+                         submatrix_size * line, submatrix_size * row, NULL);
     row++;
     if (row >= PROC_MATRIX_SIZE) {
-      row=0;
+      row = 0;
       line++;
     }
-               
-    gras_msg_send(socket[i],"pmm_slave",&assignment);
+
+    gras_msg_send(socket[i], "pmm_slave", &assignment);
     xbt_matrix_free(assignment.A);
     xbt_matrix_free(assignment.B);
   }
@@ -176,157 +180,157 @@ int master (int argc,char *argv[]) {
   /* (have a rest while the slave perform the multiplication) */
 
   /* Retrieve the results */
-  for( i=0;i< SLAVE_COUNT;i++){
-    gras_msg_wait(6000,"result",&from,&result);
-    VERB2("%d slaves are done already. Waiting for %d",i+1, SLAVE_COUNT);
-    xbt_matrix_copy_values(C,result.C,   submatrix_size,submatrix_size,
-                          submatrix_size*result.linepos,
-                          submatrix_size*result.rowpos,
-                          0,0,NULL);
+  for (i = 0; i < SLAVE_COUNT; i++) {
+    gras_msg_wait(6000, "result", &from, &result);
+    VERB2("%d slaves are done already. Waiting for %d", i + 1, SLAVE_COUNT);
+    xbt_matrix_copy_values(C, result.C, submatrix_size, submatrix_size,
+                           submatrix_size * result.linepos,
+                           submatrix_size * result.rowpos, 0, 0, NULL);
     xbt_matrix_free(result.C);
   }
   /*    end of gather   */
 
   if (DATA_MATRIX_SIZE < 30) {
-     INFO0 ("The Result of Multiplication is :");
-     xbt_matrix_dump(C,"C:res",0,xbt_matrix_dump_display_double);
+    INFO0("The Result of Multiplication is :");
+    xbt_matrix_dump(C, "C:res", 0, xbt_matrix_dump_display_double);
   } else {
-     INFO1("Matrix size too big (%d>30) to be displayed here",DATA_MATRIX_SIZE);
+    INFO1("Matrix size too big (%d>30) to be displayed here",
+          DATA_MATRIX_SIZE);
   }
 
-  amok_pm_group_shutdown ("pmm");   /* Ok, we're out of here */
+  amok_pm_group_shutdown("pmm");        /* Ok, we're out of here */
 
-  for(i=0; i<SLAVE_COUNT; i++) {
-     gras_socket_close(socket[i]);
+  for (i = 0; i < SLAVE_COUNT; i++) {
+    gras_socket_close(socket[i]);
   }
-   
+
   xbt_matrix_free(A);
   xbt_matrix_free(B);
   xbt_matrix_free(C);
   gras_exit();
   return 0;
-} /* end_of_master */
+}                               /* end_of_master */
 
 /* **********************************************************************
  * slave code
  * **********************************************************************/
 
-static int pmm_worker_cb(gras_msg_cb_ctx_t ctx, void *payload) {
-  /* Recover my initialized Data and My Position*/
-  s_pmm_assignment_t assignment = *(s_pmm_assignment_t*)payload;
+static int pmm_worker_cb(gras_msg_cb_ctx_t ctx, void *payload)
+{
+  /* Recover my initialized Data and My Position */
+  s_pmm_assignment_t assignment = *(s_pmm_assignment_t *) payload;
   gras_socket_t master = gras_msg_cb_ctx_from(ctx);
 
-  xbt_ex_t e; 
+  xbt_ex_t e;
+
+  int step, l;
+  xbt_matrix_t bA = xbt_matrix_new(submatrix_size, submatrix_size,
+                                   sizeof(double), NULL);
+  xbt_matrix_t bB = xbt_matrix_new(submatrix_size, submatrix_size,
+                                   sizeof(double), NULL);
 
-  int step,l;
-  xbt_matrix_t bA=xbt_matrix_new(submatrix_size,submatrix_size,
-                                sizeof(double),NULL);
-  xbt_matrix_t bB=xbt_matrix_new(submatrix_size,submatrix_size,
-                                sizeof(double),NULL);
+  int myline, myrow;
+  xbt_matrix_t mydataA, mydataB;
+  xbt_matrix_t bC =
+    xbt_matrix_double_new_zeros(submatrix_size, submatrix_size);
 
-  int myline,myrow;
-  xbt_matrix_t mydataA,mydataB;
-  xbt_matrix_t bC=xbt_matrix_double_new_zeros(submatrix_size,submatrix_size);
-  
   result_t result;
-  gras_socket_t from;  /* to exchange data with my neighbor */
+
+  gras_socket_t from;           /* to exchange data with my neighbor */
 
   /* sockets for brodcast to other slave */
-  gras_socket_t socket_line[PROC_MATRIX_SIZE-1];
-  gras_socket_t socket_row[PROC_MATRIX_SIZE-1];
-  memset(socket_line,0,sizeof(socket_line));
-  memset(socket_row,0,sizeof(socket_row));
-   
+  gras_socket_t socket_line[PROC_MATRIX_SIZE - 1];
+  gras_socket_t socket_row[PROC_MATRIX_SIZE - 1];
+  memset(socket_line, 0, sizeof(socket_line));
+  memset(socket_row, 0, sizeof(socket_row));
+
   int i;
 
-  gras_os_sleep(1); /* wait for my pals */
+  gras_os_sleep(1);             /* wait for my pals */
 
-  myline  = assignment.linepos;
-  myrow   = assignment.rowpos;
+  myline = assignment.linepos;
+  myrow = assignment.rowpos;
   mydataA = assignment.A;
   mydataB = assignment.B;
 
-  INFO2("Receive my pos (%d,%d) and assignment",myline,myrow);
+  INFO2("Receive my pos (%d,%d) and assignment", myline, myrow);
 
   /* Get my neighborhood from the assignment message (skipping myself) */
-  for (i=0 ; i<PROC_MATRIX_SIZE-1 ; i++){
-    socket_line[i]=gras_socket_client(assignment.line[i]->name,
-                                     assignment.line[i]->port);
+  for (i = 0; i < PROC_MATRIX_SIZE - 1; i++) {
+    socket_line[i] = gras_socket_client(assignment.line[i]->name,
+                                        assignment.line[i]->port);
     xbt_peer_free(assignment.line[i]);
   }
-  for (i=0 ; i<PROC_MATRIX_SIZE-1 ; i++){
-    socket_row[i]=gras_socket_client(assignment.row[i]->name,
-                                    assignment.row[i]->port);
-    xbt_peer_free(assignment.row[i]);    
+  for (i = 0; i < PROC_MATRIX_SIZE - 1; i++) {
+    socket_row[i] = gras_socket_client(assignment.row[i]->name,
+                                       assignment.row[i]->port);
+    xbt_peer_free(assignment.row[i]);
   }
 
-  for (step=0; step<PROC_MATRIX_SIZE;step++) {
-       
+  for (step = 0; step < PROC_MATRIX_SIZE; step++) {
+
     /* a line brodcast */
-    if(myline==step){
-       INFO2("LINE: step(%d) = Myline(%d). Broadcast my data.",
-            step,myline);
-       for (l=0;l < PROC_MATRIX_SIZE-1 ;l++) {
-         INFO1("LINE:   Send to %s",
-               gras_socket_peer_name(socket_row[l]));
-        gras_msg_send(socket_row[l], "dataB", &mydataB);
-       }
-       
-       
-       xbt_matrix_free(bB);
-       bB = xbt_matrix_new_sub(mydataB,
-                              submatrix_size,submatrix_size,
-                              0,0,NULL);       
+    if (myline == step) {
+      INFO2("LINE: step(%d) = Myline(%d). Broadcast my data.", step, myline);
+      for (l = 0; l < PROC_MATRIX_SIZE - 1; l++) {
+        INFO1("LINE:   Send to %s", gras_socket_peer_name(socket_row[l]));
+        gras_msg_send(socket_row[l], "dataB", &mydataB);
+      }
+
+
+      xbt_matrix_free(bB);
+      bB = xbt_matrix_new_sub(mydataB,
+                              submatrix_size, submatrix_size, 0, 0, NULL);
     } else {
       TRY {
-       xbt_matrix_free(bB);
-       gras_msg_wait(600,"dataB",&from,&bB);
-      } CATCH(e) {
-       RETHROW0("Can't get a data message from line : %s");
+        xbt_matrix_free(bB);
+        gras_msg_wait(600, "dataB", &from, &bB);
       }
-      INFO3("LINE: step(%d) <> Myline(%d). Receive data from %s",step,myline,
-           gras_socket_peer_name(from));
+      CATCH(e) {
+        RETHROW0("Can't get a data message from line : %s");
+      }
+      INFO3("LINE: step(%d) <> Myline(%d). Receive data from %s", step,
+            myline, gras_socket_peer_name(from));
     }
 
     /* a row brodcast */
-    if (myrow==step) { 
-       INFO2("ROW: step(%d)=myrow(%d). Broadcast my data.",step,myrow);
-       for (l=1;l < PROC_MATRIX_SIZE ; l++) {
-         INFO1("ROW:   Send to %s",
-               gras_socket_peer_name(socket_line[l-1]));
-         gras_msg_send(socket_line[l-1],"dataA", &mydataA);
-       }
-       xbt_matrix_free(bA);
-       bA = xbt_matrix_new_sub(mydataA,
-                              submatrix_size,submatrix_size,
-                              0,0,NULL);
+    if (myrow == step) {
+      INFO2("ROW: step(%d)=myrow(%d). Broadcast my data.", step, myrow);
+      for (l = 1; l < PROC_MATRIX_SIZE; l++) {
+        INFO1("ROW:   Send to %s", gras_socket_peer_name(socket_line[l - 1]));
+        gras_msg_send(socket_line[l - 1], "dataA", &mydataA);
+      }
+      xbt_matrix_free(bA);
+      bA = xbt_matrix_new_sub(mydataA,
+                              submatrix_size, submatrix_size, 0, 0, NULL);
     } else {
       TRY {
-       xbt_matrix_free(bA);
-       gras_msg_wait(1200,"dataA", &from,&bA);
-      } CATCH(e) {
-       RETHROW0("Can't get a data message from row : %s");
+        xbt_matrix_free(bA);
+        gras_msg_wait(1200, "dataA", &from, &bA);
+      }
+      CATCH(e) {
+        RETHROW0("Can't get a data message from row : %s");
       }
-      INFO3("ROW: step(%d)<>myrow(%d). Receive data from %s",step,myrow,
-           gras_socket_peer_name(from));
+      INFO3("ROW: step(%d)<>myrow(%d). Receive data from %s", step, myrow,
+            gras_socket_peer_name(from));
     }
-    xbt_matrix_double_addmult(bA,bB,bC);
+    xbt_matrix_double_addmult(bA, bB, bC);
 
   };
-  /* send Result to master */  
-  result.C=bC;
-  result.linepos=myline;
-  result.rowpos=myrow;
+
+  /* send Result to master */
+  result.C = bC;
+  result.linepos = myline;
+  result.rowpos = myrow;
 
   TRY {
-    gras_msg_send(master, "result",&result);
-  } CATCH(e) {
+    gras_msg_send(master, "result", &result);
+  }
+  CATCH(e) {
     RETHROW0("Failed to send answer to server: %s");
   }
   INFO2(">>>>>>>> Result sent to %s:%d <<<<<<<<",
-       gras_socket_peer_name(master),gras_socket_peer_port(master));
+        gras_socket_peer_name(master), gras_socket_peer_port(master));
   /*  Free the allocated resources, and shut GRAS down */
 
   xbt_matrix_free(bA);
@@ -336,19 +340,20 @@ static int pmm_worker_cb(gras_msg_cb_ctx_t ctx, void *payload) {
   xbt_matrix_free(mydataA);
   xbt_matrix_free(mydataB);
   /* FIXME: some are said to be unknown 
-  gras_socket_close(master);
-  gras_socket_close(from);
-  for (l=0; l < PROC_MATRIX_SIZE-1; l++) {
+     gras_socket_close(master);
+     gras_socket_close(from);
+     for (l=0; l < PROC_MATRIX_SIZE-1; l++) {
      if (socket_line[l])
-       gras_socket_close(socket_line[l]);
+     gras_socket_close(socket_line[l]);
      if (socket_row[l])
-       gras_socket_close(socket_row[l]); 
-  }*/
+     gras_socket_close(socket_row[l]); 
+     } */
 
   return 0;
 }
 
-int slave(int argc,char *argv[]) {
+int slave(int argc, char *argv[])
+{
   gras_socket_t mysock;
   gras_socket_t master = NULL;
   int connected = 0;
@@ -357,35 +362,36 @@ int slave(int argc,char *argv[]) {
   /* Init the GRAS's infrastructure */
   gras_init(&argc, argv);
   amok_pm_init();
-  if (argc != 3 && argc !=2)
-     xbt_die("Usage: slave masterhost:masterport [rank]");
-  if (argc == 2) 
-     rank = -1;
-  else 
-     rank = atoi(argv[2]);
+  if (argc != 3 && argc != 2)
+    xbt_die("Usage: slave masterhost:masterport [rank]");
+  if (argc == 2)
+    rank = -1;
+  else
+    rank = atoi(argv[2]);
 
   /*  Register the known messages and my callback */
   register_messages();
-  gras_cb_register("pmm_slave",pmm_worker_cb);
+  gras_cb_register("pmm_slave", pmm_worker_cb);
 
   /* Create the connexions */
-  mysock = gras_socket_server_range(3000,9999,0,0);
-  INFO1("Sensor %d starting",rank);
-  while (!connected) { 
-     xbt_ex_t e;
-     TRY {       
-       master = gras_socket_client_from_string(argv[1]);
-       connected = 1;
-     } CATCH(e) {
-       if (e.category != system_error)
-         RETHROW;
-       xbt_ex_free(e);
-       gras_os_sleep(0.5);
-     }
+  mysock = gras_socket_server_range(3000, 9999, 0, 0);
+  INFO1("Sensor %d starting", rank);
+  while (!connected) {
+    xbt_ex_t e;
+    TRY {
+      master = gras_socket_client_from_string(argv[1]);
+      connected = 1;
+    }
+    CATCH(e) {
+      if (e.category != system_error)
+        RETHROW;
+      xbt_ex_free(e);
+      gras_os_sleep(0.5);
+    }
   }
-                               
+
   /* Join and run the group */
-  amok_pm_group_join(master,"pmm",rank);
+  amok_pm_group_join(master, "pmm", rank);
   amok_pm_mainloop(600);
 
   /* housekeeping */
@@ -393,4 +399,4 @@ int slave(int argc,char *argv[]) {
   //  gras_socket_close(master); Unknown
   gras_exit();
   return 0;
-} /* end_of_slave */
+}                               /* end_of_slave */
index 732d0cc..2d70f33 100644 (file)
@@ -2,77 +2,84 @@
 
 #include "gras.h"
 
-XBT_LOG_NEW_DEFAULT_CATEGORY(test,"Simple Property example");
+XBT_LOG_NEW_DEFAULT_CATEGORY(test, "Simple Property example");
 
 int alice(int argc, char *argv[]);
 int bob(int argc, char *argv[]);
 
-int alice(int argc, char *argv[]) {
-  gras_init(&argc,argv);
+int alice(int argc, char *argv[])
+{
+  gras_init(&argc, argv);
 
   /* Get the properties */
   xbt_dict_t process_props = gras_process_properties();
   xbt_dict_t host_props = gras_os_host_properties();
 
   xbt_dict_cursor_t cursor = NULL;
-  char *key,*data;
+  char *key, *data;
   const char *value;
 
   /* Let the other process change the host props */
-  gras_os_sleep(1); 
-   
+  gras_os_sleep(1);
+
   INFO0("== Dump all the properties of current host");
-  xbt_dict_foreach(host_props,cursor,key,data)
-       INFO2("  Host property: '%s' has value: '%s'",key,data);
+  xbt_dict_foreach(host_props, cursor, key, data)
+    INFO2("  Host property: '%s' has value: '%s'", key, data);
 
   INFO0("== Dump all the properties of alice");
-  xbt_dict_foreach(process_props,cursor,key,data)
-    if (!strncmp(key,"SG_TEST_",8))
-       INFO2("  Process property: '%s' has value: '%s'",key,data);
+  xbt_dict_foreach(process_props, cursor, key, data)
+    if (!strncmp(key, "SG_TEST_", 8))
+    INFO2("  Process property: '%s' has value: '%s'", key, data);
+
   INFO0("== Try to get a process property that does not exist");
   value = gras_process_property_value("Nonexisting");
   xbt_assert0(!value, "nonexisting property exists!!");
+
   /* Modify an existing property. First check it exists */
   INFO0("== Trying to modify a process property");
   value = gras_process_property_value("new prop");
-  xbt_assert0(!value,"Property 'new prop' exists before I add it!");
-  xbt_dict_set(process_props, "new prop", xbt_strdup("new value"), xbt_free_f);
+  xbt_assert0(!value, "Property 'new prop' exists before I add it!");
+  xbt_dict_set(process_props, "new prop", xbt_strdup("new value"),
+               xbt_free_f);
+
   /* Test if we have changed the value */
   value = gras_process_property_value("new prop");
-  xbt_assert1(!strcmp(value,"new value"), "New property does have the value I've set ('%s' != 'new value')",value);
+  xbt_assert1(!strcmp(value, "new value"),
+              "New property does have the value I've set ('%s' != 'new value')",
+              value);
 
   gras_exit();
   return 0;
 }
 
-int bob(int argc, char *argv[]) {
-  gras_init(&argc,argv);
+int bob(int argc, char *argv[])
+{
+  gras_init(&argc, argv);
 
   /* Get the properties */
   xbt_dict_t host_props = gras_os_host_properties();
   xbt_dict_cursor_t cursor = NULL;
-  char *key,*data;
+  char *key, *data;
   const char *value;
 
   INFO0("== Dump all the properties of host1");
-  xbt_dict_foreach(host_props,cursor,key,data)
-     INFO2("  Host property: '%s' has value: '%s'",key,data);
+  xbt_dict_foreach(host_props, cursor, key, data)
+    INFO2("  Host property: '%s' has value: '%s'", key, data);
+
   INFO0("== Try to get a property that does not exist");
   value = gras_os_host_property_value("non existing key");
-  xbt_assert1(value == NULL, "The key 'non existing key' exists (with value '%s')!!",value);
+  xbt_assert1(value == NULL,
+              "The key 'non existing key' exists (with value '%s')!!", value);
 
-  INFO0("== Set a host property that alice will try to retrieve in SG (from bob->hello)");
-  xbt_dict_set(host_props,"from bob",xbt_strdup("hello"), xbt_free_f);
+  INFO0
+    ("== Set a host property that alice will try to retrieve in SG (from bob->hello)");
+  xbt_dict_set(host_props, "from bob", xbt_strdup("hello"), xbt_free_f);
 
   INFO0("== Dump all the properties of host1 again to check the addition");
-  xbt_dict_foreach(host_props,cursor,key,data)
-     INFO2("  Host property: '%s' has value: '%s'",key,data);
-   
-  gras_os_sleep(1); /* KILLME once bug on empty main is solved */
+  xbt_dict_foreach(host_props, cursor, key, data)
+    INFO2("  Host property: '%s' has value: '%s'", key, data);
+
+  gras_os_sleep(1);             /* KILLME once bug on empty main is solved */
   gras_exit();
   return 0;
 }
index b43db35..c6ffc36 100644 (file)
@@ -9,46 +9,50 @@
 
 #include "gras.h"
 
-XBT_LOG_NEW_DEFAULT_CATEGORY(Rpc,"Messages specific to this example");
+XBT_LOG_NEW_DEFAULT_CATEGORY(Rpc, "Messages specific to this example");
 
 /* register messages which may be sent (common to client and server) */
-static void register_messages(void) {
+static void register_messages(void)
+{
   gras_msgtype_declare_rpc("plain ping",
-                          gras_datadesc_by_name("int"),
-                          gras_datadesc_by_name("int"));
+                           gras_datadesc_by_name("int"),
+                           gras_datadesc_by_name("int"));
 
   gras_msgtype_declare_rpc("raise exception", NULL, NULL);
   gras_msgtype_declare_rpc("forward exception", NULL, NULL);
-  gras_msgtype_declare("kill",NULL);
+  gras_msgtype_declare("kill", NULL);
 }
 
 /* Function prototypes */
-int server (int argc,char *argv[]);
-int forwarder (int argc,char *argv[]);
-int client (int argc,char *argv[]);
+int server(int argc, char *argv[]);
+int forwarder(int argc, char *argv[]);
+int client(int argc, char *argv[]);
 
 #define exception_msg       "Error for the client"
 #define exception_raising() THROW0(unknown_error,42,exception_msg)
 
-static void exception_catching(void) {
-  int gotit = 0,i;
+static void exception_catching(void)
+{
+  int gotit = 0, i;
   xbt_ex_t e;
 
-  for (i=0; i<5; i++) {
-    gotit=0;
+  for (i = 0; i < 5; i++) {
+    gotit = 0;
     TRY {
       exception_raising();
-    } CATCH(e) {
+    }
+    CATCH(e) {
       gotit = 1;
     }
     if (!gotit) {
-      THROW0(unknown_error,0,"Didn't got the remote exception!");
+      THROW0(unknown_error, 0, "Didn't got the remote exception!");
     }
-    xbt_assert2(e.category == unknown_error, "Got wrong category: %d (instead of %d)",
-               e.category,unknown_error);
+    xbt_assert2(e.category == unknown_error,
+                "Got wrong category: %d (instead of %d)", e.category,
+                unknown_error);
     xbt_assert1(e.value == 42, "Got wrong value: %d (!=42)", e.value);
-    xbt_assert1(!strncmp(e.msg,exception_msg, strlen(exception_msg)),
-               "Got wrong message: %s", e.msg);
+    xbt_assert1(!strncmp(e.msg, exception_msg, strlen(exception_msg)),
+                "Got wrong message: %s", e.msg);
     xbt_ex_free(e);
   }
 }
@@ -58,29 +62,30 @@ static void exception_catching(void) {
  * **********************************************************************/
 
 
-int client(int argc,char *argv[]) {
+int client(int argc, char *argv[])
+{
   xbt_ex_t e;
-  gras_socket_t toserver=NULL; /* peer */
-  gras_socket_t toforwarder=NULL; /* peer */
+  gras_socket_t toserver = NULL;        /* peer */
+  gras_socket_t toforwarder = NULL;     /* peer */
 
   int ping, pong, i;
-  volatile int gotit=0;
+  volatile int gotit = 0;
 
 
   const char *host = "127.0.0.1";
-               int   port = 4000;
+  int port = 4000;
 
-  memset(&e,0,sizeof(xbt_ex_t));
+  memset(&e, 0, sizeof(xbt_ex_t));
 
   /* 1. Init the GRAS's infrastructure */
   gras_init(&argc, argv);
 
   /* 2. Get the server's address. The command line override defaults when specified */
   if (argc == 5) {
-    host=argv[1];
-    port=atoi(argv[2]);
+    host = argv[1];
+    port = atoi(argv[2]);
   }
-  INFO2("Launch client (server on %s:%d)",host,port);
+  INFO2("Launch client (server on %s:%d)", host, port);
 
   exception_catching();
 
@@ -90,30 +95,32 @@ int client(int argc,char *argv[]) {
   /* 4. Create a socket to speak to the server */
   TRY {
     exception_catching();
-    toserver=gras_socket_client(host,port);
-    toforwarder=gras_socket_client(argv[3],atoi(argv[4]));
-  } CATCH(e) {
+    toserver = gras_socket_client(host, port);
+    toforwarder = gras_socket_client(argv[3], atoi(argv[4]));
+  }
+  CATCH(e) {
     RETHROW0("Unable to connect to the server: %s");
   }
-  INFO2("Connected to %s:%d.",host,port);
+  INFO2("Connected to %s:%d.", host, port);
 
 
   /* 5. Register the messages.
-        See, it doesn't have to be done completely at the beginning,
-       but only before use */
+     See, it doesn't have to be done completely at the beginning,
+     but only before use */
   exception_catching();
   register_messages();
 
   /* 6. Keep the user informed of what's going on */
   INFO2("Connected to server which is on %s:%d",
-       gras_socket_peer_name(toserver),gras_socket_peer_port(toserver));
+        gras_socket_peer_name(toserver), gras_socket_peer_port(toserver));
 
   /* 7. Prepare and send the ping message to the server */
   ping = 1234;
   TRY {
     exception_catching();
     gras_msg_rpccall(toserver, 6000.0, "plain ping", &ping, &pong);
-  } CATCH(e) {
+  }
+  CATCH(e) {
     gras_socket_close(toserver);
     RETHROW0("Failed to execute a PING rpc on the server: %s");
   }
@@ -121,74 +128,81 @@ int client(int argc,char *argv[]) {
 
   /* 8. Keep the user informed of what's going on, again */
   INFO4("The answer to PING(%d) on %s:%d is PONG(%d)",
-       ping,
-       gras_socket_peer_name(toserver),gras_socket_peer_port(toserver),
-       pong);
+        ping,
+        gras_socket_peer_name(toserver), gras_socket_peer_port(toserver),
+        pong);
 
   /* 9. Call a RPC which raises an exception (to test exception propagation) */
   INFO0("Call the exception raising RPC");
   TRY {
     gras_msg_rpccall(toserver, 6000.0, "raise exception", NULL, NULL);
-  } CATCH(e) {
+  }
+  CATCH(e) {
     gotit = 1;
     xbt_assert2(e.category == unknown_error,
-               "Got wrong category: %d (instead of %d)",
-             e.category,unknown_error);
+                "Got wrong category: %d (instead of %d)",
+                e.category, unknown_error);
     xbt_assert1(e.value == 42, "Got wrong value: %d (!=42)", e.value);
-    xbt_assert1(!strncmp(e.msg,exception_msg,strlen(exception_msg)),
-               "Got wrong message: %s", e.msg);
-    INFO0("Got the expected exception when calling the exception raising RPC");
+    xbt_assert1(!strncmp(e.msg, exception_msg, strlen(exception_msg)),
+                "Got wrong message: %s", e.msg);
+    INFO0
+      ("Got the expected exception when calling the exception raising RPC");
     xbt_ex_free(e);
   }
 
   if (!gotit)
-    THROW0(unknown_error,0,"Didn't got the remote exception!");
+    THROW0(unknown_error, 0, "Didn't got the remote exception!");
 
   INFO0("Called the exception raising RPC");
   exception_catching();
 
   /* doxygen_ignore */
-  for (i=0; i<5; i++) {
-
-     INFO1("Call the exception raising RPC (i=%d)",i);
-     TRY {
-       gras_msg_rpccall(toserver, 6000.0, "raise exception", NULL, NULL);
-     } CATCH(e) {
-       gotit = 1;
-       xbt_ex_free(e);
-     }
-     if (!gotit) {
-       THROW0(unknown_error,0,"Didn't got the remote exception!");
-     }
+  for (i = 0; i < 5; i++) {
+
+    INFO1("Call the exception raising RPC (i=%d)", i);
+    TRY {
+      gras_msg_rpccall(toserver, 6000.0, "raise exception", NULL, NULL);
+    }
+    CATCH(e) {
+      gotit = 1;
+      xbt_ex_free(e);
+    }
+    if (!gotit) {
+      THROW0(unknown_error, 0, "Didn't got the remote exception!");
+    }
   }
   /* doxygen_resume */
 
   /* 9. Call a RPC which raises an exception (to test that exception propagation works) */
-  for (i=0;i<5;i++) {
-    INFO1("Call the exception raising RPC on the forwarder (i=%d)",i);
+  for (i = 0; i < 5; i++) {
+    INFO1("Call the exception raising RPC on the forwarder (i=%d)", i);
     TRY {
       gras_msg_rpccall(toforwarder, 6000.0, "forward exception", NULL, NULL);
-    } CATCH(e) {
+    }
+    CATCH(e) {
       gotit = 1;
     }
     if (!gotit) {
-      THROW0(unknown_error,0,"Didn't got the remote exception!");
+      THROW0(unknown_error, 0, "Didn't got the remote exception!");
     }
     xbt_assert1(e.value == 42, "Got wrong value: %d (!=42)", e.value);
-    xbt_assert1(!strncmp(e.msg,exception_msg,strlen(exception_msg)),
-               "Got wrong message: %s", e.msg);
+    xbt_assert1(!strncmp(e.msg, exception_msg, strlen(exception_msg)),
+                "Got wrong message: %s", e.msg);
     xbt_assert2(e.category == unknown_error,
-               "Got wrong category: %d (instead of %d)",
-               e.category,unknown_error);
-    INFO0("Got the expected exception when calling the exception raising RPC");
+                "Got wrong category: %d (instead of %d)",
+                e.category, unknown_error);
+    INFO0
+      ("Got the expected exception when calling the exception raising RPC");
     xbt_ex_free(e);
     exception_catching();
   }
 
-  INFO2("Ask %s:%d to die",gras_socket_peer_name(toforwarder),gras_socket_peer_port(toforwarder));
-  gras_msg_send(toforwarder,"kill",NULL);
-  INFO2("Ask %s:%d to die",gras_socket_peer_name(toserver),gras_socket_peer_port(toserver));
-  gras_msg_send(toserver,"kill",NULL);
+  INFO2("Ask %s:%d to die", gras_socket_peer_name(toforwarder),
+        gras_socket_peer_port(toforwarder));
+  gras_msg_send(toforwarder, "kill", NULL);
+  INFO2("Ask %s:%d to die", gras_socket_peer_name(toserver),
+        gras_socket_peer_port(toserver));
+  gras_msg_send(toserver, "kill", NULL);
 
   /* 11. Cleanup the place before leaving */
   gras_socket_close(toserver);
@@ -196,7 +210,7 @@ int client(int argc,char *argv[]) {
   INFO0("Done.");
   gras_exit();
   return 0;
-} /* end_of_client */
+}                               /* end_of_client */
 
 
 /* **********************************************************************
@@ -207,47 +221,49 @@ typedef struct {
   int done;
 } s_forward_data_t, *forward_data_t;
 
-static int forwarder_cb_kill(gras_msg_cb_ctx_t ctx,
-                                void             *payload_data) {
+static int forwarder_cb_kill(gras_msg_cb_ctx_t ctx, void *payload_data)
+{
   forward_data_t fdata;
   gras_socket_t expeditor = gras_msg_cb_ctx_from(ctx);
-  INFO2("Asked to die by %s:%d",gras_socket_peer_name(expeditor),gras_socket_peer_port(expeditor));
-  fdata=gras_userdata_get();
+  INFO2("Asked to die by %s:%d", gras_socket_peer_name(expeditor),
+        gras_socket_peer_port(expeditor));
+  fdata = gras_userdata_get();
   fdata->done = 1;
   return 0;
 }
 
-static int forwarder_cb_forward_ex(gras_msg_cb_ctx_t ctx,
-                                  void             *payload_data) {
-  forward_data_t fdata=gras_userdata_get();
+static int forwarder_cb_forward_ex(gras_msg_cb_ctx_t ctx, void *payload_data)
+{
+  forward_data_t fdata = gras_userdata_get();
 
   INFO0("Forward a request");
-  gras_msg_rpccall(fdata->server, 60, "raise exception",NULL,NULL);
+  gras_msg_rpccall(fdata->server, 60, "raise exception", NULL, NULL);
   return 0;
 }
 
-int forwarder (int argc,char *argv[]) {
+int forwarder(int argc, char *argv[])
+{
   gras_socket_t mysock;
   int port;
   forward_data_t fdata;
 
-  gras_init(&argc,argv);
+  gras_init(&argc, argv);
 
   xbt_assert(argc == 4);
 
-  fdata=gras_userdata_new(s_forward_data_t);
+  fdata = gras_userdata_new(s_forward_data_t);
   fdata->done = 0;
-  port=atoi(argv[1]);
+  port = atoi(argv[1]);
 
   INFO1("Launch forwarder (port=%d)", port);
   mysock = gras_socket_server(port);
 
-  gras_os_sleep(1); /* wait for the server to be ready */
-  fdata->server=gras_socket_client(argv[2],atoi(argv[3]));
+  gras_os_sleep(1);             /* wait for the server to be ready */
+  fdata->server = gras_socket_client(argv[2], atoi(argv[3]));
 
   register_messages();
   gras_cb_register("forward exception", &forwarder_cb_forward_ex);
-  gras_cb_register("kill",              &forwarder_cb_kill);
+  gras_cb_register("kill", &forwarder_cb_kill);
 
   while (!fdata->done) {
     gras_msg_handle(600.0);
@@ -269,64 +285,66 @@ typedef struct {
   int done;
 } s_server_data_t, *server_data_t;
 
-static int server_cb_kill(gras_msg_cb_ctx_t ctx,
-                         void             *payload_data) {
+static int server_cb_kill(gras_msg_cb_ctx_t ctx, void *payload_data)
+{
   gras_socket_t expeditor = gras_msg_cb_ctx_from(ctx);
   server_data_t sdata;
 
-  INFO2("Asked to die by %s:%d",gras_socket_peer_name(expeditor),gras_socket_peer_port(expeditor));
+  INFO2("Asked to die by %s:%d", gras_socket_peer_name(expeditor),
+        gras_socket_peer_port(expeditor));
 
-  sdata=gras_userdata_get();
+  sdata = gras_userdata_get();
   sdata->done = 1;
   return 0;
 }
 
-static int server_cb_raise_ex(gras_msg_cb_ctx_t ctx,
-                             void             *payload_data) {
+static int server_cb_raise_ex(gras_msg_cb_ctx_t ctx, void *payload_data)
+{
   exception_raising();
   return 0;
 }
 
-static int server_cb_ping(gras_msg_cb_ctx_t ctx,
-                         void             *payload_data) {
+static int server_cb_ping(gras_msg_cb_ctx_t ctx, void *payload_data)
+{
 
   /* 1. Get the payload into the msg variable, and retrieve who called us */
-  int msg=*(int*)payload_data;
+  int msg = *(int *) payload_data;
   gras_socket_t expeditor = gras_msg_cb_ctx_from(ctx);
 
   /* 2. Log which client connected */
   INFO3("Got message PING(%d) from %s:%d",
-       msg,
-       gras_socket_peer_name(expeditor), gras_socket_peer_port(expeditor));
+        msg,
+        gras_socket_peer_name(expeditor), gras_socket_peer_port(expeditor));
 
   /* 4. Change the value of the msg variable */
   msg = 4321;
 
   /* 5. Return as result */
-  gras_msg_rpcreturn(6000,ctx,&msg);
+  gras_msg_rpcreturn(6000, ctx, &msg);
   INFO0("Answered with PONG(4321)");
 
   /* 6. Cleanups, if any */
 
   /* 7. Tell GRAS that we consummed this message */
   return 0;
-} /* end_of_server_cb_ping */
+}                               /* end_of_server_cb_ping */
 
 
-int server (int argc,char *argv[]) {
+int server(int argc, char *argv[])
+{
   gras_socket_t mysock;
   server_data_t sdata;
 
   int port = 4000;
 
   /* 1. Init the GRAS infrastructure */
-  gras_init(&argc,argv);
+  gras_init(&argc, argv);
 
   /* 2. Get the port I should listen on from the command line, if specified */
   if (argc == 2)
-    port=atoi(argv[1]);
+    port = atoi(argv[1]);
 
-  sdata=gras_userdata_new(s_server_data_t);
+  sdata = gras_userdata_new(s_server_data_t);
   sdata->done = 0;
 
   INFO1("Launch server (port=%d)", port);
@@ -336,9 +354,9 @@ int server (int argc,char *argv[]) {
 
   /* 4. Register the known messages and register my callback */
   register_messages();
-  gras_cb_register("plain ping",&server_cb_ping);
-  gras_cb_register("raise exception",&server_cb_raise_ex);
-  gras_cb_register("kill",&server_cb_kill);
+  gras_cb_register("plain ping", &server_cb_ping);
+  gras_cb_register("raise exception", &server_cb_raise_ex);
+  gras_cb_register("kill", &server_cb_kill);
 
   INFO1("Listening on port %d", gras_socket_my_port(mysock));
 
@@ -380,5 +398,4 @@ int server (int argc,char *argv[]) {
   gras_exit();
 
   return 0;
-} /* end_of_server */
-
+}                               /* end_of_server */
index 358569e..30ddc76 100644 (file)
@@ -16,7 +16,7 @@
 void spawn_register_messages(void);
 
 /* Function prototypes */
-int father (int argc,char *argv[]);
-int child (int argc,char *argv[]);
+int father(int argc, char *argv[]);
+int child(int argc, char *argv[]);
 
 #endif
index dd9b7f5..c8812ec 100644 (file)
 #include "spawn.h"
 XBT_LOG_EXTERNAL_DEFAULT_CATEGORY(Spawn);
 
-int child(int argc,char *argv[]) {
-  xbt_ex_t e; 
-  gras_socket_t dady=NULL; /* peer */
+int child(int argc, char *argv[])
+{
+  xbt_ex_t e;
+  gras_socket_t dady = NULL;    /* peer */
 
   gras_socket_t from;
   int ping, pong;
 
   const char *host = gras_os_myname();
-        int   port = 4000;
+  int port = 4000;
 
   /* 1. Init the GRAS's infrastructure */
   gras_init(&argc, argv);
-   
+
   /* 2. Get the server's address. The command line override defaults when specified */
   if (argc == 2) {
-    port=atoi(argv[1]);
-  } 
+    port = atoi(argv[1]);
+  }
+
+  gras_socket_server_range(4000, 5000, 0, 0);
 
-  gras_socket_server_range(4000,5000,0,0);
-   
   /* 3. Connect back to my father */
   TRY {
-    dady=gras_socket_client(host,port);
-  } CATCH(e) {
+    dady = gras_socket_client(host, port);
+  }
+  CATCH(e) {
     RETHROW0("Unable to connect to my dady: %s");
   }
   INFO4("I (%s:%d) have found my dady on %s:%d.",
-       gras_os_myname(),gras_os_myport(),host,port);
+        gras_os_myname(), gras_os_myport(), host, port);
 
 
   /* 4. Register the messages. */
@@ -47,22 +49,24 @@ int child(int argc,char *argv[]) {
   ping = 1234;
   TRY {
     gras_msg_send(dady, "ping", &ping);
-  } CATCH(e) {
+  }
+  CATCH(e) {
     gras_socket_close(dady);
     RETHROW0("Failed to ping my dady: %s");
   }
 
   /* 6. Wait for the answer from the server, and deal with issues */
   TRY {
-    gras_msg_wait(6000,"pong", &from,&pong);
-  } CATCH(e) {
+    gras_msg_wait(6000, "pong", &from, &pong);
+  }
+  CATCH(e) {
     gras_socket_close(dady);
     RETHROW0("Dad don't want to speak with me! : %s");
   }
   INFO2("Pinged dad with %d, he answered with %d; leaving now.", ping, pong);
-   
+
   /* 7. Free the allocated resources, and shut GRAS down */
   gras_socket_close(dady);
   gras_exit();
   return 0;
-} /* end_of_child */
+}                               /* end_of_child */
index 26d2cba..ac272a0 100644 (file)
@@ -8,11 +8,11 @@
  * under the terms of the license (GNU LGPL) which comes with this package. */
 
 #include "spawn.h"
-XBT_LOG_NEW_DEFAULT_CATEGORY(Spawn,"Messages specific to this example");
+XBT_LOG_NEW_DEFAULT_CATEGORY(Spawn, "Messages specific to this example");
 
 /* register messages which may be sent (common to client and server) */
-void spawn_register_messages(void) {
+void spawn_register_messages(void)
+{
   gras_msgtype_declare("ping", gras_datadesc_by_name("int"));
   gras_msgtype_declare("pong", gras_datadesc_by_name("int"));
 }
-
index c8f88ac..3110064 100644 (file)
@@ -18,86 +18,89 @@ typedef struct {
 } father_data_t;
 
 
-static int father_cb_ping_handler(gras_msg_cb_ctx_t ctx, void *payload) {
-                            
+static int father_cb_ping_handler(gras_msg_cb_ctx_t ctx, void *payload)
+{
+
   xbt_ex_t e;
   /* 1. Get the payload into the msg variable, and retrieve my caller */
-  int msg=*(int*)payload;
+  int msg = *(int *) payload;
   gras_socket_t expeditor = gras_msg_cb_ctx_from(ctx);
 
   /* 2. Retrieve the father's state (globals) */
-  father_data_t *globals=(father_data_t*)gras_userdata_get();
+  father_data_t *globals = (father_data_t *) gras_userdata_get();
   globals->msg_got++;
-   
+
   /* 3. Log which client connected */
-  INFO3("Kid %s:%d pinged me with %d", 
-       gras_socket_peer_name(expeditor), gras_socket_peer_port(expeditor),msg);
-  
+  INFO3("Kid %s:%d pinged me with %d",
+        gras_socket_peer_name(expeditor), gras_socket_peer_port(expeditor),
+        msg);
+
   /* 4. Change the value of the msg variable */
   msg = 4321;
   /* 5. Send it back as payload of a pong message to the expeditor */
   TRY {
     gras_msg_send(expeditor, "pong", &msg);
 
-  /* 6. Deal with errors: add some details to the exception */
+    /* 6. Deal with errors: add some details to the exception */
   } CATCH(e) {
     gras_socket_close(globals->sock);
     RETHROW0("Unable to answer to my poor child: %s");
   }
   INFO2("Answered to %s:%d's request",
-       gras_socket_peer_name(expeditor), gras_socket_peer_port(expeditor));
-   
+        gras_socket_peer_name(expeditor), gras_socket_peer_port(expeditor));
+
   /* 7. Tell GRAS that we consummed this message */
   return 0;
-} /* end_of_father_cb_ping_handler */
+}                               /* end_of_father_cb_ping_handler */
 
-int father (int argc,char *argv[]) {
+int father(int argc, char *argv[])
+{
   father_data_t *globals;
 
   int port = 4000;
   int child_amount = 5;
   char **child_args;
   int i;
-  
+
   /* 1. Init the GRAS infrastructure and declare my globals */
-  gras_init(&argc,argv);
-  globals=gras_userdata_new(father_data_t);
-   
+  gras_init(&argc, argv);
+  globals = gras_userdata_new(father_data_t);
+
   /* 2. Get args from the command line, if specified */
   if (argc == 2) {
-    port=atoi(argv[1]);
-    child_amount=atoi(argv[2]);
+    port = atoi(argv[1]);
+    child_amount = atoi(argv[2]);
   }
 
   /* 3. Initialize my globals (mainly create my master socket) */
   globals->sock = gras_socket_server(port);
-  globals->msg_got = 0;   
-   
+  globals->msg_got = 0;
+
   /* 4. Register the known messages. */
   spawn_register_messages();
-   
+
   /* 5. Register my callback */
-  gras_cb_register("ping",&father_cb_ping_handler);
+  gras_cb_register("ping", &father_cb_ping_handler);
 
-  /* 6. Spawn the kids */   
+  /* 6. Spawn the kids */
   INFO0("Spawn the kids");
-  for (i=0; i<child_amount; i++) {     
-     child_args = xbt_new0(char*,3);
-     child_args[0] = xbt_strdup("child");
-     child_args[1] = bprintf("%d",port);
-     child_args[2] = NULL;
-     gras_agent_spawn("child",NULL,child,2,child_args,NULL);
+  for (i = 0; i < child_amount; i++) {
+    child_args = xbt_new0(char *, 3);
+    child_args[0] = xbt_strdup("child");
+    child_args[1] = bprintf("%d", port);
+    child_args[2] = NULL;
+    gras_agent_spawn("child", NULL, child, 2, child_args, NULL);
   }
-     
+
   /* 7. Wait to be contacted be the kids */
   while (globals->msg_got < child_amount)
-     gras_msg_handle(60.0);
+    gras_msg_handle(60.0);
   INFO0("All kids gone. Leave now.");
-   
+
   /* 8. Free the allocated resources, and shut GRAS down */
   gras_socket_close(globals->sock);
   free(globals);
   gras_exit();
-   
+
   return 0;
-} /* end_of_father */
+}                               /* end_of_father */
index a19c3c9..5289892 100644 (file)
@@ -10,7 +10,7 @@
 #include "gras.h"
 #include "xbt/synchro.h"
 
-XBT_LOG_NEW_DEFAULT_CATEGORY(philo,"Logs of this example");
+XBT_LOG_NEW_DEFAULT_CATEGORY(philo, "Logs of this example");
 
 
 /** Philosopher logic **/
@@ -24,34 +24,39 @@ xbt_cond_t *forks;
 #define EATING 1
 int *state;
 
-int *id; /* to pass a pointer to the threads without race condition */
-
-static void pickup(int id, int lunch)  {
-   INFO2("Thread %d gets hungry (lunch #%d)",id,lunch);
-   xbt_mutex_acquire(mutex);
-   while (state[(id + (philosopher_amount-1))%philosopher_amount] == EATING ||
-         state[(id + 1)%philosopher_amount] == EATING) 
-     {
-       xbt_cond_wait(forks[id], mutex);
-     }
-   
-   state[id] = EATING;
-   xbt_assert1(state[(id + (philosopher_amount-1))%philosopher_amount] == THINKING &&
-              state[(id + 1)%philosopher_amount] == THINKING ,
-              "Philosopher %d eats at the same time that one of its neighbors!!!",id);
-       
-   xbt_mutex_release(mutex);
-   INFO1("Thread %d eats",id);
+int *id;                        /* to pass a pointer to the threads without race condition */
+
+static void pickup(int id, int lunch)
+{
+  INFO2("Thread %d gets hungry (lunch #%d)", id, lunch);
+  xbt_mutex_acquire(mutex);
+  while (state[(id + (philosopher_amount - 1)) % philosopher_amount] == EATING
+         || state[(id + 1) % philosopher_amount] == EATING) {
+    xbt_cond_wait(forks[id], mutex);
+  }
+
+  state[id] = EATING;
+  xbt_assert1(state[(id + (philosopher_amount - 1)) % philosopher_amount] ==
+              THINKING
+              && state[(id + 1) % philosopher_amount] == THINKING,
+              "Philosopher %d eats at the same time that one of its neighbors!!!",
+              id);
+
+  xbt_mutex_release(mutex);
+  INFO1("Thread %d eats", id);
 }
-static void putdown(int id)  {
-   INFO1("Thread %d is full",id);
-   xbt_mutex_acquire(mutex);
-   state[id] = THINKING;
-   xbt_cond_signal(forks[(id+(philosopher_amount-1))%philosopher_amount]);
-   xbt_cond_signal(forks[(id+1)%philosopher_amount]);
-   
-   xbt_mutex_release(mutex);
-   INFO1("Thread %d thinks",id);
+
+static void putdown(int id)
+{
+  INFO1("Thread %d is full", id);
+  xbt_mutex_acquire(mutex);
+  state[id] = THINKING;
+  xbt_cond_signal(forks
+                  [(id + (philosopher_amount - 1)) % philosopher_amount]);
+  xbt_cond_signal(forks[(id + 1) % philosopher_amount]);
+
+  xbt_mutex_release(mutex);
+  INFO1("Thread %d thinks", id);
 }
 
 /*
@@ -64,74 +69,80 @@ int running_threads;
 xbt_mutex_t dead_end;
 
 /* Code ran by each thread */
-static void philo_thread(void *arg) {
-   int id = *(int*)arg;
-   int i;
-   
-   for (i=0; i<lunch_amount; i++) {
-      pickup(id,i);
-      gras_os_sleep(id / 100.0); /* each philosopher sleeps and eat a time related to its ID */
-      putdown(id);
-      gras_os_sleep(id / 100.0);
-   }
-   
-   xbt_mutex_acquire(mut_end);
-   running_threads--;
-   xbt_cond_signal(cond_end);
-   xbt_mutex_release(mut_end);
-
-   /* Enter an endless loop to test the killing facilities */
-   INFO1("Thread %d tries to enter the dead-end; hopefully, the master will cancel it",id);
-   xbt_mutex_acquire(dead_end);
-   INFO1("Oops, thread %d reached the dead-end. Cancelation failed",id);
+static void philo_thread(void *arg)
+{
+  int id = *(int *) arg;
+  int i;
+
+  for (i = 0; i < lunch_amount; i++) {
+    pickup(id, i);
+    gras_os_sleep(id / 100.0);  /* each philosopher sleeps and eat a time related to its ID */
+    putdown(id);
+    gras_os_sleep(id / 100.0);
+  }
+
+  xbt_mutex_acquire(mut_end);
+  running_threads--;
+  xbt_cond_signal(cond_end);
+  xbt_mutex_release(mut_end);
+
+  /* Enter an endless loop to test the killing facilities */
+  INFO1
+    ("Thread %d tries to enter the dead-end; hopefully, the master will cancel it",
+     id);
+  xbt_mutex_acquire(dead_end);
+  INFO1("Oops, thread %d reached the dead-end. Cancelation failed", id);
 }
 
-int philosopher (int argc,char *argv[]);
-int philosopher (int argc,char *argv[]) {
+int philosopher(int argc, char *argv[]);
+int philosopher(int argc, char *argv[])
+{
   int i;
   xbt_thread_t *philosophers;
-   
-  gras_init(&argc,argv);
-  xbt_assert0(argc>=2,"This program expects one argument (the amount of philosophers)");
+
+  gras_init(&argc, argv);
+  xbt_assert0(argc >= 2,
+              "This program expects one argument (the amount of philosophers)");
 
   /* initializations of the philosopher mecanisms */
   philosopher_amount = atoi(argv[1]);
-  state = xbt_new0(int,philosopher_amount); 
-  id = xbt_new0(int,philosopher_amount); 
-  forks = xbt_new(xbt_cond_t,philosopher_amount);
-  philosophers = xbt_new(xbt_thread_t,philosopher_amount);
-     
+  state = xbt_new0(int, philosopher_amount);
+  id = xbt_new0(int, philosopher_amount);
+  forks = xbt_new(xbt_cond_t, philosopher_amount);
+  philosophers = xbt_new(xbt_thread_t, philosopher_amount);
+
   mutex = xbt_mutex_init();
-  for (i=0; i<philosopher_amount; i++) {
-     state[i] = THINKING;
-     id[i] = i;
-     forks[i] = xbt_cond_init();
+  for (i = 0; i < philosopher_amount; i++) {
+    state[i] = THINKING;
+    id[i] = i;
+    forks[i] = xbt_cond_init();
   }
-   
+
   /* setup the ending mecanism */
-  running_threads = philosopher_amount; 
+  running_threads = philosopher_amount;
   cond_end = xbt_cond_init();
   mut_end = xbt_mutex_init();
   dead_end = xbt_mutex_init();
   xbt_mutex_acquire(dead_end);
-  
-  INFO2("Spawn the %d threads (%d lunches scheduled)", philosopher_amount, lunch_amount);
+
+  INFO2("Spawn the %d threads (%d lunches scheduled)", philosopher_amount,
+        lunch_amount);
   /* spawn threads */
-  for (i=0; i<philosopher_amount; i++) {
-     char *name = bprintf("thread %d",i);
-     philosophers[i] = xbt_thread_create(name,philo_thread,&id[i]);
-     free(name);
+  for (i = 0; i < philosopher_amount; i++) {
+    char *name = bprintf("thread %d", i);
+    philosophers[i] = xbt_thread_create(name, philo_thread, &id[i]);
+    free(name);
   }
-  
+
   /* wait for them */
   xbt_mutex_acquire(mut_end);
-  while (running_threads) 
-     xbt_cond_wait(cond_end,mut_end);
+  while (running_threads)
+    xbt_cond_wait(cond_end, mut_end);
   xbt_mutex_release(mut_end);
-       
+
   INFO0("Cancel all childs");
   /* nuke them threads */
-  for (i=0; i<philosopher_amount; i++) {
+  for (i = 0; i < philosopher_amount; i++) {
     xbt_thread_cancel(philosophers[i]);
   }
 
index b46d388..33ff4e1 100644 (file)
@@ -7,77 +7,82 @@
 /* This program is free software; you can redistribute it and/or modify it
  * under the terms of the license (GNU LGPL) which comes with this package. */
 
-int client(int argc,char *argv[]); /* Placed here to not bother doxygen inclusion */
+int client(int argc, char *argv[]);     /* Placed here to not bother doxygen inclusion */
 
 #include "gras.h"
 
-XBT_LOG_NEW_DEFAULT_CATEGORY(test,"Logging specific to this test");
+XBT_LOG_NEW_DEFAULT_CATEGORY(test, "Logging specific to this test");
 
 #define REPEAT_INTERVAL 1.0
 #define DELAY_INTERVAL 2.0
 #define LOOP_COUNT 5
 
 typedef struct {
-   int still_to_do;
+  int still_to_do;
 } my_globals;
 
-static void repetitive_action(void) {
-   my_globals *globals=(my_globals*)gras_userdata_get();
-   
-   /* Stop if nothing to do yet */
-   if (globals->still_to_do <= 0) {
-     INFO0("Repetitive_action has nothing to do yet");
-     return;
-   }
-   
-   if (globals->still_to_do == 1) {
-      /* Unregister myself if I'm done */
-      gras_timer_cancel_repeat(REPEAT_INTERVAL,repetitive_action);
-   }
-
-   INFO1("repetitive_action decrementing globals->still_to_do. New value: %d",
-        globals->still_to_do-1);
-   
-   globals->still_to_do--; /* should be the last line of the action since value=0 stops the program */
-} /* end_of_repetitive_action */
-
-static void delayed_action(void) {
-   my_globals *globals=(my_globals*)gras_userdata_get();
-   
-   INFO1("delayed_action setting globals->still_to_do to %d",LOOP_COUNT);
-
-   globals->still_to_do = LOOP_COUNT;
-} /* end_of_delayed_action */
-
-int client(int argc,char *argv[]) {
+static void repetitive_action(void)
+{
+  my_globals *globals = (my_globals *) gras_userdata_get();
+
+  /* Stop if nothing to do yet */
+  if (globals->still_to_do <= 0) {
+    INFO0("Repetitive_action has nothing to do yet");
+    return;
+  }
+
+  if (globals->still_to_do == 1) {
+    /* Unregister myself if I'm done */
+    gras_timer_cancel_repeat(REPEAT_INTERVAL, repetitive_action);
+  }
+
+  INFO1("repetitive_action decrementing globals->still_to_do. New value: %d",
+        globals->still_to_do - 1);
+
+  globals->still_to_do--;       /* should be the last line of the action since value=0 stops the program */
+}                               /* end_of_repetitive_action */
+
+static void delayed_action(void)
+{
+  my_globals *globals = (my_globals *) gras_userdata_get();
+
+  INFO1("delayed_action setting globals->still_to_do to %d", LOOP_COUNT);
+
+  globals->still_to_do = LOOP_COUNT;
+}                               /* end_of_delayed_action */
+
+int client(int argc, char *argv[])
+{
   my_globals *globals;
 
-  gras_init(&argc,argv);
-  globals=gras_userdata_new(my_globals);
+  gras_init(&argc, argv);
+  globals = gras_userdata_new(my_globals);
   globals->still_to_do = -1;
 
-  INFO1("Programming the repetitive_action with a frequency of %f sec", REPEAT_INTERVAL);
-  gras_timer_repeat(REPEAT_INTERVAL,repetitive_action);
-   
+  INFO1("Programming the repetitive_action with a frequency of %f sec",
+        REPEAT_INTERVAL);
+  gras_timer_repeat(REPEAT_INTERVAL, repetitive_action);
+
   INFO1("Programming the delayed_action for after %f sec", DELAY_INTERVAL);
-  gras_timer_delay(REPEAT_INTERVAL,delayed_action);
+  gras_timer_delay(REPEAT_INTERVAL, delayed_action);
 
-  INFO0("Have a rest");  
+  INFO0("Have a rest");
   gras_os_sleep(DELAY_INTERVAL / 2.0);
-   
+
   INFO0("Canceling the delayed_action.");
-  gras_timer_cancel_delay(REPEAT_INTERVAL,delayed_action);
+  gras_timer_cancel_delay(REPEAT_INTERVAL, delayed_action);
 
-  INFO1("Re-programming the delayed_action for after %f sec",DELAY_INTERVAL);
-  gras_timer_delay(REPEAT_INTERVAL,delayed_action);
+  INFO1("Re-programming the delayed_action for after %f sec", DELAY_INTERVAL);
+  gras_timer_delay(REPEAT_INTERVAL, delayed_action);
 
   while (globals->still_to_do == -1 ||  /* Before delayed action runs */
-        globals->still_to_do > 0 /* after delayed_action, and not enough repetitive_action */) {
+         globals->still_to_do >
+         0 /* after delayed_action, and not enough repetitive_action */ ) {
 
-     DEBUG1("Prepare to handle messages for 5 sec (still_to_do=%d)", globals->still_to_do);
-     gras_msg_handle(5.0);
+    DEBUG1("Prepare to handle messages for 5 sec (still_to_do=%d)",
+           globals->still_to_do);
+    gras_msg_handle(5.0);
   }
   gras_exit();
   return 0;
-} /* end_of_client */
-
+}                               /* end_of_client */
index 97de6b3..7dfd787 100644 (file)
@@ -6,83 +6,93 @@
  * under the terms of the license (GNU LGPL) which comes with this package. */
 
 #include <stdio.h>
-#include "msg/msg.h" /* Yeah! If you want to use msg, you need to include msg/msg.h */
-#include "xbt.h" /* calloc, printf */
+#include "msg/msg.h"            /* Yeah! If you want to use msg, you need to include msg/msg.h */
+#include "xbt.h"                /* calloc, printf */
 
-XBT_LOG_NEW_DEFAULT_CATEGORY(msg_test,"Messages specific for this msg example");
+XBT_LOG_NEW_DEFAULT_CATEGORY(msg_test,
+                             "Messages specific for this msg example");
 
 /* My actions */
-static void send(xbt_dynar_t action) {
-       char *name=xbt_str_join(action," ");
-       char *to = xbt_dynar_get_as(action,2,char*);
-       char *size=xbt_dynar_get_as(action,3,char*);
-       INFO1("Send: %s",name);
-       MSG_task_send(MSG_task_create(name, 0, atoi(size), NULL), to);
-       INFO1("Sent %s",name);
-   free(name);
+static void send(xbt_dynar_t action)
+{
+  char *name = xbt_str_join(action, " ");
+  char *to = xbt_dynar_get_as(action, 2, char *);
+  char *size = xbt_dynar_get_as(action, 3, char *);
+  INFO1("Send: %s", name);
+  MSG_task_send(MSG_task_create(name, 0, atoi(size), NULL), to);
+  INFO1("Sent %s", name);
+  free(name);
 }
-static void recv(xbt_dynar_t action) {
-       char *name=xbt_str_join(action," ");
-       m_task_t task = NULL;
-       INFO1("Receiving: %s",name);
-       //FIXME: argument of action ignored so far; semantic not clear
-       //char *from=xbt_dynar_get_as(action,2,char*);
-       MSG_task_receive(&task,MSG_process_get_name(MSG_process_self()));
-       INFO1("Received %s",MSG_task_get_name(task));
-       MSG_task_destroy(task);
-   free(name);
+
+static void recv(xbt_dynar_t action)
+{
+  char *name = xbt_str_join(action, " ");
+  m_task_t task = NULL;
+  INFO1("Receiving: %s", name);
+  //FIXME: argument of action ignored so far; semantic not clear
+  //char *from=xbt_dynar_get_as(action,2,char*);
+  MSG_task_receive(&task, MSG_process_get_name(MSG_process_self()));
+  INFO1("Received %s", MSG_task_get_name(task));
+  MSG_task_destroy(task);
+  free(name);
 }
-static void sleep(xbt_dynar_t action) {
-       char *name=xbt_str_join(action," ");
-       char *duration=xbt_dynar_get_as(action,2,char*);
-       INFO1("sleep: %s",name);
-       MSG_process_sleep(atoi(duration));
-       INFO1("sleept: %s",name);
-   free(name);
+
+static void sleep(xbt_dynar_t action)
+{
+  char *name = xbt_str_join(action, " ");
+  char *duration = xbt_dynar_get_as(action, 2, char *);
+  INFO1("sleep: %s", name);
+  MSG_process_sleep(atoi(duration));
+  INFO1("sleept: %s", name);
+  free(name);
 }
-static void compute(xbt_dynar_t action) {
-       char *name=xbt_str_join(action," ");
-       char *amout=xbt_dynar_get_as(action,2,char*);
-       m_task_t task = MSG_task_create(name, atoi(amout), 0, NULL);
-       INFO1("computing: %s",name);
-       MSG_task_execute(task);
-       MSG_task_destroy(task);
-       INFO1("computed: %s",name);
-   free(name);
+
+static void compute(xbt_dynar_t action)
+{
+  char *name = xbt_str_join(action, " ");
+  char *amout = xbt_dynar_get_as(action, 2, char *);
+  m_task_t task = MSG_task_create(name, atoi(amout), 0, NULL);
+  INFO1("computing: %s", name);
+  MSG_task_execute(task);
+  MSG_task_destroy(task);
+  INFO1("computed: %s", name);
+  free(name);
 }
 
 /** Main function */
-int main(int argc, char *argv[]){
-       MSG_error_t res = MSG_OK;
-
-       /* Check the given arguments */
-       MSG_global_init(&argc,argv);
-       if (argc < 4) {
-               printf ("Usage: %s platform_file deployment_file action_files\n",argv[0]);
-               printf ("example: %s msg_platform.xml msg_deployment.xml actions\n",argv[0]);
-               exit(1);
-       }
-
-       /*  Simulation setting */
-       MSG_create_environment(argv[1]);
-
-       /* No need to register functions as in classical MSG programs: the actions get started anyway */
-       MSG_launch_application(argv[2]);
-
-       /*   Action registration */
-       MSG_action_register("send", send);
-       MSG_action_register("recv", recv);
-       MSG_action_register("sleep", sleep);
-       MSG_action_register("compute", compute);
-
-       /* Actually do the simulation using MSG_action_trace_run */
-       res = MSG_action_trace_run(argv[3]);
-
-       INFO1("Simulation time %g",MSG_get_clock());
-       MSG_clean();
-
-       if(res==MSG_OK)
-               return 0;
-       else
-               return 1;
-} /* end_of_main */
+int main(int argc, char *argv[])
+{
+  MSG_error_t res = MSG_OK;
+
+  /* Check the given arguments */
+  MSG_global_init(&argc, argv);
+  if (argc < 4) {
+    printf("Usage: %s platform_file deployment_file action_files\n", argv[0]);
+    printf("example: %s msg_platform.xml msg_deployment.xml actions\n",
+           argv[0]);
+    exit(1);
+  }
+
+  /*  Simulation setting */
+  MSG_create_environment(argv[1]);
+
+  /* No need to register functions as in classical MSG programs: the actions get started anyway */
+  MSG_launch_application(argv[2]);
+
+  /*   Action registration */
+  MSG_action_register("send", send);
+  MSG_action_register("recv", recv);
+  MSG_action_register("sleep", sleep);
+  MSG_action_register("compute", compute);
+
+  /* Actually do the simulation using MSG_action_trace_run */
+  res = MSG_action_trace_run(argv[3]);
+
+  INFO1("Simulation time %g", MSG_get_clock());
+  MSG_clean();
+
+  if (res == MSG_OK)
+    return 0;
+  else
+    return 1;
+}                               /* end_of_main */
index 32430c2..43b2826 100644 (file)
@@ -4,7 +4,8 @@
 #include "xbt/log.h"
 #include "xbt/asserts.h"
 
-XBT_LOG_NEW_DEFAULT_CATEGORY(msg_test,"Messages specific for this msg example");
+XBT_LOG_NEW_DEFAULT_CATEGORY(msg_test,
+                             "Messages specific for this msg example");
 
 int master(int argc, char *argv[]);
 int slave(int argc, char *argv[]);
@@ -17,15 +18,15 @@ typedef enum {
 
 //keep a pointer to all surf running tasks.
 #define NTASKS 1500
-int bool_printed=0;
+int bool_printed = 0;
 double start_time, end_time, elapsed_time;
-double   gl_data_size[NTASKS];
+double gl_data_size[NTASKS];
 m_task_t gl_task_array[NTASKS];
-const char * slavenames[NTASKS];
-const char * masternames[NTASKS];
-int gl_task_array_id=0;
+const char *slavenames[NTASKS];
+const char *masternames[NTASKS];
+int gl_task_array_id = 0;
 
-#define FINALIZE ((void*)221297) /* a magic number to tell people to stop working */
+#define FINALIZE ((void*)221297)        /* a magic number to tell people to stop working */
 
 /** master */
 int master(int argc, char *argv[])
@@ -38,45 +39,46 @@ int master(int argc, char *argv[])
   //unique id to control statistics
   int id = -1;
 
-  if(argc != 4){
-    INFO1("Strange number of arguments expected 3 got %d", argc-1 );
+  if (argc != 4) {
+    INFO1("Strange number of arguments expected 3 got %d", argc - 1);
   }
 
   /* data size */
-  xbt_assert1(sscanf(argv[1],"%lg", &task_comm_size),
-             "Invalid argument %s\n", argv[1]);
+  xbt_assert1(sscanf(argv[1], "%lg", &task_comm_size),
+              "Invalid argument %s\n", argv[1]);
 
   /* slave name */
   slavename = argv[2];
   id = atoi(argv[3]);
-  sprintf(id_alias, "%d",id);
+  sprintf(id_alias, "%d", id);
   slavenames[id] = slavename;
 
   masternames[id] = MSG_host_get_name(MSG_host_self());
-  
-  { /*  Task creation.  */
+
+  {                             /*  Task creation.  */
     char sprintf_buffer[64] = "Task_0";
     todo = MSG_task_create(sprintf_buffer, 0, task_comm_size, NULL);
     //keep track of running tasks
     gl_task_array[id] = todo;
-    gl_data_size[id]=task_comm_size;
+    gl_data_size[id] = task_comm_size;
   }
 
-  { /* Process organisation */
+  {                             /* Process organisation */
     slave = MSG_get_host_by_name(slavename);
   }
 
   /* time measurement */
   start_time = MSG_get_clock();
-  MSG_task_send(todo, id_alias);  
+  MSG_task_send(todo, id_alias);
 
   end_time = MSG_get_clock();
   INFO3("Send completed (to %s). Transfer time: %f\t Agregate bandwidth: %f",
-       slave->name, (end_time - start_time), task_comm_size/(end_time-start_time));
-  INFO2("Completed peer: %s time: %f", slave->name, (end_time-start_time));
+        slave->name, (end_time - start_time),
+        task_comm_size / (end_time - start_time));
+  INFO2("Completed peer: %s time: %f", slave->name, (end_time - start_time));
 
   return 0;
-} /* end_of_master */
+}                               /* end_of_master */
 
 /** Receiver function  */
 int slave(int argc, char *argv[])
@@ -84,42 +86,48 @@ int slave(int argc, char *argv[])
 
   m_task_t task = NULL;
   int a;
-  int id=0;
-  double remaining=0;
+  int id = 0;
+  double remaining = 0;
   char id_alias[10];
 
-  if(argc != 2){
-    INFO1("Strange number of arguments expected 1 got %d", argc-1 );
+  if (argc != 2) {
+    INFO1("Strange number of arguments expected 1 got %d", argc - 1);
   }
 
   id = atoi(argv[1]);
-  sprintf(id_alias, "%d",id);
+  sprintf(id_alias, "%d", id);
 
-  a = MSG_task_receive(&(task), id_alias ); 
+  a = MSG_task_receive(&(task), id_alias);
 
   if (a != MSG_OK) {
     INFO0("Hey?! What's up?");
-    xbt_assert0(0,"Unexpected behavior.");
+    xbt_assert0(0, "Unexpected behavior.");
   }
-  
+
   elapsed_time = MSG_get_clock() - start_time;
 
-  if(!bool_printed){
-    bool_printed=1;
-    for(id=0; id<NTASKS; id++){
-      if(gl_task_array[id] == NULL){
-      }else if(gl_task_array[id] == task){
-       INFO5("===> Estimated Bw of FLOW[%d] : %f ;  message from %s to %s  with remaining : %f", id,  gl_data_size[id]/elapsed_time, masternames[id], slavenames[id],  0.0);
-      }else{
-       remaining = MSG_task_get_remaining_communication(gl_task_array[id]);
-       INFO5("===> Estimated Bw of FLOW[%d] : %f ;  message from %s to %s  with remaining : %f", id,  (gl_data_size[id]-remaining)/elapsed_time, masternames[id], slavenames[id],  remaining);
+  if (!bool_printed) {
+    bool_printed = 1;
+    for (id = 0; id < NTASKS; id++) {
+      if (gl_task_array[id] == NULL) {
+      } else if (gl_task_array[id] == task) {
+        INFO5
+          ("===> Estimated Bw of FLOW[%d] : %f ;  message from %s to %s  with remaining : %f",
+           id, gl_data_size[id] / elapsed_time, masternames[id],
+           slavenames[id], 0.0);
+      } else {
+        remaining = MSG_task_get_remaining_communication(gl_task_array[id]);
+        INFO5
+          ("===> Estimated Bw of FLOW[%d] : %f ;  message from %s to %s  with remaining : %f",
+           id, (gl_data_size[id] - remaining) / elapsed_time, masternames[id],
+           slavenames[id], remaining);
       }
     }
     exit(0);
   }
 
-  for(id=0; id<NTASKS; id++){
-    if(gl_task_array[id] == task){
+  for (id = 0; id < NTASKS; id++) {
+    if (gl_task_array[id] == task) {
       MSG_task_destroy(task);
       gl_task_array[id] = NULL;
       return 0;
@@ -127,29 +135,28 @@ int slave(int argc, char *argv[])
   }
 
   return 0;
-} /* end_of_slave */
+}                               /* end_of_slave */
 
 /** Test function */
-MSG_error_t test_all(const char *platform_file,
-                    const char *application_file)
+MSG_error_t test_all(const char *platform_file, const char *application_file)
 {
   MSG_error_t res = MSG_OK;
 
   /* MSG_config("workstation_model", "GTNETS"); */
   /* MSG_config("workstation_model","KCCFLN05"); */
-  {                            /*  Simulation setting */
+  {                             /*  Simulation setting */
     MSG_set_channel_number(MAX_CHANNEL);
     //MSG_paje_output("msg_test.trace");
     MSG_create_environment(platform_file);
   }
-  {                   /*   Application deployment */
+  {                             /*   Application deployment */
     MSG_function_register("master", master);
     MSG_function_register("slave", slave);
     MSG_launch_application(application_file);
   }
   res = MSG_main();
   return res;
-} /* end_of_test_all */
+}                               /* end_of_test_all */
 
 /** Main function */
 int main(int argc, char *argv[])
@@ -157,15 +164,17 @@ int main(int argc, char *argv[])
   MSG_error_t res = MSG_OK;
   bool_printed = 0;
 
-  MSG_global_init(&argc,argv);
+  MSG_global_init(&argc, argv);
   if (argc < 3) {
-     printf ("Usage: %s platform_file deployment_file\n",argv[0]);
-     exit(1);
+    printf("Usage: %s platform_file deployment_file\n", argv[0]);
+    exit(1);
   }
-  res = test_all(argv[1],argv[2]);
+  res = test_all(argv[1], argv[2]);
 
   MSG_clean();
 
-  if(res==MSG_OK) return 0; 
-  else return 1;
-} /* end_of_main */
+  if (res == MSG_OK)
+    return 0;
+  else
+    return 1;
+}                               /* end_of_main */
index 9bb9f39..4e9fc92 100644 (file)
@@ -4,7 +4,8 @@
 #include "xbt/log.h"
 #include "xbt/asserts.h"
 
-XBT_LOG_NEW_DEFAULT_CATEGORY(msg_test,"Messages specific for this msg example");
+XBT_LOG_NEW_DEFAULT_CATEGORY(msg_test,
+                             "Messages specific for this msg example");
 
 int master(int argc, char *argv[]);
 int slave(int argc, char *argv[]);
@@ -17,15 +18,15 @@ typedef enum {
 
 //keep a pointer to all surf running tasks.
 #define NTASKS 1500
-int bool_printed=0;
+int bool_printed = 0;
 double start_time, end_time, elapsed_time;
-double   gl_data_size[NTASKS];
+double gl_data_size[NTASKS];
 m_task_t gl_task_array[NTASKS];
-const char * slavenames[NTASKS];
-const char * masternames[NTASKS];
-int gl_task_array_id=0;
+const char *slavenames[NTASKS];
+const char *masternames[NTASKS];
+int gl_task_array_id = 0;
 
-#define FINALIZE ((void*)221297) /* a magic number to tell people to stop working */
+#define FINALIZE ((void*)221297)        /* a magic number to tell people to stop working */
 
 /** master */
 int master(int argc, char *argv[])
@@ -38,44 +39,47 @@ int master(int argc, char *argv[])
   //unique id to control statistics
   int id = -1;
 
-  if(argc != 4){
-    INFO1("Strange number of arguments expected 3 got %d", argc-1 );
+  if (argc != 4) {
+    INFO1("Strange number of arguments expected 3 got %d", argc - 1);
   }
 
   /* data size */
-  xbt_assert1(sscanf(argv[1],"%lg", &task_comm_size),
-             "Invalid argument %s\n", argv[1]);
+  xbt_assert1(sscanf(argv[1], "%lg", &task_comm_size),
+              "Invalid argument %s\n", argv[1]);
 
   /* slave name */
   slavename = argv[2];
   id = atoi(argv[3]);
-  sprintf(id_alias, "%d",id);
+  sprintf(id_alias, "%d", id);
   slavenames[id] = slavename;
 
   masternames[id] = MSG_host_get_name(MSG_host_self());
-  
-  { /*  Task creation.  */
+
+  {                             /*  Task creation.  */
     char sprintf_buffer[64] = "Task_0";
     todo = MSG_task_create(sprintf_buffer, 0, task_comm_size, NULL);
     //keep track of running tasks
     gl_task_array[id] = todo;
-    gl_data_size[id]=task_comm_size;
+    gl_data_size[id] = task_comm_size;
   }
 
-  { /* Process organisation */
+  {                             /* Process organisation */
     slave = MSG_get_host_by_name(slavename);
   }
 
   /* time measurement */
   start_time = MSG_get_clock();
-  MSG_task_send(todo, id_alias);  
+  MSG_task_send(todo, id_alias);
   end_time = MSG_get_clock();
 
-  INFO5("===> Estimated Bw of FLOW[%d] : %f ;  message from %s to %s  with remaining : %f", id+1,  task_comm_size/(end_time-start_time), masternames[id], slavenames[id],  0.0);
+  INFO5
+    ("===> Estimated Bw of FLOW[%d] : %f ;  message from %s to %s  with remaining : %f",
+     id + 1, task_comm_size / (end_time - start_time), masternames[id],
+     slavenames[id], 0.0);
 
 
   return 0;
-} /* end_of_master */
+}                               /* end_of_master */
 
 /** Receiver function  */
 int slave(int argc, char *argv[])
@@ -83,22 +87,22 @@ int slave(int argc, char *argv[])
 
   m_task_t task = NULL;
   int a;
-  int id=0;
+  int id = 0;
   char id_alias[10];
 
-  if(argc != 2){
-    INFO1("Strange number of arguments expected 1 got %d", argc-1 );
+  if (argc != 2) {
+    INFO1("Strange number of arguments expected 1 got %d", argc - 1);
   }
   id = atoi(argv[1]);
-  sprintf(id_alias, "%d",id);
+  sprintf(id_alias, "%d", id);
 
-  a = MSG_task_receive(&(task), id_alias ); 
+  a = MSG_task_receive(&(task), id_alias);
   return 0;
-} /* end_of_slave */
+}                               /* end_of_slave */
 
 /** Test function */
-MSG_error_t test_all(const char *platform_file,
-                    const char *application_file){
+MSG_error_t test_all(const char *platform_file, const char *application_file)
+{
   MSG_error_t res = MSG_OK;
   MSG_set_channel_number(MAX_CHANNEL);
   MSG_create_environment(platform_file);
@@ -107,7 +111,7 @@ MSG_error_t test_all(const char *platform_file,
   MSG_launch_application(application_file);
   res = MSG_main();
   return res;
-} /* end_of_test_all */
+}                               /* end_of_test_all */
 
 /** Main function */
 int main(int argc, char *argv[])
@@ -115,15 +119,17 @@ int main(int argc, char *argv[])
   MSG_error_t res = MSG_OK;
   bool_printed = 0;
 
-  MSG_global_init(&argc,argv);
+  MSG_global_init(&argc, argv);
   if (argc < 3) {
-     printf ("Usage: %s platform_file deployment_file\n",argv[0]);
-     exit(1);
+    printf("Usage: %s platform_file deployment_file\n", argv[0]);
+    exit(1);
   }
-  res = test_all(argv[1],argv[2]);
+  res = test_all(argv[1], argv[2]);
 
   MSG_clean();
 
-  if(res==MSG_OK) return 0; 
-  else return 1;
-} /* end_of_main */
+  if (res == MSG_OK)
+    return 0;
+  else
+    return 1;
+}                               /* end_of_main */
index 15f458f..df34e56 100644 (file)
@@ -6,13 +6,14 @@
  * under the terms of the license (GNU LGPL) which comes with this package. */
 
 #include <stdio.h>
-#include "msg/msg.h"  /* Yeah! If you want to use msg, you need to include msg/msg.h */
+#include "msg/msg.h"            /* Yeah! If you want to use msg, you need to include msg/msg.h */
 #include "surf/surfxml_parse.h" /* to override surf_parse and bypass the parser */
 
 /* Create a log channel to have nice outputs. */
 #include "xbt/log.h"
-XBT_LOG_NEW_DEFAULT_CATEGORY(msg_test,"Messages specific for this msg example");
-#define FINALIZE ((void*)221297) /* a magic number to tell people to stop working */
+XBT_LOG_NEW_DEFAULT_CATEGORY(msg_test,
+                             "Messages specific for this msg example");
+#define FINALIZE ((void*)221297)        /* a magic number to tell people to stop working */
 
 static int surf_parse_bypass_platform(void)
 {
@@ -21,14 +22,14 @@ static int surf_parse_bypass_platform(void)
 
   /* allocating memory for the buffer, I think 2kB should be enough */
   surfxml_bufferstack = xbt_new0(char, surfxml_bufferstack_size);
-  
+
   /* <platform> */
-  SURFXML_BUFFER_SET(platform_version,"2");
+  SURFXML_BUFFER_SET(platform_version, "2");
 
   SURFXML_START_TAG(platform);
 
 /*   <host id="host A" power="100000000.00"/> */
-  SURFXML_BUFFER_SET(host_id,"host A");
+  SURFXML_BUFFER_SET(host_id, "host A");
   SURFXML_BUFFER_SET(host_power, "100000000.00");
   SURFXML_BUFFER_SET(host_availability, "1.0");
   SURFXML_BUFFER_SET(host_availability_file, "");
@@ -107,18 +108,19 @@ static int surf_parse_bypass_platform(void)
   return 0;
 }
 
-static int surf_parse_bypass_application(void) {   
+static int surf_parse_bypass_application(void)
+{
   static int AX_ptr;
   static int surfxml_bufferstack_size = 2048;
 
   /* allocating memory to the buffer, I think 2MB should be enough */
   surfxml_bufferstack = xbt_new0(char, surfxml_bufferstack_size);
-  
+
   /* <platform> */
-  SURFXML_BUFFER_SET(platform_version,"2");
+  SURFXML_BUFFER_SET(platform_version, "2");
 
   SURFXML_START_TAG(platform);
-   
+
 /*   <process host="host A" function="master"> */
   SURFXML_BUFFER_SET(process_host, "host A");
   SURFXML_BUFFER_SET(process_function, "master");
@@ -186,33 +188,34 @@ int master(int argc, char *argv[])
 
   int i;
 
-  xbt_assert1(sscanf(argv[1],"%d", &number_of_tasks),
-        "Invalid argument %s\n",argv[1]);
-  xbt_assert1(sscanf(argv[2],"%lg", &task_comp_size),
-        "Invalid argument %s\n",argv[2]);
-  xbt_assert1(sscanf(argv[3],"%lg", &task_comm_size),
-        "Invalid argument %s\n",argv[3]);
+  xbt_assert1(sscanf(argv[1], "%d", &number_of_tasks),
+              "Invalid argument %s\n", argv[1]);
+  xbt_assert1(sscanf(argv[2], "%lg", &task_comp_size),
+              "Invalid argument %s\n", argv[2]);
+  xbt_assert1(sscanf(argv[3], "%lg", &task_comm_size),
+              "Invalid argument %s\n", argv[3]);
 
-  {                  /*  Task creation */
+  {                             /*  Task creation */
     char sprintf_buffer[64];
 
-    todo = xbt_new0(m_task_t,number_of_tasks);
+    todo = xbt_new0(m_task_t, number_of_tasks);
 
     for (i = 0; i < number_of_tasks; i++) {
       sprintf(sprintf_buffer, "Task_%d", i);
-      todo[i] = MSG_task_create(sprintf_buffer, task_comp_size, task_comm_size, NULL);
+      todo[i] =
+        MSG_task_create(sprintf_buffer, task_comp_size, task_comm_size, NULL);
     }
   }
 
-  {                  /* Process organisation */
+  {                             /* Process organisation */
     slaves_count = argc - 4;
-    slaves = xbt_new0(m_host_t,slaves_count);
-    
+    slaves = xbt_new0(m_host_t, slaves_count);
+
     for (i = 4; i < argc; i++) {
-      slaves[i-4] = MSG_get_host_by_name(argv[i]);
-      if(slaves[i-4]==NULL) {
-       INFO1("Unknown host %s. Stopping Now! ", argv[i]);
-       abort();
+      slaves[i - 4] = MSG_get_host_by_name(argv[i]);
+      if (slaves[i - 4] == NULL) {
+        INFO1("Unknown host %s. Stopping Now! ", argv[i]);
+        abort();
       }
     }
   }
@@ -228,40 +231,39 @@ int master(int argc, char *argv[])
 
   for (i = 0; i < number_of_tasks; i++) {
     INFO2("Sending \"%s\" to \"%s\"",
-                  todo[i]->name,
-                  slaves[i % slaves_count]->name);
-    if(MSG_host_self()==slaves[i % slaves_count]) {
+          todo[i]->name, slaves[i % slaves_count]->name);
+    if (MSG_host_self() == slaves[i % slaves_count]) {
       INFO0("Hey ! It's me ! :)");
     }
-    MSG_task_put(todo[i], slaves[i % slaves_count],
-                 PORT_22);
+    MSG_task_put(todo[i], slaves[i % slaves_count], PORT_22);
     INFO0("Send completed");
   }
-  
-  INFO0("All tasks have been dispatched. Let's tell everybody the computation is over.");
-  for (i = 0; i < slaves_count; i++) 
+
+  INFO0
+    ("All tasks have been dispatched. Let's tell everybody the computation is over.");
+  for (i = 0; i < slaves_count; i++)
     MSG_task_put(MSG_task_create("finalize", 0, 0, FINALIZE),
-                slaves[i], PORT_22);
-  
+                 slaves[i], PORT_22);
+
   INFO0("Goodbye now!");
   free(slaves);
   free(todo);
   return 0;
-} /* end_of_master */
+}                               /* end_of_master */
 
 /** Receiver function  */
 int slave(int argc, char *argv[])
 {
   INFO0("I'm a slave");
-  while(1) {
+  while (1) {
     m_task_t task = NULL;
     int a;
     a = MSG_task_get(&(task), PORT_22);
     if (a == MSG_OK) {
       INFO1("Received \"%s\" ", MSG_task_get_name(task));
-      if(MSG_task_get_data(task)==FINALIZE) {
-       MSG_task_destroy(task);
-       break;
+      if (MSG_task_get_data(task) == FINALIZE) {
+        MSG_task_destroy(task);
+        break;
       }
       INFO1("Processing \"%s\" ", MSG_task_get_name(task));
       MSG_task_execute(task);
@@ -269,46 +271,47 @@ int slave(int argc, char *argv[])
       MSG_task_destroy(task);
     } else {
       INFO0("Hey ?! What's up ? ");
-      xbt_assert0(0,"Unexpected behavior");
+      xbt_assert0(0, "Unexpected behavior");
     }
   }
   INFO0("I'm done. See you!");
   return 0;
-} /* end_of_slave */
+}                               /* end_of_slave */
 
 /** Test function */
 MSG_error_t test_all(void)
 {
   MSG_error_t res = MSG_OK;
 
-   /*  Simulation setting */
-   MSG_set_channel_number(MAX_CHANNEL);
-   MSG_paje_output("msg_test.trace");
-   surf_parse = surf_parse_bypass_platform;
-   MSG_create_environment(NULL);
-  
-   /*   Application deployment */
-   MSG_function_register("master", master);
-   MSG_function_register("slave", slave);
-   surf_parse = surf_parse_bypass_application;
-   MSG_launch_application(NULL);
-   
-   res = MSG_main();
-  
-  INFO1("Simulation time %g",MSG_get_clock());
+  /*  Simulation setting */
+  MSG_set_channel_number(MAX_CHANNEL);
+  MSG_paje_output("msg_test.trace");
+  surf_parse = surf_parse_bypass_platform;
+  MSG_create_environment(NULL);
+
+  /*   Application deployment */
+  MSG_function_register("master", master);
+  MSG_function_register("slave", slave);
+  surf_parse = surf_parse_bypass_application;
+  MSG_launch_application(NULL);
+
+  res = MSG_main();
+
+  INFO1("Simulation time %g", MSG_get_clock());
   return res;
-} /* end_of_test_all */
+}                               /* end_of_test_all */
 
 /** Main function */
 int main(int argc, char *argv[])
 {
   MSG_error_t res = MSG_OK;
 
-  MSG_global_init(&argc,argv);
+  MSG_global_init(&argc, argv);
   res = test_all();
   MSG_clean();
 
-  if(res==MSG_OK) return 0; 
-  else return 1;
-} /* end_of_main */
-
+  if (res == MSG_OK)
+    return 0;
+  else
+    return 1;
+}                               /* end_of_main */
index 57502fa..53d1116 100644 (file)
@@ -6,13 +6,14 @@
  * under the terms of the license (GNU LGPL) which comes with this package. */
 
 #include <stdio.h>
-#include "msg/msg.h" /* Yeah! If you want to use msg, you need to include msg/msg.h */
-#include "xbt/sysdep.h" /* calloc, printf */
+#include "msg/msg.h"            /* Yeah! If you want to use msg, you need to include msg/msg.h */
+#include "xbt/sysdep.h"         /* calloc, printf */
 
 /* Create a log channel to have nice outputs. */
 #include "xbt/log.h"
 #include "xbt/asserts.h"
-XBT_LOG_NEW_DEFAULT_CATEGORY(msg_test,"Messages specific for this msg example");
+XBT_LOG_NEW_DEFAULT_CATEGORY(msg_test,
+                             "Messages specific for this msg example");
 
 int master(int argc, char *argv[]);
 int slave(int argc, char *argv[]);
@@ -24,7 +25,7 @@ typedef enum {
   MAX_CHANNEL
 } channel_t;
 
-#define FINALIZE ((void*)221297) /* a magic number to tell people to stop working */
+#define FINALIZE ((void*)221297)        /* a magic number to tell people to stop working */
 
 /** Emitter function  */
 int master(int argc, char *argv[])
@@ -38,22 +39,22 @@ int master(int argc, char *argv[])
 
   int i;
 
-  xbt_assert1(sscanf(argv[1],"%d", &number_of_tasks),
-        "Invalid argument %s\n",argv[1]);
-  xbt_assert1(sscanf(argv[2],"%lg", &task_comp_size),
-        "Invalid argument %s\n",argv[2]);
-  xbt_assert1(sscanf(argv[3],"%lg", &task_comm_size),
-        "Invalid argument %s\n",argv[3]);
+  xbt_assert1(sscanf(argv[1], "%d", &number_of_tasks),
+              "Invalid argument %s\n", argv[1]);
+  xbt_assert1(sscanf(argv[2], "%lg", &task_comp_size),
+              "Invalid argument %s\n", argv[2]);
+  xbt_assert1(sscanf(argv[3], "%lg", &task_comm_size),
+              "Invalid argument %s\n", argv[3]);
 
-  {                  /* Process organisation */
+  {                             /* Process organisation */
     slaves_count = argc - 4;
-    slaves = xbt_new0(m_host_t,slaves_count);
-    
+    slaves = xbt_new0(m_host_t, slaves_count);
+
     for (i = 4; i < argc; i++) {
-      slaves[i-4] = MSG_get_host_by_name(argv[i]);
-      if(slaves[i-4]==NULL) {
-       INFO1("Unknown host %s. Stopping Now! ", argv[i]);
-       abort();
+      slaves[i - 4] = MSG_get_host_by_name(argv[i]);
+      if (slaves[i - 4] == NULL) {
+        INFO1("Unknown host %s. Stopping Now! ", argv[i]);
+        abort();
       }
     }
   }
@@ -65,120 +66,128 @@ int master(int argc, char *argv[])
   INFO1("Got %d task to process :", number_of_tasks);
 
   for (i = 0; i < number_of_tasks; i++) {
-    m_task_t task = MSG_task_create("Task", task_comp_size, task_comm_size, 
-                                   xbt_new0(double,1));
+    m_task_t task = MSG_task_create("Task", task_comp_size, task_comm_size,
+                                    xbt_new0(double, 1));
     int a;
-    *((double*) task->data) = MSG_get_clock();
-    
-    a = MSG_task_put_with_timeout(task, slaves[i % slaves_count], PORT_22,10.0);
+    *((double *) task->data) = MSG_get_clock();
+
+    a =
+      MSG_task_put_with_timeout(task, slaves[i % slaves_count], PORT_22,
+                                10.0);
     if (a == MSG_OK) {
       INFO0("Send completed");
     } else if (a == MSG_HOST_FAILURE) {
-      INFO0("Gloups. The cpu on which I'm running just turned off!. See you!");
+      INFO0
+        ("Gloups. The cpu on which I'm running just turned off!. See you!");
       free(slaves);
       return 0;
     } else if (a == MSG_TRANSFER_FAILURE) {
-      INFO1("Mmh. Something went wrong with '%s'. Nevermind. Let's keep going!",
-           slaves[i % slaves_count]->name);
+      INFO1
+        ("Mmh. Something went wrong with '%s'. Nevermind. Let's keep going!",
+         slaves[i % slaves_count]->name);
       MSG_task_destroy(task);
     } else {
       INFO0("Hey ?! What's up ? ");
-      xbt_assert0(0,"Unexpected behavior");
+      xbt_assert0(0, "Unexpected behavior");
     }
   }
-  
-  INFO0("All tasks have been dispatched. Let's tell everybody the computation is over.");
+
+  INFO0
+    ("All tasks have been dispatched. Let's tell everybody the computation is over.");
   for (i = 0; i < slaves_count; i++) {
     m_task_t task = MSG_task_create("finalize", 0, 0, FINALIZE);
-    int a = MSG_task_put_with_timeout(task, slaves[i], PORT_22,1.0); 
-    if (a == MSG_OK) continue;
+    int a = MSG_task_put_with_timeout(task, slaves[i], PORT_22, 1.0);
+    if (a == MSG_OK)
+      continue;
     if (a == MSG_HOST_FAILURE) {
-      INFO0("Gloups. The cpu on which I'm running just turned off!. See you!");
+      INFO0
+        ("Gloups. The cpu on which I'm running just turned off!. See you!");
       return 0;
     } else if (a == MSG_TRANSFER_FAILURE) {
       INFO1("Mmh. Can't reach '%s'! Nevermind. Let's keep going!",
-           slaves[i]->name);
+            slaves[i]->name);
       MSG_task_destroy(task);
     } else {
       INFO0("Hey ?! What's up ? ");
-      xbt_assert2(0,"Unexpected behavior with '%s': %d",slaves[i]->name,a);
-    }    
+      xbt_assert2(0, "Unexpected behavior with '%s': %d", slaves[i]->name, a);
+    }
   }
-  
+
   INFO0("Goodbye now!");
   free(slaves);
   return 0;
-} /* end_of_master */
+}                               /* end_of_master */
 
 /** Receiver function  */
 int slave(int argc, char *argv[])
 {
-  while(1) {
+  while (1) {
     m_task_t task = NULL;
     int a;
-    double time1,time2;
+    double time1, time2;
 
     time1 = MSG_get_clock();
     a = MSG_task_get(&(task), PORT_22);
     time2 = MSG_get_clock();
     if (a == MSG_OK) {
       INFO1("Received \"%s\"", MSG_task_get_name(task));
-      if(MSG_task_get_data(task)==FINALIZE) {
-       MSG_task_destroy(task);
-       break;
+      if (MSG_task_get_data(task) == FINALIZE) {
+        MSG_task_destroy(task);
+        break;
       }
-      if(time1<*((double *)task->data))
-       time1 = *((double *) task->data);
-      INFO1("Communication time : \"%f\"", time2-time1);
+      if (time1 < *((double *) task->data))
+        time1 = *((double *) task->data);
+      INFO1("Communication time : \"%f\"", time2 - time1);
       INFO1("Processing \"%s\"", MSG_task_get_name(task));
       a = MSG_task_execute(task);
       if (a == MSG_OK) {
-      INFO1("\"%s\" done", MSG_task_get_name(task));
-      free(task->data);
-      MSG_task_destroy(task);
+        INFO1("\"%s\" done", MSG_task_get_name(task));
+        free(task->data);
+        MSG_task_destroy(task);
       } else if (a == MSG_HOST_FAILURE) {
-       INFO0("Gloups. The cpu on which I'm running just turned off!. See you!");
-       return 0;
+        INFO0
+          ("Gloups. The cpu on which I'm running just turned off!. See you!");
+        return 0;
       } else {
-       INFO0("Hey ?! What's up ? ");
-       xbt_assert0(0,"Unexpected behavior");
+        INFO0("Hey ?! What's up ? ");
+        xbt_assert0(0, "Unexpected behavior");
       }
     } else if (a == MSG_HOST_FAILURE) {
-      INFO0("Gloups. The cpu on which I'm running just turned off!. See you!");
+      INFO0
+        ("Gloups. The cpu on which I'm running just turned off!. See you!");
       return 0;
     } else if (a == MSG_TRANSFER_FAILURE) {
-      INFO0("Mmh. Something went wrong. Nevermind. Let's keep going!");      
+      INFO0("Mmh. Something went wrong. Nevermind. Let's keep going!");
     } else {
       INFO0("Hey ?! What's up ? ");
-      xbt_assert0(0,"Unexpected behavior");
+      xbt_assert0(0, "Unexpected behavior");
     }
   }
   INFO0("I'm done. See you!");
   return 0;
-} /* end_of_slave */
+}                               /* end_of_slave */
 
 /** Test function */
-MSG_error_t test_all(const char *platform_file,
-                           const char *application_file)
+MSG_error_t test_all(const char *platform_file, const char *application_file)
 {
   MSG_error_t res = MSG_OK;
 
   /* MSG_config("workstation_model","KCCFLN05"); */
-  {                            /*  Simulation setting */
+  {                             /*  Simulation setting */
     MSG_set_channel_number(MAX_CHANNEL);
     MSG_paje_output("msg_test.trace");
     MSG_create_environment(platform_file);
   }
-  {                            /*   Application deployment */
+  {                             /*   Application deployment */
     MSG_function_register("master", master);
     MSG_function_register("slave", slave);
     MSG_launch_application(application_file);
   }
   res = MSG_main();
-  
-  INFO1("Simulation time %g",MSG_get_clock());
+
+  INFO1("Simulation time %g", MSG_get_clock());
   return res;
-} /* end_of_test_all */
+}                               /* end_of_test_all */
 
 
 /** Main function */
@@ -186,17 +195,17 @@ int main(int argc, char *argv[])
 {
   MSG_error_t res = MSG_OK;
 
-  MSG_global_init(&argc,argv);
+  MSG_global_init(&argc, argv);
   if (argc < 3) {
-     printf ("Usage: %s platform_file deployment_file\n",argv[0]);
-     printf ("example: %s msg_platform.xml msg_deployment.xml\n",argv[0]);
-     exit(1);
+    printf("Usage: %s platform_file deployment_file\n", argv[0]);
+    printf("example: %s msg_platform.xml msg_deployment.xml\n", argv[0]);
+    exit(1);
   }
-  res = test_all(argv[1],argv[2]);
+  res = test_all(argv[1], argv[2]);
   MSG_clean();
 
-  if(res==MSG_OK)
+  if (res == MSG_OK)
     return 0;
   else
     return 1;
-} /* end_of_main */
+}                               /* end_of_main */
index c3179a0..3ddef7c 100644 (file)
@@ -6,13 +6,14 @@
  * under the terms of the license (GNU LGPL) which comes with this package. */
 
 #include <stdio.h>
-#include "msg/msg.h" /* Yeah! If you want to use msg, you need to include msg/msg.h */
-#include "xbt/sysdep.h" /* calloc, printf */
+#include "msg/msg.h"            /* Yeah! If you want to use msg, you need to include msg/msg.h */
+#include "xbt/sysdep.h"         /* calloc, printf */
 
 /* Create a log channel to have nice outputs. */
 #include "xbt/log.h"
 #include "xbt/asserts.h"
-XBT_LOG_NEW_DEFAULT_CATEGORY(msg_test,"Messages specific for this msg example");
+XBT_LOG_NEW_DEFAULT_CATEGORY(msg_test,
+                             "Messages specific for this msg example");
 
 int master(int argc, char *argv[]);
 int slave(int argc, char *argv[]);
@@ -24,7 +25,7 @@ typedef enum {
   MAX_CHANNEL
 } channel_t;
 
-#define FINALIZE ((void*)221297) /* a magic number to tell people to stop working */
+#define FINALIZE ((void*)221297)        /* a magic number to tell people to stop working */
 
 /** Emitter function  */
 int master(int argc, char *argv[])
@@ -39,77 +40,79 @@ int master(int argc, char *argv[])
 
   int i;
 
-  xbt_assert1(sscanf(argv[1],"%d", &number_of_tasks),
-        "Invalid argument %s\n",argv[1]);
-  xbt_assert1(sscanf(argv[2],"%lg", &task_comp_size),
-        "Invalid argument %s\n",argv[2]);
-  xbt_assert1(sscanf(argv[3],"%lg", &task_comm_size),
-        "Invalid argument %s\n",argv[3]);
+  xbt_assert1(sscanf(argv[1], "%d", &number_of_tasks),
+              "Invalid argument %s\n", argv[1]);
+  xbt_assert1(sscanf(argv[2], "%lg", &task_comp_size),
+              "Invalid argument %s\n", argv[2]);
+  xbt_assert1(sscanf(argv[3], "%lg", &task_comm_size),
+              "Invalid argument %s\n", argv[3]);
 
-  {                  /*  Task creation */
+  {                             /*  Task creation */
     char sprintf_buffer[64];
 
-    todo = xbt_new0(m_task_t,number_of_tasks);
+    todo = xbt_new0(m_task_t, number_of_tasks);
 
     for (i = 0; i < number_of_tasks; i++) {
       sprintf(sprintf_buffer, "Task_%d", i);
-      todo[i] = MSG_task_create(sprintf_buffer, task_comp_size, task_comm_size, NULL);
+      todo[i] =
+        MSG_task_create(sprintf_buffer, task_comp_size, task_comm_size, NULL);
     }
   }
 
-  {                  /* Process organisation */
+  {                             /* Process organisation */
     slaves_count = argc - 4;
-    slaves = xbt_new0(m_host_t,slaves_count);
-    
+    slaves = xbt_new0(m_host_t, slaves_count);
+
     for (i = 4; i < argc; i++) {
-      slaves[i-4] = MSG_get_host_by_name(argv[i]);
-      xbt_assert1(slaves[i-4]!=NULL, "Unknown host %s. Stopping Now! ", argv[i]);
+      slaves[i - 4] = MSG_get_host_by_name(argv[i]);
+      xbt_assert1(slaves[i - 4] != NULL, "Unknown host %s. Stopping Now! ",
+                  argv[i]);
     }
   }
 
-  INFO2("Got %d slaves and %d tasks to process", slaves_count,number_of_tasks);
+  INFO2("Got %d slaves and %d tasks to process", slaves_count,
+        number_of_tasks);
   for (i = 0; i < slaves_count; i++)
     DEBUG1("%s", slaves[i]->name);
 
   for (i = 0; i < number_of_tasks; i++) {
     INFO2("Sending \"%s\" to \"%s\"",
-                  todo[i]->name,
-                  slaves[i % slaves_count]->name);
-    if(MSG_host_self()==slaves[i % slaves_count]) {
+          todo[i]->name, slaves[i % slaves_count]->name);
+    if (MSG_host_self() == slaves[i % slaves_count]) {
       INFO0("Hey ! It's me ! :)");
     }
 
-    MSG_task_put(todo[i], slaves[i % slaves_count],
-                 PORT_22);
+    MSG_task_put(todo[i], slaves[i % slaves_count], PORT_22);
     INFO0("Sent");
   }
-  
-  INFO0("All tasks have been dispatched. Let's tell everybody the computation is over.");
-  for (i = 0; i < slaves_count; i++) 
+
+  INFO0
+    ("All tasks have been dispatched. Let's tell everybody the computation is over.");
+  for (i = 0; i < slaves_count; i++)
     MSG_task_put(MSG_task_create("finalize", 0, 0, FINALIZE),
-                slaves[i], PORT_22);
-  
+                 slaves[i], PORT_22);
+
   INFO0("Goodbye now!");
   free(slaves);
   free(todo);
   return 0;
-} /* end_of_master */
+}                               /* end_of_master */
 
 /** Receiver function  */
 int slave(int argc, char *argv[])
 {
   m_task_t task = NULL;
   int res;
-  while(1) {
+  while (1) {
     res = MSG_task_get(&(task), PORT_22);
     xbt_assert0(res == MSG_OK, "MSG_task_get failed");
 
     INFO1("Received \"%s\"", MSG_task_get_name(task));
-    if (!strcmp(MSG_task_get_name(task),"finalize")) {
-       MSG_task_destroy(task);
-       break;
+    if (!strcmp(MSG_task_get_name(task), "finalize")) {
+      MSG_task_destroy(task);
+      break;
     }
-     
+
     INFO1("Processing \"%s\"", MSG_task_get_name(task));
     MSG_task_execute(task);
     INFO1("\"%s\" done", MSG_task_get_name(task));
@@ -118,7 +121,7 @@ int slave(int argc, char *argv[])
   }
   INFO0("I'm done. See you!");
   return 0;
-} /* end_of_slave */
+}                               /* end_of_slave */
 
 /** Forwarder function */
 int forwarder(int argc, char *argv[])
@@ -127,73 +130,71 @@ int forwarder(int argc, char *argv[])
   int slaves_count;
   m_host_t *slaves;
 
-  {                  /* Process organisation */
+  {                             /* Process organisation */
     slaves_count = argc - 1;
-    slaves = xbt_new0(m_host_t,slaves_count);
-    
+    slaves = xbt_new0(m_host_t, slaves_count);
+
     for (i = 1; i < argc; i++) {
-      slaves[i-1] = MSG_get_host_by_name(argv[i]);
-      if(slaves[i-1]==NULL) {
-       INFO1("Unknown host %s. Stopping Now! ", argv[i]);
-       abort();
+      slaves[i - 1] = MSG_get_host_by_name(argv[i]);
+      if (slaves[i - 1] == NULL) {
+        INFO1("Unknown host %s. Stopping Now! ", argv[i]);
+        abort();
       }
     }
   }
 
-  i=0;
-  while(1) {
+  i = 0;
+  while (1) {
     m_task_t task = NULL;
     int a;
     a = MSG_task_get(&(task), PORT_22);
     if (a == MSG_OK) {
       INFO1("Received \"%s\"", MSG_task_get_name(task));
-      if(MSG_task_get_data(task)==FINALIZE) {
-       INFO0("All tasks have been dispatched. Let's tell everybody the computation is over.");
-       for (i = 0; i < slaves_count; i++) 
-         MSG_task_put(MSG_task_create("finalize", 0, 0, FINALIZE),
-                      slaves[i], PORT_22);
-       MSG_task_destroy(task);
-       break;
+      if (MSG_task_get_data(task) == FINALIZE) {
+        INFO0
+          ("All tasks have been dispatched. Let's tell everybody the computation is over.");
+        for (i = 0; i < slaves_count; i++)
+          MSG_task_put(MSG_task_create("finalize", 0, 0, FINALIZE),
+                       slaves[i], PORT_22);
+        MSG_task_destroy(task);
+        break;
       }
       INFO2("Sending \"%s\" to \"%s\"",
-                   MSG_task_get_name(task),
-                   slaves[i% slaves_count]->name);
-      MSG_task_put(task, slaves[i % slaves_count],
-                  PORT_22);
+            MSG_task_get_name(task), slaves[i % slaves_count]->name);
+      MSG_task_put(task, slaves[i % slaves_count], PORT_22);
       i++;
     } else {
       INFO0("Hey ?! What's up ? ");
-      xbt_assert0(0,"Unexpected behavior");
+      xbt_assert0(0, "Unexpected behavior");
     }
   }
 
   INFO0("I'm done. See you!");
   return 0;
-} /* end_of_forwarder */
+}                               /* end_of_forwarder */
 
 /** Test function */
-MSG_error_t test_all(const char *platform_file,
-                           const char *application_file)
+MSG_error_t test_all(const char *platform_file, const char *application_file)
 {
   MSG_error_t res = MSG_OK;
 
   /* MSG_config("surf_workstation_model","KCCFLN05"); */
-  {                            /*  Simulation setting */
+  {                             /*  Simulation setting */
     MSG_set_channel_number(MAX_CHANNEL);
     MSG_paje_output("msg_test.trace");
     MSG_create_environment(platform_file);
   }
-  {                            /*   Application deployment */
+  {                             /*   Application deployment */
     MSG_function_register("master", master);
     MSG_function_register("slave", slave);
     MSG_function_register("forwarder", forwarder);
     MSG_launch_application(application_file);
   }
   res = MSG_main();
-  
-  INFO1("Simulation time %g",MSG_get_clock());
+
+  INFO1("Simulation time %g", MSG_get_clock());
   return res;
-} /* end_of_test_all */
+}                               /* end_of_test_all */
 
 
 /** Main function */
@@ -201,17 +202,17 @@ int main(int argc, char *argv[])
 {
   MSG_error_t res = MSG_OK;
 
-  MSG_global_init(&argc,argv);
+  MSG_global_init(&argc, argv);
   if (argc < 3) {
-     printf ("Usage: %s platform_file deployment_file\n",argv[0]);
-     printf ("example: %s msg_platform.xml msg_deployment.xml\n",argv[0]);
-     exit(1);
+    printf("Usage: %s platform_file deployment_file\n", argv[0]);
+    printf("example: %s msg_platform.xml msg_deployment.xml\n", argv[0]);
+    exit(1);
   }
-  res = test_all(argv[1],argv[2]);
+  res = test_all(argv[1], argv[2]);
   MSG_clean();
 
-  if(res==MSG_OK)
+  if (res == MSG_OK)
     return 0;
   else
     return 1;
-} /* end_of_main */
+}                               /* end_of_main */
index 8ac3813..04186be 100644 (file)
@@ -5,28 +5,30 @@
 /* This program is free software; you can redistribute it and/or modify it
  * under the terms of the license (GNU LGPL) which comes with this package. */
 
-#include "msg/msg.h" /* core library */
-#include "xbt/sysdep.h" /* calloc */
+#include "msg/msg.h"            /* core library */
+#include "xbt/sysdep.h"         /* calloc */
 
 /* Create a log channel to have nice outputs. */
 #include "xbt/log.h"
-XBT_LOG_NEW_DEFAULT_CATEGORY(msg_test,"Messages specific for this msg example");
+XBT_LOG_NEW_DEFAULT_CATEGORY(msg_test,
+                             "Messages specific for this msg example");
 
 /** The guy we will move from host to host. It move alone and then is moved by policeman back  */
 static int emigrant(int argc, char *argv[])
 {
-       m_task_t task;
-  INFO0("I'll look for a new job on another machine where the grass is greener.");
+  m_task_t task;
+  INFO0
+    ("I'll look for a new job on another machine where the grass is greener.");
   MSG_process_change_host(MSG_get_host_by_name("Boivin"));
   INFO0("Yeah, found something to do");
-  task = MSG_task_create("job",98095000,0,NULL);
+  task = MSG_task_create("job", 98095000, 0, NULL);
   MSG_task_execute(task);
   MSG_task_destroy(task);
   INFO0("Moving back home after work");
   MSG_process_change_host(MSG_get_host_by_name("Jacquelin"));
   INFO0("Uh, nothing to do here. Stopping now");
   return 0;
-} /* end_of_emigrant */
+}                               /* end_of_emigrant */
 
 /* This function would move the emigrant back home, if it were possible to do so in the MSG API.
  * Nothing for now.
@@ -35,19 +37,21 @@ static int policeman(int argc, char *argv[])
 {
   INFO0("No function in the API to move the emigrant back, so do nothing.");
   return 0;
-} /* end_of_policeman */
+}                               /* end_of_policeman */
 
 
 /** Main function */
-int main(int argc, char *argv[]) {
+int main(int argc, char *argv[])
+{
   MSG_error_t res = MSG_OK;
 
   /* Argument checking */
-  MSG_global_init(&argc,argv);
+  MSG_global_init(&argc, argv);
   if (argc < 3) {
-     CRITICAL1 ("Usage: %s platform_file deployment_file\n",argv[0]);
-     CRITICAL1 ("example: %s msg_platform.xml msg_deployment_suspend.xml\n",argv[0]);
-     exit(1);
+    CRITICAL1("Usage: %s platform_file deployment_file\n", argv[0]);
+    CRITICAL1("example: %s msg_platform.xml msg_deployment_suspend.xml\n",
+              argv[0]);
+    exit(1);
   }
 
   /* Simulation setting */
@@ -59,12 +63,12 @@ int main(int argc, char *argv[]) {
 
   /* Run the simulation */
   res = MSG_main();
-  INFO1("Simulation time %g",MSG_get_clock());
-  if (res==MSG_OK)
-         res = MSG_clean();
+  INFO1("Simulation time %g", MSG_get_clock());
+  if (res == MSG_OK)
+    res = MSG_clean();
 
-  if(res==MSG_OK)
+  if (res == MSG_OK)
     return 0;
   else
     return 1;
-} /* end_of_main */
+}                               /* end_of_main */
index 7dd8748..771a97b 100644 (file)
@@ -6,13 +6,14 @@
  * under the terms of the license (GNU LGPL) which comes with this package. */
 
 #include <stdio.h>
-#include "msg/msg.h" /* Yeah! If you want to use msg, you need to include msg/msg.h */
-#include "xbt/sysdep.h" /* calloc, printf */
+#include "msg/msg.h"            /* Yeah! If you want to use msg, you need to include msg/msg.h */
+#include "xbt/sysdep.h"         /* calloc, printf */
 
 /* Create a log channel to have nice outputs. */
 #include "xbt/log.h"
 #include "xbt/asserts.h"
-XBT_LOG_NEW_DEFAULT_CATEGORY(msg_test,"Messages specific for this msg example");
+XBT_LOG_NEW_DEFAULT_CATEGORY(msg_test,
+                             "Messages specific for this msg example");
 
 int test(int argc, char *argv[]);
 MSG_error_t test_all(const char *platform_file);
@@ -27,50 +28,49 @@ int test(int argc, char *argv[])
   double *computation_amount = NULL;
   double *communication_amount = NULL;
   m_task_t ptask = NULL;
-  int i,j;
+  int i, j;
 
   slaves_count = MSG_get_host_number();
   slaves = MSG_get_host_table();
 
-  computation_amount = xbt_new0(double,slaves_count);
-  communication_amount = xbt_new0(double,slaves_count*slaves_count);
-  
-  for(i=0;i<slaves_count;i++) 
-    computation_amount[i]=task_comp_size;
+  computation_amount = xbt_new0(double, slaves_count);
+  communication_amount = xbt_new0(double, slaves_count * slaves_count);
 
-  for(i=0;i<slaves_count;i++) 
-    for(j=i+1;j<slaves_count;j++) 
-      communication_amount[i*slaves_count+j]=task_comm_size;
+  for (i = 0; i < slaves_count; i++)
+    computation_amount[i] = task_comp_size;
+
+  for (i = 0; i < slaves_count; i++)
+    for (j = i + 1; j < slaves_count; j++)
+      communication_amount[i * slaves_count + j] = task_comm_size;
 
   ptask = MSG_parallel_task_create("parallel task",
-                                  slaves_count, slaves,
-                                  computation_amount,
-                                  communication_amount,
-                                  NULL);
+                                   slaves_count, slaves,
+                                   computation_amount,
+                                   communication_amount, NULL);
   MSG_parallel_task_execute(ptask);
 
   /* There is no need to free that! */
 /*   free(communication_amount); */
 /*   free(computation_amount); */
-  
+
   INFO0("Goodbye now!");
   free(slaves);
   return 0;
-} 
+}
 
 /** Test function */
 MSG_error_t test_all(const char *platform_file)
 {
   MSG_error_t res = MSG_OK;
 
-  MSG_config("workstation_model","ptask_L07");
+  MSG_config("workstation_model", "ptask_L07");
   MSG_set_channel_number(1);
   MSG_create_environment(platform_file);
 
-  MSG_process_create("test",test,NULL,MSG_get_host_table()[0]);
+  MSG_process_create("test", test, NULL, MSG_get_host_table()[0]);
   res = MSG_main();
-  
-  INFO1("Simulation time %g",MSG_get_clock());
+
+  INFO1("Simulation time %g", MSG_get_clock());
   return res;
 }
 
@@ -78,16 +78,16 @@ int main(int argc, char *argv[])
 {
   MSG_error_t res = MSG_OK;
 
-  MSG_global_init(&argc,argv);
+  MSG_global_init(&argc, argv);
   if (argc < 2) {
-     printf ("Usage: %s platform_file\n",argv[0]);
-     printf ("example: %s msg_platform.xml\n",argv[0]);
-     exit(1);
+    printf("Usage: %s platform_file\n", argv[0]);
+    printf("example: %s msg_platform.xml\n", argv[0]);
+    exit(1);
   }
   res = test_all(argv[1]);
   MSG_clean();
 
-  if(res==MSG_OK)
+  if (res == MSG_OK)
     return 0;
   else
     return 1;
index b74a2e2..df74c53 100644 (file)
@@ -1,18 +1,17 @@
 #include <stdio.h>
-#include "msg/msg.h"           /* Yeah! If you want to use msg, you
-                                  need to include msg/msg.h */
-#include "xbt/sysdep.h"                /* calloc, printf */
+#include "msg/msg.h"            /* Yeah! If you want to use msg, you
+                                   need to include msg/msg.h */
+#include "xbt/sysdep.h"         /* calloc, printf */
 
 /* Create a log channel to have nice outputs. */
 #include "xbt/log.h"
 #include "xbt/asserts.h"
 XBT_LOG_NEW_DEFAULT_CATEGORY(msg_test,
-                            "Messages specific for this msg example");
+                             "Messages specific for this msg example");
 
 int execute(int argc, char *argv[]);
 int redistribute(int argc, char *argv[]);
-MSG_error_t test_all(const char *platform_file,
-                    const char *application_file);
+MSG_error_t test_all(const char *platform_file, const char *application_file);
 
 typedef enum {
   PORT_22 = 0,
@@ -40,29 +39,29 @@ int execute(int argc, char *argv[])
   for (i = 1; i <= host_list_size; i++) {
     m_host_list[i - 1] = MSG_get_host_by_name(argv[i]);
     xbt_assert1(m_host_list[i - 1] != NULL,
-               "Unknown host %s. Stopping Now! ", argv[i]);
+                "Unknown host %s. Stopping Now! ", argv[i]);
   }
 
   xbt_assert1(sscanf(argv[argc - 2], "%lg", &computation_amount),
-             "Invalid argument %s\n",argv[argc - 2]);
+              "Invalid argument %s\n", argv[argc - 2]);
   xbt_assert1(sscanf(argv[argc - 1], "%lg", &communication_amount),
-             "Invalid argument %s\n",argv[argc - 1]);
+              "Invalid argument %s\n", argv[argc - 1]);
   computation_duration = (double *) calloc(host_list_size, sizeof(double));
   communication_table =
-      (double *) calloc(host_list_size * host_list_size, sizeof(double));
+    (double *) calloc(host_list_size * host_list_size, sizeof(double));
   for (i = 0; i < host_list_size; i++) {
     computation_duration[i] = computation_amount / host_list_size;
     for (j = 0; j < host_list_size; j++)
-      communication_table[i * host_list_size + j]  =
-       communication_amount / (host_list_size * host_list_size);
+      communication_table[i * host_list_size + j] =
+        communication_amount / (host_list_size * host_list_size);
   }
 
   sprintf(buffer, "redist#0\n");
   task = MSG_parallel_task_create(buffer,
-                                 host_list_size,
-                                 m_host_list,
-                                 computation_duration,
-                                 communication_table, NULL);
+                                  host_list_size,
+                                  m_host_list,
+                                  computation_duration,
+                                  communication_table, NULL);
 
   execution_time = MSG_get_clock();
   MSG_parallel_task_execute(task);
@@ -93,26 +92,26 @@ int redistribute(int argc, char *argv[])
   for (i = 1; i <= host_list_size; i++) {
     m_host_list[i - 1] = MSG_get_host_by_name(argv[i]);
     xbt_assert1(m_host_list[i - 1] != NULL,
-               "Unknown host %s. Stopping Now! ", argv[i]);
+                "Unknown host %s. Stopping Now! ", argv[i]);
   }
 
   xbt_assert1(sscanf(argv[argc - 1], "%lg", &communication_amount),
-             "Invalid argument %s\n",argv[argc - 1]);
+              "Invalid argument %s\n", argv[argc - 1]);
   computation_duration = (double *) calloc(host_list_size, sizeof(double));
   communication_table =
-      (double *) calloc(host_list_size * host_list_size, sizeof(double));
+    (double *) calloc(host_list_size * host_list_size, sizeof(double));
   for (i = 0; i < host_list_size; i++) {
     for (j = 0; j < host_list_size; j++)
-      communication_table[i * host_list_size + j]  =
-       communication_amount / (host_list_size * host_list_size);
+      communication_table[i * host_list_size + j] =
+        communication_amount / (host_list_size * host_list_size);
   }
 
   sprintf(buffer, "redist#0\n");
   task = MSG_parallel_task_create(buffer,
-                                 host_list_size,
-                                 m_host_list,
-                                 computation_duration,
-                                 communication_table, NULL);
+                                  host_list_size,
+                                  m_host_list,
+                                  computation_duration,
+                                  communication_table, NULL);
 
   redistribution_time = MSG_get_clock();
   MSG_parallel_task_execute(task);
@@ -124,23 +123,22 @@ int redistribute(int argc, char *argv[])
 }
 
 
-MSG_error_t test_all(const char *platform_file,
-                    const char *application_file)
+MSG_error_t test_all(const char *platform_file, const char *application_file)
 {
   MSG_error_t res = MSG_OK;
 
 
-  MSG_config("workstation_model","ptask_L07");
+  MSG_config("workstation_model", "ptask_L07");
 
   /*  Simulation setting */
   MSG_set_channel_number(MAX_CHANNEL);
   MSG_create_environment(platform_file);
-  
+
   /*   Application deployment */
   MSG_function_register("execute", execute);
   MSG_function_register("redistribute", redistribute);
   MSG_launch_application(application_file);
-  
+
   res = MSG_main();
 
   INFO1("Simulation time %g", MSG_get_clock());
index 291039d..8eaf731 100644 (file)
@@ -6,13 +6,14 @@
  * under the terms of the license (GNU LGPL) which comes with this package. */
 
 #include <stdio.h>
-#include "msg/msg.h" /* Yeah! If you want to use msg, you need to include msg/msg.h */
-#include "xbt/sysdep.h" /* calloc, printf */
+#include "msg/msg.h"            /* Yeah! If you want to use msg, you need to include msg/msg.h */
+#include "xbt/sysdep.h"         /* calloc, printf */
 
 /* Create a log channel to have nice outputs. */
 #include "xbt/log.h"
 #include "xbt/asserts.h"
-XBT_LOG_NEW_DEFAULT_CATEGORY(msg_test,"Messages specific for this msg example");
+XBT_LOG_NEW_DEFAULT_CATEGORY(msg_test,
+                             "Messages specific for this msg example");
 
 static int test(int argc, char *argv[])
 {
@@ -21,66 +22,66 @@ static int test(int argc, char *argv[])
   m_task_t task = NULL;
 
 
-  xbt_assert1(sscanf(argv[1],"%lg", &computation_amount),
-        "Invalid argument %s\n",argv[1]);
-  xbt_assert1(sscanf(argv[2],"%lg", &priority),
-        "Invalid argument %s\n",argv[2]);
+  xbt_assert1(sscanf(argv[1], "%lg", &computation_amount),
+              "Invalid argument %s\n", argv[1]);
+  xbt_assert1(sscanf(argv[2], "%lg", &priority),
+              "Invalid argument %s\n", argv[2]);
 
   INFO2("Hello! Running a task of size %g with priority %g",
-       computation_amount, priority);
-  task = MSG_task_create("Task", computation_amount, 0.0,NULL);
+        computation_amount, priority);
+  task = MSG_task_create("Task", computation_amount, 0.0, NULL);
   MSG_task_set_priority(task, priority);
 
   MSG_task_execute(task);
 
-  
+
   INFO0("Goodbye now!");
   return 0;
-} 
+}
 
 static MSG_error_t test_all(const char *platform_file,
-                           const char *application_file)
+                            const char *application_file)
 {
   MSG_error_t res = MSG_OK;
 
-  {                            /*  Simulation setting */
+  {                             /*  Simulation setting */
     MSG_set_channel_number(1);
     MSG_paje_output("msg_test.trace");
     MSG_create_environment(platform_file);
   }
-  {                            /*   Application deployment */
+  {                             /*   Application deployment */
     MSG_function_register("test", test);
     MSG_launch_application(application_file);
   }
   res = MSG_main();
-  
-  INFO1("Simulation time %g",MSG_get_clock());
+
+  INFO1("Simulation time %g", MSG_get_clock());
   return res;
 }
 
 int main(int argc, char *argv[])
 {
   MSG_error_t res = MSG_OK;
-  
-  #ifdef _MSC_VER
+
+#ifdef _MSC_VER
   unsigned int prev_exponent_format = _set_output_format(_TWO_DIGIT_EXPONENT);
-  #endif
+#endif
 
 
-  MSG_global_init(&argc,argv);
+  MSG_global_init(&argc, argv);
   if (argc < 3) {
-     printf ("Usage: %s platform_file deployment_file\n",argv[0]);
-     printf ("example: %s msg_platform.xml msg_deployment.xml\n",argv[0]);
-     exit(1);
+    printf("Usage: %s platform_file deployment_file\n", argv[0]);
+    printf("example: %s msg_platform.xml msg_deployment.xml\n", argv[0]);
+    exit(1);
   }
-  res = test_all(argv[1],argv[2]);
+  res = test_all(argv[1], argv[2]);
   MSG_clean();
-  
-  #ifdef _MSC_VER
+
+#ifdef _MSC_VER
   _set_output_format(prev_exponent_format);
-  #endif
+#endif
 
-  if(res==MSG_OK)
+  if (res == MSG_OK)
     return 0;
   else
     return 1;
index ca19687..0e26b45 100644 (file)
@@ -5,8 +5,8 @@
 /* This program is free software; you can redistribute it and/or modify it
  * under the terms of the license (GNU LGPL) which comes with this package. */
 
-#include "msg/msg.h" /* Yeah! If you want to use msg, you need to include msg/msg.h */
-#include "xbt/sysdep.h" /* calloc, printf */
+#include "msg/msg.h"            /* Yeah! If you want to use msg, you need to include msg/msg.h */
+#include "xbt/sysdep.h"         /* calloc, printf */
 
 /* Create a log channel to have nice outputs. */
 #include "xbt/log.h"
@@ -15,7 +15,7 @@
 #include <stdio.h>
 #include <stdlib.h>
 
-XBT_LOG_NEW_DEFAULT_CATEGORY(test,"Property test");
+XBT_LOG_NEW_DEFAULT_CATEGORY(test, "Property test");
 
 int alice(int argc, char *argv[]);
 int bob(int argc, char *argv[]);
@@ -26,33 +26,37 @@ int alice(int argc, char *argv[])
 {
   m_host_t host1 = MSG_get_host_by_name("host1");
   xbt_dict_t props = MSG_host_get_properties(host1);
-  xbt_dict_cursor_t cursor=NULL;
-  char *key,*data;
-  const char *noexist="Unknown";
-  const char*value;
-  char exist[]="SG_TEST_Hdd";
+  xbt_dict_cursor_t cursor = NULL;
+  char *key, *data;
+  const char *noexist = "Unknown";
+  const char *value;
+  char exist[] = "SG_TEST_Hdd";
 
   INFO0("== Print the properties of the host");
-  xbt_dict_foreach(props,cursor,key,data)
-    INFO2("  Host property: '%s' -> '%s'",key,data);
+  xbt_dict_foreach(props, cursor, key, data)
+    INFO2("  Host property: '%s' -> '%s'", key, data);
 
-  INFO0("== Try to get a host property that does not exist");     
+  INFO0("== Try to get a host property that does not exist");
   value = MSG_host_get_property_value(host1, noexist);
   xbt_assert0(!value, "The key exists (it's not supposed to)");
 
-  INFO0("== Try to get a host property that does exist");     
-  value = MSG_host_get_property_value(host1,exist);
-  xbt_assert1(value,"\tProperty %s is undefined (where it should)", exist);
-  xbt_assert2(!strcmp(value,"180"),"\tValue of property %s is defined to %s (where it should be 180)", exist, value);
+  INFO0("== Try to get a host property that does exist");
+  value = MSG_host_get_property_value(host1, exist);
+  xbt_assert1(value, "\tProperty %s is undefined (where it should)", exist);
+  xbt_assert2(!strcmp(value, "180"),
+              "\tValue of property %s is defined to %s (where it should be 180)",
+              exist, value);
   INFO2("   Property: %s old value: %s", exist, value);
 
   INFO0("== Trying to modify a host property");
   xbt_dict_set(props, exist, xbt_strdup("250"), xbt_free_f);
-  
+
   /* Test if we have changed the value */
-  value = MSG_host_get_property_value(host1,exist);
-  xbt_assert1(value,"Property %s is undefined (where it should)", exist);
-  xbt_assert2(!strcmp(value,"250"),"Value of property %s is defined to %s (where it should be 250)", exist, value);
+  value = MSG_host_get_property_value(host1, exist);
+  xbt_assert1(value, "Property %s is undefined (where it should)", exist);
+  xbt_assert2(!strcmp(value, "250"),
+              "Value of property %s is defined to %s (where it should be 250)",
+              exist, value);
   INFO2("   Property: %s old value: %s", exist, value);
 
   return 0;
@@ -62,35 +66,34 @@ int bob(int argc, char *argv[])
 {
   /* Get the property list of current bob process */
   xbt_dict_t props = MSG_process_get_properties(MSG_process_self());
-  xbt_dict_cursor_t cursor=NULL;
-  char *key,*data;
-  const char *noexist="UnknownProcessProp";
+  xbt_dict_cursor_t cursor = NULL;
+  char *key, *data;
+  const char *noexist = "UnknownProcessProp";
   const char *value;
 
   INFO0("== Print the properties of the process");
-  xbt_dict_foreach(props,cursor,key,data)
-    INFO2("   Process property: %s -> %s",key,data);
+  xbt_dict_foreach(props, cursor, key, data)
+    INFO2("   Process property: %s -> %s", key, data);
 
   INFO0("== Try to get a process property that does not exist");
-  value = MSG_process_get_property_value(MSG_process_self(),noexist);
-  xbt_assert0(!value,"The property is defined (it shouldnt)");
+
+  value = MSG_process_get_property_value(MSG_process_self(), noexist);
+  xbt_assert0(!value, "The property is defined (it shouldnt)");
 
   return 0;
-} 
+}
 
 /** Test function */
-MSG_error_t test_all(const char *platform_file,
-                           const char *application_file)
+MSG_error_t test_all(const char *platform_file, const char *application_file)
 {
   MSG_function_register("alice", alice);
   MSG_function_register("bob", bob);
-   
+
   MSG_create_environment(platform_file);
   MSG_launch_application(application_file);
 
   return MSG_main();
-} /* end_of_test_all */
+}                               /* end_of_test_all */
 
 
 /** Main function */
@@ -98,17 +101,17 @@ int main(int argc, char *argv[])
 {
   MSG_error_t res = MSG_OK;
 
-  MSG_global_init(&argc,argv);
+  MSG_global_init(&argc, argv);
   if (argc < 3) {
-     printf ("Usage: %s platform_file deployment_file\n",argv[0]);
-     printf ("example: %s msg_platform.xml msg_deployment.xml\n",argv[0]);
-     exit(1);
+    printf("Usage: %s platform_file deployment_file\n", argv[0]);
+    printf("example: %s msg_platform.xml msg_deployment.xml\n", argv[0]);
+    exit(1);
   }
-  res = test_all(argv[1],argv[2]);
+  res = test_all(argv[1], argv[2]);
   MSG_clean();
 
-  if(res==MSG_OK)
+  if (res == MSG_OK)
     return 0;
   else
     return 1;
-} /* end_of_main */
+}                               /* end_of_main */
index 0f5051f..58b6b09 100644 (file)
@@ -5,72 +5,72 @@
 
 #include<stdio.h>
 
-#include "msg/msg.h" /* Yeah! If you want to use msg, you need to include msg/msg.h */
-#include "xbt/sysdep.h" /* calloc */
+#include "msg/msg.h"            /* Yeah! If you want to use msg, you need to include msg/msg.h */
+#include "xbt/sysdep.h"         /* calloc */
 
 /* Create a log channel to have nice outputs. */
 #include "xbt/log.h"
 #include "xbt/asserts.h"
 
-XBT_LOG_NEW_DEFAULT_CATEGORY(msg_test,"Messages specific for this msg example");
+XBT_LOG_NEW_DEFAULT_CATEGORY(msg_test,
+                             "Messages specific for this msg example");
 
 int sender(int argc, char *argv[]);
 int receiver(int argc, char *argv[]);
 
 MSG_error_t test_all(const char *platform_file, const char *application_file);
 
-typedef enum 
-  {
-    PORT_22 = 0,
-    MAX_CHANNEL
-  } channel_t;
+typedef enum {
+  PORT_22 = 0,
+  MAX_CHANNEL
+} channel_t;
 
 double task_comm_size_lat = 10e0;
-double task_comm_size_bw  = 10e8;
+double task_comm_size_bw = 10e8;
 
 /** Emitter function  */
-int sender(int argc,char *argv[] )
+int sender(int argc, char *argv[])
 {
-  m_host_t host = NULL; 
+  m_host_t host = NULL;
   double time;
-  m_task_t task_la=NULL;
-  m_task_t task_bw=NULL;
+  m_task_t task_la = NULL;
+  m_task_t task_bw = NULL;
   char sprintf_buffer_la[64];
   char sprintf_buffer_bw[64];
 
   INFO0("sender");
-  /*host = xbt_new0(m_host_t,1);*/
-    
+
+  /*host = xbt_new0(m_host_t,1); */
+
   INFO1("host = %s", argv[1]);
-  
+
   host = MSG_get_host_by_name(argv[1]);
-  
-  if(host==NULL){
+
+  if (host == NULL) {
     INFO1("Unknown host %s. Stopping Now! ", argv[1]);
     abort();
   }
 
   /* Latency */
-  time= MSG_get_clock();
+  time = MSG_get_clock();
   sprintf(sprintf_buffer_la, "latency task");
   task_la = MSG_task_create(sprintf_buffer_la, 0.0, task_comm_size_lat, NULL);
   task_la->data = xbt_new(double, 1);
-  *(double *)task_la->data = time;
-  INFO1("task_la->data = %le", *((double *)task_la->data));
-  MSG_task_put(task_la, host,PORT_22);
-  
+  *(double *) task_la->data = time;
+  INFO1("task_la->data = %le", *((double *) task_la->data));
+  MSG_task_put(task_la, host, PORT_22);
+
   /* Bandwidth */
-  time=MSG_get_clock();
+  time = MSG_get_clock();
   sprintf(sprintf_buffer_bw, "bandwidth task");
   task_bw = MSG_task_create(sprintf_buffer_bw, 0.0, task_comm_size_bw, NULL);
   task_bw->data = xbt_new(double, 1);
-  *(double *)task_bw->data = time;
-  INFO1("task_bw->data = %le", *((double *)task_bw->data) ); 
-  MSG_task_put(task_bw, host,PORT_22);  
+  *(double *) task_bw->data = time;
+  INFO1("task_bw->data = %le", *((double *) task_bw->data));
+  MSG_task_put(task_bw, host, PORT_22);
 
   return 0;
-} /* end_of_client */
+}                               /* end_of_client */
 
 /** Receiver function  */
 int receiver(int argc, char *argv[])
@@ -79,92 +79,93 @@ int receiver(int argc, char *argv[])
   m_task_t task_la = NULL;
   m_task_t task_bw = NULL;
   int a;
-  double communication_time=0;
+  double communication_time = 0;
 
   INFO0("receiver");
 
   time = MSG_get_clock();
-  
+
   /* Get Latency */
-  a = MSG_task_get(&task_la,PORT_22);
+  a = MSG_task_get(&task_la, PORT_22);
   if (a == MSG_OK) {
-    time1=MSG_get_clock();
-    sender_time= *((double*)(task_la->data));
-    time=sender_time;
-    communication_time=time1-time;
+    time1 = MSG_get_clock();
+    sender_time = *((double *) (task_la->data));
+    time = sender_time;
+    communication_time = time1 - time;
     INFO1("Task received : %s", task_la->name);
     MSG_task_destroy(task_la);
-    INFO1("Communic. time %le",communication_time);
-    INFO1("--- la %f ----",communication_time);
-  }else{
-    xbt_assert0(0,"Unexpected behavior");
+    INFO1("Communic. time %le", communication_time);
+    INFO1("--- la %f ----", communication_time);
+  } else {
+    xbt_assert0(0, "Unexpected behavior");
   }
 
 
   /* Get Bandwidth */
-  a=MSG_task_get(&task_bw,PORT_22);
+  a = MSG_task_get(&task_bw, PORT_22);
   if (a == MSG_OK) {
-    time1=MSG_get_clock();
-    sender_time= *((double*)(task_bw->data));
-    time=sender_time;
-    communication_time=time1-time;
+    time1 = MSG_get_clock();
+    sender_time = *((double *) (task_bw->data));
+    time = sender_time;
+    communication_time = time1 - time;
     INFO1("Task received : %s", task_bw->name);
     MSG_task_destroy(task_bw);
-    INFO1("Communic. time %le",communication_time);
-    INFO1("--- bw %f ----",task_comm_size_bw/communication_time);
-  }else{
-    xbt_assert0(0,"Unexpected behavior");
+    INFO1("Communic. time %le", communication_time);
+    INFO1("--- bw %f ----", task_comm_size_bw / communication_time);
+  } else {
+    xbt_assert0(0, "Unexpected behavior");
   }
 
-  
+
   return 0;
-}/* end_of_receiver */
+}                               /* end_of_receiver */
 
 
 /** Test function */
-MSG_error_t test_all(const char *platform_file,
-                           const char *application_file)
+MSG_error_t test_all(const char *platform_file, const char *application_file)
 {
 
   MSG_error_t res = MSG_OK;
 
-  
 
-  INFO0("test_all"); 
-                       
+
+  INFO0("test_all");
+
   /*  Simulation setting */
   MSG_set_channel_number(MAX_CHANNEL);
   MSG_paje_output("msg_test.trace");
   MSG_create_environment(platform_file);
+
   /*   Application deployment */
   MSG_function_register("sender", sender);
   MSG_function_register("receiver", receiver);
-   
+
   MSG_launch_application(application_file);
-  
+
   res = MSG_main();
 
   return res;
-} /* end_of_test_all */
+}                               /* end_of_test_all */
 
 
 /** Main function */
 int main(int argc, char *argv[])
 {
   MSG_error_t res = MSG_OK;
-       
-  #ifdef _MSC_VER
+
+#ifdef _MSC_VER
   unsigned int prev_exponent_format = _set_output_format(_TWO_DIGIT_EXPONENT);
-  #endif
-  
-  MSG_global_init(&argc,argv);
+#endif
+
+  MSG_global_init(&argc, argv);
 
 
-  if (argc != 3){
-     CRITICAL1 ("Usage: %s platform_file deployment_file <model>\n",argv[0]);
-     CRITICAL1 ("example: %s msg_platform.xml msg_deployment.xml KCCFLN05_Vegas\n",argv[0]);
-     exit(1);
+  if (argc != 3) {
+    CRITICAL1("Usage: %s platform_file deployment_file <model>\n", argv[0]);
+    CRITICAL1
+      ("example: %s msg_platform.xml msg_deployment.xml KCCFLN05_Vegas\n",
+       argv[0]);
+    exit(1);
   }
 
   /* Options for the workstation_model:
@@ -173,19 +174,21 @@ int main(int argc, char *argv[])
      KCCFLN05_proportional => for proportional (Vegas)
      KCCFLN05_Vegas        => for TCP Vegas
      KCCFLN05_Reno         => for TCP Reno
-  */
+   */
   //MSG_config("workstation_model", argv[3]);
 
-  res = test_all(argv[1],argv[2]);
+  res = test_all(argv[1], argv[2]);
 
   INFO1("Total simulation time: %le", MSG_get_clock());
 
   MSG_clean();
 
-  #ifdef _MSC_VER
+#ifdef _MSC_VER
   _set_output_format(prev_exponent_format);
-  #endif
+#endif
 
-  if(res==MSG_OK) return 0; 
-  else return 1;
-} /* end_of_main */
+  if (res == MSG_OK)
+    return 0;
+  else
+    return 1;
+}                               /* end_of_main */
index 8bcba55..0f0ca9c 100644 (file)
@@ -5,12 +5,13 @@
 /* This program is free software; you can redistribute it and/or modify it
  * under the terms of the license (GNU LGPL) which comes with this package. */
 
-#include "msg/msg.h" /* Yeah! If you want to use msg, you need to include msg/msg.h */
-#include "xbt/sysdep.h" /* calloc */
+#include "msg/msg.h"            /* Yeah! If you want to use msg, you need to include msg/msg.h */
+#include "xbt/sysdep.h"         /* calloc */
 
 /* Create a log channel to have nice outputs. */
 #include "xbt/log.h"
-XBT_LOG_NEW_DEFAULT_CATEGORY(msg_test,"Messages specific for this msg example");
+XBT_LOG_NEW_DEFAULT_CATEGORY(msg_test,
+                             "Messages specific for this msg example");
 
 typedef enum {
   PORT_22 = 0,
@@ -26,7 +27,7 @@ static int lazy_guy(int argc, char *argv[])
   INFO0("Uuuh ? Did somebody call me ?");
   INFO0("Mmmh, goodbye now.");
   return 0;
-} /* end_of_lazy_guy */
+}                               /* end_of_lazy_guy */
 
 /** Dream master function. This process creates a lazy_guy process and
     resumes it 10 seconds later. */
@@ -42,27 +43,28 @@ static int dream_master(int argc, char *argv[])
   MSG_process_resume(lazy);
   INFO0("OK, goodbye now.");
   return 0;
-} /* end_of_dram_master */
+}                               /* end_of_dram_master */
 
 /** Test function */
-static MSG_error_t test_all(const char *platform_file,const char *application_file)
+static MSG_error_t test_all(const char *platform_file,
+                            const char *application_file)
 {
   MSG_error_t res = MSG_OK;
 
-  {                            /*  Simulation setting */
+  {                             /*  Simulation setting */
     MSG_set_channel_number(MAX_CHANNEL);
     MSG_paje_output("msg_test.trace");
     MSG_create_environment(platform_file);
   }
-  {                            /*   Application deployment */
+  {                             /*   Application deployment */
     MSG_function_register("dream_master", dream_master);
     MSG_launch_application(application_file);
   }
   res = MSG_main();
-  
-  INFO1("Simulation time %g",MSG_get_clock());
+
+  INFO1("Simulation time %g", MSG_get_clock());
   return res;
-} /* end_of_test_all */
+}                               /* end_of_test_all */
 
 
 /** Main function */
@@ -70,17 +72,18 @@ int main(int argc, char *argv[])
 {
   MSG_error_t res = MSG_OK;
 
-  MSG_global_init(&argc,argv);
+  MSG_global_init(&argc, argv);
   if (argc < 3) {
-     CRITICAL1 ("Usage: %s platform_file deployment_file\n",argv[0]);
-     CRITICAL1 ("example: %s msg_platform.xml msg_deployment_suspend.xml\n",argv[0]);
-     exit(1);
+    CRITICAL1("Usage: %s platform_file deployment_file\n", argv[0]);
+    CRITICAL1("example: %s msg_platform.xml msg_deployment_suspend.xml\n",
+              argv[0]);
+    exit(1);
   }
-  test_all(argv[1],argv[2]);
+  test_all(argv[1], argv[2]);
   res = MSG_clean();
 
-  if(res==MSG_OK)
+  if (res == MSG_OK)
     return 0;
   else
-    return 1;              
-} /* end_of_main */
+    return 1;
+}                               /* end_of_main */
index 6122aca..d2a54f2 100644 (file)
 #include "xbt/time.h"
 
 XBT_LOG_NEW_DEFAULT_CATEGORY(sd_test,
-                            "Logging specific to this SimDag example");
+                             "Logging specific to this SimDag example");
 
-int main(int argc, char **argv) {
+int main(int argc, char **argv)
+{
 
-       const char * platform_file;
-       const SD_workstation_t *workstations;
+  const char *platform_file;
+  const SD_workstation_t *workstations;
   int ws_nr;
-   SD_workstation_t w1 = NULL;
+  SD_workstation_t w1 = NULL;
   SD_workstation_t w2 = NULL;
   const char *name1, *name2;
-   int i,j,k;
+  int i, j, k;
 
   /* initialisation of SD */
   SD_init(&argc, argv);
@@ -42,23 +43,25 @@ int main(int argc, char **argv) {
   workstations = SD_workstation_get_list();
   ws_nr = SD_workstation_get_number();
 
+
   /* Show routes between all workstation */
-  for (i=0; i<ws_nr; i++){
-    for (j=0;j<ws_nr; j++){
-                const SD_link_t *route;
-                int route_size;
+
+  for (i = 0; i < ws_nr; i++) {
+    for (j = 0; j < ws_nr; j++) {
+      const SD_link_t *route;
+      int route_size;
       w1 = workstations[i];
       w2 = workstations[j];
       name1 = SD_workstation_get_name(w1);
       name2 = SD_workstation_get_name(w2);
-      INFO2("Route between %s and %s:", name1, name2);   
+      INFO2("Route between %s and %s:", name1, name2);
       route = SD_route_get_list(w1, w2);
       route_size = SD_route_get_size(w1, w2);
       for (k = 0; k < route_size; k++) {
-        INFO3("\tLink %s: latency = %f, bandwidth = %f", SD_link_get_name(route[k]),
-         SD_link_get_current_latency(route[k]), SD_link_get_current_bandwidth(route[k]));
+        INFO3("\tLink %s: latency = %f, bandwidth = %f",
+              SD_link_get_name(route[k]),
+              SD_link_get_current_latency(route[k]),
+              SD_link_get_current_bandwidth(route[k]));
       }
     }
   }
@@ -66,4 +69,3 @@ int main(int argc, char **argv) {
   SD_exit();
   return 0;
 }
-
index 0ab21cb..1195000 100755 (executable)
@@ -8,10 +8,10 @@
 #include "xbt/dynar.h"
 #include "xbt/dict.h"
 
-XBT_LOG_NEW_DEFAULT_CATEGORY(test,
-                            "Property test");
+XBT_LOG_NEW_DEFAULT_CATEGORY(test, "Property test");
 
-int main(int argc, char **argv) {
+int main(int argc, char **argv)
+{
   int i;
   const SD_workstation_t *workstations;
   SD_workstation_t w1;
@@ -20,16 +20,16 @@ int main(int argc, char **argv) {
   const char *name2;
   xbt_dict_t props;
   xbt_dict_cursor_t cursor = NULL;
-  char *key,*data;
-  char noexist[]="NoProp";
+  char *key, *data;
+  char noexist[] = "NoProp";
   const char *value;
-  char exist[]="SG_TEST_Hdd";
-   
+  char exist[] = "SG_TEST_Hdd";
+
   const SD_link_t *route;
   int route_size;
 
   /* initialisation of SD */
-  SD_init(&argc, argv);        
+  SD_init(&argc, argv);
   if (argc < 2) {
     INFO1("Usage: %s platform_file", argv[0]);
     INFO1("example: %s sd_platform.xml", argv[0]);
@@ -47,24 +47,24 @@ int main(int argc, char **argv) {
 
 
   /* The host properties can be retrived from all interfaces */
-  
+
   INFO1("Property list for workstation %s", name1);
   /* Get the property list of the workstation 1 */
   props = SD_workstation_get_properties(w1);
-  
 
-    /* Trying to set a new property */
+
+  /* Trying to set a new property */
   xbt_dict_set(props, xbt_strdup("NewProp"), strdup("newValue"), free);
 
   /* Print the properties of the workstation 1 */
-  xbt_dict_foreach(props,cursor,key,data) {
-    INFO2("\tProperty: %s has value: %s",key,data);
+  xbt_dict_foreach(props, cursor, key, data) {
+    INFO2("\tProperty: %s has value: %s", key, data);
   }
+
   /* Try to get a property that does not exist */
-  
-  value = SD_workstation_get_property_value(w1,noexist);
-  if ( value == NULL) 
+
+  value = SD_workstation_get_property_value(w1, noexist);
+  if (value == NULL)
     INFO1("\tProperty: %s is undefined", noexist);
   else
     INFO2("\tProperty: %s has value: %s", noexist, value);
@@ -76,24 +76,24 @@ int main(int argc, char **argv) {
   cursor = NULL;
 
   /* Print the properties of the workstation 2 */
-  xbt_dict_foreach(props,cursor,key,data) {
-    INFO2("\tProperty: %s on host: %s",key,data);
+  xbt_dict_foreach(props, cursor, key, data) {
+    INFO2("\tProperty: %s on host: %s", key, data);
   }
 
-  /* Modify an existing property test. First check it exists */\
+  /* Modify an existing property test. First check it exists */
   INFO0("Modify an existing property");
-  
-  value = SD_workstation_get_property_value(w2,exist);
-  if ( value == NULL) 
+
+  value = SD_workstation_get_property_value(w2, exist);
+  if (value == NULL)
     INFO1("\tProperty: %s is undefined", exist);
   else {
     INFO2("\tProperty: %s old value: %s", exist, value);
-    xbt_dict_set(props, exist, strdup("250"), free);  
+    xbt_dict_set(props, exist, strdup("250"), free);
   }
+
   /* Test if we have changed the value */
-  value = SD_workstation_get_property_value(w2,exist);
-  if ( value == NULL) 
+  value = SD_workstation_get_property_value(w2, exist);
+  if (value == NULL)
     INFO1("\tProperty: %s is undefined", exist);
   else
     INFO2("\tProperty: %s new value: %s", exist, value);
@@ -103,27 +103,29 @@ int main(int argc, char **argv) {
   route_size = SD_route_get_size(w1, w2);
   for (i = 0; i < route_size; i++) {
     xbt_dict_cursor_t cursor = NULL;
-    char *key,*data;
-       char noexist1[]="Other";
+    char *key, *data;
+    char noexist1[] = "Other";
     props = SD_link_get_properties(route[i]);
-    
+
 
     /* Print the properties of the current link */
-    xbt_dict_foreach(props,cursor,key,data) {
-    INFO3("\tLink %s property: %s has value: %s",SD_link_get_name(route[i]),key,data);
-
-    /* Try to get a property that does not exist */
-    
-    value = SD_link_get_property_value(route[i], noexist1);
-    if ( value == NULL) 
-      INFO2("\tProperty: %s for link %s is undefined", noexist, SD_link_get_name(route[i]));
-    else
-      INFO3("\tLink %s property: %s has value: %s",SD_link_get_name(route[i]),noexist,value);
-  }
+    xbt_dict_foreach(props, cursor, key, data) {
+      INFO3("\tLink %s property: %s has value: %s",
+            SD_link_get_name(route[i]), key, data);
+
+      /* Try to get a property that does not exist */
+
+      value = SD_link_get_property_value(route[i], noexist1);
+      if (value == NULL)
+        INFO2("\tProperty: %s for link %s is undefined", noexist,
+              SD_link_get_name(route[i]));
+      else
+        INFO3("\tLink %s property: %s has value: %s",
+              SD_link_get_name(route[i]), noexist, value);
+    }
 
   }
 
   SD_exit();
   return 0;
 }
-
index 120c1d8..9d70ef8 100644 (file)
@@ -5,11 +5,12 @@
 #include "xbt/log.h"
 
 XBT_LOG_NEW_DEFAULT_CATEGORY(sd_test,
-                            "Logging specific to this SimDag example");
+                             "Logging specific to this SimDag example");
 
-int main(int argc, char **argv) {
+int main(int argc, char **argv)
+{
   int i;
-  const char * platform_file;
+  const char *platform_file;
   const SD_workstation_t *workstations;
   const char *name1;
   const char *name2;
@@ -25,7 +26,7 @@ int main(int argc, char **argv) {
   const int workstation_number = 2;
   SD_workstation_t workstation_list[2];
   double computation_amount[2];
-  double communication_amount[4] = {0};
+  double communication_amount[4] = { 0 };
   double rate = -1.0;
   SD_workstation_t w1, w2;
 
@@ -56,30 +57,34 @@ int main(int argc, char **argv) {
   communication_amount12 = 2000000;
   communication_amount21 = 3000000;
   INFO3("Computation time for %f flops on %s: %f", computation_amount1, name1,
-       SD_workstation_get_computation_time(w1, computation_amount1));
+        SD_workstation_get_computation_time(w1, computation_amount1));
   INFO3("Computation time for %f flops on %s: %f", computation_amount2, name2,
-       SD_workstation_get_computation_time(w2, computation_amount2));
+        SD_workstation_get_computation_time(w2, computation_amount2));
 
   INFO2("Route between %s and %s:", name1, name2);
   route = SD_route_get_list(w1, w2);
   route_size = SD_route_get_size(w1, w2);
   for (i = 0; i < route_size; i++) {
-    INFO3("   Link %s: latency = %f, bandwidth = %f", SD_link_get_name(route[i]),
-         SD_link_get_current_latency(route[i]), SD_link_get_current_bandwidth(route[i]));
+    INFO3("   Link %s: latency = %f, bandwidth = %f",
+          SD_link_get_name(route[i]), SD_link_get_current_latency(route[i]),
+          SD_link_get_current_bandwidth(route[i]));
   }
-  INFO2("Route latency = %f, route bandwidth = %f", SD_route_get_current_latency(w1, w2),
-       SD_route_get_current_bandwidth(w1, w2));
-  INFO4("Communication time for %f bytes between %s and %s: %f", communication_amount12, name1, name2,
-       SD_route_get_communication_time(w1, w2, communication_amount12));
-  INFO4("Communication time for %f bytes between %s and %s: %f", communication_amount21, name2, name1,
-       SD_route_get_communication_time(w2, w1, communication_amount21));
+  INFO2("Route latency = %f, route bandwidth = %f",
+        SD_route_get_current_latency(w1, w2),
+        SD_route_get_current_bandwidth(w1, w2));
+  INFO4("Communication time for %f bytes between %s and %s: %f",
+        communication_amount12, name1, name2,
+        SD_route_get_communication_time(w1, w2, communication_amount12));
+  INFO4("Communication time for %f bytes between %s and %s: %f",
+        communication_amount21, name2, name1,
+        SD_route_get_communication_time(w2, w1, communication_amount21));
 
   /* creation of the tasks and their dependencies */
   taskA = SD_task_create("Task A", NULL, 10.0);
   taskB = SD_task_create("Task B", NULL, 40.0);
   taskC = SD_task_create("Task C", NULL, 30.0);
   taskD = SD_task_create("Task D", NULL, 60.0);
-  
+
 
   SD_task_dependency_add(NULL, NULL, taskB, taskA);
   SD_task_dependency_add(NULL, NULL, taskC, taskA);
@@ -87,43 +92,43 @@ int main(int argc, char **argv) {
   SD_task_dependency_add(NULL, NULL, taskD, taskC);
   /*  SD_task_dependency_add(NULL, NULL, taskA, taskD); /\* deadlock */
 
-  
+
 
   TRY {
-    SD_task_dependency_add(NULL, NULL, taskA, taskA); /* shouldn't work and must raise an exception */
+    SD_task_dependency_add(NULL, NULL, taskA, taskA);   /* shouldn't work and must raise an exception */
     xbt_die("Hey, I can add a dependency between Task A and Task A!");
   }
-  CATCH (ex) {
+  CATCH(ex) {
     if (ex.category != arg_error)
-      RETHROW; /* this is a serious error */
+      RETHROW;                  /* this is a serious error */
     xbt_ex_free(ex);
   }
-  
+
   TRY {
-    SD_task_dependency_add(NULL, NULL, taskB, taskA); /* shouldn't work and must raise an exception */
+    SD_task_dependency_add(NULL, NULL, taskB, taskA);   /* shouldn't work and must raise an exception */
     xbt_die("Oh oh, I can add an already existing dependency!");
   }
-  CATCH (ex) {
+  CATCH(ex) {
     if (ex.category != arg_error)
       RETHROW;
     xbt_ex_free(ex);
   }
 
   TRY {
-    SD_task_dependency_remove(taskA, taskC); /* shouldn't work and must raise an exception */
+    SD_task_dependency_remove(taskA, taskC);    /* shouldn't work and must raise an exception */
     xbt_die("Dude, I can remove an unknown dependency!");
   }
-  CATCH (ex) {
+  CATCH(ex) {
     if (ex.category != arg_error)
       RETHROW;
     xbt_ex_free(ex);
   }
 
   TRY {
-    SD_task_dependency_remove(taskC, taskC); /* shouldn't work and must raise an exception */
+    SD_task_dependency_remove(taskC, taskC);    /* shouldn't work and must raise an exception */
     xbt_die("Wow, I can remove a dependency between Task C and itself!");
   }
-  CATCH (ex) {
+  CATCH(ex) {
     if (ex.category != arg_error)
       RETHROW;
     xbt_ex_free(ex);
@@ -136,46 +141,46 @@ int main(int argc, char **argv) {
   SD_task_watch(taskD, SD_DONE);
   SD_task_watch(taskB, SD_DONE);
   SD_task_unwatch(taskD, SD_DONE);
-  
+
 
   /* scheduling parameters */
   workstation_list[0] = w1;
   workstation_list[1] = w2;
   computation_amount[0] = computation_amount1;
   computation_amount[1] = computation_amount2;
-  
+
   communication_amount[1] = communication_amount12;
   communication_amount[2] = communication_amount21;
 
   /* estimated time */
   task = taskD;
   INFO2("Estimated time for '%s': %f", SD_task_get_name(task),
-       SD_task_get_execution_time(task, workstation_number, workstation_list,
-                                  computation_amount, communication_amount, rate));
+        SD_task_get_execution_time(task, workstation_number, workstation_list,
+                                   computation_amount, communication_amount,
+                                   rate));
 
   /* let's launch the simulation! */
 
   SD_task_schedule(taskA, workstation_number, workstation_list,
-                  computation_amount, communication_amount, rate);
+                   computation_amount, communication_amount, rate);
   SD_task_schedule(taskB, workstation_number, workstation_list,
-                  computation_amount, communication_amount, rate);
+                   computation_amount, communication_amount, rate);
   SD_task_schedule(taskC, workstation_number, workstation_list,
-                  computation_amount, communication_amount, rate);
+                   computation_amount, communication_amount, rate);
   SD_task_schedule(taskD, workstation_number, workstation_list,
-                  computation_amount, communication_amount, rate);
+                   computation_amount, communication_amount, rate);
 
   changed_tasks = SD_simulate(-1.0);
   for (i = 0; changed_tasks[i] != NULL; i++) {
     INFO3("Task '%s' start time: %f, finish time: %f",
-         SD_task_get_name(changed_tasks[i]),
-         SD_task_get_start_time(changed_tasks[i]),
-         SD_task_get_finish_time(changed_tasks[i]));
+          SD_task_get_name(changed_tasks[i]),
+          SD_task_get_start_time(changed_tasks[i]),
+          SD_task_get_finish_time(changed_tasks[i]));
   }
-  
+
   xbt_assert0(changed_tasks[0] == taskD &&
-             changed_tasks[1] == taskB &&
-             changed_tasks[2] == NULL,
-             "Unexpected simulation results");
+              changed_tasks[1] == taskB &&
+              changed_tasks[2] == NULL, "Unexpected simulation results");
 
   xbt_free(changed_tasks);
 
@@ -191,4 +196,3 @@ int main(int argc, char **argv) {
   SD_exit();
   return 0;
 }
-
index 9f77f01..893654c 100644 (file)
@@ -5,22 +5,23 @@
 #include "simdag/simdag.h"
 #include "xbt/log.h"
 
-#include "xbt/sysdep.h" /* calloc, printf */
+#include "xbt/sysdep.h"         /* calloc, printf */
 
 XBT_LOG_NEW_DEFAULT_CATEGORY(sd_test,
-                            "Logging specific to this SimDag example");
+                             "Logging specific to this SimDag example");
 
 static int nameCompareHosts(const void *n1, const void *n2)
 {
-  return strcmp(SD_workstation_get_name(*((SD_workstation_t *)n1)),
-               SD_workstation_get_name(*((SD_workstation_t *)n2)));
+  return strcmp(SD_workstation_get_name(*((SD_workstation_t *) n1)),
+                SD_workstation_get_name(*((SD_workstation_t *) n2)));
 }
 
-int main(int argc, char **argv) {
-  int i,j;
+int main(int argc, char **argv)
+{
+  int i, j;
   SD_task_t *changed_tasks;
   int n_hosts;
-  const SD_workstation_t * hosts;
+  const SD_workstation_t *hosts;
   SD_task_t taskInit;
   SD_task_t PtoPComm1;
   SD_task_t PtoPComm2;
@@ -30,27 +31,27 @@ int main(int argc, char **argv) {
   SD_task_t InterRedist;
   SD_task_t taskFinal;
   SD_task_t ParComp_wcomm2;
-  const double no_cost[] = {1.0, 1.0};
+  const double no_cost[] = { 1.0, 1.0 };
   SD_workstation_t PtoPcomm1_hosts[2];
   SD_workstation_t PtoPcomm2_hosts[2];
-  double PtoPcomm1_table[] = { 0, 12500000, 0, 0 }; /* 100Mb */
-  double PtoPcomm2_table[] = { 0, 1250000, 0, 0 }; /* 10Mb */
-  double ParComp_wocomm_cost[] = {1e+9,1e+9,1e+9,1e+9,1e+9}; /* 1 Gflop per Proc */
+  double PtoPcomm1_table[] = { 0, 12500000, 0, 0 };     /* 100Mb */
+  double PtoPcomm2_table[] = { 0, 1250000, 0, 0 };      /* 10Mb */
+  double ParComp_wocomm_cost[] = { 1e+9, 1e+9, 1e+9, 1e+9, 1e+9 };      /* 1 Gflop per Proc */
   double *ParComp_wocomm_table;
   SD_workstation_t ParComp_wocomm_hosts[5];
   double *IntraRedist_cost;
   double *IntraRedist_table;
   SD_workstation_t IntraRedist_hosts[5];
-  double ParComp_wcomm1_cost[] = {1e+9,1e+9,1e+9,1e+9,1e+9}; /* 1 Gflop per Proc */
+  double ParComp_wcomm1_cost[] = { 1e+9, 1e+9, 1e+9, 1e+9, 1e+9 };      /* 1 Gflop per Proc */
   double *ParComp_wcomm1_table;
   SD_workstation_t ParComp_wcomm1_hosts[5];
   double *InterRedist_cost;
   double *InterRedist_table;
-  double ParComp_wcomm2_cost[] = {1e+8,1e+8,1e+8,1e+8,1e+8}; /* 1 Gflop per Proc (0.02sec duration) */
+  double ParComp_wcomm2_cost[] = { 1e+8, 1e+8, 1e+8, 1e+8, 1e+8 };      /* 1 Gflop per Proc (0.02sec duration) */
   SD_workstation_t ParComp_wcomm2_hosts[5];
   double final_cost = 5e+9;
   double *ParComp_wcomm2_table;
+
   /* initialisation of SD */
   SD_init(&argc, argv);
 
@@ -59,24 +60,23 @@ int main(int argc, char **argv) {
 
   /* getting platform infos */
   n_hosts = SD_workstation_get_number();
-  hosts= SD_workstation_get_list();
+  hosts = SD_workstation_get_list();
 
   /* sorting hosts by hostname */
-  qsort((void *)hosts,n_hosts,
-       sizeof(SD_workstation_t),nameCompareHosts);
+  qsort((void *) hosts, n_hosts, sizeof(SD_workstation_t), nameCompareHosts);
 
   /* creation of the tasks */
-  taskInit = SD_task_create("Initial",NULL,1.0);
+  taskInit = SD_task_create("Initial", NULL, 1.0);
   PtoPComm1 = SD_task_create("PtoP Comm 1", NULL, 1.0);
   PtoPComm2 = SD_task_create("PtoP Comm 2", NULL, 1.0);
-  ParComp_wocomm =  SD_task_create("Par Comp without comm", NULL, 1.0);
-  IntraRedist =  SD_task_create("intra redist", NULL, 1.0);
-  ParComp_wcomm1 =  SD_task_create("Par Comp with comm 1", NULL, 1.0);
-  InterRedist =  SD_task_create("inter redist", NULL, 1.0);
-  taskFinal = SD_task_create("Final",NULL,1.0);
-  ParComp_wcomm2 =  SD_task_create("Par Comp with comm 2", NULL, 1.0);
-  
-  
+  ParComp_wocomm = SD_task_create("Par Comp without comm", NULL, 1.0);
+  IntraRedist = SD_task_create("intra redist", NULL, 1.0);
+  ParComp_wcomm1 = SD_task_create("Par Comp with comm 1", NULL, 1.0);
+  InterRedist = SD_task_create("inter redist", NULL, 1.0);
+  taskFinal = SD_task_create("Final", NULL, 1.0);
+  ParComp_wcomm2 = SD_task_create("Par Comp with comm 2", NULL, 1.0);
+
+
   /* creation of the dependencies */
   SD_task_dependency_add(NULL, NULL, taskInit, PtoPComm1);
   SD_task_dependency_add(NULL, NULL, taskInit, PtoPComm2);
@@ -87,100 +87,107 @@ int main(int argc, char **argv) {
   SD_task_dependency_add(NULL, NULL, InterRedist, ParComp_wcomm2);
   SD_task_dependency_add(NULL, NULL, ParComp_wcomm2, taskFinal);
   SD_task_dependency_add(NULL, NULL, PtoPComm2, taskFinal);
-  
-  
+
+
   /* scheduling parameters */
-  
-  /* large point-to-point communication (0.1 sec duration) */ 
+
+  /* large point-to-point communication (0.1 sec duration) */
   PtoPcomm1_hosts[0] = hosts[0];
-  PtoPcomm1_hosts[1]  =hosts[1];
+  PtoPcomm1_hosts[1] hosts[1];
 
-  /* small point-to-point communication (0.01 sec duration) */ 
+  /* small point-to-point communication (0.01 sec duration) */
   PtoPcomm2_hosts[0] = hosts[0];
   PtoPcomm2_hosts[1] = hosts[2];
+
   /* parallel task without intra communications (1 sec duration) */
-  ParComp_wocomm_table = xbt_new0(double,25);
+  ParComp_wocomm_table = xbt_new0(double, 25);
 
-  for (i=0; i<5;i++){
-    ParComp_wocomm_hosts[i]=hosts[i];
+  for (i = 0; i < 5; i++) {
+    ParComp_wocomm_hosts[i] = hosts[i];
   }
-  
+
   /* redistribution within a cluster (small latencies) */
   /* each host send (4*2.5Mb =) 10Mb */
   /* bandwidth is shared between 5 flows (0.05sec duration) */
-  IntraRedist_cost = xbt_new0(double,5);
-  IntraRedist_table = xbt_new0(double,25);
-  for (i=0;i<5;i++){
-    for (j=0;j<5;j++){
-      if (i==j) 
-       IntraRedist_table[i*5+j] = 0.;
+  IntraRedist_cost = xbt_new0(double, 5);
+  IntraRedist_table = xbt_new0(double, 25);
+  for (i = 0; i < 5; i++) {
+    for (j = 0; j < 5; j++) {
+      if (i == j)
+        IntraRedist_table[i * 5 + j] = 0.;
       else
-       IntraRedist_table[i*5+j] = 312500.; /* 2.5Mb */
+        IntraRedist_table[i * 5 + j] = 312500.; /* 2.5Mb */
     }
   }
 
-  for (i=0; i<5;i++){
-    IntraRedist_hosts[i]=hosts[i];
+  for (i = 0; i < 5; i++) {
+    IntraRedist_hosts[i] = hosts[i];
   }
-  
+
   /* parallel task with intra communications */
   /* Computation domination (1 sec duration) */
-  ParComp_wcomm1_table = xbt_new0(double,25);
-  
-  for (i=0; i<5;i++){
-    ParComp_wcomm1_hosts[i]=hosts[i];
+  ParComp_wcomm1_table = xbt_new0(double, 25);
+
+  for (i = 0; i < 5; i++) {
+    ParComp_wcomm1_hosts[i] = hosts[i];
   }
 
-  for (i=0;i<5;i++){
-    for (j=0;j<5;j++){
-      if (i==j) 
-       ParComp_wcomm1_table[i*5+j] = 0.;
+  for (i = 0; i < 5; i++) {
+    for (j = 0; j < 5; j++) {
+      if (i == j)
+        ParComp_wcomm1_table[i * 5 + j] = 0.;
       else
-       ParComp_wcomm1_table[i*5+j] = 312500.; /* 2.5Mb */
+        ParComp_wcomm1_table[i * 5 + j] = 312500.;      /* 2.5Mb */
     }
   }
-  
+
   /* inter cluster redistribution (big latency on the backbone) */
-  /* (0.5sec duration without latency impact)*/
-  InterRedist_cost = xbt_new0(double,10);
-  InterRedist_table = xbt_new0(double,100);
-  for (i=0;i<5;i++){
-    InterRedist_table[i*10+i+5] = 1250000.; /* 10Mb */
+  /* (0.5sec duration without latency impact) */
+  InterRedist_cost = xbt_new0(double, 10);
+  InterRedist_table = xbt_new0(double, 100);
+  for (i = 0; i < 5; i++) {
+    InterRedist_table[i * 10 + i + 5] = 1250000.;       /* 10Mb */
   }
 
   /* parallel task with intra communications */
   /* Communication domination (0.1 sec duration) */
-  
-  ParComp_wcomm2_table = xbt_new0(double,25);
-  
-  for (i=0; i<5;i++){
-    ParComp_wcomm2_hosts[i]=hosts[i+5];
+
+  ParComp_wcomm2_table = xbt_new0(double, 25);
+
+  for (i = 0; i < 5; i++) {
+    ParComp_wcomm2_hosts[i] = hosts[i + 5];
   }
 
-  for (i=0;i<5;i++){
-    for (j=0;j<5;j++){
-      if (i==j) 
-       ParComp_wcomm2_table[i*5+j] = 0.;
+  for (i = 0; i < 5; i++) {
+    for (j = 0; j < 5; j++) {
+      if (i == j)
+        ParComp_wcomm2_table[i * 5 + j] = 0.;
       else
-       ParComp_wcomm2_table[i*5+j] = 625000.; /* 5Mb */
+        ParComp_wcomm2_table[i * 5 + j] = 625000.;      /* 5Mb */
     }
   }
-  
+
   /* Sequential task */
-  
+
 
   /* scheduling the tasks */
   SD_task_schedule(taskInit, 1, hosts, no_cost, no_cost, -1.0);
-  SD_task_schedule(PtoPComm1, 2, PtoPcomm1_hosts, no_cost, PtoPcomm1_table, -1.0);
-  SD_task_schedule(PtoPComm2, 2, PtoPcomm2_hosts, no_cost, PtoPcomm2_table, -1.0);
-  SD_task_schedule(ParComp_wocomm, 5, ParComp_wocomm_hosts, ParComp_wocomm_cost, ParComp_wocomm_table, -1.0);
-  SD_task_schedule(IntraRedist, 5, IntraRedist_hosts, IntraRedist_cost, IntraRedist_table, -1.0);
-  SD_task_schedule(ParComp_wcomm1, 5, ParComp_wcomm1_hosts, ParComp_wcomm1_cost, ParComp_wcomm1_table, -1.0);
-  SD_task_schedule(InterRedist, 10, hosts, InterRedist_cost, InterRedist_table, -1.0);
-  SD_task_schedule(ParComp_wcomm2, 5, ParComp_wcomm2_hosts, ParComp_wcomm2_cost, ParComp_wcomm2_table, -1.0);
+  SD_task_schedule(PtoPComm1, 2, PtoPcomm1_hosts, no_cost, PtoPcomm1_table,
+                   -1.0);
+  SD_task_schedule(PtoPComm2, 2, PtoPcomm2_hosts, no_cost, PtoPcomm2_table,
+                   -1.0);
+  SD_task_schedule(ParComp_wocomm, 5, ParComp_wocomm_hosts,
+                   ParComp_wocomm_cost, ParComp_wocomm_table, -1.0);
+  SD_task_schedule(IntraRedist, 5, IntraRedist_hosts, IntraRedist_cost,
+                   IntraRedist_table, -1.0);
+  SD_task_schedule(ParComp_wcomm1, 5, ParComp_wcomm1_hosts,
+                   ParComp_wcomm1_cost, ParComp_wcomm1_table, -1.0);
+  SD_task_schedule(InterRedist, 10, hosts, InterRedist_cost,
+                   InterRedist_table, -1.0);
+  SD_task_schedule(ParComp_wcomm2, 5, ParComp_wcomm2_hosts,
+                   ParComp_wcomm2_cost, ParComp_wcomm2_table, -1.0);
   SD_task_schedule(taskFinal, 1, &(hosts[9]), &final_cost, no_cost, -1.0);
-  
+
   /* let's launch the simulation! */
   changed_tasks = SD_simulate(-1.0);
 
@@ -193,7 +200,7 @@ int main(int argc, char **argv) {
   free(InterRedist_cost);
   free(InterRedist_table);
   free(ParComp_wcomm2_table);
-  
+
   SD_task_destroy(taskInit);
   SD_task_destroy(PtoPComm1);
   SD_task_destroy(PtoPComm2);
@@ -207,4 +214,3 @@ int main(int argc, char **argv) {
   SD_exit();
   return 0;
 }
-
index 80a99bc..295afbd 100644 (file)
@@ -93,38 +93,46 @@ XBT_PUBLIC(void) amok_bw_init(void);
 XBT_PUBLIC(void) amok_bw_exit(void);
 
 XBT_PUBLIC(void) amok_bw_test(gras_socket_t peer,
-                            unsigned long int buf_size,
-                            unsigned long int msg_size,
-                            unsigned long int msg_amount,
-                            double min_duration,
-                            /*OUT*/ double *sec, double *bw);
-
-XBT_PUBLIC(void) amok_bw_request(const char* from_name,unsigned int from_port,
-                    const char* to_name,unsigned int to_port,
-                               unsigned long int buf_size,
-                               unsigned long int msg_size,
-                               unsigned long int msg_amount,
-                               double min_duration,
-                               /*OUT*/ double *sec, double*bw);
-
-XBT_PUBLIC(double*) amok_bw_matrix(xbt_dynar_t hosts, /* dynar of xbt_host_t */
-                                  int buf_size_bw, int msg_size_bw, int msg_amount_bw, double min_duration);
+                              unsigned long int buf_size,
+                              unsigned long int msg_size,
+                              unsigned long int msg_amount,
+                              double min_duration,
+                              /*OUT*/ double *sec, double *bw);
+
+XBT_PUBLIC(void) amok_bw_request(const char *from_name,
+                                 unsigned int from_port, const char *to_name,
+                                 unsigned int to_port,
+                                 unsigned long int buf_size,
+                                 unsigned long int msg_size,
+                                 unsigned long int msg_amount,
+                                 double min_duration, /*OUT*/ double *sec,
+                                 double *bw);
+
+XBT_PUBLIC(double *) amok_bw_matrix(xbt_dynar_t hosts,  /* dynar of xbt_host_t */
+                                    int buf_size_bw, int msg_size_bw,
+                                    int msg_amount_bw, double min_duration);
 
 /* ***************************************************************************
  * Link saturation
  * ***************************************************************************/
 
 
-XBT_PUBLIC(void) amok_bw_saturate_start(const char* from_name,unsigned int from_port,
-                           const char* to_name,unsigned int to_port,
-                           unsigned int msg_size, double duration);
+XBT_PUBLIC(void) amok_bw_saturate_start(const char *from_name,
+                                        unsigned int from_port,
+                                        const char *to_name,
+                                        unsigned int to_port,
+                                        unsigned int msg_size,
+                                        double duration);
 
-XBT_PUBLIC(void) amok_bw_saturate_begin(const char* to_name,unsigned int to_port,
-                           unsigned int msg_size, double duration,
-                           /*out*/ double *elapsed, double *bw);
+XBT_PUBLIC(void) amok_bw_saturate_begin(const char *to_name,
+                                        unsigned int to_port,
+                                        unsigned int msg_size,
+                                        double duration,
+                                        /*out */ double *elapsed, double *bw);
 
-XBT_PUBLIC(void) amok_bw_saturate_stop(const char* from_name,unsigned int from_port,
-                          /*out*/ double *time, double *bw);
+XBT_PUBLIC(void) amok_bw_saturate_stop(const char *from_name,
+                                       unsigned int from_port,
+                                       /*out */ double *time, double *bw);
 
 /** @} */
 
index 624abdc..b96b0e1 100644 (file)
@@ -61,19 +61,23 @@ XBT_PUBLIC(void) amok_pm_exit(void);
 
 XBT_PUBLIC(void) amok_pm_mainloop(double timeOut);
 
-XBT_PUBLIC(void) amok_pm_kill_hp(char *name,int port);
+XBT_PUBLIC(void) amok_pm_kill_hp(char *name, int port);
 XBT_PUBLIC(void) amok_pm_kill(gras_socket_t buddy);
 XBT_PUBLIC(void) amok_pm_kill_sync(gras_socket_t buddy);
 
 XBT_PUBLIC(xbt_dynar_t) amok_pm_group_new(const char *group_name);
-XBT_PUBLIC(xbt_dynar_t) amok_pm_group_get(gras_socket_t master, const char *group_name);
+XBT_PUBLIC(xbt_dynar_t) amok_pm_group_get(gras_socket_t master,
+                                          const char *group_name);
 
-XBT_PUBLIC(void)        amok_pm_group_join(gras_socket_t master, const char *group_name, int rank);
-XBT_PUBLIC(void)        amok_pm_group_leave(gras_socket_t master, const char *group_name);
+XBT_PUBLIC(void) amok_pm_group_join(gras_socket_t master,
+                                    const char *group_name, int rank);
+XBT_PUBLIC(void) amok_pm_group_leave(gras_socket_t master,
+                                     const char *group_name);
 
 
 XBT_PUBLIC(void) amok_pm_group_shutdown(const char *group_name);
-XBT_PUBLIC(void) amok_pm_group_shutdown_remote(gras_socket_t master, const char *group_name);
+XBT_PUBLIC(void) amok_pm_group_shutdown_remote(gras_socket_t master,
+                                               const char *group_name);
 
 
 /** @} */
index 6563a7a..ef4358f 100644 (file)
@@ -10,8 +10,8 @@
 #ifndef GRAS_H
 #define GRAS_H
 
-#include <xbt.h> /* our toolbox */
-#include <xbt/ex.h> /* There's a whole bunch of exception handling in GRAS */
+#include <xbt.h>                /* our toolbox */
+#include <xbt/ex.h>             /* There's a whole bunch of exception handling in GRAS */
 
 #include <gras/process.h>
 #include <gras/module.h>
index f19da0a..903902d 100644 (file)
@@ -10,8 +10,8 @@
 #ifndef GRAS_DATADESC_H
 #define GRAS_DATADESC_H
 
-#include "xbt/misc.h" /* SG_BEGIN_DECL */
-#include "xbt/dynar.h" /* void_f_pvoid_t */
+#include "xbt/misc.h"           /* SG_BEGIN_DECL */
+#include "xbt/dynar.h"          /* void_f_pvoid_t */
 
 SG_BEGIN_DECL()
 
@@ -36,7 +36,6 @@ SG_BEGIN_DECL()
  *     - Section \ref GRAS_dd_cb_simple provides a simple interface to do so, allowing to share integers stored on a stack.
  *     - Section \ref GRAS_dd_cb_full provides a full featured interface to do so, but it may reveal somehow difficult to use.
  **/
-
 /** @defgroup GRAS_dd_basic Basic operations on data descriptions
  *  @ingroup GRAS_dd
  * \htmlonly <!-- DOXYGEN_NAVBAR_LABEL="Basics" --> \endhtmlonly
@@ -54,16 +53,16 @@ SG_BEGIN_DECL()
  *
  */
 /* @{ */
-  
 /** @brief Opaque type describing a type description. */
-typedef struct s_gras_datadesc_type *gras_datadesc_type_t;
+     typedef struct s_gras_datadesc_type *gras_datadesc_type_t;
 
 /** \brief Search a type description from its name */
 XBT_PUBLIC(gras_datadesc_type_t) gras_datadesc_by_name(const char *name);
-XBT_PUBLIC(gras_datadesc_type_t) gras_datadesc_by_name_or_null(const char *name);
+XBT_PUBLIC(gras_datadesc_type_t) gras_datadesc_by_name_or_null(const char
+                                                               *name);
 
 /* @} */
-    
+
 /** @defgroup GRAS_dd_auto Automatic parsing of data descriptions
  *  @ingroup GRAS_dd
  * \htmlonly <!-- DOXYGEN_NAVBAR_LABEL="Automatic parsing" --> \endhtmlonly
@@ -220,14 +219,14 @@ int server(int argc, char *argv[]) {
  */
 /** @{ */
 
+
 /**   @brief Automatically parse C code
  *    @hideinitializer
  */
 #define GRAS_DEFINE_TYPE(name,def) \
   const char * _gras_this_type_symbol_does_not_exist__##name=#def; def
 
-#ifndef DOXYGEN_SKIP /* doxygen don't like macro fun too much */
+#ifndef DOXYGEN_SKIP            /* doxygen don't like macro fun too much */
 #  ifdef GRAS_DEFINE_TYPE_EXTERN
 #    undef  GRAS_DEFINE_TYPE
 #    define GRAS_DEFINE_TYPE(name,def)  def
@@ -240,7 +239,7 @@ int server(int argc, char *argv[]) {
  */
 #define GRAS_DEFINE_TYPE_EXTERN 1
 /* leave the fun of declaring this to the user */
-#undef GRAS_DEFINE_TYPE_EXTERN 
+#undef GRAS_DEFINE_TYPE_EXTERN
 
 /** @brief Define a symbol to be automatically parsed, disregarding #GRAS_DEFINE_TYPE_EXTERN
  *  @hideinitializer
@@ -251,7 +250,7 @@ int server(int argc, char *argv[]) {
  */
 #define GRAS_DEFINE_TYPE_LOCAL(name, def) \
   const char * _gras_this_type_symbol_does_not_exist__##name=#def; def
-  
+
 /** @brief Retrieve a datadesc which was previously parsed 
  *  @hideinitializer
  */
@@ -266,15 +265,15 @@ int server(int argc, char *argv[]) {
  *  @brief Add an annotation to a type to be automatically parsed
  */
 #define GRAS_ANNOTE(key,val)
+
 /** @brief Defines the value of a define to the datatype parsing infrastructure
  */
-XBT_PUBLIC(void) gras_datadesc_set_const(const char*name, int value);
+XBT_PUBLIC(void) gras_datadesc_set_const(const char *name, int value);
 
 /* @} */
 
-XBT_PUBLIC(gras_datadesc_type_t) 
-gras_datadesc_parse(const char *name, const char *C_statement);
+XBT_PUBLIC(gras_datadesc_type_t)
+  gras_datadesc_parse(const char *name, const char *C_statement);
 
 /** @defgroup GRAS_dd_manual Simple manual data description
  *  @ingroup GRAS_dd
@@ -315,15 +314,25 @@ gras_datadesc_parse(const char *name, const char *C_statement);
 
 
 /** \brief Opaque type describing a type description callback persistant state. */
-typedef struct s_gras_cbps *gras_cbps_t;
+     typedef struct s_gras_cbps *gras_cbps_t;
 
 /* callbacks prototypes */
 /** \brief Prototype of type callbacks returning nothing. */
-typedef void (*gras_datadesc_type_cb_void_t)(gras_datadesc_type_t typedesc, gras_cbps_t vars, void *data);
+     typedef void (*gras_datadesc_type_cb_void_t) (gras_datadesc_type_t
+                                                   typedesc, gras_cbps_t vars,
+                                                   void *data);
 /** \brief Prototype of type callbacks returning an int. */
-typedef int (*gras_datadesc_type_cb_int_t)(gras_datadesc_type_t typedesc, gras_cbps_t vars, void *data);
+     typedef int (*gras_datadesc_type_cb_int_t) (gras_datadesc_type_t
+                                                 typedesc, gras_cbps_t vars,
+                                                 void *data);
 /** \brief Prototype of type callbacks selecting a type. */
-typedef gras_datadesc_type_t (*gras_datadesc_selector_t)(gras_datadesc_type_t typedesc, gras_cbps_t vars, void *data);
+     typedef
+
+      
+       gras_datadesc_type_t(*gras_datadesc_selector_t) (gras_datadesc_type_t
+                                                        typedesc,
+                                                        gras_cbps_t vars,
+                                                        void *data);
 
 
 /******************************************
@@ -331,47 +340,44 @@ typedef gras_datadesc_type_t (*gras_datadesc_selector_t)(gras_datadesc_type_t ty
  ******************************************/
 
 XBT_PUBLIC(gras_datadesc_type_t) gras_datadesc_struct(const char *name);
-XBT_PUBLIC(void) gras_datadesc_struct_append(gras_datadesc_type_t  struct_type,
-                                const char           *name,
-                                gras_datadesc_type_t  field_type);
-XBT_PUBLIC(void) gras_datadesc_struct_close(gras_datadesc_type_t   struct_type);
-
-
-XBT_PUBLIC(gras_datadesc_type_t) gras_datadesc_union(const char                 *name,
-                                        gras_datadesc_type_cb_int_t selector);
-XBT_PUBLIC(void) gras_datadesc_union_append(gras_datadesc_type_t   union_type,
-                               const char            *name,
-                               gras_datadesc_type_t   field_type);
-XBT_PUBLIC(void) gras_datadesc_union_close(gras_datadesc_type_t    union_type);
-
-
-XBT_PUBLIC(gras_datadesc_type_t) 
-  gras_datadesc_ref(const char          *name,
-                   gras_datadesc_type_t referenced_type);
-XBT_PUBLIC(gras_datadesc_type_t) 
-  gras_datadesc_copy(const char          *name,
-                    gras_datadesc_type_t copied_type);
-XBT_PUBLIC(gras_datadesc_type_t) 
-  gras_datadesc_ref_generic(const char              *name,
-                           gras_datadesc_selector_t selector);
-
-XBT_PUBLIC(gras_datadesc_type_t) 
-  gras_datadesc_array_fixed(const char          *name,
-                           gras_datadesc_type_t element_type,
-                           long int             fixed_size);
-XBT_PUBLIC(gras_datadesc_type_t) 
-  gras_datadesc_array_dyn(const char                 *name,
-                         gras_datadesc_type_t        element_type,
-                         gras_datadesc_type_cb_int_t dynamic_size);
-XBT_PUBLIC(gras_datadesc_type_t) 
-  gras_datadesc_ref_pop_arr(gras_datadesc_type_t  element_type);
-
-XBT_PUBLIC(gras_datadesc_type_t) 
-  gras_datadesc_dynar(gras_datadesc_type_t elm_t,
-                     void_f_pvoid_t free_func);
+XBT_PUBLIC(void) gras_datadesc_struct_append(gras_datadesc_type_t struct_type,
+                                             const char *name,
+                                             gras_datadesc_type_t field_type);
+XBT_PUBLIC(void) gras_datadesc_struct_close(gras_datadesc_type_t struct_type);
+
+
+XBT_PUBLIC(gras_datadesc_type_t) gras_datadesc_union(const char *name,
+                                                     gras_datadesc_type_cb_int_t
+                                                     selector);
+XBT_PUBLIC(void) gras_datadesc_union_append(gras_datadesc_type_t union_type,
+                                            const char *name,
+                                            gras_datadesc_type_t field_type);
+XBT_PUBLIC(void) gras_datadesc_union_close(gras_datadesc_type_t union_type);
+
+
 XBT_PUBLIC(gras_datadesc_type_t)
-  gras_datadesc_matrix(gras_datadesc_type_t elm_t,
-                      void_f_pvoid_t const free_f);
+  gras_datadesc_ref(const char *name, gras_datadesc_type_t referenced_type);
+XBT_PUBLIC(gras_datadesc_type_t)
+  gras_datadesc_copy(const char *name, gras_datadesc_type_t copied_type);
+XBT_PUBLIC(gras_datadesc_type_t)
+  gras_datadesc_ref_generic(const char *name,
+                          gras_datadesc_selector_t selector);
+
+XBT_PUBLIC(gras_datadesc_type_t)
+  gras_datadesc_array_fixed(const char *name,
+                          gras_datadesc_type_t element_type,
+                          long int fixed_size);
+XBT_PUBLIC(gras_datadesc_type_t)
+  gras_datadesc_array_dyn(const char *name,
+                        gras_datadesc_type_t element_type,
+                        gras_datadesc_type_cb_int_t dynamic_size);
+XBT_PUBLIC(gras_datadesc_type_t)
+  gras_datadesc_ref_pop_arr(gras_datadesc_type_t element_type);
+
+XBT_PUBLIC(gras_datadesc_type_t)
+  gras_datadesc_dynar(gras_datadesc_type_t elm_t, void_f_pvoid_t free_func);
+XBT_PUBLIC(gras_datadesc_type_t)
+  gras_datadesc_matrix(gras_datadesc_type_t elm_t, void_f_pvoid_t const free_f);
 
 /*********************************
  * Change stuff within datadescs *
@@ -382,25 +388,28 @@ XBT_PUBLIC(void) gras_datadesc_cycle_set(gras_datadesc_type_t type);
 /** \brief Specify that this type do not contain any cycles (default) */
 XBT_PUBLIC(void) gras_datadesc_cycle_unset(gras_datadesc_type_t type);
 /** \brief Add a pre-send callback to this datadesc. */
-XBT_PUBLIC(void) gras_datadesc_cb_send (gras_datadesc_type_t         type,
-                           gras_datadesc_type_cb_void_t pre);
+XBT_PUBLIC(void) gras_datadesc_cb_send(gras_datadesc_type_t type,
+                                       gras_datadesc_type_cb_void_t pre);
 /** \brief Add a post-receive callback to this datadesc.*/
-XBT_PUBLIC(void) gras_datadesc_cb_recv(gras_datadesc_type_t          type,
-                          gras_datadesc_type_cb_void_t  post);
+XBT_PUBLIC(void) gras_datadesc_cb_recv(gras_datadesc_type_t type,
+                                       gras_datadesc_type_cb_void_t post);
 /** \brief Add a pre-send callback to the given field of the datadesc */
-XBT_PUBLIC(void) gras_datadesc_cb_field_send (gras_datadesc_type_t   type,
-                                 const char            *field_name,
-                                 gras_datadesc_type_cb_void_t  pre);
+XBT_PUBLIC(void) gras_datadesc_cb_field_send(gras_datadesc_type_t type,
+                                             const char *field_name,
+                                             gras_datadesc_type_cb_void_t
+                                             pre);
 /** \brief Add a post-receive callback to the given field of the datadesc */
-XBT_PUBLIC(void) gras_datadesc_cb_field_recv(gras_datadesc_type_t    type,
-                                const char             *field_name,
-                                gras_datadesc_type_cb_void_t  post);
+XBT_PUBLIC(void) gras_datadesc_cb_field_recv(gras_datadesc_type_t type,
+                                             const char *field_name,
+                                             gras_datadesc_type_cb_void_t
+                                             post);
 /** \brief Add a pre-send callback to the given field resulting in its value to be pushed */
-XBT_PUBLIC(void) gras_datadesc_cb_field_push (gras_datadesc_type_t   type,
-                                 const char            *field_name);
+XBT_PUBLIC(void) gras_datadesc_cb_field_push(gras_datadesc_type_t type,
+                                             const char *field_name);
 /** \brief Add a pre-send callback to the given field resulting in its value multiplied to any previously pushed value and then pushed back */
-XBT_PUBLIC(void) gras_datadesc_cb_field_push_multiplier (gras_datadesc_type_t type,
-                                            const char          *field_name);
+XBT_PUBLIC(void) gras_datadesc_cb_field_push_multiplier(gras_datadesc_type_t
+                                                        type, const char
+                                                        *field_name);
 
 /******************************
  * Get stuff within datadescs *
@@ -459,22 +468,32 @@ gras_datadesc_struct_close(my_type);
  */
 /* @{ */
 
-XBT_PUBLIC(void)
-gras_cbps_i_push(gras_cbps_t ps, int val);
-XBT_PUBLIC(int) 
-gras_cbps_i_pop(gras_cbps_t ps);
-
-XBT_PUBLIC(int) gras_datadesc_cb_pop(gras_datadesc_type_t typedesc, gras_cbps_t vars, void *data);
-
-XBT_PUBLIC(void) gras_datadesc_cb_push_int(gras_datadesc_type_t typedesc, gras_cbps_t vars, void *data);
-XBT_PUBLIC(void) gras_datadesc_cb_push_uint(gras_datadesc_type_t typedesc, gras_cbps_t vars, void *data);
-XBT_PUBLIC(void) gras_datadesc_cb_push_lint(gras_datadesc_type_t typedesc, gras_cbps_t vars, void *data);
-XBT_PUBLIC(void) gras_datadesc_cb_push_ulint(gras_datadesc_type_t typedesc, gras_cbps_t vars, void *data);
-
-XBT_PUBLIC(void) gras_datadesc_cb_push_int_mult(gras_datadesc_type_t typedesc, gras_cbps_t vars, void *data);
-XBT_PUBLIC(void) gras_datadesc_cb_push_uint_mult(gras_datadesc_type_t typedesc, gras_cbps_t vars, void *data);
-XBT_PUBLIC(void) gras_datadesc_cb_push_lint_mult(gras_datadesc_type_t typedesc, gras_cbps_t vars, void *data);
-XBT_PUBLIC(void) gras_datadesc_cb_push_ulint_mult(gras_datadesc_type_t typedesc, gras_cbps_t vars, void *data);
+XBT_PUBLIC(void) gras_cbps_i_push(gras_cbps_t ps, int val);
+XBT_PUBLIC(int) gras_cbps_i_pop(gras_cbps_t ps);
+
+XBT_PUBLIC(int) gras_datadesc_cb_pop(gras_datadesc_type_t typedesc,
+                                     gras_cbps_t vars, void *data);
+
+XBT_PUBLIC(void) gras_datadesc_cb_push_int(gras_datadesc_type_t typedesc,
+                                           gras_cbps_t vars, void *data);
+XBT_PUBLIC(void) gras_datadesc_cb_push_uint(gras_datadesc_type_t typedesc,
+                                            gras_cbps_t vars, void *data);
+XBT_PUBLIC(void) gras_datadesc_cb_push_lint(gras_datadesc_type_t typedesc,
+                                            gras_cbps_t vars, void *data);
+XBT_PUBLIC(void) gras_datadesc_cb_push_ulint(gras_datadesc_type_t typedesc,
+                                             gras_cbps_t vars, void *data);
+
+XBT_PUBLIC(void) gras_datadesc_cb_push_int_mult(gras_datadesc_type_t typedesc,
+                                                gras_cbps_t vars, void *data);
+XBT_PUBLIC(void) gras_datadesc_cb_push_uint_mult(gras_datadesc_type_t
+                                                 typedesc, gras_cbps_t vars,
+                                                 void *data);
+XBT_PUBLIC(void) gras_datadesc_cb_push_lint_mult(gras_datadesc_type_t
+                                                 typedesc, gras_cbps_t vars,
+                                                 void *data);
+XBT_PUBLIC(void) gras_datadesc_cb_push_ulint_mult(gras_datadesc_type_t
+                                                  typedesc, gras_cbps_t vars,
+                                                  void *data);
 
 
 /* @} */
@@ -493,22 +512,18 @@ XBT_PUBLIC(void) gras_datadesc_cb_push_ulint_mult(gras_datadesc_type_t typedesc,
 
 /* @{ */
 
-XBT_PUBLIC(void)   gras_cbps_v_pop (gras_cbps_t            ps, 
-                       const char            *name,
-             /* OUT */ gras_datadesc_type_t  *ddt,
-             /* OUT */ void                 **res);
-XBT_PUBLIC(void)   gras_cbps_v_push(gras_cbps_t            ps,
-                       const char            *name,
-                       void                  *data,
-                       gras_datadesc_type_t   ddt);
-XBT_PUBLIC(void)   gras_cbps_v_set (gras_cbps_t            ps,
-                       const char            *name,
-                       void                  *data,
-                       gras_datadesc_type_t   ddt);
-
-XBT_PUBLIC(void*) gras_cbps_v_get (gras_cbps_t            ps, 
-                       const char            *name,
-             /* OUT */ gras_datadesc_type_t  *ddt);
+XBT_PUBLIC(void) gras_cbps_v_pop(gras_cbps_t ps, const char *name,
+                                 /* OUT */ gras_datadesc_type_t * ddt,
+                                 /* OUT */ void **res);
+XBT_PUBLIC(void) gras_cbps_v_push(gras_cbps_t ps,
+                                  const char *name,
+                                  void *data, gras_datadesc_type_t ddt);
+XBT_PUBLIC(void) gras_cbps_v_set(gras_cbps_t ps,
+                                 const char *name,
+                                 void *data, gras_datadesc_type_t ddt);
+
+XBT_PUBLIC(void *) gras_cbps_v_get(gras_cbps_t ps, const char *name,
+                                   /* OUT */ gras_datadesc_type_t * ddt);
 
 XBT_PUBLIC(void) gras_cbps_block_begin(gras_cbps_t ps);
 XBT_PUBLIC(void) gras_cbps_block_end(gras_cbps_t ps);
@@ -530,10 +545,10 @@ XBT_PUBLIC(int) gras_arch_selfid(void); /* ID of this arch */
 /**
  * Basic types we can embeed in DataDescriptors.
  */
-typedef enum
-  {CHAR_TYPE, DOUBLE_TYPE, FLOAT_TYPE, INT_TYPE, LONG_TYPE, SHORT_TYPE,
-   UNSIGNED_INT_TYPE, UNSIGNED_LONG_TYPE, UNSIGNED_SHORT_TYPE, STRUCT_TYPE}
-  DataTypes;
+     typedef enum
+       { CHAR_TYPE, DOUBLE_TYPE, FLOAT_TYPE, INT_TYPE, LONG_TYPE, SHORT_TYPE,
+       UNSIGNED_INT_TYPE, UNSIGNED_LONG_TYPE, UNSIGNED_SHORT_TYPE, STRUCT_TYPE
+     } DataTypes;
 #define SIMPLE_TYPE_COUNT 9
 
 /**  \brief Describe a collection of data.
@@ -548,14 +563,14 @@ typedef enum
 ** padding bytes the compiler adds to the end of the structure.
 */
 
-typedef struct DataDescriptorStruct {
-  DataTypes type;
-  size_t repetitions;
-  size_t offset;
-  /*@null@*/ struct DataDescriptorStruct *members;
-  size_t length;
-  size_t tailPadding;
-} DataDescriptor;
+     typedef struct DataDescriptorStruct {
+       DataTypes type;
+       size_t repetitions;
+       size_t offset;
+       /*@null@ */ struct DataDescriptorStruct *members;
+       size_t length;
+       size_t tailPadding;
+     } DataDescriptor;
 /** DataDescriptor for an array */
 #define SIMPLE_DATA(type,repetitions) \
   {type, repetitions, 0, NULL, 0, 0}
@@ -568,11 +583,9 @@ typedef struct DataDescriptorStruct {
   sizeof(memberType) * repetitions
 
 XBT_PUBLIC(gras_datadesc_type_t)
-gras_datadesc_import_nws(const char           *name,
-                        const DataDescriptor *desc,
-                        unsigned long         howmany);
+  gras_datadesc_import_nws(const char *name,
+                         const DataDescriptor * desc, unsigned long howmany);
 
 
 SG_END_DECL()
-
 #endif /* GRAS_DATADESC_H */
index 99b04f0..7b3865d 100644 (file)
@@ -2,7 +2,7 @@
 
 /* gras/emul.h - public interface to emulation support                      */
 /*                (specific parts for SG or RL)                             */
+
 /* Copyright (c) 2003, 2004 Martin Quinson. All rights reserved.            */
 
 /* This program is free software; you can redistribute it and/or modify it
@@ -11,7 +11,7 @@
 #ifndef GRAS_COND_H
 #define GRAS_COND_H
 
-#include "xbt/misc.h" /* SG_BEGIN_DECL */
+#include "xbt/misc.h"           /* SG_BEGIN_DECL */
 
 SG_BEGIN_DECL()
 /** @addtogroup GRAS_emul
@@ -43,7 +43,6 @@ SG_BEGIN_DECL()
  * 
  *  @{
  */
-  
 /** \brief Returns true only if the program runs on real life */
 XBT_PUBLIC(int) gras_if_RL(void);
 
@@ -160,13 +159,11 @@ XBT_PUBLIC(int) gras_bench_once_end(void);
 
 /** \brief Start benchmarking this code block if it has never been benchmarked, ignore it if it was
     \hideinitializer */
-#define GRAS_BENCH_ONCE_RUN_ONCE_BEGIN()    if (gras_bench_once_begin(__FILE__, __LINE__)) { 
+#define GRAS_BENCH_ONCE_RUN_ONCE_BEGIN()    if (gras_bench_once_begin(__FILE__, __LINE__)) {
 /** \brief Stop benchmarking this part of the code
     \hideinitializer */
 #define GRAS_BENCH_ONCE_RUN_ONCE_END()      } gras_bench_once_end()
 /** @} */
 
 SG_END_DECL()
-
 #endif /* GRAS_COND_H */
-
index fd10f8a..e748515 100644 (file)
@@ -36,7 +36,6 @@ SG_BEGIN_DECL()
  *  contains much more examples, but their are not properly integrated into
  *  this documentation yet. 
  */
-
 /** @defgroup GRAS_msg_decl Message declaration and retrival 
  *  @ingroup  GRAS_msg
  *  
@@ -57,25 +56,26 @@ SG_BEGIN_DECL()
  *  change the semantic of a given message while still understanding the old
  *  one.
  */
-/** @{ */  
+/** @{ */
 /** \brief Opaque type */
-typedef struct s_gras_msgtype *gras_msgtype_t;
+     typedef struct s_gras_msgtype *gras_msgtype_t;
+
+XBT_PUBLIC(void) gras_msgtype_declare(const char *name,
+                                      gras_datadesc_type_t payload);
+XBT_PUBLIC(void) gras_msgtype_declare_v(const char *name,
+                                        short int version,
+                                        gras_datadesc_type_t payload);
 
-  XBT_PUBLIC(void) gras_msgtype_declare  (const char           *name,
-                             gras_datadesc_type_t  payload);
-  XBT_PUBLIC(void) gras_msgtype_declare_v(const char           *name,
-                             short int             version,
-                             gras_datadesc_type_t  payload);
+XBT_PUBLIC(gras_msgtype_t) gras_msgtype_by_name(const char *name);
+XBT_PUBLIC(gras_msgtype_t) gras_msgtype_by_name_or_null(const char *name);
+XBT_PUBLIC(gras_msgtype_t) gras_msgtype_by_namev(const char *name,
+                                                 short int version);
+XBT_PUBLIC(gras_msgtype_t) gras_msgtype_by_id(int id);
 
-  XBT_PUBLIC(gras_msgtype_t) gras_msgtype_by_name (const char *name);
-  XBT_PUBLIC(gras_msgtype_t) gras_msgtype_by_name_or_null (const char *name);
-  XBT_PUBLIC(gras_msgtype_t) gras_msgtype_by_namev(const char *name, short int version);
-  XBT_PUBLIC(gras_msgtype_t) gras_msgtype_by_id(int id);
+XBT_PUBLIC(void) gras_msgtype_dumpall(void);
 
-  XBT_PUBLIC(void) gras_msgtype_dumpall(void);
-   
 
-/** @} */  
+/** @} */
 /** @defgroup GRAS_msg_cb Callback declaration and use
  *  @ingroup  GRAS_msg
  * 
@@ -91,13 +91,13 @@ typedef struct s_gras_msgtype *gras_msgtype_t;
  * 
  * @{
  */
+
   /** \brief Context of callbacks (opaque structure, created by the middleware only, never by user) */
-  typedef struct s_gras_msg_cb_ctx *gras_msg_cb_ctx_t;
+     typedef struct s_gras_msg_cb_ctx *gras_msg_cb_ctx_t;
+
+XBT_PUBLIC(void) gras_msg_cb_ctx_free(gras_msg_cb_ctx_t ctx);
+XBT_PUBLIC(gras_socket_t) gras_msg_cb_ctx_from(gras_msg_cb_ctx_t ctx);
 
-XBT_PUBLIC(void) gras_msg_cb_ctx_free(gras_msg_cb_ctx_t ctx) ;
-XBT_PUBLIC(gras_socket_t) gras_msg_cb_ctx_from(gras_msg_cb_ctx_t ctx);   
-   
   /** \brief Type of message callback functions. 
    *
    * \param expeditor: a socket to contact who sent this message
@@ -113,8 +113,7 @@ XBT_PUBLIC(gras_socket_t) gras_msg_cb_ctx_from(gras_msg_cb_ctx_t ctx);
    *
    * If the callback accepts the message, it should free it after use.
    */
-  typedef int (*gras_msg_cb_t)(gras_msg_cb_ctx_t  ctx,
-                              void             *payload);
+     typedef int (*gras_msg_cb_t) (gras_msg_cb_ctx_t ctx, void *payload);
 
  /**
   * @brief Bind the given callback to the given message type (described by its name)
@@ -138,10 +137,11 @@ XBT_PUBLIC(gras_socket_t) gras_msg_cb_ctx_from(gras_msg_cb_ctx_t ctx);
   */
 #define gras_cb_unregister(msgtype_name, cb) gras_cb_unregister_(gras_msgtype_by_name(msgtype_name),cb)
 
-  XBT_PUBLIC(void) gras_cb_register_  (gras_msgtype_t msgtype, gras_msg_cb_t cb);
-  XBT_PUBLIC(void) gras_cb_unregister_(gras_msgtype_t msgtype, gras_msg_cb_t cb);
+XBT_PUBLIC(void) gras_cb_register_(gras_msgtype_t msgtype, gras_msg_cb_t cb);
+XBT_PUBLIC(void) gras_cb_unregister_(gras_msgtype_t msgtype,
+                                     gras_msg_cb_t cb);
 
-/** @} */  
+/** @} */
 
 /** @defgroup GRAS_msg_exchange Message exchange 
  *  @ingroup  GRAS_msg
@@ -156,10 +156,9 @@ XBT_PUBLIC(gras_socket_t) gras_msg_cb_ctx_from(gras_msg_cb_ctx_t ctx);
  * has to search for the given msgtype in the hash table.
  */
 #define gras_msg_send(sock,name,payload) gras_msg_send_(sock,gras_msgtype_by_name(name),payload)
-  XBT_PUBLIC(void) gras_msg_send_(gras_socket_t   sock,
-                                 gras_msgtype_t  msgtype,
-                                 void           *payload);
-                                 
+XBT_PUBLIC(void) gras_msg_send_(gras_socket_t sock,
+                                gras_msgtype_t msgtype, void *payload);
+
 /** \brief Waits for a message to come in over a given socket
  *  @hideinitializer
  * @param timeout: How long should we wait for this message.
@@ -174,14 +173,13 @@ XBT_PUBLIC(gras_socket_t) gras_msg_cb_ctx_from(gras_msg_cb_ctx_t ctx);
  * Using gras_msg_wait() is a bit slower than using gras_msg_wait_() since GRAS
  * has to search for the given msgtype in the hash table.
  */
-                                 
+
 #define gras_msg_wait(timeout,msgt_want,expeditor,payload) gras_msg_wait_(timeout,gras_msgtype_by_name(msgt_want),expeditor,payload)
-  XBT_PUBLIC(void) gras_msg_wait_(double          timeout,
-                                 gras_msgtype_t  msgt_want,
-                                 gras_socket_t  *expeditor,
-                                 void           *payload);
-  XBT_PUBLIC(void) gras_msg_handleall(double period);
-  XBT_PUBLIC(void) gras_msg_handle(double timeOut);
+XBT_PUBLIC(void) gras_msg_wait_(double timeout,
+                                gras_msgtype_t msgt_want,
+                                gras_socket_t * expeditor, void *payload);
+XBT_PUBLIC(void) gras_msg_handleall(double period);
+XBT_PUBLIC(void) gras_msg_handle(double timeOut);
 
 /** @} */
 
@@ -202,14 +200,18 @@ XBT_PUBLIC(gras_socket_t) gras_msg_cb_ctx_from(gras_msg_cb_ctx_t ctx);
 /** @{ */
 
 /* declaration */
-XBT_PUBLIC(void) gras_msgtype_declare_rpc(const char           *name,
-                             gras_datadesc_type_t  payload_request,
-                             gras_datadesc_type_t  payload_answer);
-
-XBT_PUBLIC(void) gras_msgtype_declare_rpc_v(const char           *name,
-                               short int             version,
-                               gras_datadesc_type_t  payload_request,
-                               gras_datadesc_type_t  payload_answer);
+XBT_PUBLIC(void) gras_msgtype_declare_rpc(const char *name,
+                                          gras_datadesc_type_t
+                                          payload_request,
+                                          gras_datadesc_type_t
+                                          payload_answer);
+
+XBT_PUBLIC(void) gras_msgtype_declare_rpc_v(const char *name,
+                                            short int version,
+                                            gras_datadesc_type_t
+                                            payload_request,
+                                            gras_datadesc_type_t
+                                            payload_answer);
 
 /* client side */
 
@@ -218,25 +220,23 @@ XBT_PUBLIC(void) gras_msgtype_declare_rpc_v(const char           *name,
  */
 #define gras_msg_rpccall(server,timeout,msg,req,ans) gras_msg_rpccall_(server,timeout,gras_msgtype_by_name(msg),req,ans)
 XBT_PUBLIC(void) gras_msg_rpccall_(gras_socket_t server,
-                                  double timeOut,
-                                  gras_msgtype_t msgtype,
-                                  void *request, void *answer);
+                                   double timeOut,
+                                   gras_msgtype_t msgtype,
+                                   void *request, void *answer);
 XBT_PUBLIC(gras_msg_cb_ctx_t)
-  
+
 /** @brief Launch a RPC call, but do not block for the answer
  *  @hideinitializer
  */
-  
 #define gras_msg_rpc_async_call(server,timeout,msg,req) gras_msg_rpc_async_call_(server,timeout,gras_msgtype_by_name(msg),req)
-gras_msg_rpc_async_call_(gras_socket_t server,
-                       double timeOut,
-                       gras_msgtype_t msgtype,
-                       void *request);
-XBT_PUBLIC(void) gras_msg_rpc_async_wait(gras_msg_cb_ctx_t ctx,
-                                        void *answer);
+  gras_msg_rpc_async_call_(gras_socket_t server,
+                         double timeOut,
+                         gras_msgtype_t msgtype, void *request);
+XBT_PUBLIC(void) gras_msg_rpc_async_wait(gras_msg_cb_ctx_t ctx, void *answer);
 
 /* server side */
-XBT_PUBLIC(void) gras_msg_rpcreturn(double timeOut, gras_msg_cb_ctx_t ctx,void *answer);
+XBT_PUBLIC(void) gras_msg_rpcreturn(double timeOut, gras_msg_cb_ctx_t ctx,
+                                    void *answer);
 
 
 /** @} */
@@ -248,58 +248,58 @@ XBT_PUBLIC(void) gras_msg_rpcreturn(double timeOut, gras_msg_cb_ctx_t ctx,void *
 /** @{ */
 
 /** @brief Message kind (internal enum) */
-typedef enum {
-  e_gras_msg_kind_unknown = 0,
-
-  e_gras_msg_kind_oneway=1,    /**< good old regular messages */
-
-  e_gras_msg_kind_rpccall=2,   /**< RPC request */
-  /* HACK: e_gras_msg_kind_rpccall also designate RPC message *type* in 
-     msgtype_t, not only in msg_t*/
-  e_gras_msg_kind_rpcanswer=3, /**< RPC successful answer */
-  e_gras_msg_kind_rpcerror=4,  /**< RPC failure on server (payload=exception); should not leak to user-space */
-
-   /* future:
-       call cancel, and others
-     even after:
-       forwarding request and other application level routing stuff
-       group communication
-  */
+     typedef enum {
+       e_gras_msg_kind_unknown = 0,
+
+       e_gras_msg_kind_oneway = 1,
+                               /**< good old regular messages */
 
-  e_gras_msg_kind_count=5 /* sentinel, dont mess with */
-} e_gras_msg_kind_t;
+       e_gras_msg_kind_rpccall = 2,
+                               /**< RPC request */
+       /* HACK: e_gras_msg_kind_rpccall also designate RPC message *type* in 
+          msgtype_t, not only in msg_t */
+       e_gras_msg_kind_rpcanswer = 3,
+                               /**< RPC successful answer */
+       e_gras_msg_kind_rpcerror = 4,
+                               /**< RPC failure on server (payload=exception); should not leak to user-space */
+
+       /* future:
+          call cancel, and others
+          even after:
+          forwarding request and other application level routing stuff
+          group communication
+        */
+
+       e_gras_msg_kind_count = 5        /* sentinel, dont mess with */
+     } e_gras_msg_kind_t;
 
 
 /** @brief Message instance (internal struct) */
-typedef struct {
-    gras_socket_t   expe;
-  e_gras_msg_kind_t kind;
-    gras_msgtype_t  type;
-    unsigned long int ID;
-    void           *payl;
-    int             payl_size;
-} s_gras_msg_t, *gras_msg_t;
-
-typedef int (*gras_msg_filter_t)(gras_msg_t msg,void *ctx);
-
-#define gras_msg_wait_ext(timeout, msg, expe, filter, fctx,got) gras_msg_wait_ext_(timeout, gras_msgtype_by_name(msg), expe, filter, fctx,got) 
-XBT_PUBLIC(void) gras_msg_wait_ext_(double           timeout,    
-                                   gras_msgtype_t   msgt_want,
-                                   gras_socket_t    expe_want,
-