SOCKS5BytestreamServer Class Reference

A server listening for SOCKS5 bytestreams. More...

#include <socks5bytestreamserver.h>

Inheritance diagram for SOCKS5BytestreamServer:

Inheritance graph
[legend]
Collaboration diagram for SOCKS5BytestreamServer:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 SOCKS5BytestreamServer (const LogSink &logInstance, int port, const std::string &ip="")
 ~SOCKS5BytestreamServer ()
ConnectionError listen ()
ConnectionError recv (int timeout)
void stop ()
virtual void handleIncomingConnection (ConnectionBase *connection)
virtual void handleReceivedData (const ConnectionBase *connection, const std::string &data)
virtual void handleConnect (const ConnectionBase *connection)
virtual void handleDisconnect (const ConnectionBase *connection, ConnectionError reason)


Detailed Description

A server listening for SOCKS5 bytestreams.

Note:
You can use a single SOCKS5BytestreamServer instance with multiple Client objects.

It is safe to put a SOCKS5BytestreamServer instance into a separate thread.

Author:
Jakob Schroeter <js@camaya.net>
Since:
0.9

Definition at line 37 of file socks5bytestreamserver.h.


Constructor & Destructor Documentation

SOCKS5BytestreamServer ( const LogSink logInstance,
int  port,
const std::string &  ip = "" 
)

Constructs a new SOCKS5BytestreamServer.

Parameters:
logInstance A LogSink to use.
port The local port to listen on.
ip The local IP to bind to. If empty, the server will listen on all local interfaces.

Definition at line 21 of file socks5bytestreamserver.cpp.

~SOCKS5BytestreamServer (  ) 

Destructor.

Definition at line 28 of file socks5bytestreamserver.cpp.


Member Function Documentation

ConnectionError listen (  ) 

Starts listening on the specified interface and port.

Returns:
Returns ConnNoError on success, ConnIoError on failure (e.g. if the port is already in use).

Definition at line 38 of file socks5bytestreamserver.cpp.

ConnectionError recv ( int  timeout  ) 

Call this function repeatedly to check for incoming connections and to negotiate them.

Parameters:
timeout The timeout to use for select in microseconds.
Returns:
The state of the listening socket.

Definition at line 46 of file socks5bytestreamserver.cpp.

void stop (  ) 

Stops listening and unbinds from the interface and port.

Definition at line 75 of file socks5bytestreamserver.cpp.

void handleIncomingConnection ( ConnectionBase connection  )  [virtual]

This function is called to receive an incoming connection.

Parameters:
connection The incoming connection.

Implements ConnectionHandler.

Definition at line 115 of file socks5bytestreamserver.cpp.

void handleReceivedData ( const ConnectionBase connection,
const std::string &  data 
) [virtual]

This function is called for received from the underlying transport.

Parameters:
connection The connection that received the data.
data The data received.

Implements ConnectionDataHandler.

Definition at line 123 of file socks5bytestreamserver.cpp.

void handleConnect ( const ConnectionBase connection  )  [virtual]

This function is called when e.g. the raw TCP connection was established.

Parameters:
connection The connection.

Implements ConnectionDataHandler.

Definition at line 199 of file socks5bytestreamserver.cpp.

void handleDisconnect ( const ConnectionBase connection,
ConnectionError  reason 
) [virtual]

This connection is called when e.g. the raw TCP connection was closed.

Parameters:
connection The connection.
reason The reason for the disconnect.

Implements ConnectionDataHandler.

Definition at line 204 of file socks5bytestreamserver.cpp.


The documentation for this class was generated from the following files:
Generated on Sat Nov 10 08:50:44 2007 for gloox by  doxygen 1.5.3-20071008