Reorganizing kvstore sources and switching build system to CMake.
[bluesky.git] / kvstore / protobufrpc / workqueue.h
diff --git a/kvstore/protobufrpc/workqueue.h b/kvstore/protobufrpc/workqueue.h
deleted file mode 100644 (file)
index cfb2e02..0000000
+++ /dev/null
@@ -1,78 +0,0 @@
-#ifndef __WORKQUEUE_H__
-#define __WORKQUEUE_H__ 1
-
-#include <boost/thread.hpp>
-#include <boost/shared_ptr.hpp>
-#include <queue>
-#include "util.h"
-
-using namespace boost;
-using namespace std;
-
-namespace bicker
-{
-    struct interrupted_error : public virtual std::exception { };
-
-    class WorkUnit
-    {
-    public:
-        virtual ~WorkUnit() {};
-        virtual void run() = 0;
-    };
-
-    class WorkQueue
-    {
-    public:
-        WorkQueue();
-        WorkQueue(int thread_count);
-
-        ~WorkQueue();
-
-        shared_ptr<WorkUnit> get();
-        void put(shared_ptr<WorkUnit> work_unit);
-
-    protected:
-        void spawnThread();
-
-    private:
-        class Worker
-        {
-        public:
-            Worker(WorkQueue* queue);
-            void operator()();
-        private:
-            WorkQueue *_queue;
-        };
-
-        int _thread_count;
-        int _min_threads;
-        int _max_threads;
-        mutex _queue_lock;
-        condition_variable _queue_non_empty;
-        queue<shared_ptr<WorkUnit> > _queue;
-        thread_group _threads;
-        volatile bool _running;
-    };
-
-    class TaskNotification
-    {
-    public:
-        TaskNotification();
-
-        void registerTask();
-        void completeTask(bool success = true);
-
-        void waitForComplete();
-
-        bool failCount();
-    private:
-        int                _expected;
-        int                _count;
-        int                _fail_count;
-        mutex              _lock;
-        condition_variable _cond;
-    };
-
-} // namespace bicker
-
-#endif