Logo Search packages:      
Sourcecode: gabber2 version File versions  Download package

Gabber::S5B Class Reference

#include <S5B.hh>

Inheritance diagram for Gabber::S5B:


List of all members.

Detailed Description

Implements SOCKS5 Bytestreams (JEP-0065)

Definition at line 42 of file S5B.hh.

Public Types

enum  State {
  Disconnected, Connecting, Open, Authenticated,
  Activated, Error

Public Member Functions

void addStreamHost (const std::string &jid, const std::string &zeroconf, bool proxy=false)
void addStreamHost (const std::string &jid, const std::string &host, int port, bool proxy=false)
judo::Element * buildNode ()
judo::Element * buildResultNode ()
void close ()
void need_write (bool need)
void open ()
 S5B (const std::string &sid)
void start (const std::string &jid)
void write (const char *out, int len)
void write (const std::string &buf)

Public Attributes

SigC::Signal0< void > signal_can_send_more
SigC::Signal0< void > signal_closed
SigC::Signal2< void, const
char *, int > 
SigC::Signal1< void, int > signal_data_sent
SigC::Signal1< void, const
std::string & > 
SigC::Signal1< void, State > signal_state_change

Protected Member Functions

void authenticate ()

Private Types

typedef std::list< StreamHost * > HostsList

Private Member Functions

void connect ()
void do_connect (StreamHost *host)
void listen ()
void on_connected ()
void on_data_available (const char *data, int sz)
void on_disconnected ()
void on_error (const std::string &msg)
void on_host_used_node (const judo::Element &elem)
void on_proxy_activated (const judo::Element &elem)
void on_s5b_node (const judo::Element &elem)
void process_activate_node (const judo::Element &elem)
void process_initial_node (const judo::Element &elem)
void proxy_conn_complete (const char *buf, int len)

Private Attributes

int _bytes_read
std::string _error_msg
std::string _hdr_buf
HostsList _hosts
std::string _id
std::string _our_jid
bool _resetting
std::string _sid
Stream::State _state
TCPTransmitter _tcpt
std::string _their_jid
StreamHost * _used_host
judo::XPath::Query * _xpath_query


struct  StreamHost
struct  StreamHostFinder
struct  StreamHostNodeBuilder

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

Generated by  Doxygen 1.6.0   Back to index