gloox
0.9.9.12
|
#include <socks5bytestream.h>
Public Member Functions | |
virtual | ~SOCKS5Bytestream () |
bool | isOpen () const |
bool | connect () |
void | close () |
bool | send (const std::string &data) |
ConnectionError | recv (int timeout=-1) |
const std::string & | sid () const |
const JID & | target () const |
const JID & | initiator () const |
void | setConnectionImpl (ConnectionBase *connection) |
ConnectionBase * | connectionImpl () |
void | setStreamHosts (const StreamHostList &hosts) |
void | registerSOCKS5BytestreamDataHandler (SOCKS5BytestreamDataHandler *s5bdh) |
void | removeSOCKS5BytestreamDataHandler () |
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 ConnectionDataHandler | |
virtual | ~ConnectionDataHandler () |
An implementation of a single SOCKS5 Bytestream (XEP-0065).
One instance of this class handles one bytestream.
See SOCKS5BytestreamManager for a detailed description on how to implement SOCKS5 Bytestreams in your application.
Definition at line 44 of file socks5bytestream.h.
|
virtual |
Virtual destructor.
Definition at line 38 of file socks5bytestream.cpp.
void close | ( | ) |
Closes the bytestream.
Definition at line 107 of file socks5bytestream.cpp.
bool connect | ( | ) |
This function starts the connection process. That is, it attempts to connect to each of the available StreamHosts. Once a working StreamHosts is found, the SOCKS5BytestreamManager is notified and the function returns.
Definition at line 61 of file socks5bytestream.cpp.
|
inline |
This function returns the concrete connection implementation currently in use.
Definition at line 129 of file socks5bytestream.h.
|
virtual |
This function is called when e.g. the raw TCP connection was established.
connection | The connection. |
Implements ConnectionDataHandler.
Definition at line 140 of file socks5bytestream.cpp.
|
virtual |
This connection is called when e.g. the raw TCP connection was closed.
connection | The connection. |
reason | The reason for the disconnect. |
Implements ConnectionDataHandler.
Definition at line 145 of file socks5bytestream.cpp.
|
virtual |
This function is called for received from the underlying transport.
connection | The connection that received the data. |
data | The data received. |
Implements ConnectionDataHandler.
Definition at line 117 of file socks5bytestream.cpp.
|
inline |
|
inline |
Returns whether the bytestream is open, that is, accepted by both parties.
Definition at line 58 of file socks5bytestream.h.
ConnectionError recv | ( | int | timeout = -1 | ) |
Call this function repeatedly to receive data from the socket. You should even do this if you use the bytestream to merely send data.
timeout | The timeout to use for select in microseconds. Default of -1 means blocking. |
Definition at line 92 of file socks5bytestream.cpp.
|
inline |
Use this function to register an object that will receive any notifications from the SOCKS5Bytestream instance. Only one SOCKS5BytestreamDataHandler can be registered at any one time.
s5bdh | The SOCKS5BytestreamDataHandler-derived object to receive notifications. |
Definition at line 143 of file socks5bytestream.h.
|
inline |
Removes the registered SOCKS5BytestreamDataHandler.
Definition at line 149 of file socks5bytestream.h.
bool send | ( | const std::string & | data | ) |
Use this function to send a chunk of data over an open bytestream. There is no limit for the size of the chunk (other than your machine's memory). If the stream is not open or has been closed again (by the remote entity or locally), nothing is sent and false is returned.
data | The block of data to send. |
Definition at line 84 of file socks5bytestream.cpp.
void setConnectionImpl | ( | ConnectionBase * | connection | ) |
Sets the connection to use.
connection | The connection. The bytestream will own the connection, any previously set connection gets deleted. |
Definition at line 47 of file socks5bytestream.cpp.
|
inline |
Use this function to set the available StreamHosts. Usually you should not need to use this function directly.
Definition at line 135 of file socks5bytestream.h.
|
inline |
Lets you retrieve the stream's ID.
Definition at line 101 of file socks5bytestream.h.
|
inline |