15 #ifndef FOXXLL_MNG_CONFIG_HEADER 16 #define FOXXLL_MNG_CONFIG_HEADER 138 virtual void find_config();
142 virtual void initialize();
153 if (!is_initialized) initialize();
157 virtual void load_config_file(
const std::string& config_path);
160 virtual void load_default_config();
179 unsigned int max_device_id();
182 unsigned int next_device_id();
185 void update_max_device_id(
unsigned int devid);
198 return disks_list.size();
207 std::pair<unsigned, unsigned> regular_disk_range()
const;
211 std::pair<unsigned, unsigned> flash_range()
const;
241 const std::string & disk_io_impl(
size_t disk)
const;
253 #endif // !FOXXLL_MNG_CONFIG_HEADER external_size_type size
file size to initially allocate
std::vector< disk_config > disk_list_type
typedef of list of configured disks
std::string path
the file path used by the io implementation
void parse_fileio()
parse the "io_impl" parameter into the optional parameter fields.
bool unlink_on_open
unlink file immediately after opening (available on most Unix)
std::string io_impl
io implementation to access file
disk_config()
default constructor
unsigned int max_device_id_
static counter for automatic physical device enumeration
void parse_line(const std::string &line)
disk_list_type disks_list
list of configured disks
bool flash
marks flash drives (configuration entries with flash= instead of disk=)
std::basic_string< char, std::char_traits< char >, Allocator< char > > string
string with Manager tracking
bool is_initialized
Finished initializing config.
std::string fileio_string() const
return formatted fileio name and optional configuration parameters
bool raw_device
turned on by syscall fileio when the path points to a raw block device
int queue_length
desired queue length for linuxaio_file and linuxaio_queue
bool delete_on_exit
delete file on program exit (default for autoconfigurated files)
bool autogrow
autogrow file if more disk space is needed, automatically set if size == 0.
unsigned first_flash
In disks_list, flash devices come after all regular disks.
uint64_t external_size_type
enum foxxll::disk_config::direct_type direct