Untested first cut.
[dcpomatic.git] / src / lib / server.cc
index a627634471e2af032a9c668c86aa88bdff550fbb..395786b67ff0cc18c05e69f3130265f602da309b 100644 (file)
@@ -72,11 +72,12 @@ Server::Server (Log* log)
 int
 Server::process (shared_ptr<asio::ip::tcp::socket> socket)
 {
-       SocketReader reader (socket);
+       DeadlineWrapper wrapper (_io_service);
+       wrapper.set_socket (socket);
        
        char buffer[128];
-       reader.read_indefinite ((uint8_t *) buffer, sizeof (buffer));
-       reader.consume (strlen (buffer) + 1);
+       wrapper.read_indefinite ((uint8_t *) buffer, sizeof (buffer), 30);
+       wrapper.consume (strlen (buffer) + 1);
        
        stringstream s (buffer);
        
@@ -123,7 +124,7 @@ Server::process (shared_ptr<asio::ip::tcp::socket> socket)
        }
        
        for (int i = 0; i < image->components(); ++i) {
-               reader.read_definite_and_consume (image->data()[i], image->line_size()[i] * image->lines(i));
+               wrapper.read_definite_and_consume (image->data()[i], image->line_size()[i] * image->lines(i), 30);
        }
        
 #ifdef DEBUG_HASH
@@ -189,10 +190,9 @@ Server::run (int num_threads)
                _worker_threads.push_back (new thread (bind (&Server::worker_thread, this)));
        }
        
-       asio::io_service io_service;
-       asio::ip::tcp::acceptor acceptor (io_service, asio::ip::tcp::endpoint (asio::ip::tcp::v4(), Config::instance()->server_port ()));
+       asio::ip::tcp::acceptor acceptor (_io_service, asio::ip::tcp::endpoint (asio::ip::tcp::v4(), Config::instance()->server_port ()));
        while (1) {
-               shared_ptr<asio::ip::tcp::socket> socket (new asio::ip::tcp::socket (io_service));
+               shared_ptr<asio::ip::tcp::socket> socket (new asio::ip::tcp::socket (_io_service));
                acceptor.accept (*socket);
 
                mutex::scoped_lock lock (_worker_mutex);