Seastar
High performance C++ framework for concurrent servers
Classes | Public Types | Public Member Functions | Static Public Attributes | List of all members
seastar::io_queue Class Reference

Classes

struct  config
 
struct  request_limits
 

Public Types

using clock_type = std::chrono::steady_clock
 

Public Member Functions

 io_queue (io_group_ptr group, internal::io_sink &sink)
 
stream_id request_stream (internal::io_direction_and_length dnl) const noexcept
 
future< size_t > submit_io_read (internal::priority_class priority_class, size_t len, internal::io_request req, io_intent *intent, iovec_keeper iovs={}) noexcept
 
future< size_t > submit_io_write (internal::priority_class priority_class, size_t len, internal::io_request req, io_intent *intent, iovec_keeper iovs={}) noexcept
 
void submit_request (io_desc_read_write *desc, internal::io_request req) noexcept
 
void cancel_request (queued_io_request &req) noexcept
 
void complete_cancelled_request (queued_io_request &req) noexcept
 
void complete_request (io_desc_read_write &desc, std::chrono::duration< double > delay) noexcept
 
size_t queued_requests () const
 
size_t requests_currently_executing () const
 
void poll_io_queue ()
 
clock_type::time_point next_pending_aio () const noexcept
 
fair_queue_entry::capacity_t request_capacity (internal::io_direction_and_length dnl) const noexcept
 
sstring mountpoint () const
 
dev_t dev_id () const noexcept
 
void update_shares_for_class (internal::priority_class pc, size_t new_shares)
 
future update_bandwidth_for_class (internal::priority_class pc, uint64_t new_bandwidth)
 
void rename_priority_class (internal::priority_class pc, sstring new_name)
 
void throttle_priority_class (const priority_class_data &pc) noexcept
 
void unthrottle_priority_class (const priority_class_data &pc) noexcept
 
request_limits get_request_limits () const noexcept
 
const configget_config () const noexcept
 

Static Public Attributes

static constexpr unsigned read_request_base_count = 128
 
static constexpr unsigned block_size_shift = 9
 

Class Documentation

◆ seastar::io_queue::config

struct seastar::io_queue::config
Class Members
unsigned averaging_decay_ticks
size_t block_count_limit_min
unsigned long blocks_count_rate
dev_t devid
unsigned disk_blocks_write_to_read_multiplier
size_t disk_read_saturation_length
unsigned disk_req_write_to_read_multiplier
size_t disk_write_saturation_length
bool duplex
double flow_ratio_backpressure_threshold
double flow_ratio_ema_factor
sstring mountpoint
duration< double > rate_limit_duration
unsigned long req_count_rate
milliseconds stall_threshold

◆ seastar::io_queue::request_limits

struct seastar::io_queue::request_limits
Class Members
size_t max_read
size_t max_write

The documentation for this class was generated from the following file: