15 #ifndef STXXL_SIMDISK_FILE_HEADER
16 #define STXXL_SIMDISK_FILE_HEADER
18 #ifndef STXXL_HAVE_SIMDISK_FILE
19 #ifdef STXXL_BOOST_CONFIG
20 #include <boost/config.hpp>
25 #define STXXL_HAVE_SIMDISK_FILE 1
27 #define STXXL_HAVE_SIMDISK_FILE 0
31 #if STXXL_HAVE_SIMDISK_FILE
37 #include <stxxl/bits/io/ufs_file_base.h>
38 #include <stxxl/bits/io/disk_queued_file.h>
41 __STXXL_BEGIN_NAMESPACE
46 #define AVERAGE_SPEED (15 * 1024 * 1024)
48 class DiskGeometry :
private noncopyable
60 double sustained_data_rate;
61 inline Zone(
int _first_sector) : first_sector(_first_sector)
74 sect_per_track(_sect_per_track),
76 first_sector(_first_sector),
78 sustained_data_rate(_rate)
83 inline bool operator () (
const Zone & a,
const Zone & b)
const
85 return a.first_sector < b.first_sector;
95 double head_switch_time;
96 double cyl_switch_time;
97 double revolution_time;
98 double interface_speed;
99 std::set<Zone, ZoneCmp> zones;
101 void add_zone(
int & first_cyl,
int last_cyl,
102 int sec_per_track,
int & first_sect);
105 inline DiskGeometry()
107 double get_delay(file::offset_type offset, file::size_type size);
109 inline ~DiskGeometry()
114 class IC35L080AVVA07 :
public DiskGeometry
132 std::cout <<
"Please, make sure that '" << filename <<
133 "' is resided on swap memory partition!" <<
136 void serve(
const request * req)
throw (io_error);
143 __STXXL_END_NAMESPACE
145 #endif // #if STXXL_HAVE_SIMDISK_FILE
147 #endif // !STXXL_SIMDISK_FILE_HEADER
Base for UNIX file system implementations.
Definition: ufs_file_base.h:30
const char * io_type() const
Identifies the type of I/O implementation.
Request with basic properties like file and offset.
Definition: request.h:39
Implementation of disk emulation.
Definition: simdisk_file.h:122
Implementation of some file methods based on serving_request.
Definition: disk_queued_file.h:26
void set_size(offset_type newsize)
Changes the size of the file.
sim_disk_file(const std::string &filename, int mode, int queue_id=DEFAULT_QUEUE, int allocator_id=NO_ALLOCATOR)
constructs file object
Definition: simdisk_file.h:130