Loading...
Searching...
No Matches
caf::io::network::stream_impl< ProtocolPolicy > Class Template Reference

A concrete stream with a technology-dependent policy for sending and receiving data from a socket. More...

`#include <stream_impl.hpp>`

Inheritance diagram for caf::io::network::stream_impl< ProtocolPolicy >:

## 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.
buffer_type & | wr_buf ()
| Returns the write buffer of this stream.
buffer_type & | 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)
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.
using | buffer_type = std::vector<char>
| A buffer class providing a compatible interface to std::vector.
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_

## Detailed Description

template<class ProtocolPolicy>
class caf::io::network::stream_impl< ProtocolPolicy >

A concrete stream with a technology-dependent policy for sending and receiving data from a socket.

## Member Function Documentation

## handle_event()

template<class ProtocolPolicy>

void caf::io::network::stream_impl< ProtocolPolicy >::handle_event | ( | io::network::operation | op | ) |

override virtual

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.

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

- /build/actor-framework-Z9pIPl/actor-framework-0.17.6/libcaf_io/caf/io/network/stream_impl.hpp