#define SIMGRID_MC_TRANSITION_HPP
#include "simgrid/forward.h" // aid_t
-#include "src/kernel/actor/SimcallObserver.hpp"
-#include "src/mc/remote/RemotePtr.hpp"
+
#include <string>
namespace simgrid {
int times_considered_ = 0;
Transition() = default;
+ virtual ~Transition();
Transition(aid_t issuer, int times_considered) : aid_(issuer), times_considered_(times_considered) {}
void init(aid_t aid, int times_considered);
static unsigned long get_replayed_transitions() { return replayed_transitions_; }
};
-class CommSendTransition;
-class CommRecvTransition;
-
-class CommWaitTransition : public Transition {
- bool timeout_;
- void* comm_;
- aid_t sender_;
- aid_t receiver_;
- unsigned mbox_;
- void* src_buff_;
- void* 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 {
- unsigned mbox_;
- void* dst_buff_;
-
-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 {
- unsigned mbox_;
- void* src_buff_;
- size_t size_;
-
-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 */
-Transition* recv_transition(aid_t issuer, int times_considered, kernel::actor::SimcallObserver::Simcall simcall,
- char* buffer);
-
} // namespace mc
} // namespace simgrid