X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fencode_server.h;h=6e24a19849827cdde20c276e79d331b8a2cd1ab5;hb=34e5ddc254c0a12224cb985e440a2ab7075b532a;hp=40e84ad6029d9d7ff28d6f942923e989ffe7f549;hpb=ea6b2dae46caa1da829fbf499e83cd6ae3b3773a;p=dcpomatic.git diff --git a/src/lib/encode_server.h b/src/lib/encode_server.h index 40e84ad60..6e24a1984 100644 --- a/src/lib/encode_server.h +++ b/src/lib/encode_server.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2012-2015 Carl Hetherington + Copyright (C) 2012-2021 Carl Hetherington This file is part of DCP-o-matic. @@ -18,13 +18,16 @@ */ + #ifndef DCPOMATIC_ENCODE_SERVER_H #define DCPOMATIC_ENCODE_SERVER_H + /** @file src/encode_server.h * @brief EncodeServer class. */ + #include "server.h" #include "exception_store.h" #include @@ -32,9 +35,11 @@ #include #include + class Socket; class Log; + /** @class EncodeServer * @brief A class to run a server which can accept requests to perform JPEG2000 * encoding work. @@ -48,14 +53,14 @@ public: void run (); private: - void handle (boost::shared_ptr); + void handle (std::shared_ptr); void worker_thread (); - int process (boost::shared_ptr socket, struct timeval &, struct timeval &); + int process (std::shared_ptr socket, struct timeval &, struct timeval &); void broadcast_thread (); void broadcast_received (); - std::vector _worker_threads; - std::list > _queue; + boost::thread_group _worker_threads; + std::list> _queue; boost::condition _full_condition; boost::condition _empty_condition; bool _verbose; @@ -77,4 +82,5 @@ private: } _broadcast; }; + #endif