std::string SimcallInspector::to_string(int /*time_considered*/) const
{
- return simgrid::xbt::string_printf("[(%ld)%s (%s)] ", get_issuer()->get_pid(), issuer_->get_host()->get_cname(),
+ return simgrid::xbt::string_printf("[(%ld)%s (%s)] ", issuer_->get_pid(), issuer_->get_host()->get_cname(),
issuer_->get_cname());
}
-std::string RandomSimcall::to_string(int time_considered) const
+std::string SimcallInspector::dot_label() const
{
- return SimcallInspector::to_string(time_considered) + "MC_RANDOM(" + std::to_string(time_considered) + ")";
+ if (issuer_->get_host())
+ return xbt::string_printf("[(%ld)%s] ", issuer_->get_pid(), issuer_->get_cname());
+ return xbt::string_printf("[(%ld)] ", issuer_->get_pid());
}
-std::string SimcallInspector::dot_label() const
+std::string RandomSimcall::to_string(int time_considered) const
{
- if (issuer_->get_host())
- return xbt::string_printf("[(%ld)%s]", issuer_->get_pid(), issuer_->get_cname());
- return xbt::string_printf("[(%ld)]", issuer_->get_pid());
+ return SimcallInspector::to_string(time_considered) + "MC_RANDOM(" + std::to_string(time_considered) + ")";
}
std::string RandomSimcall::dot_label() const
{
- return SimcallInspector::dot_label() + " MC_RANDOM (" + std::to_string(next_value_) + ")";
+ return SimcallInspector::dot_label() + "MC_RANDOM(" + std::to_string(next_value_) + ")";
}
void RandomSimcall::prepare(int times_considered)
/** Some simcalls may only be observable under some circumstances.
* Most simcalls are not visible from the MC because they don't have an inspector at all. */
virtual bool is_visible() const { return true; }
- virtual std::string to_string(int times_considered) const;
- virtual std::string dot_label() const;
+ virtual std::string to_string(int times_considered) const = 0;
+ virtual std::string dot_label() const = 0;
};
class RandomSimcall : public SimcallInspector {
void sem_acquire(smx_sem_t sem) [[block]];
int sem_acquire_timeout(smx_sem_t sem, double timeout) [[block]];
-#int mc_random(int min, int max);
-
void run_kernel(std::function<void()> const* code) [[nohandler]];
void run_blocking(std::function<void()> const* code) [[block,nohandler]];