* only computes the time taken by the corresponding data movement.
*/
-class XBT_PUBLIC Storage : public simgrid::xbt::Extendable<Storage> {
- friend simgrid::s4u::Engine;
- friend simgrid::s4u::Io;
- friend simgrid::surf::StorageImpl;
+class XBT_PUBLIC Storage : public xbt::Extendable<Storage> {
+ friend Engine;
+ friend Io;
+ friend kernel::resource::StorageImpl;
public:
- explicit Storage(std::string name, surf::StorageImpl * pimpl);
+ explicit Storage(const std::string& name, kernel::resource::StorageImpl* pimpl);
protected:
virtual ~Storage() = default;
public:
/** @brief Callback signal fired when a new Storage is created */
- static simgrid::xbt::signal<void(s4u::Storage&)> on_creation;
+ static xbt::signal<void(Storage&)> on_creation;
/** @brief Callback signal fired when a Storage is destroyed */
- static simgrid::xbt::signal<void(s4u::Storage&)> on_destruction;
+ static xbt::signal<void(Storage const&)> on_destruction;
/** @brief Callback signal fired when a Storage's state changes */
- static simgrid::xbt::signal<void(s4u::Storage&)> on_state_change;
+ static xbt::signal<void(Storage const&)> on_state_change;
/** Retrieve a Storage by its name. It must exist in the platform file */
static Storage* by_name(const std::string& name);
std::unordered_map<std::string, std::string>* get_properties();
const char* get_property(const std::string& key);
- void set_property(const std::string&, std::string value);
+ void set_property(const std::string&, const std::string& value);
void set_data(void* data) { userdata_ = data; }
void* get_data() { return userdata_; }
IoPtr write_async(sg_size_t size);
sg_size_t write(sg_size_t size);
- surf::StorageImpl* get_impl() { return pimpl_; }
+ kernel::resource::StorageImpl* get_impl() { return pimpl_; }
// Deprecated functions
#ifndef DOXYGEN
/** @deprecated Storage::by_name() */
- XBT_ATTRIB_DEPRECATED_v323("Please use Storage::by_name()") Storage* byName(std::string name)
+ XBT_ATTRIB_DEPRECATED_v323("Please use Storage::by_name()") Storage* byName(const std::string& name)
{
return by_name(name);
}
return get_property(key);
}
/** @deprecated Storage::set_property() */
- XBT_ATTRIB_DEPRECATED_v323("Please use Storage::set_property()") void setProperty(std::string key, std::string value)
+ XBT_ATTRIB_DEPRECATED_v323("Please use Storage::set_property()") void setProperty(const std::string& key,
+ const std::string& value)
{
set_property(key, value);
}
private:
Host* attached_to_ = nullptr;
- surf::StorageImpl* const pimpl_;
+ kernel::resource::StorageImpl* const pimpl_;
std::string name_;
void* userdata_ = nullptr;
};
-} /* namespace s4u */
-} /* namespace simgrid */
+} // namespace s4u
+} // namespace simgrid
#endif /* INCLUDE_SIMGRID_S4U_STORAGE_HPP_ */