RESTinio

Public Types | Public Member Functions | Private Member Functions | List of all members
restinio::impl::sendfile_operation_runner_t< asio_ns::ip::tcp::socket > Class Referencefinal

A specialization for plain tcp-socket using linux sendfile() (http://man7.org/linux/man-pages/man2/sendfile.2.html). More...

Inheritance diagram for restinio::impl::sendfile_operation_runner_t< asio_ns::ip::tcp::socket >:

## Public Types
using | base_type_t = sendfile_operation_runner_base_t< asio_ns::ip::tcp::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
Public Member Functions inherited from restinio::impl::sendfile_operation_runner_base_t< asio_ns::ip::tcp::socket >
| sendfile_operation_runner_base_t ()=delete
| sendfile_operation_runner_base_t (const sendfile_t &sf, default_asio_executor executor, asio_ns::ip::tcp::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
RESTINIO_NODISCARD bool | try_turn_non_blocking_mode () noexcept
RESTINIO_NODISCARD auto | call_native_sendfile () noexcept
RESTINIO_NODISCARD bool | try_initiate_waiting_for_write_readiness () noexcept

## Additional Inherited Members
Protected Attributes inherited from restinio::impl::sendfile_operation_runner_base_t< asio_ns::ip::tcp::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
const file_size_t | m_chunk_size
const std::chrono::steady_clock::time_point | m_expires_after
default_asio_executor | m_executor
asio_ns::ip::tcp::socket & | m_socket
after_sendfile_cb_t | m_after_sendfile_cb

## Detailed Description

A specialization for plain tcp-socket using linux sendfile() (http://man7.org/linux/man-pages/man2/sendfile.2.html).

Definition at line 168 of file sendfile_operation_posix.ipp.

## Member Typedef Documentation

## ◆ base_type_t

using restinio::impl::sendfile_operation_runner_t< asio_ns::ip::tcp::socket >::base_type_t = sendfile_operation_runner_base_t< asio_ns::ip::tcp::socket >

Definition at line 324 of file sendfile_operation_posix.ipp.

## Constructor & Destructor Documentation

## ◆ sendfile_operation_runner_t() [1/2]

restinio::impl::sendfile_operation_runner_t< asio_ns::ip::tcp::socket >::sendfile_operation_runner_t | ( | const sendfile_operation_runner_t< asio_ns::ip::tcp::socket > & |  | ) |
| delete

## ◆ sendfile_operation_runner_t() [2/2]

restinio::impl::sendfile_operation_runner_t< asio_ns::ip::tcp::socket >::sendfile_operation_runner_t | ( | sendfile_operation_runner_t< asio_ns::ip::tcp::socket > && |  | ) |
| delete

## Member Function Documentation

## ◆ call_native_sendfile()

RESTINIO_NODISCARD auto restinio::impl::sendfile_operation_runner_t< asio_ns::ip::tcp::socket >::call_native_sendfile | ( |  | ) |
| inline private noexcept

Definition at line 275 of file sendfile_operation_posix.ipp.

## ◆ init_next_write()

void restinio::impl::sendfile_operation_runner_t< asio_ns::ip::tcp::socket >::init_next_write | ( |  | ) |
| inline noexcept

Note
  This method is noexcept since v.0.6.0.

Definition at line 345 of file sendfile_operation_posix.ipp.

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

sendfile_operation_runner_t & restinio::impl::sendfile_operation_runner_t< asio_ns::ip::tcp::socket >::operator= | ( | const sendfile_operation_runner_t< asio_ns::ip::tcp::socket > & |  | ) |
| delete

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

sendfile_operation_runner_t & restinio::impl::sendfile_operation_runner_t< asio_ns::ip::tcp::socket >::operator= | ( | sendfile_operation_runner_t< asio_ns::ip::tcp::socket > && |  | ) |
| delete

## ◆ start()

virtual void restinio::impl::sendfile_operation_runner_t< asio_ns::ip::tcp::socket >::start | ( |  | ) |
| inline override virtual

Implements restinio::impl::sendfile_operation_base_t.

Definition at line 335 of file sendfile_operation_posix.ipp.

## ◆ try_initiate_waiting_for_write_readiness()

RESTINIO_NODISCARD bool restinio::impl::sendfile_operation_runner_t< asio_ns::ip::tcp::socket >::try_initiate_waiting_for_write_readiness | ( |  | ) |
| inline private noexcept

Definition at line 287 of file sendfile_operation_posix.ipp.

## ◆ try_turn_non_blocking_mode()

RESTINIO_NODISCARD bool restinio::impl::sendfile_operation_runner_t< asio_ns::ip::tcp::socket >::try_turn_non_blocking_mode | ( |  | ) |
| inline private noexcept

Definition at line 175 of file sendfile_operation_posix.ipp.

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

- restinio/impl/sendfile_operation_posix.ipp