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 | ( |  | ) |

inlinenoexcept

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 | ( |  | ) |

inlinenoexcept

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 | ( |  | ) |

inlineprivatenoexcept

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 | ( |  | ) |

inlineprivatenoexcept

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 | ( |  | ) |

inlineoverridevirtual

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 | ( |  | ) |

inlineoverridevirtual

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