public:
command_server(server& _s);
+ // TODO: No (virtual) destructor
void handle(long long usec_timeout=-1, long long* usec_timeout_remaining=NULL);
connection::~connection()
{
// we want the connection_closed callbacks to be called before
+ // FIXME: Functios is virtual
close();
do_callbacks(connection_deleted);
{
lastErrorMsg=e.what();
LOGSTREAM(debug,"unix connect error: " << lastErrorMsg);
+ // FIXME: Calls virtual function close in constructor
close();
}
long long write_timeout;
socket_handler(int _sock, socket_type_value _socket_type);
+ // TODO: No destructor?
void set_socket_options(int sock);
EXCEPTIONSTREAM(error,t2n_server_error,"failed listening on invalid ip " << ip);
if (bind (sock, (struct sockaddr *) &sockaddr, sizeof (sockaddr)) < 0)
+ {
+ // FIXME: Calls virtual function socket_server::get_logstream() in constructor
EXCEPTIONSTREAM(error,t2n_server_error,"error binding socket: " << strerror(errno));
+ }
start_listening();
}
{
unix_path=path;
+ // TODO: Every EXCEPTIONSTREAM in here calls virtual function get_logstream()
+
/* Create the socket. */
sock = socket (PF_UNIX, SOCK_STREAM, 0);
if (sock < 0)
std::auto_ptr<socket_client_connection> c;
+ // TODO: Mark object as non-copyable as it contains an auto_ptr.
+ // This will make sure nobody every tries to put this in a STL container
+
public:
BasicSocketWrapper(int _port, const std::string& _server="127.0.0.1",
long long _connect_timeout_usec=socket_client_connection::connect_timeout_usec_default,