libfilezilla
Loading...
Searching...
No Matches
file_writer Class Referencefinal

File writer. More...

#include <writer.hpp>

Inheritance diagram for file_writer:
Collaboration diagram for file_writer:

Public Member Functions

 file_writer (std::wstring &&name, aio_buffer_pool &pool, file &&f, thread_pool &tpool, bool fsync=false, progress_cb_t &&progress_cb=nullptr, size_t max_buffers=4) noexcept
 file_writer (std::wstring_view name, aio_buffer_pool &pool, file &&f, thread_pool &tpool, bool fsync=false, progress_cb_t &&progress_cb=nullptr, size_t max_buffers=4) noexcept
virtual aio_result preallocate (uint64_t size) override
 Instructs writer to preallocate storage. May be a noop.
virtual bool set_mtime (datetime const &) override
 Must be finalized already.
Public Member Functions inherited from threaded_writer
 writer_base (writer_base const &)=delete
 writer_base (std::wstring &&name, aio_buffer_pool &pool, progress_cb_t &&progress_cb, size_t max_buffers) noexcept
 writer_base (std::wstring_view name, aio_buffer_pool &pool, progress_cb_t &&progress_cb, size_t max_buffers) noexcept
Public Member Functions inherited from writer_base
 writer_base (writer_base const &)=delete
writer_baseoperator= (writer_base const &)=delete
aio_result add_buffer (buffer_lease &&b, event_handler &h)
 Pass a buffer to be written out.
aio_result finalize (event_handler &h)
 Finalizes the writer.
void close ()
Public Member Functions inherited from aio_waitable
void remove_waiter (event_handler &h)

Additional Inherited Members

Public Types inherited from writer_base
using progress_cb_t = std::function<void(writer_base const*, uint64_t written)>
Public Types inherited from aio_base
using size_type = uint64_t
Static Public Attributes inherited from aio_base
static constexpr auto nosize = static_cast<size_type>(-1)
Protected Member Functions inherited from threaded_writer
virtual aio_result do_add_buffer (scoped_lock &l, buffer_lease &&b) override
virtual aio_result do_finalize (scoped_lock &l) override
void wakeup (scoped_lock &l)
Protected Member Functions inherited from writer_base
 writer_base (std::wstring &&name, aio_buffer_pool &pool, progress_cb_t &&progress_cb, size_t max_buffers) noexcept
 writer_base (std::wstring_view name, aio_buffer_pool &pool, progress_cb_t &&progress_cb, size_t max_buffers) noexcept
Protected Member Functions inherited from aio_waitable
void remove_waiters ()
 Call in destructor of most-derived class.
void add_waiter (event_handler &h)
void signal_availibility ()
Protected Attributes inherited from threaded_writer
condition cond_
async_task task_
bool quit_ {}
Protected Attributes inherited from writer_base
mutex mtx_
aio_buffer_poolbuffer_pool_
std::wstring const name_
progress_cb_t progress_cb_
size_t const max_buffers_ {}
std::list< buffer_leasebuffers_
bool error_ {}
uint8_t finalizing_ {}

Detailed Description

File writer.

Member Function Documentation

◆ preallocate()

virtual aio_result preallocate ( uint64_t )
overridevirtual

Instructs writer to preallocate storage. May be a noop.

Reimplemented from writer_base.

◆ set_mtime()

virtual bool set_mtime ( datetime const & )
overridevirtual

Must be finalized already.

Reimplemented from writer_base.


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