C++ Actor Framework 0.19
|
A concrete stream with a technology-dependent policy for sending and receiving data from a socket. More...
#include <stream_impl.hpp>
Public Member Functions | |
template<class... Ts> | |
stream_impl (default_multiplexer &mpx, native_socket sockfd, Ts &&... xs) | |
void | handle_event (io::network::operation op) override |
Returns true once the requested operation is done, i.e., to signalize the multiplexer to remove this handler. | |
Public Member Functions inherited from caf::io::network::stream | |
stream (default_multiplexer &backend_ref, native_socket sockfd) | |
void | start (stream_manager *mgr) |
Starts reading data from the socket, forwarding incoming data to mgr . | |
void | activate (stream_manager *mgr) |
Activates the stream. | |
void | configure_read (receive_policy::config config) |
Configures how much data will be provided for the next consume callback. | |
void | write (const void *buf, size_t num_bytes) |
Copies data to the write buffer. | |
byte_buffer & | wr_buf () |
Returns the write buffer of this stream. | |
byte_buffer & | rd_buf () |
Returns the read buffer of this stream. | |
void | flush (const manager_ptr &mgr) |
Sends the content of the write buffer, calling the io_failure member function of mgr in case of an error. | |
void | removed_from_loop (operation op) override |
Callback to signalize that this handler has been removed from the event loop for operations of type op . | |
void | graceful_shutdown () override |
Shuts down communication on the managed socket, eventually removing this event handler from the I/O loop. | |
void | force_empty_write (const manager_ptr &mgr) |
Forces this stream to subscribe to write events if no data is in the write buffer. | |
Public Member Functions inherited from caf::io::network::event_handler | |
event_handler (default_multiplexer &dm, native_socket sockfd) | |
virtual void | handle_event (operation op)=0 |
Returns true once the requested operation is done, i.e., to signalize the multiplexer to remove this handler. | |
virtual void | removed_from_loop (operation op)=0 |
Callback to signalize that this handler has been removed from the event loop for operations of type op . | |
virtual void | graceful_shutdown ()=0 |
Shuts down communication on the managed socket, eventually removing this event handler from the I/O loop. | |
native_socket | fd () const |
Returns the native socket handle for this handler. | |
default_multiplexer & | backend () |
Returns the multiplexer this acceptor belongs to. | |
int | eventbf () const |
Returns the bit field storing the subscribed events. | |
void | eventbf (int value) |
Sets the bit field storing the subscribed events. | |
bool | read_channel_closed () const |
Checks whether close_read_channel has been called. | |
void | passivate () |
Removes the file descriptor from the event loop of the parent. | |
bool | ack_writes () |
Returns whether this event handlers signals successful writes to its parent actor. | |
void | ack_writes (bool x) |
Sets whether this event handlers signals successful writes to its parent actor. | |
Additional Inherited Members | |
Public Types inherited from caf::io::network::stream | |
using | manager_ptr = intrusive_ptr< stream_manager > |
A smart pointer to a stream manager. | |
Protected Member Functions inherited from caf::io::network::stream | |
template<class Policy > | |
void | handle_event_impl (io::network::operation op, Policy &policy) |
Protected Member Functions inherited from caf::io::network::event_handler | |
void | activate () |
Adds the file descriptor to the event loop of the parent. | |
void | set_fd_flags () |
Sets flags for asynchronous event handling on the socket handle. | |
Protected Attributes inherited from caf::io::network::event_handler | |
native_socket | fd_ |
state | state_ |
int | eventbf_ |
default_multiplexer & | backend_ |
A concrete stream with a technology-dependent policy for sending and receiving data from a socket.
|
overridevirtual |
Returns true once the requested operation is done, i.e., to signalize the multiplexer to remove this handler.
The handler remains in the event loop as long as it returns false.
Implements caf::io::network::event_handler.