libcaf
0.15.5
|
A concrete stream with a technology-dependent policy for sending and receiving data from a socket. More...
#include <default_multiplexer.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. More... | |
![]() | |
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. More... | |
void | ack_writes (bool x) |
void | write (const void *buf, size_t num_bytes) |
Copies data to the write buffer. More... | |
buffer_type & | wr_buf () |
Returns the write buffer of this stream. More... | |
buffer_type & | rd_buf () |
Returns the read buffer of this stream. More... | |
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. More... | |
void | stop_reading () |
Closes the read channel of the underlying socket and removes this handler from its parent. More... | |
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 . More... | |
void | force_empty_write (const manager_ptr &mgr) |
Forces this stream to subscribe to write events if no data is in the write buffer. More... | |
![]() | |
event_handler (default_multiplexer &dm, native_socket sockfd) | |
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 has been called. | |
void | close_read_channel () |
Closes the read channel of the underlying socket. | |
void | passivate () |
Removes the file descriptor from the event loop of the parent. | |
Additional Inherited Members | |
![]() | |
using | manager_ptr = intrusive_ptr< stream_manager > |
A smart pointer to a stream manager. | |
using | buffer_type = std::vector< char > |
A buffer class providing a compatible interface to std::vector . More... | |
![]() | |
template<class Policy > | |
void | handle_event_impl (io::network::operation op, Policy &policy) |
![]() | |
void | activate () |
Adds the file descriptor to the event loop of the parent. | |
void | set_fd_flags () |
![]() | |
int | eventbf_ |
native_socket | fd_ |
bool | read_channel_closed_ |
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.