+ back to 3.12 "quality"
+ should be completed with other modules (cloud, energy, ...)
15 files changed:
@CMAKE_HOME_DIRECTORY@/examples/msg/network-ns3/network-ns3.c \
@CMAKE_HOME_DIRECTORY@/examples/msg/io-storage/io-storage.c \
@CMAKE_HOME_DIRECTORY@/examples/msg/io-file/io-file.c \
@CMAKE_HOME_DIRECTORY@/examples/msg/network-ns3/network-ns3.c \
@CMAKE_HOME_DIRECTORY@/examples/msg/io-storage/io-storage.c \
@CMAKE_HOME_DIRECTORY@/examples/msg/io-file/io-file.c \
- @CMAKE_HOME_DIRECTORY@/examples/msg/io-file/io-remote.c \
- @CMAKE_HOME_DIRECTORY@/examples/msg/actions \
- @CMAKE_HOME_DIRECTORY@/examples/msg/pmm \
- @CMAKE_HOME_DIRECTORY@/examples/msg/chord\
+ @CMAKE_HOME_DIRECTORY@/examples/msg/io-remote/io-remote.c \
+ @CMAKE_HOME_DIRECTORY@/examples/msg/actions-comm/actions-comm.c \
+ @CMAKE_HOME_DIRECTORY@/examples/msg/actions-storage/actions-storage.c \
+ @CMAKE_HOME_DIRECTORY@/examples/msg/app-pmm/ \
+ @CMAKE_HOME_DIRECTORY@/examples/msg/dht-chord \
@CMAKE_HOME_DIRECTORY@/examples/msg/task-priority/task-priority.c \
@CMAKE_HOME_DIRECTORY@/examples/msg/task-priority/task-priority.c \
- @CMAKE_HOME_DIRECTORY@/examples/msg/properties \
- @CMAKE_HOME_DIRECTORY@/examples/msg/parallel_task
+ @CMAKE_HOME_DIRECTORY@/examples/msg/properties/properties.c
# This tag can be used to specify the character encoding of the source files
# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is
# This tag can be used to specify the character encoding of the source files
# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is
@ingroup MSG_API
@brief .
@ingroup MSG_API
@brief .
-Finding the right example in examples/msg is sometimes difficult. This list aims at helping you to find the example from which you can learn what you want to.
-
-\section msg_bsc_ex Basic examples
+Finding the right example in examples/msg is sometimes difficult. This list aims at helping you to find the example from which you can learn what you want to.
+ - @ref msg_ex_basic
+ - @ref msg_ex_async
+ - @ref msg_ex_process
+ - @ref msg_ex_tracing
+ - @ref msg_ex_tracing_user_variables
+ - @ref msg_ex_models
+ - @ref msg_ex_io
+ - @ref msg_ex_actions
+ - @ref msg_ex_full_apps
+ - @ref msg_ex_misc
+
+\section msg_ex_basic Basic examples
/** @addtogroup MSG_examples
*
/** @addtogroup MSG_examples
*
- * @section MSG_ex_actions Trace driven simulations
+ * @section msg_ex_actions Trace driven simulations
- * The <b>actions/actions.c</b> example demonstrates how to run trace-driven simulations. It is very handy when you
- * want to test an algorithm or protocol that does nothing unless it receives some events from outside. For example,
- * a P2P protocol reacts to requests from the user, but does nothing if there is no such event.
+ * This section details how to run trace-driven simulations. It is very handy when you want to test an algorithm or
+ * protocol that does nothing unless it receives some events from outside. For example, a P2P protocol reacts to
+ * requests from the user, but does nothing if there is no such event.
- * In such situations, SimGrid allows to write your protocol in your C file, and the events to react to in a separate
+ * In such situations, SimGrid allows you to write your protocol in a C file, and the events to react to in a separate
* text file. Declare a function handling each of the events that you want to accept in your trace files, register
* them using \ref xbt_replay_action_register in your main, and then use \ref MSG_action_trace_run to launch the
* simulation. You can either have one trace file containing all your events, or a file per simulated process. Check
* text file. Declare a function handling each of the events that you want to accept in your trace files, register
* them using \ref xbt_replay_action_register in your main, and then use \ref MSG_action_trace_run to launch the
* simulation. You can either have one trace file containing all your events, or a file per simulated process. Check
- * the tesh files in the example directory for details on how to do it.
+ * the tesh files in the example directories for details on how to do it.
- * This example uses this approach to replay MPI-like traces. It comes with a set of event handlers reproducing MPI
- * events. This is somehow similar to SMPI, yet differently implemented. This code should probably be changed to use
- * SMPI internals instead, but wasn't, so far.
+ * - <b>Communication: actions-comm/actions-comm.c</b>. This example comes with a set of event handlers reproducing
+ * some classical communication primitives (synchronous and asynchronous send/receive, broadcast, barrier, ...).
*/
XBT_LOG_NEW_DEFAULT_CATEGORY(actions, "Messages specific for this msg example");
*/
XBT_LOG_NEW_DEFAULT_CATEGORY(actions, "Messages specific for this msg example");
#include <xbt/replay.h>
XBT_LOG_NEW_DEFAULT_CATEGORY(storage_actions, "Messages specific for this example");
#include <xbt/replay.h>
XBT_LOG_NEW_DEFAULT_CATEGORY(storage_actions, "Messages specific for this example");
+/** @addtogroup MSG_examples
+ *
+ * - <b>I/O: actions-comm/actions-comm.c</b>. This example comes with a set of event handlers reproducing
+ * some classical I/O primitives (open, read, write, close, ...).
+ */
static xbt_dict_t opened_files = NULL;
static xbt_dict_t opened_files = NULL;
#include "xbt/xbt_os_time.h"
/** @addtogroup MSG_examples
#include "xbt/xbt_os_time.h"
/** @addtogroup MSG_examples
- * @section MSG_ex_apps Examples of full applications
+ * @section msg_ex_full_apps Examples of full applications
- * - <b>pmm/msg_pmm.c</b>: Parallel Matrix Multiplication is a little application. This is something that most MPI
- * developers have written during their class, here implemented using MSG instead of MPI.
+ * - <b>Parallel Matrix Multiplication: app-pmm/app-pmm.c</b>. This little application is something that most MPI
+ * developers have written during their studies. Here it is implemented in MSG.
*/
XBT_LOG_NEW_DEFAULT_CATEGORY(msg_pmm, "Messages specific for this msg example");
*/
XBT_LOG_NEW_DEFAULT_CATEGORY(msg_pmm, "Messages specific for this msg example");
/** @addtogroup MSG_examples
*
/** @addtogroup MSG_examples
*
- * @section MSG_ex_icomms Asynchronous communications
+ * @section msg_ex_async Asynchronous communications
*
* In addition to the fully documented example of \ref MSG_ex_asynchronous_communications, there are several othe
* examples shipped in the archive:
*
* In addition to the fully documented example of \ref MSG_ex_asynchronous_communications, there are several othe
* examples shipped in the archive:
/** @addtogroup MSG_examples
*
/** @addtogroup MSG_examples
*
- * - <b>chord/chord.c: Classical Chord P2P protocol</b>
- * This example implements the well known Chord P2P protocol. Its main advantage is that it constitute a fully
- * working non-trivial example. In addition, its implementation is rather efficient, as demonstrated in
- * http://hal.inria.fr/inria-00602216/
+ * - <b>Chord P2P protocol dht-chord/dht-chord.c:</b>. This example implements the well known Chord P2P protocol. Its
+ * main advantage is that it constitutes a fully working non-trivial example. In addition, its implementation is
+ * rather efficient, as demonstrated in http://hal.inria.fr/inria-00602216/
/** @addtogroup MSG_examples
*
/** @addtogroup MSG_examples
*
- * - <b>Remote I/O: io-remote/io-remote.c</b> I/O operation can also be done in a remote, which is illustrated here.
+ * - <b>Remote I/O: io-remote/io-remote.c</b>. I/O operations can also be done in a remote, which is illustrated here.
*/
#include "simgrid/msg.h"
*/
#include "simgrid/msg.h"
/** @addtogroup MSG_examples
*
/** @addtogroup MSG_examples
*
- * @section MSG_ex_resources Simulation disks and files
+ * @section msg_ex_io Simulation disks and files
*
* This section lists some examples of storage simulation. This part of SimGrid is still preliminary.
*
*
* This section lists some examples of storage simulation. This part of SimGrid is still preliminary.
*
/** @addtogroup MSG_examples
*
/** @addtogroup MSG_examples
*
- * @section MSG_ex_models Models-related examples
+ * @section msg_ex_models Models-related examples
*
* @subsection MSG_ex_PLS Packet level simulators
*
*
* @subsection MSG_ex_PLS Packet level simulators
*
xbt_die("What's going on??? I failed to sleep!");
/** @addtogroup MSG_examples
xbt_die("What's going on??? I failed to sleep!");
/** @addtogroup MSG_examples
- * @section MSG_ex_process Acting on Processes
+ * @section msg_ex_process Acting on Processes
*
* - <b>Suspend/Resume: process-suspend/process-suspend.c</b>. Processes can be suspended and resumed during
* their executions thanks to the @ref MSG_process_suspend and @ref MSG_process_resume functions.
*
* - <b>Suspend/Resume: process-suspend/process-suspend.c</b>. Processes can be suspended and resumed during
* their executions thanks to the @ref MSG_process_suspend and @ref MSG_process_resume functions.
/** @addtogroup MSG_examples
*
/** @addtogroup MSG_examples
*
- * - <b>properties/msg_prop.c</b> Attaching arbitrary informations to host, processes and such, and retrieving them
- * with @ref MSG_host_get_properties, @ref MSG_host_get_property_value, @ref MSG_process_get_properties and
- * @ref MSG_process_get_property_value. Also make sure to read the platform and deployment XML files to see how to
- * declare these data.
+ * - <b>User-defined properties: properties/properties.c</b> Attaching arbitrary informations to host, processes and
+ * such, and retrieving them with @ref MSG_host_get_properties, @ref MSG_host_get_property_value,
+ * @ref MSG_process_get_properties, and @ref MSG_process_get_property_value. Also make sure to read the platform and
+ * deployment XML files to see how to declare these data.
*/
XBT_LOG_NEW_DEFAULT_CATEGORY(test, "Property test");
*/
XBT_LOG_NEW_DEFAULT_CATEGORY(test, "Property test");
/** @addtogroup MSG_examples
*
/** @addtogroup MSG_examples
*
- * - <b>priority/priority.c</b>: Demonstrates the use of @ref
- * MSG_task_set_priority to change the computation priority of a given task.
+ * @section msg_ex_misc Miscellaneous
+ * - <b>Task priorities: task-priority/task-priority.c</b>. This examples demonstrates the use of
+ * @ref MSG_task_set_priority to change the computation priority of a given task.
*/
static int test(int argc, char *argv[])
*/
static int test(int argc, char *argv[])
/** @addtogroup MSG_examples
*
/** @addtogroup MSG_examples
*
- * @section MSG_ex_tracing Tracing and visualization features
+ * @section msg_ex_tracing Tracing and visualization features
* Tracing can be activated by various configuration options which are illustrated in these example.
* See \ref tracing_tracing_options for details.
* - <b>Basic example: trace-simple/trace-simple.c</b>. In this very simple program, each process creates, executes,
* Tracing can be activated by various configuration options which are illustrated in these example.
* See \ref tracing_tracing_options for details.
* - <b>Basic example: trace-simple/trace-simple.c</b>. In this very simple program, each process creates, executes,
/** @addtogroup MSG_examples
*
/** @addtogroup MSG_examples
*
- * @section MSG_ex_tracing_user_variables Tracing user variables
+ * @section msg_ex_tracing_user_variables Tracing user variables
* The tracing mechanism of SimGrid also allows to associate user variables to resources described in the platform file.
* The following examples illustrate this feature. They have to be run with the <i>--cfg=tracing:yes</i> and
* <i>--cfg=tracing/platform:yes</i> options.
* The tracing mechanism of SimGrid also allows to associate user variables to resources described in the platform file.
* The following examples illustrate this feature. They have to be run with the <i>--cfg=tracing:yes</i> and
* <i>--cfg=tracing/platform:yes</i> options.