X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/600e50aa1f50cbdfd2d20c6b2bcea8a0908d4416..d5b29830df70e823202e384a7655e4371193ecd7:/include/simgrid/s4u/File.hpp?ds=sidebyside diff --git a/include/simgrid/s4u/File.hpp b/include/simgrid/s4u/File.hpp index 885509e520..75050dd680 100644 --- a/include/simgrid/s4u/File.hpp +++ b/include/simgrid/s4u/File.hpp @@ -8,14 +8,12 @@ #include -#include "src/surf/StorageImpl.hpp" #include +#include namespace simgrid { namespace s4u { -class Storage; - /** @brief A simulated file * * Used to simulate the time it takes to access to a file, but does not really store any information. @@ -28,6 +26,7 @@ XBT_PUBLIC_CLASS File { public: File(const char* fullpath, void* userdata); + File(const char* fullpath, sg_host_t host, void* userdata); ~File(); /** Retrieves the path to the file */ @@ -39,12 +38,10 @@ public: * Any storage is considered as local, and no network communication ever occur. */ sg_size_t read(sg_size_t size); - /** Simulates a write action. Returns the size of data actually written. - * - * FIXME: reading from a remotely mounted disk is not implemented yet. - * Any storage is considered as local, and no network communication ever occur. - */ + + /** Simulates a write action. Returns the size of data actually written. */ sg_size_t write(sg_size_t size); + sg_size_t write(sg_size_t size, sg_host_t host); /** Allows to store user data on that host */ void setUserdata(void* data) { userdata_ = data; } @@ -66,21 +63,23 @@ public: /** Remove a file from disk */ void unlink(); + void unlink(sg_host_t host); /* FIXME: add these to the S4U API: XBT_PUBLIC(const char *) MSG_file_get_name(msg_file_t file); XBT_PUBLIC(msg_error_t) MSG_file_rcopy(msg_file_t fd, msg_host_t host, const char* fullpath); XBT_PUBLIC(msg_error_t) MSG_file_rmove(msg_file_t fd, msg_host_t host, const char* fullpath); */ - char* storage_type; - char* storageId; - char* mount_point; + const char* storage_type; + const char* storageId; + std::string mount_point; int desc_id = 0; private: smx_file_t pimpl_ = nullptr; const char* path_ = nullptr; void* userdata_ = nullptr; + sg_host_t host_ = nullptr; }; } } // namespace simgrid::s4u