Wire Sysio Wire Sysion 1.0.0
Loading...
Searching...
No Matches
websocketpp::client< config > Class Template Reference

Client endpoint role based on the given config. More...

#include <client_endpoint.hpp>

Inheritance diagram for websocketpp::client< config >:
Collaboration diagram for websocketpp::client< config >:

Public Types

typedef client< configtype
 Type of this endpoint.
 
typedef config::concurrency_type concurrency_type
 Type of the endpoint concurrency component.
 
typedef config::transport_type transport_type
 Type of the endpoint transport component.
 
typedef connection< configconnection_type
 Type of the connections this server will create.
 
typedef connection_type::ptr connection_ptr
 Type of a shared pointer to the connections this server will create.
 
typedef transport_type::transport_con_type transport_con_type
 Type of the connection transport component.
 
typedef transport_con_type::ptr transport_con_ptr
 Type of a shared pointer to the connection transport component.
 
typedef endpoint< connection_type, configendpoint_type
 Type of the endpoint component of this server.
 
- Public Types inherited from websocketpp::endpoint< connection< config >, config >
typedef endpoint< connection, configtype
 
typedef config::transport_type transport_type
 Type of the transport component of this endpoint.
 
typedef config::concurrency_type concurrency_type
 Type of the concurrency component of this endpoint.
 
typedef connection connection_type
 Type of the connections that this endpoint creates.
 
typedef connection_type::ptr connection_ptr
 Shared pointer to connection_type.
 
typedef connection_type::weak_ptr connection_weak_ptr
 Weak pointer to connection type.
 
typedef transport_type::transport_con_type transport_con_type
 
typedef transport_con_type::ptr transport_con_ptr
 
typedef connection_type::message_handler message_handler
 Type of message_handler.
 
typedef connection_type::message_ptr message_ptr
 Type of message pointers that this endpoint uses.
 
typedef config::elog_type elog_type
 Type of error logger.
 
typedef config::alog_type alog_type
 Type of access logger.
 
typedef concurrency_type::scoped_lock_type scoped_lock_type
 Type of our concurrency policy's scoped lock object.
 
typedef concurrency_type::mutex_type mutex_type
 Type of our concurrency policy's mutex object.
 
typedef config::rng_type rng_type
 Type of RNG.
 
typedef connection_type::termination_handler termination_handler
 

Public Member Functions

 client ()
 
connection_ptr get_connection (uri_ptr location, lib::error_code &ec)
 Get a new connection.
 
connection_ptr get_connection (std::string const &u, lib::error_code &ec)
 Get a new connection (string version)
 
connection_ptr connect (connection_ptr con)
 Begin the connection process for the given connection.
 
- Public Member Functions inherited from websocketpp::endpoint< connection< config >, config >
 endpoint (bool p_is_server)
 
 ~endpoint ()
 Destructor.
 
std::string get_user_agent () const
 Returns the user agent string that this endpoint will use.
 
void set_user_agent (std::string const &ua)
 Sets the user agent string that this endpoint will use.
 
bool is_server () const
 Returns whether or not this endpoint is a server.
 
void set_access_channels (log::level channels)
 Set Access logging channel.
 
void clear_access_channels (log::level channels)
 Clear Access logging channels.
 
void set_error_channels (log::level channels)
 Set Error logging channel.
 
void clear_error_channels (log::level channels)
 Clear Error logging channels.
 
alog_typeget_alog ()
 Get reference to access logger.
 
elog_typeget_elog ()
 Get reference to error logger.
 
void set_open_handler (open_handler h)
 
void set_close_handler (close_handler h)
 
void set_fail_handler (fail_handler h)
 
void set_ping_handler (ping_handler h)
 
void set_pong_handler (pong_handler h)
 
void set_pong_timeout_handler (pong_timeout_handler h)
 
void set_interrupt_handler (interrupt_handler h)
 
void set_http_handler (http_handler h)
 
void set_validate_handler (validate_handler h)
 
void set_message_handler (message_handler h)
 
void set_open_handshake_timeout (long dur)
 Set open handshake timeout.
 
