#include <vector>
#include "simgrid/forward.h"
+#include "src/mc/api/State.hpp"
#include "src/mc/mc_forward.hpp"
#include "src/mc/mc_record.hpp"
-#include "src/mc/mc_state.hpp"
#include "xbt/automaton.hpp"
#include "xbt/base.h"
}
};
- bool request_depend_asymmetric(smx_simcall_t r1, smx_simcall_t r2) const;
- simgrid::mc::ActorInformation* actor_info_cast(smx_actor_t actor) const;
-
public:
- std::string get_actor_string(smx_actor_t actor) const;
- std::string get_actor_dot_label(smx_actor_t actor) const;
-
// No copy:
Api(Api const&) = delete;
void operator=(Api const&) = delete;
// ACTOR APIs
std::vector<simgrid::mc::ActorInformation>& get_actors() const;
unsigned long get_maxpid() const;
- int get_actors_size() const;
// COMMUNICATION APIs
- RemotePtr<kernel::activity::CommImpl> get_comm_isend_raw_addr(smx_simcall_t request) const;
- RemotePtr<kernel::activity::CommImpl> get_comm_waitany_raw_addr(smx_simcall_t request, int value) const;
- std::string get_pattern_comm_rdv(RemotePtr<kernel::activity::CommImpl> const& addr) const;
- unsigned long get_pattern_comm_src_proc(RemotePtr<kernel::activity::CommImpl> const& addr) const;
- unsigned long get_pattern_comm_dst_proc(RemotePtr<kernel::activity::CommImpl> const& addr) const;
- std::vector<char> get_pattern_comm_data(RemotePtr<kernel::activity::CommImpl> const& addr) const;
xbt::string const& get_actor_name(smx_actor_t actor) const;
xbt::string const& get_actor_host_name(smx_actor_t actor) const;
-#if HAVE_SMPI
- bool check_send_request_detached(smx_simcall_t const& simcall) const;
-#endif
- smx_actor_t get_src_actor(RemotePtr<kernel::activity::CommImpl> const& comm_addr) const;
- smx_actor_t get_dst_actor(RemotePtr<kernel::activity::CommImpl> const& comm_addr) const;
// REMOTE APIs
std::size_t get_remote_heap_bytes() const;
// MODEL CHECKER APIs
void mc_inc_visited_states() const;
unsigned long mc_get_visited_states() const;
- void mc_check_deadlock() const;
XBT_ATTRIB_NORETURN void mc_exit(int status) const;
- void dump_record_path() const;
-
- // SIMCALL APIs
- bool requests_are_dependent(RemotePtr<kernel::actor::SimcallObserver> obs1,
- RemotePtr<kernel::actor::SimcallObserver> obs2) const;
- std::string request_get_dot_output(aid_t aid, int value) const;
- smx_actor_t simcall_get_issuer(s_smx_simcall const* req) const;
- RemotePtr<kernel::activity::MailboxImpl> get_mbox_remote_addr(smx_simcall_t const req) const;
- RemotePtr<kernel::activity::ActivityImpl> get_comm_remote_addr(smx_simcall_t const req) const;
-
-#if HAVE_SMPI
- int get_smpi_request_tag(smx_simcall_t const& simcall, simgrid::simix::Simcall type) const;
-#endif
// STATE APIs
void restore_state(std::shared_ptr<simgrid::mc::Snapshot> system_state) const;
- void log_state() const;
// SNAPSHOT APIs
bool snapshot_equal(const Snapshot* s1, const Snapshot* s2) const;
- simgrid::mc::Snapshot* take_snapshot(int num_state) const;
+ simgrid::mc::Snapshot* take_snapshot(long num_state) const;
// SESSION APIs
void s_close() const;
}
xbt_automaton_exp_label_t get_automaton_transition_label(xbt_dynar_t const& dynar, int index) const;
xbt_automaton_state_t get_automaton_transition_dst(xbt_dynar_t const& dynar, int index) const;
-
- // DYNAR APIs
- inline unsigned long get_dynar_length(const_xbt_dynar_t const& dynar) const { return xbt_dynar_length(dynar); }
};
} // namespace mc