-/* Copyright (c) 2006-2022. The SimGrid Team. All rights reserved. */
+/* Copyright (c) 2006-2023. 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. */
#include <simgrid/s4u/Engine.hpp>
#include <simgrid/s4u/Mailbox.hpp>
-#include "mc/mc.h"
#include "src/kernel/activity/CommImpl.hpp"
#include "src/kernel/actor/ActorImpl.hpp"
#include "src/kernel/actor/SimcallObserver.hpp"
+#include "src/mc/mc.h"
#include "src/mc/mc_replay.hpp"
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(s4u_comm, s4u_activity, "S4U asynchronous communications");
if (state_ == State::STARTING && remains_ <= 0)
XBT_DEBUG("This communication has a payload size of 0 byte. It cannot start yet");
else
- vetoable_start();
+ start();
return this;
}
if (state_ == State::STARTING && remains_ <= 0)
XBT_DEBUG("This communication has a payload size of 0 byte. It cannot start yet");
else
- vetoable_start();
+ start();
return this;
}
mailbox_ != nullptr;
}
-Comm* Comm::start()
+Comm* Comm::do_start()
{
xbt_assert(get_state() == State::INITED || get_state() == State::STARTING,
"You cannot use %s() once your communication started (not implemented)", __FUNCTION__);
"You cannot use %s() once your communication is %s (not implemented)", __FUNCTION__, get_state_str());
xbt_assert(dst_buff_ == nullptr && dst_buff_size_ == 0, "You can only detach sends, not recvs");
detached_ = true;
- vetoable_start();
+ start();
return this;
}
case State::INITED:
case State::STARTING: // It's not started yet. Do it in one simcall if it's a regular communication
if (get_source() != nullptr || get_destination() != nullptr) {
- return vetoable_start()->wait_for(timeout); // In the case of host2host comm, do it in two simcalls
+ return start()->wait_for(timeout); // In the case of host2host comm, do it in two simcalls
} else if (src_buff_ != nullptr) {
on_send(*this);
send(sender_, mailbox_, remains_, rate_, src_buff_, src_buff_size_, match_fun_, copy_data_function_,