1 // ANNA - Anna is Not Nothingness Anymore //
3 // (c) Copyright 2005-2015 Eduardo Ramos Testillano & Francisco Ruiz Rayo //
5 // See project site at http://redmine.teslayout.com/projects/anna-suite //
6 // See accompanying file LICENSE or copy at http://www.teslayout.com/projects/public/anna.LICENSE //
9 #ifndef anna_comm_internal_BinderSocket_hpp
10 #define anna_comm_internal_BinderSocket_hpp
12 #include <anna/comm/ClientSocket.hpp>
24 //-------------------------------------------------------------------------------
25 // Socket para conectar con un bind compartido.
26 //-------------------------------------------------------------------------------
27 class BinderSocket : public ClientSocket {
29 static const char* className() throw() { return "anna::comm::BinderSocket"; }
32 ServerSocket& a_serverSocket;
34 // socket Socket que esta intentando hacer el bind sobre una IP:puerto compartido.
35 BinderSocket(ServerSocket*);
36 void requestBind(const struct sockaddr* s, const int len) throw(RuntimeException);
37 void responseBind() throw(RuntimeException);
38 void waitBind(const Millisecond &maxDelay) throw(RuntimeException);
41 friend class ServerSocket;
42 friend class handler::BinderSocket;