A
lgorithmique
N
umérique
D
istribuée
Public GIT Repository
projects
/
simgrid.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'master' into CRTP
[simgrid.git]
/
include
/
simgrid
/
s4u
/
Io.hpp
diff --git
a/include/simgrid/s4u/Io.hpp
b/include/simgrid/s4u/Io.hpp
index
d486b34
..
c9d55d6
100644
(file)
--- a/
include/simgrid/s4u/Io.hpp
+++ b/
include/simgrid/s4u/Io.hpp
@@
-17,26
+17,28
@@
namespace s4u {
/** I/O Activity, representing the asynchronous disk access.
*
/** I/O Activity, representing the asynchronous disk access.
*
- * They are generated from
Storage::io_init() or Storage::read() and Storage::write
().
+ * They are generated from
Disk::io_init(), Disk::read() Disk::read_async(), Disk::write() and Disk::write_async
().
*/
*/
-class XBT_PUBLIC Io : public Activity {
+class XBT_PUBLIC Io : public Activity
_T<Io>
{
public:
enum class OpType { READ, WRITE };
private:
Storage* storage_ = nullptr;
public:
enum class OpType { READ, WRITE };
private:
Storage* storage_ = nullptr;
+ Disk* disk_ = nullptr;
sg_size_t size_ = 0;
OpType type_ = OpType::READ;
sg_size_t size_ = 0;
OpType type_ = OpType::READ;
- std::string name_ = "";
std::atomic_int_fast32_t refcount_{0};
explicit Io(sg_storage_t storage, sg_size_t size, OpType type);
std::atomic_int_fast32_t refcount_{0};
explicit Io(sg_storage_t storage, sg_size_t size, OpType type);
+ explicit Io(sg_disk_t disk, sg_size_t size, OpType type);
public:
#ifndef DOXYGEN
friend XBT_PUBLIC void intrusive_ptr_release(simgrid::s4u::Io* i);
friend XBT_PUBLIC void intrusive_ptr_add_ref(simgrid::s4u::Io* i);
public:
#ifndef DOXYGEN
friend XBT_PUBLIC void intrusive_ptr_release(simgrid::s4u::Io* i);
friend XBT_PUBLIC void intrusive_ptr_add_ref(simgrid::s4u::Io* i);
+ friend Disk; // Factory of IOs
friend Storage; // Factory of IOs
#endif
friend Storage; // Factory of IOs
#endif