From 44cf44629f2704ffb2b6c536be1eac566237d203 Mon Sep 17 00:00:00 2001 From: Jenkins nedprod CI Date: Wed, 10 Aug 2016 07:08:44 +0000 Subject: Travis CI updates documentation --- ...xx_1_1storage__profile_1_1storage__profile.html | 313 +++++++++++++++++++++ 1 file changed, 313 insertions(+) create mode 100644 structboost_1_1afio_1_1v2__xxx_1_1storage__profile_1_1storage__profile.html (limited to 'structboost_1_1afio_1_1v2__xxx_1_1storage__profile_1_1storage__profile.html') diff --git a/structboost_1_1afio_1_1v2__xxx_1_1storage__profile_1_1storage__profile.html b/structboost_1_1afio_1_1v2__xxx_1_1storage__profile_1_1storage__profile.html new file mode 100644 index 00000000..dacf9fd3 --- /dev/null +++ b/structboost_1_1afio_1_1v2__xxx_1_1storage__profile_1_1storage__profile.html @@ -0,0 +1,313 @@ + + + + + + +Boost.AFIO: boost::afio::v2_xxx::storage_profile::storage_profile Struct Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
Boost.AFIO +  v2.00 early alpha +
+
+
+ + + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+ +
+
boost::afio::v2_xxx::storage_profile::storage_profile Struct Reference
+
+
+ +

A (possibly incomplet) profile of storage. + More...

+ +

#include <storage_profile.hpp>

+ + + + + + + + + + + + + + + + + + + + + + + +

+Public Types

+using size_type = size_t
 The size type.
 
+using value_type = item_erased &
 Value type.
 
+using reference = item_erased &
 Reference type.
 
+using const_reference = const item_erased &
 Const reference type.
 
+using iterator = item_erased *
 Iterator type.
 
+using const_iterator = const item_erased *
 Const iterator type.
 
+using handle_type = item_base::handle_type
 The type of handle used for testing.
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

+bool empty () const noexcept
 True if this storage profile is empty.
 
+size_type size () const noexcept
 Items in this storage profile.
 
+size_type max_size () const noexcept
 Potential items in this storage profile.
 
+iterator begin () noexcept
 Returns an iterator to the first item.
 
+iterator end () noexcept
 Returns an iterator to the last item.
 
+const_iterator begin () const noexcept
 Returns an iterator to the first item.
 
+const_iterator end () const noexcept
 Returns an iterator to the last item.
 
+void read (std::istream &in, std::regex which=std::regex(".*"))
 Read the matching items in the storage profile from in as YAML.
 
+void write (std::ostream &out, std::regex which=std::regex(".*"), size_t _indent=0, bool invert_which=false) const
 Write the matching items from storage profile as YAML to out with the given indentation.
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Attributes

+item< std::string > os_name = {"system:os:name", &system::os}
 
+item< std::string > os_ver = {"system:os:ver", &system::os}
 
+item< std::string > cpu_name = {"system:cpu:name", &system::cpu}
 
+item< std::string > cpu_architecture = {"system:cpu:architecture", &system::cpu}
 
+item< unsigned > cpu_physical_cores = {"system:cpu:physical_cores", &system::cpu}
 
+item< unsigned long long > mem_max_bandwidth = {"system:mem:max_bandwidth", system::mem, "Main memory bandwidth when accessed sequentially"}
 
+item< unsigned long long > mem_min_bandwidth = {"system:mem:min_bandwidth", system::mem, "Main memory bandwidth when 4Kb pages are accessed randomly"}
 
+item< unsigned long long > mem_quantity = {"system:mem:quantity", &system::mem}
 
+item< float > mem_in_use = {"system:mem:in_use", &system::mem}
 
+item< std::string > controller_type = {"storage:controller:kind", &storage::device}
 
+item< unsigned > controller_max_transfer = {"storage:controller:max_transfer", storage::device, "The maximum number of bytes the disk controller can transfer at once"}
 
+item< unsigned > controller_max_buffers = {"storage:controller:max_buffers", storage::device, "The maximum number of scatter-gather buffers the disk controller can handle"}
 
+item< std::string > device_name = {"storage:device:name", &storage::device}
 
+item< unsigned > device_min_io_size = {"storage:device:min_io_size", &storage::device}
 
+item< io_service::extent_typedevice_size = {"storage:device:size", &storage::device}
 
+item< std::string > fs_name = {"storage:fs:name", &storage::fs}
 
+item< std::string > fs_config = {"storage:fs:config", &storage::fs}
 
+item< io_service::extent_typefs_size = {"storage:fs:size", &storage::fs}
 
+item< float > fs_in_use = {"storage:fs:in_use", &storage::fs}
 
+item< io_service::extent_typeatomic_rewrite_quantum = {"concurrency:atomic_rewrite_quantum", concurrency::atomic_rewrite_quantum, "The i/o modify quantum guaranteed to be atomically visible to readers irrespective of rewrite quantity"}
 
item< io_service::extent_typemax_aligned_atomic_rewrite
 
item< io_service::extent_typeatomic_rewrite_offset_boundary
 
+

Detailed Description

+

A (possibly incomplet) profile of storage.

+

Member Data Documentation

+ +
+
+ + + + +
item<io_service::extent_type> boost::afio::v2_xxx::storage_profile::storage_profile::atomic_rewrite_offset_boundary
+
+Initial value:
= {"concurrency:atomic_rewrite_offset_boundary", concurrency::atomic_rewrite_offset_boundary, "The multiple of offset in a file where update atomicity breaks, so if you wrote 4096 bytes at a 512 offset and "
+
"this value was 4096, your write would tear at 3584 because all writes would tear on a 4096 offset multiple. "
+
"Linux has a famously broken kernel i/o design which causes this value to be a page multiple, except on "
+
"filing systems which take special measures to work around it. Windows NT appears to lose all atomicity as soon as "
+
"an i/o straddles a 4096 file offset multiple and DMA suddenly goes into many 64 byte cache lines :(, so if "
+
"this value is less than max_aligned_atomic_rewrite and some multiple of the CPU cache line size then this is "
+
"what has happened."}
+
+
+
+ +
+
+ + + + +
item<io_service::extent_type> boost::afio::v2_xxx::storage_profile::storage_profile::max_aligned_atomic_rewrite
+
+Initial value:
= {"concurrency:max_aligned_atomic_rewrite", concurrency::atomic_rewrite_quantum,
+
"The maximum single aligned i/o modify quantity atomically visible to readers (can be [potentially unreliably] much larger than atomic_rewrite_quantum). "
+
"A very common value on modern hardware with direct i/o thanks to PCIe DMA is 4096, don't trust values higher than this because of potentially discontiguous memory page mapping."}
+
+
+
+
The documentation for this struct was generated from the following file: +
+
+ + + + -- cgit v1.2.3