-/* Copyright (c) 2016-2020. The SimGrid Team. All rights reserved. */
+/* Copyright (c) 2016-2022. 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. */
#ifndef SIMGRID_MC_SESSION_HPP
#define SIMGRID_MC_SESSION_HPP
+#include "simgrid/forward.h"
#include "src/mc/ModelChecker.hpp"
+#include "src/mc/remote/RemotePtr.hpp"
#include <functional>
~Session();
void close();
- void initialize();
- void execute(Transition const& transition);
- void log_state();
+ void take_initial_snapshot();
+ void restore_initial_state() const;
- void restore_initial_state();
-};
+ /** Ask to the application to check for a deadlock. If so, do an error message and throw a DeadlockError. */
+ void check_deadlock() const;
-// Temporary :)
-extern simgrid::mc::Session* session;
+ void log_state() const;
+ bool actor_is_enabled(aid_t pid) const;
+};
}
}