RESTinio

Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
restinio::impl::sendfile_operation_runner_t< Socket > Class Template Referencefinal

A runner of sendfile operation. More...

Inheritance diagram for restinio::impl::sendfile_operation_runner_t< Socket >:

## Public Types
using | base_type_t = sendfile_operation_runner_base_t< Socket >
using | base_type_t = sendfile_operation_runner_base_t< Socket >

## Public Member Functions
| sendfile_operation_runner_t (const sendfile_operation_runner_t &)=delete
| sendfile_operation_runner_t (sendfile_operation_runner_t &&)=delete
sendfile_operation_runner_t & | operator= (const sendfile_operation_runner_t &)=delete
sendfile_operation_runner_t & | operator= (sendfile_operation_runner_t &&)=delete
virtual void | start () override
void | init_next_write () noexcept
| sendfile_operation_runner_t (const sendfile_operation_runner_t &)=delete
| sendfile_operation_runner_t (sendfile_operation_runner_t &&)=delete
sendfile_operation_runner_t & | operator= (const sendfile_operation_runner_t &)=delete
sendfile_operation_runner_t & | operator= (sendfile_operation_runner_t &&)=delete
virtual void | start () override
void | init_next_write () noexcept
Public Member Functions inherited from restinio::impl::sendfile_operation_runner_base_t< Socket >
| sendfile_operation_runner_base_t ()=delete
| sendfile_operation_runner_base_t (const sendfile_t &sf, default_asio_executor executor, Socket &socket, after_sendfile_cb_t after_sendfile_cb)
auto | expires_after () const noexcept
Public Member Functions inherited from restinio::impl::sendfile_operation_base_t
virtual | ~sendfile_operation_base_t ()=default
virtual void | start ()=0

## Private Member Functions
auto | make_async_write_handler () noexcept
| Helper method for making a lambda for async_write completion handler. More...
auto | make_async_write_handler () noexcept
| Helper method for making a lambda for async_write completion handler. More...

## Private Attributes
std::unique_ptr< char[] > | m_buffer { new char [ this->m_chunk_size ] }

## Additional Inherited Members
Protected Attributes inherited from restinio::impl::sendfile_operation_runner_base_t< Socket >
file_descriptor_t | m_file_descriptor
file_offset_t | m_next_write_offset
file_size_t | m_remained_size
file_size_t | m_transfered_size { 0 }
const file_size_t | m_chunk_size
const std::chrono::steady_clock::time_point | m_expires_after
default_asio_executor | m_executor
Socket & | m_socket
after_sendfile_cb_t | m_after_sendfile_cb

## Detailed Description

template<typename Socket>
class restinio::impl::sendfile_operation_runner_t< Socket >

A runner of sendfile operation.

Definition at line 23 of file sendfile_operation_default.ipp.

## Member Typedef Documentation

## ◆ base_type_t [1/2]

template<typename Socket >

using restinio::impl::sendfile_operation_runner_t< Socket >::base_type_t = sendfile_operation_runner_base_t< Socket >

Definition at line 27 of file sendfile_operation_default.ipp.

## ◆ base_type_t [2/2]

template<typename Socket >

using restinio::impl::sendfile_operation_runner_t< Socket >::base_type_t = sendfile_operation_runner_base_t< Socket >

Definition at line 31 of file sendfile_operation_posix.ipp.

## Constructor & Destructor Documentation

## ◆ sendfile_operation_runner_t() [1/4]

template<typename Socket >

restinio::impl::sendfile_operation_runner_t< Socket >::sendfile_operation_runner_t | ( | const sendfile_operation_runner_t< Socket > & |  | ) |
| delete

## ◆ sendfile_operation_runner_t() [2/4]

template<typename Socket >

restinio::impl::sendfile_operation_runner_t< Socket >::sendfile_operation_runner_t | ( | sendfile_operation_runner_t< Socket > && |  | ) |
| delete

## ◆ sendfile_operation_runner_t() [3/4]

template<typename Socket >

restinio::impl::sendfile_operation_runner_t< Socket >::sendfile_operation_runner_t | ( | const sendfile_operation_runner_t< Socket > & |  | ) |
| delete

## ◆ sendfile_operation_runner_t() [4/4]

template<typename Socket >

restinio::impl::sendfile_operation_runner_t< Socket >::sendfile_operation_runner_t | ( | sendfile_operation_runner_t< Socket > && |  | ) |
| delete

## Member Function Documentation

## ◆ init_next_write() [1/2]

template<typename Socket >

void restinio::impl::sendfile_operation_runner_t< Socket >::init_next_write | ( |  | ) |
| inline noexcept

Note
  This method is noexcept since v.0.6.0.

Definition at line 65 of file sendfile_operation_default.ipp.

## ◆ init_next_write() [2/2]

template<typename Socket >

void restinio::impl::sendfile_operation_runner_t< Socket >::init_next_write | ( |  | ) |
| inline noexcept

Note
  This method is noexcept since v.0.6.0.

Definition at line 67 of file sendfile_operation_posix.ipp.

## ◆ make_async_write_handler() [1/2]

template<typename Socket >

auto restinio::impl::sendfile_operation_runner_t< Socket >::make_async_write_handler | ( |  | ) |
| inline private noexcept

Helper method for making a lambda for async_write completion handler.

Definition at line 112 of file sendfile_operation_default.ipp.

## ◆ make_async_write_handler() [2/2]

template<typename Socket >

auto restinio::impl::sendfile_operation_runner_t< Socket >::make_async_write_handler | ( |  | ) |
| inline private noexcept

Helper method for making a lambda for async_write completion handler.

Definition at line 134 of file sendfile_operation_posix.ipp.

## ◆ operator=() [1/4]

template<typename Socket >

sendfile_operation_runner_t & restinio::impl::sendfile_operation_runner_t< Socket >::operator= | ( | const sendfile_operation_runner_t< Socket > & |  | ) |
| delete

## ◆ operator=() [2/4]

template<typename Socket >

sendfile_operation_runner_t & restinio::impl::sendfile_operation_runner_t< Socket >::operator= | ( | const sendfile_operation_runner_t< Socket > & |  | ) |
| delete

## ◆ operator=() [3/4]

template<typename Socket >

sendfile_operation_runner_t & restinio::impl::sendfile_operation_runner_t< Socket >::operator= | ( | sendfile_operation_runner_t< Socket > && |  | ) |
| delete

## ◆ operator=() [4/4]

template<typename Socket >

sendfile_operation_runner_t & restinio::impl::sendfile_operation_runner_t< Socket >::operator= | ( | sendfile_operation_runner_t< Socket > && |  | ) |
| delete

## ◆ start() [1/2]

template<typename Socket >

virtual void restinio::impl::sendfile_operation_runner_t< Socket >::start | ( |  | ) |
| inline override virtual

Implements restinio::impl::sendfile_operation_base_t.

Definition at line 39 of file sendfile_operation_default.ipp.

## ◆ start() [2/2]

template<typename Socket >

virtual void restinio::impl::sendfile_operation_runner_t< Socket >::start | ( |  | ) |
| inline override virtual

Implements restinio::impl::sendfile_operation_base_t.

Definition at line 42 of file sendfile_operation_posix.ipp.

## Member Data Documentation

## ◆ m_buffer

template<typename Socket >

std::unique_ptr< char[] > restinio::impl::sendfile_operation_runner_t< Socket >::m_buffer { new char [ this->m_chunk_size ] }
| private

Definition at line 108 of file sendfile_operation_default.ipp.

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

- restinio/impl/sendfile_operation_default.ipp
- restinio/impl/sendfile_operation_posix.ipp