X-Git-Url: http://bilbo.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/18438ade0ea0213b9990e78db27915c9cfee58f3..3cb644bc04ff9dd4da159790850b6bcfda970cf9:/src/kernel/actor/CommObserver.hpp diff --git a/src/kernel/actor/CommObserver.hpp b/src/kernel/actor/CommObserver.hpp index 04ed6f3619..c00a62eb75 100644 --- a/src/kernel/actor/CommObserver.hpp +++ b/src/kernel/actor/CommObserver.hpp @@ -1,4 +1,4 @@ -/* Copyright (c) 2019-2022. The SimGrid Team. All rights reserved. */ +/* Copyright (c) 2019-2023. The SimGrid Team. 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. */ @@ -17,13 +17,13 @@ namespace simgrid::kernel::actor { class ActivityTestSimcall final : public ResultingSimcall { activity::ActivityImpl* const activity_; + std::string fun_call_; public: - ActivityTestSimcall(ActorImpl* actor, activity::ActivityImpl* activity) - : ResultingSimcall(actor, true), activity_(activity) + ActivityTestSimcall(ActorImpl* actor, activity::ActivityImpl* activity, std::string fun_call) + : ResultingSimcall(actor, true), activity_(activity), fun_call_(fun_call) { } - bool is_visible() const override { return true; } activity::ActivityImpl* get_activity() const { return activity_; } void serialize(std::stringstream& stream) const override; std::string to_string() const override; @@ -33,10 +33,11 @@ class ActivityTestanySimcall final : public ResultingSimcall { const std::vector& activities_; std::vector indexes_; // indexes in activities_ pointing to ready activities (=whose test() is positive) int next_value_ = 0; + std::string fun_call_; public: - ActivityTestanySimcall(ActorImpl* actor, const std::vector& activities); - bool is_visible() const override { return true; } + ActivityTestanySimcall(ActorImpl* actor, const std::vector& activities, + std::string fun_call); bool is_enabled() override { return true; /* can return -1 if no activity is ready */ } void serialize(std::stringstream& stream) const override; std::string to_string() const override; @@ -49,15 +50,15 @@ public: class ActivityWaitSimcall final : public ResultingSimcall { activity::ActivityImpl* activity_; const double timeout_; + std::string fun_call_; public: - ActivityWaitSimcall(ActorImpl* actor, activity::ActivityImpl* activity, double timeout) - : ResultingSimcall(actor, false), activity_(activity), timeout_(timeout) + ActivityWaitSimcall(ActorImpl* actor, activity::ActivityImpl* activity, double timeout, std::string fun_call) + : ResultingSimcall(actor, false), activity_(activity), timeout_(timeout), fun_call_(fun_call) { } void serialize(std::stringstream& stream) const override; std::string to_string() const override; - bool is_visible() const override { return true; } bool is_enabled() override; activity::ActivityImpl* get_activity() const { return activity_; } void set_activity(activity::ActivityImpl* activity) { activity_ = activity; } @@ -69,13 +70,14 @@ class ActivityWaitanySimcall final : public ResultingSimcall { std::vector indexes_; // indexes in activities_ pointing to ready activities (=whose test() is positive) const double timeout_; int next_value_ = 0; + std::string fun_call_; public: - ActivityWaitanySimcall(ActorImpl* actor, const std::vector& activities, double timeout); + ActivityWaitanySimcall(ActorImpl* actor, const std::vector& activities, double timeout, + std::string fun_call); bool is_enabled() override; void serialize(std::stringstream& stream) const override; std::string to_string() const override; - bool is_visible() const override { return true; } void prepare(int times_considered) override; int get_max_consider() const override; const std::vector& get_activities() const { return activities_; } @@ -98,6 +100,8 @@ class CommIsendSimcall final : public SimcallObserver { std::function clean_fun_; // used to free the synchro in case of problem after a detached send std::function copy_data_fun_; // used to copy data if not default one + std::string fun_call_; + public: CommIsendSimcall( ActorImpl* actor, activity::MailboxImpl* mbox, double payload_size, double rate, unsigned char* src_buff, @@ -105,7 +109,7 @@ public: const std::function& clean_fun, // used to free the synchro in case of problem after a detached send const std::function& copy_data_fun, // used to copy data if not default one - void* payload, bool detached) + void* payload, bool detached, std::string fun_call) : SimcallObserver(actor) , mbox_(mbox) , payload_size_(payload_size) @@ -117,11 +121,11 @@ public: , match_fun_(match_fun) , clean_fun_(clean_fun) , copy_data_fun_(copy_data_fun) + , fun_call_(fun_call) { } void serialize(std::stringstream& stream) const override; std::string to_string() const override; - bool is_visible() const override { return true; } activity::MailboxImpl* get_mailbox() const { return mbox_; } double get_payload_size() const { return payload_size_; } double get_rate() const { return rate_; } @@ -149,11 +153,13 @@ class CommIrecvSimcall final : public SimcallObserver { std::function match_fun_; std::function copy_data_fun_; // used to copy data if not default one + std::string fun_call_; + public: CommIrecvSimcall(ActorImpl* actor, activity::MailboxImpl* mbox, unsigned char* dst_buff, size_t* dst_buff_size, const std::function& match_fun, const std::function& copy_data_fun, void* payload, - double rate) + double rate, std::string fun_call) : SimcallObserver(actor) , mbox_(mbox) , dst_buff_(dst_buff) @@ -162,11 +168,11 @@ public: , rate_(rate) , match_fun_(match_fun) , copy_data_fun_(copy_data_fun) + , fun_call_(fun_call) { } void serialize(std::stringstream& stream) const override; std::string to_string() const override; - bool is_visible() const override { return true; } activity::MailboxImpl* get_mailbox() const { return mbox_; } double get_rate() const { return rate_; } unsigned char* get_dst_buff() const { return dst_buff_; }