28 #ifndef WEBSOCKETPP_TRANSPORT_IOSTREAM_HPP 29 #define WEBSOCKETPP_TRANSPORT_IOSTREAM_HPP 45 template <
typename config>
51 typedef lib::shared_ptr<type>
ptr;
68 explicit endpoint() : m_output_stream(NULL), m_is_secure(false)
155 m_shutdown_handler = h;
171 void init_logging(lib::shared_ptr<alog_type> a, lib::shared_ptr<elog_type> e) {
184 cb(lib::error_code());
197 lib::error_code
init(transport_con_ptr tcon) {
198 tcon->register_ostream(m_output_stream);
199 if (m_shutdown_handler) {
200 tcon->set_shutdown_handler(m_shutdown_handler);
202 if (m_write_handler) {
203 tcon->set_write_handler(m_write_handler);
205 return lib::error_code();
208 std::ostream * m_output_stream;
212 lib::shared_ptr<elog_type> m_elog;
213 lib::shared_ptr<alog_type> m_alog;
222 #endif // WEBSOCKETPP_TRANSPORT_IOSTREAM_HPP void set_shutdown_handler(shutdown_handler h)
Sets the shutdown handler.
transport_con_type::ptr transport_con_ptr
Type of a shared pointer to this endpoint transport component's associated connection transport compo...
config::alog_type alog_type
Type of this endpoint's access logging policy.
void register_ostream(std::ostream *o)
Register a default output stream.
void init_logging(lib::shared_ptr< alog_type > a, lib::shared_ptr< elog_type > e)
Initialize logging.
config::concurrency_type concurrency_type
Type of this endpoint's concurrency policy.
static level const devel
Development messages (warning: very chatty)
iostream::connection< config > transport_con_type
Type of this endpoint transport component's associated connection transport component.
endpoint type
Type of this endpoint transport component.
void async_connect(transport_con_ptr, uri_ptr, connect_handler cb)
Initiate a new connection.
lib::function< lib::error_code(connection_hdl)> shutdown_handler
The type and signature of the callback used by iostream transport to signal a transport shutdown...
bool is_secure() const
Tests whether or not the underlying transport is secure.
void set_secure(bool value)
Set whether or not endpoint can create secure connections.
Namespace for the WebSocket++ project.
lib::shared_ptr< type > ptr
Type of a pointer to this endpoint transport component.
Stub concurrency policy that implements the interface using no-ops.
lib::shared_ptr< uri > uri_ptr
Pointer to a URI.
lib::error_code init(transport_con_ptr tcon)
Initialize a connection.
void set_write_handler(write_handler h)
Sets the write handler.
Stub logger that ignores all input.
lib::function< lib::error_code(connection_hdl, char const *, size_t)> write_handler
The type and signature of the callback used by iostream transport to write.
lib::shared_ptr< type > ptr
Type of a shared pointer to this connection transport component.
lib::function< void(lib::error_code const &)> connect_handler
The type and signature of the callback passed to the connect method.
config::elog_type elog_type
Type of this endpoint's error logging policy.