X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fencode_server.h;h=f93d667467a0a4fe439651fe540d7dd3107e68fe;hb=ff639b3cf30afcc097bfd21d39c8d15f466cadd6;hp=d313a851d3f942eb3bbe6a372b1a4075dece47a2;hpb=dd9be86db6cde0afa5da0d1d1ac43b42e05dca26;p=dcpomatic.git diff --git a/src/lib/encode_server.h b/src/lib/encode_server.h index d313a851d..f93d66746 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,22 +18,28 @@ */ + #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 +#include "server.h" #include +#include #include #include -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); + void handle (std::shared_ptr) override; void worker_thread (); int process (std::shared_ptr socket, struct timeval &, struct timeval &); void broadcast_thread (); void broadcast_received (); boost::thread_group _worker_threads; - std::list > _queue; + std::list> _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