X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/1d1294418fcdb34a66a0569033b173274db14fe8..cea04af9af482c60d0b42fbc58bc3478a7e2c347:/src/mc/Transition.hpp diff --git a/src/mc/Transition.hpp b/src/mc/Transition.hpp index 88929bc749..88e7747905 100644 --- a/src/mc/Transition.hpp +++ b/src/mc/Transition.hpp @@ -57,7 +57,7 @@ public: /* Moves the application toward a path that was already explored, but don't change the current transition */ void replay() const; - virtual bool depends(Transition* other) { return true; } + virtual bool depends(const Transition* other) const { return true; } /* Returns the total amount of transitions executed so far (for statistics) */ static unsigned long get_executed_transitions() { return executed_transitions_; } @@ -65,6 +65,9 @@ public: static unsigned long get_replayed_transitions() { return replayed_transitions_; } }; +class CommSendTransition; +class CommRecvTransition; + class CommWaitTransition : public Transition { double timeout_; uintptr_t comm_; @@ -74,10 +77,13 @@ class CommWaitTransition : public Transition { unsigned char* src_buff_; unsigned char* dst_buff_; size_t size_; + friend CommSendTransition; + friend CommRecvTransition; public: CommWaitTransition(aid_t issuer, int times_considered, char* buffer); std::string to_string(bool verbose) override; + bool depends(const Transition* other) const override; }; class CommRecvTransition : public Transition { @@ -87,6 +93,7 @@ class CommRecvTransition : public Transition { public: CommRecvTransition(aid_t issuer, int times_considered, char* buffer); std::string to_string(bool verbose) override; + bool depends(const Transition* other) const override; }; class CommSendTransition : public Transition { @@ -97,6 +104,7 @@ class CommSendTransition : public Transition { public: CommSendTransition(aid_t issuer, int times_considered, char* buffer); std::string to_string(bool verbose) override; + bool depends(const Transition* other) const override; }; /** Make a new transition from serialized description */