libcaf  0.15.3
Public Types | Public Member Functions | List of all members
caf::io::network::acceptor Class Reference

An acceptor is responsible for accepting incoming connections. More...

#include <default_multiplexer.hpp>

Inheritance diagram for caf::io::network::acceptor:
caf::io::network::event_handler

Public Types

using manager_type = acceptor_manager
 A manager providing the accept member function.
 
using manager_ptr = intrusive_ptr< manager_type >
 A smart pointer to an acceptor manager.
 

Public Member Functions

 acceptor (default_multiplexer &backend_ref, native_socket sockfd)
 
native_socket & accepted_socket ()
 Returns the accepted socket. More...
 
void start (acceptor_manager *mgr)
 Starts this acceptor, forwarding all incoming connections to manager. More...
 
void activate (acceptor_manager *mgr)
 Activates the acceptor.
 
void stop_reading ()
 Closes the network connection and removes this handler from its parent.
 
void handle_event (operation op) override
 Returns true once the requested operation is done, i.e., to signalize the multiplexer to remove this handler. 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...
 
- 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 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

- 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 ()
 
- Protected Attributes inherited from caf::io::network::event_handler
int eventbf_
 
native_socket fd_
 
bool read_channel_closed_
 
default_multiplexer & backend_
 

Detailed Description

An acceptor is responsible for accepting incoming connections.

Member Function Documentation

native_socket& caf::io::network::acceptor::accepted_socket ( )

Returns the accepted socket.

This member function should be called only from the new_connection callback.

void caf::io::network::acceptor::handle_event ( operation  op)
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.

void caf::io::network::acceptor::removed_from_loop ( operation  op)
overridevirtual

Callback to signalize that this handler has been removed from the event loop for operations of type op.

Implements caf::io::network::event_handler.

void caf::io::network::acceptor::start ( acceptor_manager mgr)

Starts this acceptor, forwarding all incoming connections to manager.

The intrusive pointer will be released after the acceptor has been closed or an IO error occured.


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