X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/07e23d67fa051a2507972338c09151e69c1ad2d4..392ea56b871fa53b1f7f566340d43ddffb80d977:/examples/s4u/io-file-system/s4u-io-file-system.cpp diff --git a/examples/s4u/io-file-system/s4u-io-file-system.cpp b/examples/s4u/io-file-system/s4u-io-file-system.cpp index 832d267821..1650c51a6a 100644 --- a/examples/s4u/io-file-system/s4u-io-file-system.cpp +++ b/examples/s4u/io-file-system/s4u-io-file-system.cpp @@ -1,10 +1,10 @@ -/* Copyright (c) 2006-2018. The SimGrid Team. All rights reserved. */ +/* Copyright (c) 2006-2019. 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 -#include +#include #include "simgrid/plugins/file_system.h" #include "simgrid/s4u.hpp" @@ -13,36 +13,34 @@ XBT_LOG_NEW_DEFAULT_CATEGORY(s4u_test, "a sample log category"); class MyHost { public: - void show_info(std::unordered_map const& mounts) + void show_info(std::vector const& disks) { - XBT_INFO("Storage info on %s:", simgrid::s4u::Host::current()->getCname()); + XBT_INFO("Storage info on %s:", simgrid::s4u::Host::current()->get_cname()); - for (auto const& kv : mounts) { - std::string mountpoint = kv.first; - simgrid::s4u::Storage* storage = kv.second; + for (auto const& d : disks) { + const char* mountpoint = d->get_property("mount"); // Retrieve disk's information - XBT_INFO(" %s (%s) Used: %llu; Free: %llu; Total: %llu.", storage->getCname(), mountpoint.c_str(), - sg_storage_get_size_used(storage), sg_storage_get_size_free(storage), sg_storage_get_size(storage)); + XBT_INFO(" %s (%s) Used: %llu; Free: %llu; Total: %llu.", d->get_cname(), mountpoint, sg_disk_get_size_used(d), + sg_disk_get_size_free(d), sg_disk_get_size(d)); } } void operator()() { - std::unordered_map const& mounts = - simgrid::s4u::Host::current()->getMountedStorages(); + std::vector const& disks = simgrid::s4u::Host::current()->get_disks(); - show_info(mounts); + show_info(disks); // Open an non-existing file to create it - std::string filename = "/home/tmp/data.txt"; + std::string filename = "/scratch/tmp/data.txt"; simgrid::s4u::File* file = new simgrid::s4u::File(filename, nullptr); sg_size_t write = file->write(200000); // Write 200,000 bytes - XBT_INFO("Create a %llu bytes file named '%s' on /sd1", write, filename.c_str()); + XBT_INFO("Create a %llu bytes file named '%s' on /scratch", write, filename.c_str()); // check that sizes have changed - show_info(mounts); + show_info(disks); // Now retrieve the size of created file and read it completely const sg_size_t file_size = file->size(); @@ -54,39 +52,29 @@ public: write = file->write(100000); // Write 100,000 bytes XBT_INFO("Write %llu bytes on %s", write, filename.c_str()); - simgrid::s4u::Storage* storage = simgrid::s4u::Storage::byName("Disk4"); - // Now rename file from ./tmp/data.txt to ./tmp/simgrid.readme - std::string newpath = "/home/tmp/simgrid.readme"; - XBT_INFO("Move '%s' to '%s'", file->getPath(), newpath.c_str()); + std::string newpath = "/scratch/tmp/simgrid.readme"; + XBT_INFO("Move '%s' to '%s'", file->get_path(), newpath.c_str()); file->move(newpath); // Test attaching some user data to the file - file->setUserdata(new std::string("777")); - std::string* file_data = static_cast(file->getUserdata()); + file->set_userdata(new std::string("777")); + std::string* file_data = static_cast(file->get_userdata()); XBT_INFO("User data attached to the file: %s", file_data->c_str()); delete file_data; // Close the file delete file; - // Now attach some user data to disk1 - XBT_INFO("Get/set data for storage element: %s", storage->getCname()); - XBT_INFO(" Uninitialized storage data: '%s'", static_cast(storage->getUserdata())); - - storage->setUserdata(new std::string("Some user data")); - std::string* storage_data = static_cast(storage->getUserdata()); - XBT_INFO(" Set and get data: '%s'", storage_data->c_str()); - - delete storage_data; + show_info(disks); // Reopen the file and then unlink it - file = new simgrid::s4u::File("/home/tmp/simgrid.readme", nullptr); - XBT_INFO("Unlink file: '%s'", file->getPath()); + file = new simgrid::s4u::File("/scratch/tmp/simgrid.readme", nullptr); + XBT_INFO("Unlink file: '%s'", file->get_path()); file->unlink(); delete file; // Unlinking the file on "disk" does not free the object - show_info(mounts); + show_info(disks); } }; @@ -94,8 +82,8 @@ int main(int argc, char** argv) { simgrid::s4u::Engine e(&argc, argv); sg_storage_file_system_init(); - e.loadPlatform(argv[1]); - simgrid::s4u::Actor::createActor("host", simgrid::s4u::Host::by_name("denise"), MyHost()); + e.load_platform(argv[1]); + simgrid::s4u::Actor::create("host", simgrid::s4u::Host::by_name("bob"), MyHost()); e.run(); return 0;