X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/2c174f6e9fa13eef2a2d2ef3a2895ca366084fd5..f6755a2f88d16e9249253ee380f3555f1cfdb085:/doc/doxygen/inside_extending.doc diff --git a/doc/doxygen/inside_extending.doc b/doc/doxygen/inside_extending.doc index 0ea39405ca..9593489d61 100644 --- a/doc/doxygen/inside_extending.doc +++ b/doc/doxygen/inside_extending.doc @@ -160,13 +160,13 @@ the simcall definitions from src/simix/simcalls.in, checks that both `simcall_()` and `simcall_HANDLER()` are defined somewhere, and generates the following files: -- smx_popping_accessors.h: +- popping_accessors.hpp: Helper functions to get and set simcall arguments and results -- smx_popping_bodies.cpp: +- popping_bodies.cpp: The BODY function of each simcall -- smx_popping_enum.c: +- popping_enum.h: Definition of type `enum e_smx_simcall_t` (one value per existing simcall) -- smx_popping_generated.cpp: +- popping_generated.cpp: Definitions of `simcall_names[]` (debug name of each simcall), and SIMIX_simcall_enter() that deals with the simcall from within the kernel @@ -211,11 +211,12 @@ with the result: try { std::vector result = simgrid::simix::kernelSync([&] { // Fictional example, simgrid::kernel::readFile does not exist. - simgrid::Future> result = simgrid::kernel::readFile(file); + simgrid::kernel::Future> result = simgrid::kernel::readFile(file); return result; }); XBT_DEBUG("Finished reading file %s: length %zu", file, result.size()); } +// If the operation failed, kernelSync() throws an exception: catch (std::runtime_error& e) { XBT_ERROR("Could not read file %s", file); } @@ -228,7 +229,7 @@ like `kernelSync()` but does not block. Instead, it returns a ~~~ simgrid::simix::Future> result = simgrid::simix::kernelSync([&] { // Fictional example, simgrid::kernel::readFile does not exist. - simgrid::Future> result = simgrid::kernel::readFile(file); + simgrid::kernek::Future> result = simgrid::kernel::readFile(file); return result; }; @@ -239,9 +240,10 @@ while (!result.is_ready() && hasWorkToDo()) // We don't have anything to do, wait for the operation to complete and // get its value: try { - std:vector value = result.get(); - XBT_DEBUG("Finished reading file %s: length %zu", file, result.size()); + std:vector data = result.get(); + XBT_DEBUG("Finished reading file %s: length %zu", file, data.size()); } +// If the operation failed, .get() throws an exception: catch (std::runtime_error& e) { XBT_ERROR("Could not read file %s", file); }