codemod: merge folly/wangle and folly/experimental/wangle
[folly.git] / folly / experimental / wangle / concurrent / CPUThreadPoolExecutor.h
diff --git a/folly/experimental/wangle/concurrent/CPUThreadPoolExecutor.h b/folly/experimental/wangle/concurrent/CPUThreadPoolExecutor.h
deleted file mode 100644 (file)
index b7e8868..0000000
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * Copyright 2014 Facebook, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#pragma once
-
-#include <folly/experimental/wangle/concurrent/ThreadPoolExecutor.h>
-
-namespace folly { namespace wangle {
-
-class CPUThreadPoolExecutor : public ThreadPoolExecutor {
- public:
-  struct CPUTask;
-
-  explicit CPUThreadPoolExecutor(
-      size_t numThreads,
-      std::unique_ptr<BlockingQueue<CPUTask>> taskQueue,
-      std::shared_ptr<ThreadFactory> threadFactory =
-          std::make_shared<NamedThreadFactory>("CPUThreadPool"));
-
-  explicit CPUThreadPoolExecutor(size_t numThreads);
-
-  explicit CPUThreadPoolExecutor(
-      size_t numThreads,
-      std::shared_ptr<ThreadFactory> threadFactory);
-
-  explicit CPUThreadPoolExecutor(
-      size_t numThreads,
-      uint32_t numPriorities,
-      std::shared_ptr<ThreadFactory> threadFactory =
-          std::make_shared<NamedThreadFactory>("CPUThreadPool"));
-
-  ~CPUThreadPoolExecutor();
-
-  void add(Func func) override;
-  void add(
-      Func func,
-      std::chrono::milliseconds expiration,
-      Func expireCallback = nullptr) override;
-
-  void add(Func func, uint32_t priority);
-  void add(
-      Func func,
-      uint32_t priority,
-      std::chrono::milliseconds expiration,
-      Func expireCallback = nullptr);
-
-  uint32_t getNumPriorities() const;
-
-  struct CPUTask : public ThreadPoolExecutor::Task {
-    // Must be noexcept move constructible so it can be used in MPMCQueue
-    explicit CPUTask(
-        Func&& f,
-        std::chrono::milliseconds expiration,
-        Func&& expireCallback)
-      : Task(std::move(f), expiration, std::move(expireCallback)),
-        poison(false) {}
-    CPUTask()
-      : Task(nullptr, std::chrono::milliseconds(0), nullptr),
-        poison(true) {}
-    CPUTask(CPUTask&& o) noexcept : Task(std::move(o)), poison(o.poison) {}
-    CPUTask(const CPUTask&) = default;
-    CPUTask& operator=(const CPUTask&) = default;
-    bool poison;
-  };
-
-  static const size_t kDefaultMaxQueueSize;
-  static const size_t kDefaultNumPriorities;
-
- protected:
-  BlockingQueue<CPUTask>* getTaskQueue();
-
- private:
-  void threadRun(ThreadPtr thread) override;
-  void stopThreads(size_t n) override;
-  uint64_t getPendingTaskCount() override;
-
-  std::unique_ptr<BlockingQueue<CPUTask>> taskQueue_;
-  std::atomic<ssize_t> threadsToStop_{0};
-};
-
-}} // folly::wangle