Fix font_id_map errors when importing DCP subtitles that have no
[dcpomatic.git] / src / lib / encode_server.h
index d313a851d3f942eb3bbe6a372b1a4075dece47a2..f93d667467a0a4fe439651fe540d7dd3107e68fe 100644 (file)
@@ -1,5 +1,5 @@
 /*
-    Copyright (C) 2012-2015 Carl Hetherington <cth@carlh.net>
+    Copyright (C) 2012-2021 Carl Hetherington <cth@carlh.net>
 
     This file is part of DCP-o-matic.
 
 
 */
 
+
 #ifndef DCPOMATIC_ENCODE_SERVER_H
 #define DCPOMATIC_ENCODE_SERVER_H
 
+
 /** @file src/encode_server.h
  *  @brief EncodeServer class.
  */
 
-#include "server.h"
+
+#include "cross.h"
 #include "exception_store.h"
-#include <boost/thread.hpp>
+#include "server.h"
 #include <boost/asio.hpp>
+#include <boost/thread.hpp>
 #include <boost/thread/condition.hpp>
 #include <string>
 
-class Socket;
+
 class Log;
+class Socket;
+
 
 /** @class EncodeServer
  *  @brief A class to run a server which can accept requests to perform JPEG2000
@@ -45,21 +51,22 @@ public:
        EncodeServer (bool verbose, int num_threads);
        ~EncodeServer ();
 
-       void run ();
+       void run () override;
 
 private:
-       void handle (std::shared_ptr<Socket>);
+       void handle (std::shared_ptr<Socket>) override;
        void worker_thread ();
        int process (std::shared_ptr<Socket> socket, struct timeval &, struct timeval &);
        void broadcast_thread ();
        void broadcast_received ();
 
        boost::thread_group _worker_threads;
-       std::list<std::shared_ptr<Socket> > _queue;
+       std::list<std::shared_ptr<Socket>> _queue;
        boost::condition _full_condition;
        boost::condition _empty_condition;
        bool _verbose;
        int _num_threads;
+       Waker _waker;
 
        struct Broadcast {
 
@@ -77,4 +84,5 @@ private:
        } _broadcast;
 };
 
+
 #endif