14#ifndef SOCKS5BYTESTREAMSERVER_H__
15#define SOCKS5BYTESTREAMSERVER_H__
18#include "connectionhandler.h"
19#include "connectiontcpserver.h"
39 friend class SOCKS5BytestreamManager;
99 virtual void handleReceivedData(
const ConnectionBase* connection,
const std::string& data );
109 void registerHash(
const std::string& hash );
110 void removeHash(
const std::string& hash );
113 enum NegotiationState
117 StateAuthmethodAccepted,
119 StateDestinationAccepted,
123 struct ConnectionInfo
125 NegotiationState state;
129 typedef std::map<ConnectionBase*, ConnectionInfo> ConnectionMap;
130 ConnectionMap m_connections;
132 typedef std::list<const ConnectionBase*> ConnectionList;
133 ConnectionList m_oldConnections;
135 typedef std::list<std::string> HashMap;
138 ConnectionTCPServer* m_tcpServer;
141 const LogSink& m_logInstance;
An abstract base class for a connection.
This is an abstract base class to receive events from a ConnectionBase-derived object.
This is an abstract base class to receive incoming connection attempts. Do not confuse this with Conn...
An implementation of log sink and source.
A server listening for SOCKS5 bytestreams.
const std::string localInterface() const
ConnectionError recv(int timeout)
SOCKS5BytestreamServer(const LogSink &logInstance, int port, const std::string &ip=EmptyString)
The namespace for the gloox library.
const std::string EmptyString