AFIO  v2.00 late alpha
storage_profile.hpp File Reference

Provides storage_profile. More...

#include "io_service.hpp"
#include <regex>
#include <utility>

Classes

struct  afio_v2_xxx::storage_profile::item_base
 Common base class for items. More...
 
struct  afio_v2_xxx::storage_profile::item< T >
 A tag-value item in the storage profile where T is the type of value stored. More...
 
struct  afio_v2_xxx::storage_profile::item_erased
 A type erased tag-value item. More...
 
struct  afio_v2_xxx::storage_profile::storage_profile
 A (possibly incomplet) profile of storage. More...
 

Namespaces

 afio_v2_xxx
 The AFIO namespace.
 
 afio_v2_xxx::storage_profile
 YAML databaseable empirical testing of a storage's behaviour.
 

Enumerations

enum  afio_v2_xxx::storage_profile::storage_types {
  unknown, extent_type, unsigned_int, unsigned_long_long,
  float_, string
}
 Types potentially storable in a storage profile.
 

Functions

template<class T >
constexpr storage_types afio_v2_xxx::storage_profile::map_to_storage_type ()
 Returns the enum matching type T.
 
template<class T >
constexpr T afio_v2_xxx::storage_profile::default_value ()
 Specialise for a different default value for T.
 
template<>
constexpr storage_types afio_v2_xxx::storage_profile::map_to_storage_type< io_service::extent_type > ()
 
template<>
constexpr io_service::extent_type afio_v2_xxx::storage_profile::default_value< io_service::extent_type > ()
 
template<>
constexpr storage_types afio_v2_xxx::storage_profile::map_to_storage_type< unsigned int > ()
 
template<>
constexpr unsigned int afio_v2_xxx::storage_profile::default_value< unsigned int > ()
 
template<>
constexpr storage_types afio_v2_xxx::storage_profile::map_to_storage_type< float > ()
 
template<>
constexpr storage_types afio_v2_xxx::storage_profile::map_to_storage_type< std::string > ()
 
outcome< void > afio_v2_xxx::storage_profile::system::os (storage_profile &sp, file_handle &h) noexcept
 
outcome< void > afio_v2_xxx::storage_profile::system::cpu (storage_profile &sp, file_handle &h) noexcept
 
outcome< void > afio_v2_xxx::storage_profile::system::mem (storage_profile &sp, file_handle &h) noexcept
 
outcome< void > afio_v2_xxx::storage_profile::system::posix::_mem (storage_profile &sp, file_handle &h) noexcept
 
outcome< void > afio_v2_xxx::storage_profile::system::clock_granularity (storage_profile &sp, file_handle &h) noexcept
 
outcome< void > afio_v2_xxx::storage_profile::system::yield_overhead (storage_profile &sp, file_handle &h) noexcept
 
outcome< void > afio_v2_xxx::storage_profile::system::sleep_wake_overhead (storage_profile &sp, file_handle &h) noexcept
 
outcome< void > afio_v2_xxx::storage_profile::system::drop_filesystem_cache_support (storage_profile &sp, file_handle &) noexcept
 
outcome< void > afio_v2_xxx::storage_profile::storage::device (storage_profile &sp, file_handle &h) noexcept
 
outcome< void > afio_v2_xxx::storage_profile::storage::fs (storage_profile &sp, file_handle &h) noexcept
 
outcome< void > afio_v2_xxx::storage_profile::storage::posix::_device (storage_profile &sp, file_handle &h, std::string mntfromname, std::string fstypename) noexcept
 
outcome< void > afio_v2_xxx::storage_profile::concurrency::atomic_rewrite_quantum (storage_profile &sp, file_handle &srch) noexcept
 
outcome< void > afio_v2_xxx::storage_profile::concurrency::atomic_rewrite_offset_boundary (storage_profile &sp, file_handle &srch) noexcept
 
outcome< void > afio_v2_xxx::storage_profile::latency::read_nothing (storage_profile &sp, file_handle &srch) noexcept
 
outcome< void > afio_v2_xxx::storage_profile::latency::write_nothing (storage_profile &sp, file_handle &srch) noexcept
 
outcome< void > afio_v2_xxx::storage_profile::latency::read_qd1 (storage_profile &sp, file_handle &srch) noexcept
 
outcome< void > afio_v2_xxx::storage_profile::latency::write_qd1 (storage_profile &sp, file_handle &srch) noexcept
 
outcome< void > afio_v2_xxx::storage_profile::latency::read_qd16 (storage_profile &sp, file_handle &srch) noexcept
 
outcome< void > afio_v2_xxx::storage_profile::latency::write_qd16 (storage_profile &sp, file_handle &srch) noexcept
 
outcome< void > afio_v2_xxx::storage_profile::latency::readwrite_qd4 (storage_profile &sp, file_handle &srch) noexcept
 
outcome< void > afio_v2_xxx::storage_profile::response_time::traversal_warm_racefree_0b (storage_profile &sp, file_handle &srch) noexcept
 
outcome< void > afio_v2_xxx::storage_profile::response_time::traversal_warm_racefree_1b (storage_profile &sp, file_handle &h) noexcept
 
outcome< void > afio_v2_xxx::storage_profile::response_time::traversal_warm_racefree_4k (storage_profile &sp, file_handle &h) noexcept
 
outcome< void > afio_v2_xxx::storage_profile::response_time::traversal_warm_nonracefree_0b (storage_profile &sp, file_handle &srch) noexcept
 
outcome< void > afio_v2_xxx::storage_profile::response_time::traversal_warm_nonracefree_1b (storage_profile &sp, file_handle &h) noexcept
 
outcome< void > afio_v2_xxx::storage_profile::response_time::traversal_warm_nonracefree_4k (storage_profile &sp, file_handle &h) noexcept
 
outcome< void > afio_v2_xxx::storage_profile::response_time::traversal_warm_nonracefree_1M (storage_profile &sp, file_handle &h) noexcept
 
outcome< void > afio_v2_xxx::storage_profile::response_time::traversal_cold_racefree_0b (storage_profile &sp, file_handle &srch) noexcept
 
outcome< void > afio_v2_xxx::storage_profile::response_time::traversal_cold_racefree_1b (storage_profile &sp, file_handle &h) noexcept
 
outcome< void > afio_v2_xxx::storage_profile::response_time::traversal_cold_racefree_4k (storage_profile &sp, file_handle &h) noexcept
 
outcome< void > afio_v2_xxx::storage_profile::response_time::traversal_cold_nonracefree_0b (storage_profile &sp, file_handle &h) noexcept
 
outcome< void > afio_v2_xxx::storage_profile::response_time::traversal_cold_nonracefree_1b (storage_profile &sp, file_handle &h) noexcept
 
outcome< void > afio_v2_xxx::storage_profile::response_time::traversal_cold_nonracefree_4k (storage_profile &sp, file_handle &h) noexcept
 

Detailed Description

Provides storage_profile.