/// 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.
/// Socket a usar en la conexión.
iosockinet socket;
+ /// Host.
+ std::string host;
+
+ /// Puerto.
+ Port port;
+
/// Mutex para el socket.
//Glib::Mutex socket_mutex;
/**
* 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(const sockbuf::type& type, const std::string& host,
+ const Port& port);
+
+ /**
+ * Constructor.
+ *
+ * \param host Host a donde conectarse.
+ * \param port Puerto al cual conectarse.
*/
- Connection(sockbuf::type type);
+ Connection(const std::string& host, const Port& port);
/**
* Finaliza la conexión.
/**
* Obtiene el nombre del host local de la conexión.
+ * \todo TODO - Debería devolver una copia? Porque podría morir la
+ * conexion y nosotros seguir usando la variable destruida.
*/
- std::string get_peerhost(void);
+ const std::string& get_host(void) const;
/**
* Obtiene el puerto local de la conexión.
+ * \todo TODO - Debería devolver una copia? Porque podría morir la
+ * conexion y nosotros seguir usando la variable destruida.
*/
- unsigned get_peerport(void);
+ const Port& get_port(void) const;
};