28 #ifndef WEBSOCKETPP_ENDPOINT_IMPL_HPP 29 #define WEBSOCKETPP_ENDPOINT_IMPL_HPP 35 template <
typename connection,
typename config>
47 connection_ptr con = lib::make_shared<connection_type>(m_is_server,
48 m_user_agent, m_alog, m_elog, m_rng);
59 con->set_open_handler(m_open_handler);
60 con->set_close_handler(m_close_handler);
61 con->set_fail_handler(m_fail_handler);
62 con->set_ping_handler(m_ping_handler);
63 con->set_pong_handler(m_pong_handler);
64 con->set_pong_timeout_handler(m_pong_timeout_handler);
65 con->set_interrupt_handler(m_interrupt_handler);
66 con->set_http_handler(m_http_handler);
67 con->set_validate_handler(m_validate_handler);
68 con->set_message_handler(m_message_handler);
71 con->set_open_handshake_timeout(m_open_handshake_timeout_dur);
74 con->set_close_handshake_timeout(m_close_handshake_timeout_dur);
77 con->set_pong_timeout(m_pong_timeout_dur);
80 con->set_max_message_size(m_max_message_size);
82 con->set_max_http_body_size(m_max_http_body_size);
95 template <
typename connection,
typename config>
103 ec = con->interrupt();
106 template <
typename connection,
typename config>
113 template <
typename connection,
typename config>
119 ec = con->pause_reading();
122 template <
typename connection,
typename config>
125 pause_reading(hdl,ec);
129 template <
typename connection,
typename config>
135 ec = con->resume_reading();
138 template <
typename connection,
typename config>
141 resume_reading(hdl,ec);
145 template <
typename connection,
typename config>
147 lib::error_code & ec)
151 con->send_http_response(ec);
154 template <
typename connection,
typename config>
157 send_http_response(hdl,ec);
161 template <
typename connection,
typename config>
168 ec = con->send(payload,op);
171 template <
typename connection,
typename config>
176 send(hdl,payload,op,ec);
180 template <
typename connection,
typename config>
186 ec = con->send(payload,len,op);
189 template <
typename connection,
typename config>
194 send(hdl,payload,len,op,ec);
198 template <
typename connection,
typename config>
200 lib::error_code & ec)
207 template <
typename connection,
typename config>
214 template <
typename connection,
typename config>
216 const code, std::string
const & reason,
217 lib::error_code & ec)
221 con->close(code,reason,ec);
224 template <
typename connection,
typename config>
226 const code, std::string
const & reason)
229 close(hdl,code,reason,ec);
233 template <
typename connection,
typename config>
235 payload, lib::error_code & ec)
239 con->ping(payload,ec);
242 template <
typename connection,
typename config>
246 ping(hdl,payload,ec);
250 template <
typename connection,
typename config>
252 lib::error_code & ec)
256 con->pong(payload,ec);
259 template <
typename connection,
typename config>
263 pong(hdl,payload,ec);
269 #endif // WEBSOCKETPP_ENDPOINT_IMPL_HPP void send_http_response(connection_hdl hdl, lib::error_code &ec)
Send deferred HTTP Response.
static const long timeout_open_handshake
Length of time before an opening handshake is aborted.
static level const fatal
Unrecoverable error.
uint16_t value
The type of a close code value.
void ping(connection_hdl hdl, std::string const &payload, lib::error_code &ec)
Send a ping to a specific connection.
static const long timeout_pong
Length of time to wait for a pong after a ping.
connection_type::message_ptr message_ptr
Type of message pointers that this endpoint uses.
void interrupt(connection_hdl hdl, lib::error_code &ec)
These functions act as adaptors to their counterparts in connection.
lib::weak_ptr< void > connection_hdl
A handle to uniquely identify a connection.
void pause_reading(connection_hdl hdl, lib::error_code &ec)
Pause reading of new data (exception free)
static level const devel
Development messages (warning: very chatty)
void resume_reading(connection_hdl hdl, lib::error_code &ec)
Resume reading of new data (exception free)
connection_type::ptr connection_ptr
Shared pointer to connection_type.
void pong(connection_hdl hdl, std::string const &payload, lib::error_code &ec)
Send a pong to a specific connection.
Namespace for the WebSocket++ project.
void close(T *e, websocketpp::connection_hdl hdl)
connection_type::weak_ptr connection_weak_ptr
Weak pointer to connection type.
client::connection_ptr connection_ptr
void close(connection_hdl hdl, close::status::value const code, std::string const &reason, lib::error_code &ec)
static const long timeout_close_handshake
Length of time before a closing handshake is aborted.
static const size_t max_message_size
Default maximum message size.
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)
connection_ptr create_connection()