simgrid::fsmod::Storage

class Storage

A class that implements a storage abstraction.

Subclassed by simgrid::fsmod::JBODStorage, simgrid::fsmod::OneDiskStorage, simgrid::fsmod::OneRemoteDiskStorage

Public Functions

const char *get_cname() const

Retrieve the storage’s name.

Returns:

a C-style name string

s4u::ActorPtr get_controller() const

Retrieve the controller actor.

Returns:

The controller actor (or nullptr if no controller is running)

s4u::Host *get_controller_host() const

Retrieve the controller’s host.

Returns:

The host on which the controller is running (or nullptr if no controller is running)

s4u::Disk *get_disk_at(unsigned long position) const

Return a particular disk used by the storage.

Parameters:

position – the index of the disk in the list of disks

Returns:

A disk

std::vector<s4u::Disk*> get_disks() const

Return the list of disks used by the storage.

Returns:

A list of disks

s4u::Disk *get_first_disk() const

Return the first disk used by the storage.

Returns:

A disk

const std::string &get_name() const

Retrieve the storage’s name.

Returns:

a name string

size_t get_num_disks() const

Return the number of disks used by the storage.

Returns:

A number of disks

virtual s4u::ActorPtr start_controller(s4u::Host *host, const std::function<void()> &func)

Start a controller actor on a host.

Parameters:
  • host – A host

  • func – A lambda that implements the controller actor’s code

Returns:

An actor