|
| reader_base (reader_base const &)=delete |
|
| reader_base (std::wstring &&name, aio_buffer_pool &pool, size_t max_buffers) noexcept |
| Constructs a reader.
|
|
| reader_base (std::wstring_view name, aio_buffer_pool &pool, size_t max_buffers) noexcept |
|
| reader_base (reader_base const &)=delete |
|
reader_base & | operator= (reader_base const &)=delete |
|
void | close () |
|
virtual bool | seekable () const |
|
bool | seek (uint64_t offset, uint64_t size=nosize) |
| If seek fails, the reader is in an undefined state and must be closed.
|
|
bool | rewind () |
| Only seekable readers can be rewound.
|
|
std::wstring const & | name () const |
|
virtual uint64_t | size () const |
| Size of the reader. If the size is indetermined, nosize is returned.
|
|
virtual datetime | mtime () const |
| Last modification time, might be indetermined.
|
|
std::pair< aio_result, buffer_lease > | get_buffer (event_handler &h) |
| Gets the next buffer with data from the reader.
|
|
bool | error () const |
|
void | remove_waiter (event_handler &h) |
|
Public Member Functions inherited from event_handler |
| event_handler (event_loop &loop) |
|
| event_handler (event_handler const &h) |
|
event_handler & | operator= (event_handler const &)=delete |
|
void | remove_handler () |
| Deactivates handler, removes all pending events and stops all timers for this handler.
|
|
template<typename T, typename... Args> |
void | send_event (Args &&... args) |
| Sends the passed event asynchronously to the handler.
|
|
template<typename T> |
void | send_event (T *evt) |
|
template<typename T> |
void | send_persistent_event (T *evt) |
| Be careful with lifetime.
|
|
timer_id | add_timer (monotonic_clock const &deadline, duration const &interval={}) |
| Adds a timer, returns the timer id.
|
|
timer_id | add_timer (duration const &interval, bool one_shot) |
| Adds a timer, returns the timer id.
|
|
void | stop_timer (timer_id id) |
|
timer_id | stop_add_timer (timer_id id, monotonic_clock const &deadline, duration const &interval={}) |
|
timer_id | stop_add_timer (timer_id id, duration const &interval, bool one_shot) |
|
void | filter_events (std::function< bool(event_base &ev)> const &filter) |
|
void | resend_current_event () |
|
Base class for threaded readers.