SOCKS5BytestreamServer Class Reference

`#include <socks5bytestreamserver.h>`

Inheritance diagram for SOCKS5BytestreamServer:
[legend]

## Public Member Functions

| SOCKS5BytestreamServer (const LogSink &logInstance, int port, const std::string &ip=EmptyString)
| ~SOCKS5BytestreamServer ()
ConnectionError | listen ()
ConnectionError | recv (int timeout)
void | stop ()
int | localPort () const
const std::string | localInterface () const
int | serverSocket () const
virtual void | handleIncomingConnection (ConnectionBase *server, 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)
Public Member Functions inherited from ConnectionHandler
virtual | ~ConnectionHandler ()
Public Member Functions inherited from ConnectionDataHandler
virtual | ~ConnectionDataHandler ()

## 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 Schröter js@ca.nosp@m.maya.nosp@m..net

Since
  0.9

Definition at line 36 of file socks5bytestreamserver.h.

## Constructor & Destructor Documentation

## SOCKS5BytestreamServer()

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

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()

~SOCKS5BytestreamServer | ( |  | ) |

Destructor.

Definition at line 28 of file socks5bytestreamserver.cpp.

## Member Function Documentation

## handleConnect()

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 233 of file socks5bytestreamserver.cpp.

## handleDisconnect()

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 238 of file socks5bytestreamserver.cpp.

## handleIncomingConnection()

void handleIncomingConnection | ( | ConnectionBase * | server,
|  | ConnectionBase * | connection )

virtual

This function is called to receive an incoming connection.

Parameters

  server | The server that the connection was made to.
  connection | The incoming connection.

Implements ConnectionHandler.

Definition at line 139 of file socks5bytestreamserver.cpp.

## handleReceivedData()

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 150 of file socks5bytestreamserver.cpp.

## listen()

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 43 of file socks5bytestreamserver.cpp.

## localInterface()

const std::string localInterface | ( |  | ) | const

Expose our TCP Connection localInterface Returns the locally bound IP address.

Returns
  The locally bound IP address.

Definition at line 100 of file socks5bytestreamserver.cpp.

## localPort()

int localPort | ( |  | ) | const

Expose our TCP Connection localPort Returns the local port.

Returns
  The local port.

Definition at line 92 of file socks5bytestreamserver.cpp.

## recv()

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 51 of file socks5bytestreamserver.cpp.

## serverSocket()

int serverSocket | ( |  | ) | const

inline

Exposes the local socket.

Returns
  The local socket.

Definition at line 93 of file socks5bytestreamserver.h.

## stop()

void stop | ( |  | ) |

Stops listening and unbinds from the interface and port.

Definition at line 83 of file socks5bytestreamserver.cpp.

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

- socks5bytestreamserver.h
- socks5bytestreamserver.cpp