Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes

tls_tunnel::Proxy Class Reference

#include <tls_tunnel.h>

Inheritance diagram for tls_tunnel::Proxy:
tls_tunnel::ClientProxy tls_tunnel::ServerProxy

List of all members.

Public Member Functions

virtual ~Proxy ()
virtual void setup ()=0
void run ()
virtual void stop ()

Static Public Member Functions

static bool tls_tunnel_init ()
static void tls_tunnel_deinit ()

Protected Member Functions

 Proxy (const std::string &ca_file)
void on_local_read (const asio::error_code &error, std::size_t bytes_transferred, transport_ptr_t transport_ptr, session_ptr_t session_ptr, socket_ptr_t local_socket_ptr, buffer_ptr_t local_buffer_ptr, socket_ptr_t remote_socket_ptr)
void tunnel (transport_ptr_t transport_ptr, session_ptr_t session_ptr, socket_ptr_t local_socket_ptr, socket_ptr_t remote_socket_ptr)
void disconnect_ (transport_ptr_t transport_ptr, session_ptr_t session_ptr, socket_ptr_t local_socket_ptr, socket_ptr_t remote_socket_ptr)

Protected Attributes

gnutls_certificate_credentials_t x509cred
transport_ptr_t transport_ptr_

Private Member Functions

void tunnel_ (transport_ptr_t transport_ptr, session_ptr_t session_ptr, socket_ptr_t local_socket_ptr, buffer_ptr_t local_buffer_ptr, socket_ptr_t remote_socket)

Private Attributes

asio::thread * t

Constructor & Destructor Documentation

tls_tunnel::Proxy::~Proxy (  )  [virtual]

References stop(), and x509cred.

tls_tunnel::Proxy::Proxy ( const std::string &  ca_file  )  [protected]

References TLS_SETUP_ERROR, and x509cred.


Member Function Documentation

void tls_tunnel::Proxy::disconnect_ ( transport_ptr_t  transport_ptr,
session_ptr_t  session_ptr,
socket_ptr_t  local_socket_ptr,
socket_ptr_t  remote_socket_ptr 
) [protected]
void tls_tunnel::Proxy::on_local_read ( const asio::error_code &  error,
std::size_t  bytes_transferred,
transport_ptr_t  transport_ptr,
session_ptr_t  session_ptr,
socket_ptr_t  local_socket_ptr,
buffer_ptr_t  local_buffer_ptr,
socket_ptr_t  remote_socket_ptr 
) [protected]

References disconnect_(), and abicollab::service::error().

Referenced by tunnel_().

void tls_tunnel::Proxy::run (  ) 

References transport_ptr_.

Referenced by RealmConnection::connect().

virtual void tls_tunnel::Proxy::setup (  )  [pure virtual]
void tls_tunnel::Proxy::stop (  )  [virtual]

Reimplemented in tls_tunnel::ClientProxy.

References t, and transport_ptr_.

Referenced by ~Proxy().

void tls_tunnel::Proxy::tls_tunnel_deinit (  )  [static]
bool tls_tunnel::Proxy::tls_tunnel_init (  )  [static]
void tls_tunnel::Proxy::tunnel ( transport_ptr_t  transport_ptr,
session_ptr_t  session_ptr,
socket_ptr_t  local_socket_ptr,
socket_ptr_t  remote_socket_ptr 
) [protected]
void tls_tunnel::Proxy::tunnel_ ( transport_ptr_t  transport_ptr,
session_ptr_t  session_ptr,
socket_ptr_t  local_socket_ptr,
buffer_ptr_t  local_buffer_ptr,
socket_ptr_t  remote_socket 
) [private]

Member Data Documentation

asio::thread* tls_tunnel::Proxy::t [private]

Referenced by stop(), and tunnel().


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