OpenCBDC Transaction Processor
Loading...
Searching...
No Matches
cbdc::network::tcp_listener Class Reference

Listens for incoming TCP connections on a given endpoint. More...

#include <tcp_listener.hpp>

Inheritance diagram for cbdc::network::tcp_listener:
Collaboration diagram for cbdc::network::tcp_listener:

Public Member Functions

 tcp_listener ()=default
 Constructs a new tcp_listener.
 
 ~tcp_listener () override
 
 tcp_listener (const tcp_listener &)=delete
 
auto operator= (const tcp_listener &) -> tcp_listener &=delete
 
 tcp_listener (tcp_listener &&)=delete
 
auto operator= (tcp_listener &&) -> tcp_listener &=delete
 
auto listen (const ip_address &local_address, port_number_t local_port) -> bool
 Starts the listener on the given local port and address.
 
auto accept (tcp_socket &sock) -> bool
 Blocks until an incoming connection is ready and populates the given socket.
 
void close ()
 Stops the listener and unblocks any blocking calls associated with this listener.
 
- Public Member Functions inherited from cbdc::network::socket
 socket (const socket &)=delete
 
auto operator= (const socket &) -> socket &=delete
 
 socket (socket &&)=delete
 
auto operator= (socket &&) -> socket &=delete
 
virtual ~socket ()=default
 

Detailed Description

Listens for incoming TCP connections on a given endpoint.

Definition at line 13 of file tcp_listener.hpp.

Constructor & Destructor Documentation

◆ tcp_listener() [1/3]

cbdc::network::tcp_listener::tcp_listener ( )
default

Constructs a new tcp_listener.

◆ ~tcp_listener()

cbdc::network::tcp_listener::~tcp_listener ( )
override

Definition at line 63 of file tcp_listener.cpp.

References close().

Here is the call graph for this function:

◆ tcp_listener() [2/3]

cbdc::network::tcp_listener::tcp_listener ( const tcp_listener & )
delete

◆ tcp_listener() [3/3]

cbdc::network::tcp_listener::tcp_listener ( tcp_listener && )
delete

Member Function Documentation

◆ accept()

auto cbdc::network::tcp_listener::accept ( tcp_socket & sock) -> bool

Blocks until an incoming connection is ready and populates the given socket.

Parameters
sockthe socket to attach to the incoming connection
Returns
true if the listener successfully accepted a connection.

Definition at line 48 of file tcp_listener.cpp.

◆ close()

void cbdc::network::tcp_listener::close ( )

Stops the listener and unblocks any blocking calls associated with this listener.

Definition at line 55 of file tcp_listener.cpp.

References close().

Referenced by cbdc::network::connection_manager::close(), close(), and ~tcp_listener().

Here is the call graph for this function:

◆ listen()

auto cbdc::network::tcp_listener::listen ( const ip_address & local_address,
port_number_t local_port ) -> bool

Starts the listener on the given local port and address.

Parameters
local_addressthe address of the interface to listen on
local_portthe port number to listen on
Returns
true if the listener started listening successfully.

Definition at line 11 of file tcp_listener.cpp.

◆ operator=() [1/2]

auto cbdc::network::tcp_listener::operator= ( const tcp_listener & ) -> tcp_listener &=delete
delete

◆ operator=() [2/2]

auto cbdc::network::tcp_listener::operator= ( tcp_listener && ) -> tcp_listener &=delete
delete

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