X-Git-Url: https://git.llucax.com/z.facultad/75.42/plaqui.git/blobdiff_plain/43203fc1132e402ab5751167ed64196f10f5dedf..e4f66a8221e3f2156d89a7a358073863503b2564:/Server/src/connection.cpp diff --git a/Server/src/connection.cpp b/Server/src/connection.cpp index 18b5909..a8f17ea 100644 --- a/Server/src/connection.cpp +++ b/Server/src/connection.cpp @@ -31,23 +31,61 @@ # include #endif // DEBUG -PlaQui::Server::Connection::~Connection(void) { +using namespace std; + +namespace PlaQui { + +namespace Server { + +Connection::~Connection(void) { #ifdef DEBUG - std::cerr << __FILE__ << ": destructor." << std::endl; + cerr << __FILE__ << ": destructor." << endl; #endif // DEBUG } -PlaQui::Server::Connection::Connection(const sockbuf::sockdesc& sd): +Connection::Connection(const sockbuf::sockdesc& sd): socket(sd) { #ifdef DEBUG - std::cerr << __FILE__ << ": sd = " << sd.sock << std::endl; + cerr << __FILE__ << ": sd = " << sd.sock; +#endif // DEBUG + host = socket->peerhost(); + port = socket->peerport(); +#ifdef DEBUG + cerr << " | host = " << host << " | port = " << port << endl; +#endif // DEBUG +} + +Connection::Connection(const sockbuf::type& type, const std::string& host, + const Port& port): socket(type), host(host), port(port) { +#ifdef DEBUG + cerr << __FILE__ << ": type = " << type << " | host = " << host + << " | port = " << port << endl; #endif // DEBUG } -PlaQui::Server::Connection::Connection(sockbuf::type type): - socket(type) { +Connection::Connection(const std::string& host, const Port& port): + host(host), port(port) { #ifdef DEBUG - std::cerr << __FILE__ << ": type = " << type << std::endl; + cerr << __FILE__ << ": host = " << host << " | port = " << port << endl; #endif // DEBUG } +void Connection::finish(bool attach) { + //socket_mutex.lock(); + socket->shutdown(sockbuf::shut_readwrite); + //socket_mutex.unlock(); + Runnable::finish(attach); +} + +const string& Connection::get_host(void) const { + return host; +} + +const Connection::Port& Connection::get_port(void) const { + return port; +} + +} // namespace Server + +} // namespace PlaQui +