28 #ifndef WEBSOCKETPP_TRANSPORT_DEBUG_CON_HPP    29 #define WEBSOCKETPP_TRANSPORT_DEBUG_CON_HPP    55 template <
typename config>
    56 class connection : 
public lib::enable_shared_from_this< connection<config> > {
    61     typedef lib::shared_ptr<type> 
ptr;
    76     explicit connection(
bool is_server, alog_type & alog, elog_type & elog)
    77       : m_reading(false), m_is_server(is_server), m_alog(alog), m_elog(elog)
    84         return type::shared_from_this();
   147         return "unknown (debug transport)";
   170         m_timer_handler = handler;
   191         size_t total_read = 0;
   192         size_t temp_read = 0;
   195             temp_read = this->read_some_impl(buf+total_read,len-total_read);
   196             total_read += temp_read;
   197         } 
while (temp_read != 0 && total_read < len);
   208         m_write_handler(lib::error_code());
   219         handler(lib::error_code());
   250         s << 
"debug_con async_read_at_least: " << num_bytes;
   253         if (num_bytes > len) {
   258         if (m_reading == 
true) {
   263         if (num_bytes == 0 || len == 0) {
   264             handler(lib::error_code(),
size_t(0));
   270         m_bytes_needed = num_bytes;
   271         m_read_handler = handler;
   290         m_write_handler = handler;
   306         m_write_handler = handler;
   328         return lib::error_code();
   336         handler(lib::error_code());
   347         size_t bytes_to_copy = (std::min)(len,m_len-m_cursor);
   349         std::copy(buf,buf+bytes_to_copy,m_buf+m_cursor);
   351         m_cursor += bytes_to_copy;
   353         if (m_cursor >= m_bytes_needed) {
   354             complete_read(lib::error_code());
   357         return bytes_to_copy;
   382         handler(ec,m_cursor);
   390     size_t          m_bytes_needed;
   400     bool const      m_is_server;
   404     std::string     m_remote_endpoint;
   412 #endif // WEBSOCKETPP_TRANSPORT_DEBUG_CON_HPP ptr get_shared()
Get a shared pointer to this component. 
 
config::concurrency_type concurrency_type
transport concurrency policy 
 
lib::shared_ptr< type > ptr
Type of a shared pointer to this connection transport component. 
 
void set_remote_endpoint(std::string)
Set human readable remote endpoint address. 
 
void set_handle(connection_hdl)
Set Connection Handle. 
 
std::string get_remote_endpoint() const 
Get human readable remote endpoint address. 
 
void async_read_at_least(size_t num_bytes, char *buf, size_t len, read_handler handler)
Initiate an async_read for at least num_bytes bytes into buf. 
 
size_t read_some_impl(char const *buf, size_t len)
 
lib::function< void(lib::error_code const &)> write_handler
The type and signature of the callback passed to the write method. 
 
static level const devel
Low level debugging information (warning: very chatty) 
 
lib::weak_ptr< void > connection_hdl
A handle to uniquely identify a connection. 
 
void expire_timer(lib::error_code const &ec)
 
A fake lock guard implementation that does nothing. 
 
lib::function< void(lib::error_code const &, size_t)> read_handler
The type and signature of the callback passed to the read method. 
 
config::alog_type alog_type
Type of this transport's access logging policy. 
 
A fake mutex implementation that does nothing. 
 
connection_hdl get_handle() const 
Get the connection handle. 
 
concurrency_type::scoped_lock_type scoped_lock_type
 
void complete_read(lib::error_code const &ec)
Signal that a requested read is complete. 
 
static level const devel
Development messages (warning: very chatty) 
 
void async_write(char const *, size_t, write_handler handler)
Asyncronous Transport Write. 
 
timer_ptr set_timer(long, timer_handler handler)
Call back a function after a period of time. 
 
connection< config > type
Type of this connection transport component. 
 
config::elog_type elog_type
Type of this transport's error logging policy. 
 
void set_secure(bool)
Set whether or not this connection is secure. 
 
lib::function< void()> dispatch_handler
The type and signature of the callback passed to the dispatch method. 
 
void set_uri(uri_ptr)
Set uri hook. 
 
lib::function< void(lib::error_code const &)> timer_handler
The type and signature of the callback passed to the read method. 
 
void init(init_handler handler)
Initialize the connection transport. 
 
lib::function< void(lib::error_code const &)> shutdown_handler
The type and signature of the callback passed to the shutdown method. 
 
Namespace for the WebSocket++ project. 
 
lib::function< void(lib::error_code const &)> init_handler
The type and signature of the callback passed to the init hook. 
 
Empty timer class to stub out for timer functionality that stub transport doesn't support...
 
Stub concurrency policy that implements the interface using no-ops. 
 
lib::shared_ptr< uri > uri_ptr
Pointer to a URI. 
 
concurrency_type::mutex_type mutex_type
 
lib::error_code dispatch(dispatch_handler handler)
Call given handler back within the transport's event system (if present) 
 
void async_write(std::vector< buffer > const &, write_handler handler)
Asyncronous Transport Write (scatter-gather) 
 
void async_shutdown(shutdown_handler handler)
Perform cleanup on socket shutdown_handler. 
 
bool is_secure() const 
Tests whether or not the underlying transport is secure. 
 
lib::error_code make_error_code(error::value e)
 
lib::shared_ptr< timer > timer_ptr
 
Stub logger that ignores all input. 
 
size_t read_all(char const *buf, size_t len)
Manual input supply (read all) 
 
connection(bool is_server, alog_type &alog, elog_type &elog)