- /** @param h Server host name or IP address in string form.
- * @param t Number of threads to use on the server.
- */
- Server (std::string h, int t)
- : _host_name (h)
- , _threads (t)
- {}
-
- /** @return server's host name or IP address in string form */
- std::string host_name () const {
- return _host_name;
- }
-
- /** @return number of threads to use on the server */
- int threads () const {
- return _threads;
- }
-
- void set_host_name (std::string n) {
- _host_name = n;
- }
-
- void set_threads (int t) {
- _threads = t;
- }
-
- std::string as_metadata () const;
-
- static Server * create_from_metadata (std::string v);
+ explicit Server (int port, int timeout = 30);
+ virtual ~Server ();
+
+ Server (Server const&) = delete;
+ Server& operator= (Server const&) = delete;
+
+ virtual void run ();
+ void stop ();
+
+protected:
+ boost::mutex _mutex;
+ bool _terminate;