-/* Copyright (c) 2013-2020. The SimGrid Team. All rights reserved. */
+/* Copyright (c) 2013-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. */
if (not props->empty()) {
XBT_INFO(" Properties of disk: %s", disk->get_cname());
- for (auto const& elm : *props) {
- XBT_INFO(" %s->%s", elm.first.c_str(), elm.second.c_str());
+ for (auto const& [key, value] : *props) {
+ XBT_INFO(" %s->%s", key.c_str(), value.c_str());
}
} else {
XBT_INFO(" No property attached.");
static sg_size_t write_local_file(const std::string& dest, sg_size_t file_size)
{
- simgrid::s4u::File file(dest, nullptr);
- sg_size_t written = file.write(file_size);
+ auto* file = simgrid::s4u::File::open(dest, nullptr);
+ sg_size_t written = file->write(file_size);
XBT_INFO("%llu bytes on %llu bytes have been written by %s on /sd1", written, file_size,
simgrid::s4u::Actor::self()->get_cname());
+ file->close();
return written;
}
static sg_size_t read_local_file(const std::string& src)
{
- simgrid::s4u::File file(src, nullptr);
- sg_size_t file_size = file.size();
- sg_size_t read = file.read(file_size);
+ auto* file = simgrid::s4u::File::open(src, nullptr);
+ sg_size_t file_size = file->size();
+ sg_size_t read = file->read(file_size);
XBT_INFO("%s has read %llu on %s", simgrid::s4u::Actor::self()->get_cname(), read, src.c_str());
+ file->close();
return read;
}
XBT_INFO("Print the content of the disk: %s", disk->get_cname());
const auto* content = disk->extension<simgrid::s4u::FileSystemDiskExt>()->get_content();
if (not content->empty()) {
- for (auto const& entry : *content)
- XBT_INFO(" %s size: %llu bytes", entry.first.c_str(), entry.second);
+ for (auto const& [name, size] : *content)
+ XBT_INFO(" %s size: %llu bytes", name.c_str(), size);
} else {
XBT_INFO(" No content.");
}
{
XBT_INFO("*** GET/SET DATA for disk: %s ***", disk->get_cname());
- const std::string* data = static_cast<std::string*>(disk->get_data());
+ auto data = disk->get_unique_data<std::string>();
XBT_INFO("Get data: '%s'", data ? data->c_str() : "No User Data");
disk->set_data(new std::string("Some data"));
- data = static_cast<std::string*>(disk->get_data());
+ data = disk->get_unique_data<std::string>();
XBT_INFO(" Set and get data: '%s'", data->c_str());
- delete data;
}
static void dump_platform_disks()
{
- for (auto const& h : simgrid::s4u::Engine::get_instance()->get_all_hosts())
- for (auto const& d : h->get_disks()) {
+ for (auto const* h : simgrid::s4u::Engine::get_instance()->get_all_hosts())
+ for (auto* d : h->get_disks()) {
if (h == d->get_host())
XBT_INFO("%s is attached to %s", d->get_cname(), d->get_host()->get_cname());
d->set_property("other usage", "gpfs");
{
XBT_INFO("*** Disk info on %s ***", host->get_cname());
- for (auto const& disk : host->get_disks()) {
+ for (auto const* disk : host->get_disks()) {
const char* mount_name = sg_disk_get_mount_point(disk);
XBT_INFO(" Disk name: %s, mount name: %s", disk->get_cname(), mount_name);
XBT_INFO("Server waiting for transfers ...");
while (true) {
- const std::string* msg = static_cast<std::string*>(mailbox->get());
+ auto msg = mailbox->get_unique<std::string>();
if (*msg == "finalize") { // Shutdown ...
- delete msg;
break;
} else { // Receive file to save
size_t pos = msg->find(' ');
std::string dest = msg->substr(0, pos);
sg_size_t size_to_write = std::stoull(msg->substr(pos + 1));
write_local_file(dest, size_to_write);
- delete msg;
}
}
xbt_assert(argc == 2, "Usage: %s platform_file\n", argv[0]);
e.load_platform(argv[1]);
- simgrid::s4u::Actor::create("server", simgrid::s4u::Host::by_name("alice"), server);
- simgrid::s4u::Actor::create("client", simgrid::s4u::Host::by_name("bob"), client);
+ simgrid::s4u::Actor::create("server", e.host_by_name("alice"), server);
+ simgrid::s4u::Actor::create("client", e.host_by_name("bob"), client);
e.run();
- XBT_INFO("Simulated time: %g", e.get_clock());
+ XBT_INFO("Simulated time: %g", simgrid::s4u::Engine::get_clock());
return 0;
}