/// Conexión.
class Connection: public Runnable {
- // Constantes.
+ /////////////////////////////////////////////////////////////////////
+ // Tipos.
- protected:
+ public:
- /// Tamaño del buffer usado para enviar y recibir datos.
- //static const int BUFFER_SIZE = 4096;
+ /// Puerto.
+ typedef unsigned Port;
+ /////////////////////////////////////////////////////////////////////
// Atributos.
protected:
/// Socket a usar en la conexión.
iosockinet socket;
+ /// Host.
+ std::string host;
+
+ /// Puerto.
+ Port port;
+
/// Mutex para el socket.
//Glib::Mutex socket_mutex;
+ /////////////////////////////////////////////////////////////////////
// Métodos.
public:
/**
* Constructor.
*
- * \param socket Descriptor de socket a usar en la conexión.
+ * \param sd Descriptor de socket a usar en la conexión.
*/
Connection(const sockbuf::sockdesc& sd);
* Constructor.
*
* \param type Tipo de socket a usar.
+ * \param host Host a donde conectarse.
+ * \param port Puerto al cual conectarse.
*/
- Connection(sockbuf::type type);
+ Connection(const sockbuf::type& type, const std::string& host,
+ const Port& port);
/**
- * Finaliza la conexión.
+ * Constructor.
*
- * \param attach Si es true, la función no retorna hasta que no
- * finalice la tearea (no recomendable).
+ * \param host Host a donde conectarse.
+ * \param port Puerto al cual conectarse.
+ */
+ Connection(const std::string& host, const Port& port);
+
+ /**
+ * Finaliza la conexión.
*
* \note Para saber cuando la tarea fue finalizada puede utilizar
* la señal signal_finished().
*/
- virtual void finish(bool attach = false);
+ virtual void finish(void);
/**
* Obtiene el nombre del host local de la conexión.
*/
- std::string get_peerhost(void);
+ const std::string& get_host(void) const;
/**
* Obtiene el puerto local de la conexión.
*/
- unsigned get_peerport(void);
+ const Port& get_port(void) const;
};