fd_set connection_set;
std::string unix_path;
+ void start_listening();
+
void new_connection();
bool fill_connection_buffers();
void remove_connection_socket(int sock);
protected:
- void log(log_level_values level, const std::string& message)
- { log(level,message.c_str()); }
- void log(log_level_values level, const char* message)
- { server::log(level,message); }
+ std::ostream* get_logstream(log_level_values level)
+ { return server::get_logstream(level); }
public:
socket_server(int port, const std::string& ip="0.0.0.0");
~socket_server();
- bool fill_buffer(long long usec_timeout=-1);
+ bool fill_buffer(long long usec_timeout=-1,long long* usec_timeout_remaining=NULL);
};
/** @brief Socket based connection
: server_connection(_timeout), socket_handler(_sock,_stype)
{ }
- void log(log_level_values level, const char* message);
+ ~socket_server_connection();
+
+ std::ostream* get_logstream(log_level_values level)
+ { return server_connection::get_logstream(level); }
void real_write(const std::string& data)
{ socket_write(data); }
public:
- bool fill_buffer(long long usec_timeout=-1)
- { return socket_handler::fill_buffer(buffer,usec_timeout); }
+ bool fill_buffer(long long usec_timeout=-1,long long* usec_timeout_remaining=NULL)
+ { return socket_handler::fill_buffer(buffer,usec_timeout,usec_timeout_remaining); }
- void close();
+ virtual void close();
};
}