X-Git-Url: http://bilbo.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/c4b7bad9496047f71e12b920ee69366769686018..90bddc474870ce50b5398b88c7de59336d00a85f:/include/simgrid/plugins/jbod.hpp diff --git a/include/simgrid/plugins/jbod.hpp b/include/simgrid/plugins/jbod.hpp index 5c84e91927..4ee799f552 100644 --- a/include/simgrid/plugins/jbod.hpp +++ b/include/simgrid/plugins/jbod.hpp @@ -16,9 +16,10 @@ using JbodIoPtr = boost::intrusive_ptr; XBT_PUBLIC void intrusive_ptr_release(const JbodIo* io); XBT_PUBLIC void intrusive_ptr_add_ref(const JbodIo* io); -class Jbod : public s4u::Host { +class Jbod { public: enum class RAID {RAID0 = 0, RAID1 = 1, RAID4 = 4 , RAID5 = 5, RAID6 = 6}; + s4u::Host* get_controller() const { return controller_; } int get_parity_disk_idx() { return parity_disk_idx_; } void update_parity_disk_idx() { parity_disk_idx_ = (parity_disk_idx_- 1) % num_disks_; } @@ -34,12 +35,14 @@ public: RAID raid_level, double read_bandwidth, double write_bandwidth); protected: + void set_controller(s4u::Host* host) { controller_ = host; } void set_num_disks(unsigned int num_disks) { num_disks_ = num_disks; } void set_parity_disk_idx(unsigned int index) { parity_disk_idx_ = index; } void set_read_disk_idx(int index) { read_disk_idx_ = index; } void set_raid_level(RAID raid_level) { raid_level_ = raid_level; } private: + s4u::Host* controller_; unsigned int num_disks_; RAID raid_level_; unsigned int parity_disk_idx_;