Wizard
Software Engineering Project - Wizard
Loading...
Searching...
No Matches
sockpp::connector_tmpl< STREAM_SOCK, ADDR > Class Template Reference

#include <connector.h>

Inheritance diagram for sockpp::connector_tmpl< STREAM_SOCK, ADDR >:
sockpp::connector sockpp::stream_socket sockpp::socket

Public Types

using stream_sock_t = STREAM_SOCK
 
using addr_t = ADDR
 

Public Member Functions

 connector_tmpl ()
 
 connector_tmpl (const addr_t &addr)
 
connector_tmploperator= (connector_tmpl &&rhs)
 
addr_t address () const
 
addr_t peer_address () const
 
bool bind (const addr_t &addr)
 
bool connect (const addr_t &addr)
 
- Public Member Functions inherited from sockpp::connector
 connector ()
 
 connector (const sock_address &addr)
 
 connector (connector &&conn)
 
connectoroperator= (connector &&rhs)
 
bool is_connected () const
 
bool connect (const sock_address &addr)
 
- Public Member Functions inherited from sockpp::stream_socket
 stream_socket ()
 
 stream_socket (socket_t handle)
 
 stream_socket (stream_socket &&sock)
 
stream_socketoperator= (stream_socket &&rhs)
 
stream_socket clone () const
 
virtual ssize_t read (void *buf, size_t n)
 
virtual ssize_t read_n (void *buf, size_t n)
 
ssize_t read (const std::vector< iovec > &ranges)
 
virtual bool read_timeout (const std::chrono::microseconds &to)
 
template<class Rep , class Period >
bool read_timeout (const std::chrono::duration< Rep, Period > &to)
 
virtual ssize_t write (const void *buf, size_t n)
 
virtual ssize_t write_n (const void *buf, size_t n)
 
virtual ssize_t write (const std::string &s)
 
virtual ssize_t write (const std::vector< iovec > &ranges)
 
virtual bool write_timeout (const std::chrono::microseconds &to)
 
template<class Rep , class Period >
bool write_timeout (const std::chrono::duration< Rep, Period > &to)
 
- Public Member Functions inherited from sockpp::socket
 socket ()
 
 socket (socket_t h)
 
 socket (socket &&sock) noexcept
 
virtual ~socket ()
 
bool is_open () const
 
bool operator! () const
 
 operator bool () const
 
socket_t handle () const
 
virtual sa_family_t family () const
 
socket clone () const
 
void clear (int val=0)
 
socket_t release ()
 
void reset (socket_t h=INVALID_SOCKET)
 
socketoperator= (socket &&sock) noexcept
 
bool bind (const sock_address &addr)
 
sock_address_any address () const
 
sock_address_any peer_address () const
 
bool get_option (int level, int optname, void *optval, socklen_t *optlen) const
 
template<typename T >
bool get_option (int level, int optname, T *val) const
 
bool set_option (int level, int optname, const void *optval, socklen_t optlen)
 
template<typename T >
bool set_option (int level, int optname, const T &val)
 
bool set_non_blocking (bool on=true)
 
int last_error () const
 
std::string last_error_str () const
 
bool shutdown (int how=SHUT_RDWR)
 
bool close ()
 

Additional Inherited Members

- Static Public Member Functions inherited from sockpp::stream_socket
static stream_socket create (int domain, int protocol=0)
 
- Static Public Member Functions inherited from sockpp::socket
static void initialize ()
 
static void destroy ()
 
static socket create (int domain, int type, int protocol=0)
 
static std::tuple< socket, socketpair (int domain, int type, int protocol=0)
 
static std::string error_str (int errNum)
 
- Static Public Attributes inherited from sockpp::stream_socket
static constexpr int COMM_TYPE = SOCK_STREAM
 
- Protected Member Functions inherited from sockpp::socket
bool close_on_err ()
 
void set_last_error ()
 
template<typename T >
check_ret (T ret) const
 
template<typename T >
bool check_ret_bool (T ret) const
 
socket_t check_socket (socket_t ret) const
 
bool check_socket_bool (socket_t ret) const
 
- Static Protected Member Functions inherited from sockpp::stream_socket
static socket_t create_handle (int domain)
 
- Static Protected Member Functions inherited from sockpp::socket
static int get_last_error ()
 

Detailed Description

template<typename STREAM_SOCK, typename ADDR = typename STREAM_SOCK::addr_t>
class sockpp::connector_tmpl< STREAM_SOCK, ADDR >

Class to create a client TCP connection.

Member Typedef Documentation

◆ addr_t

template<typename STREAM_SOCK , typename ADDR = typename STREAM_SOCK::addr_t>
using sockpp::connector_tmpl< STREAM_SOCK, ADDR >::addr_t = ADDR

The type of address for the connector.

◆ stream_sock_t

template<typename STREAM_SOCK , typename ADDR = typename STREAM_SOCK::addr_t>
using sockpp::connector_tmpl< STREAM_SOCK, ADDR >::stream_sock_t = STREAM_SOCK

The type of streaming socket from the acceptor.

Constructor & Destructor Documentation

◆ connector_tmpl() [1/2]

template<typename STREAM_SOCK , typename ADDR = typename STREAM_SOCK::addr_t>
sockpp::connector_tmpl< STREAM_SOCK, ADDR >::connector_tmpl ( )
inline

Creates an unconnected connector.

◆ connector_tmpl() [2/2]

template<typename STREAM_SOCK , typename ADDR = typename STREAM_SOCK::addr_t>
sockpp::connector_tmpl< STREAM_SOCK, ADDR >::connector_tmpl ( const addr_t & addr)
inline

Creates the connector and attempts to connect to the specified address.

Parameters
addrThe remote server address.

Member Function Documentation

◆ address()

template<typename STREAM_SOCK , typename ADDR = typename STREAM_SOCK::addr_t>
addr_t sockpp::connector_tmpl< STREAM_SOCK, ADDR >::address ( ) const
inline

Gets the local address to which the socket is bound.

Returns
The local address to which the socket is bound.
Exceptions
sys_erroron error

◆ bind()

template<typename STREAM_SOCK , typename ADDR = typename STREAM_SOCK::addr_t>
bool sockpp::connector_tmpl< STREAM_SOCK, ADDR >::bind ( const addr_t & addr)
inline

Binds the socket to the specified address. This call is optional for a client connector, though it is rarely used.

Parameters
addrThe address to which we get bound.
Returns
true on _success, false on error

◆ connect()

template<typename STREAM_SOCK , typename ADDR = typename STREAM_SOCK::addr_t>
bool sockpp::connector_tmpl< STREAM_SOCK, ADDR >::connect ( const addr_t & addr)
inline

Attempts to connects to the specified server. If the socket is currently connected, this will close the current connection and open the new one.

Parameters
addrThe remote server address.
Returns
true on _success, false on error

◆ operator=()

template<typename STREAM_SOCK , typename ADDR = typename STREAM_SOCK::addr_t>
connector_tmpl & sockpp::connector_tmpl< STREAM_SOCK, ADDR >::operator= ( connector_tmpl< STREAM_SOCK, ADDR > && rhs)
inline

Move assignment.

Parameters
rhsThe other connector to move into this one.
Returns
A reference to this object.

◆ peer_address()

template<typename STREAM_SOCK , typename ADDR = typename STREAM_SOCK::addr_t>
addr_t sockpp::connector_tmpl< STREAM_SOCK, ADDR >::peer_address ( ) const
inline

Gets the address of the remote peer, if this socket is connected.

Returns
The address of the remote peer, if this socket is connected.
Exceptions
sys_erroron error

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