LLFIO  v2.00
storage_profile.hpp File Reference

Provides storage_profile. More...

#include "byte_io_handle.hpp"
#include "outcome/outcome.hpp"
#include <regex>
#include <utility>

Classes

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

Namespaces

 llfio_v2_xxx
 The LLFIO namespace.
 
 llfio_v2_xxx::storage_profile
 YAML databaseable empirical testing of a storage's behaviour.
 

Typedefs

template<class T >
using llfio_v2_xxx::outcome = OUTCOME_V2_NAMESPACE::outcome< T, error_info >
 

Enumerations

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

Detailed Description

Provides storage_profile.