void set_close_handshake_timeout (long dur)
 Set close handshake timeout.
 
void set_pong_timeout (long dur)
 Set pong timeout.
 
size_t get_max_message_size () const
 Get default maximum message size.
 
void set_max_message_size (size_t new_value)
 Set default maximum message size.
 
size_t get_max_http_body_size () const
 Get maximum HTTP message body size.
 
void set_max_http_body_size (size_t new_value)
 Set maximum HTTP message body size.
 
void interrupt (connection_hdl hdl, lib::error_code &ec)
 
void interrupt (connection_hdl hdl)
 
void pause_reading (connection_hdl hdl, lib::error_code &ec)
 Pause reading of new data (exception free)
 
void pause_reading (connection_hdl hdl)
 Pause reading of new data.
 
void resume_reading (connection_hdl hdl, lib::error_code &ec)
 Resume reading of new data (exception free)
 
void resume_reading (connection_hdl hdl)
 Resume reading of new data.
 
void send_http_response (connection_hdl hdl, lib::error_code &ec)
 Send deferred HTTP Response.
 
void send_http_response (connection_hdl hdl)
 Send deferred HTTP Response (exception free)
 
void send (connection_hdl hdl, std::string const &payload, frame::opcode::value op, lib::error_code &ec)
 Create a message and add it to the outgoing send queue (exception free)
 
void send (connection_hdl hdl, std::string const &payload, frame::opcode::value op)
 Create a message and add it to the outgoing send queue.
 
void send (connection_hdl hdl, void const *payload, size_t len, frame::opcode::value op, lib::error_code &ec)
 
void send (connection_hdl hdl, void const *payload, size_t len, frame::opcode::value op)
 
void send (connection_hdl hdl, message_ptr msg, lib::error_code &ec)
 
void send (connection_hdl hdl, message_ptr msg)
 
void close (connection_hdl hdl, close::status::value const code, std::string const &reason, lib::error_code &ec)
 
void close (connection_hdl hdl, close::status::value const code, std::string const &reason)
 
void ping (connection_hdl hdl, std::string const &payload, lib::error_code &ec)
 Send a ping to a specific connection.
 
void ping (connection_hdl hdl, std::string const &payload)
 Send a ping to a specific connection.
 
void pong (connection_hdl hdl, std::string const &payload, lib::error_code &ec)
 Send a pong to a specific connection.
 
void pong (connection_hdl hdl, std::string const &payload)
 Send a pong to a specific connection.
 
connection_ptr get_con_from_hdl (connection_hdl hdl, lib::error_code &ec)
 Retrieves a connection_ptr from a connection_hdl (exception free)
 
connection_ptr get_con_from_hdl (connection_hdl hdl)
 Retrieves a connection_ptr from a connection_hdl (exception version)
 

Friends

class connection< config >
 

Additional Inherited Members

- Protected Member Functions inherited from websocketpp::endpoint< connection< config >, config >
connection_ptr create_connection ()
 
- Protected Attributes inherited from websocketpp::endpoint< connection< config >, config >
alog_type m_alog
 
elog_type m_elog
 

Detailed Description

template<typename config>
class websocketpp::client< config >

Definition at line 47 of file client_endpoint.hpp.

Member Typedef Documentation

◆ concurrency_type

template<typename config >
config::concurrency_type websocketpp::client< config >::concurrency_type

Definition at line 53 of file client_endpoint.hpp.

◆ connection_ptr

◆ connection_type

template<typename config >
connection<config> websocketpp::client< config >::connection_type

Definition at line 58 of file client_endpoint.hpp.

◆ endpoint_type

template<typename config >
endpoint<connection_type,config> websocketpp::client< config >::endpoint_type

Definition at line 68 of file client_endpoint.hpp.

◆ transport_con_ptr

template<typename config >
transport_con_type::ptr websocketpp::client< config >::transport_con_ptr

Definition at line 65 of file client_endpoint.hpp.

◆ transport_con_type

template<typename config >
transport_type::transport_con_type websocketpp::client< config >::transport_con_type

Definition at line 63 of file client_endpoint.hpp.

◆ transport_type

template<typename config >
config::transport_type websocketpp::client< config >::transport_type

Definition at line 55 of file client_endpoint.hpp.

◆ type

template<typename config >
client<config> websocketpp::client< config >::type

Definition at line 50 of file client_endpoint.hpp.

Constructor & Destructor Documentation

◆ client()

template<typename config >
websocketpp::client< config >::client ( )
inlineexplicit

Definition at line 72 of file client_endpoint.hpp.

72 : endpoint_type(false)
73 {
74 endpoint_type::m_alog.write(log::alevel::devel, "client constructor");
75 }
endpoint< connection_type, config > endpoint_type
Type of the endpoint component of this server.
static level const devel
Development messages (warning: very chatty)
Definition levels.hpp:141

Member Function Documentation

◆ connect()

template<typename config >
connection_ptr websocketpp::client< config >::connect ( connection_ptr con)
inline

Initiates the opening connection handshake for connection con. Exact behavior depends on the underlying transport policy.

Parameters
conThe connection to connect
Returns
The pointer to the connection originally passed in.

Definition at line 139 of file client_endpoint.hpp.

139 {
140 // Ask transport to perform a connection
141 transport_type::async_connect(
142 lib::static_pointer_cast<transport_con_type>(con),
143 con->get_uri(),
144 lib::bind(
145 &type::handle_connect,
146 this,
147 con,
148 lib::placeholders::_1
149 )
150 );
151
152 return con;
153 }
Here is the caller graph for this function:

◆ get_connection() [1/2]

template<typename config >
connection_ptr websocketpp::client< config >::get_connection ( std::string const & u,
lib::error_code & ec )
inline

Creates and returns a pointer to a new connection to the given URI suitable for passing to connect(connection_ptr). This overload allows default construction of the uri_ptr from a standard string.

Parameters
[in]uURI to open the connection to as a string
[out]ecAn status code indicating failure reasons, if any
Returns
A connection_ptr to the new connection

Definition at line 119 of file client_endpoint.hpp.

119 {
120 uri_ptr location = lib::make_shared<uri>(u);
121
122 if (!location->get_valid()) {
124 return connection_ptr();
125 }
126
127 return get_connection(location, ec);
128 }
connection_ptr get_connection(uri_ptr location, lib::error_code &ec)
Get a new connection.
connection_type::ptr connection_ptr
Type of a shared pointer to the connections this server will create.
@ invalid_uri
An invalid uri was supplied.
Definition error.hpp:65
lib::error_code make_error_code(error::value e)
Definition error.hpp:235
lib::shared_ptr< uri > uri_ptr
Pointer to a URI.
Definition uri.hpp:351
Here is the call graph for this function:

◆ get_connection() [2/2]

template<typename config >
connection_ptr websocketpp::client< config >::get_connection ( uri_ptr location,
lib::error_code & ec )
inline

Creates and returns a pointer to a new connection to the given URI suitable for passing to connect(connection_ptr). This method allows applying connection specific settings before performing the opening handshake.

Parameters
[in]locationURI to open the connection to as a uri_ptr
[out]ecAn status code indicating failure reasons, if any
Returns
A connection_ptr to the new connection

Definition at line 89 of file client_endpoint.hpp.

89 {
90 if (location->get_secure() && !transport_type::is_secure()) {
92 return connection_ptr();
93 }
94
96
97 if (!con) {
99 return con;
100 }
101
102 con->set_uri(location);
103
104 ec = lib::error_code();
105 return con;
106 }
connection_ptr create_connection()
client::connection_ptr connection_ptr
@ con_creation_failed
Connection creation attempted failed.
Definition error.hpp:99
@ endpoint_not_secure
Attempted to open a secure connection with an insecure endpoint.
Definition error.hpp:57
Here is the call graph for this function:
Here is the caller graph for this function:

Friends And Related Symbol Documentation

◆ connection< config >

template<typename config >
friend class connection< config >
friend

Definition at line 68 of file client_endpoint.hpp.


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