From: James Sedgwick Date: Tue, 26 May 2015 03:32:00 +0000 (-0700) Subject: move FiberIOExecutor to wangle/concurrent X-Git-Tag: v0.40.0~3 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=da432bdcb82b4b83cea7efac6bd1e0434947e719;p=folly.git move FiberIOExecutor to wangle/concurrent Summary: Need to cut this dep on wangle out of folly as we're moving wangle to its own repo Test Plan: chimera unit Reviewed By: rushix@fb.com Subscribers: trunkagent, fugalh, folly-diffs@, jsedgwick, yfeldblum, chalfant FB internal diff: D2092122 Signature: t1:2092122:1432239179:9261c1b3a3a346b886b15899d25a4d0530d4e890 --- diff --git a/folly/Makefile.am b/folly/Makefile.am index 9ada6b01..e7396712 100644 --- a/folly/Makefile.am +++ b/folly/Makefile.am @@ -83,7 +83,6 @@ nobase_follyinclude_HEADERS = \ experimental/fibers/ExecutionObserver.h \ experimental/fibers/Fiber.h \ experimental/fibers/Fiber-inl.h \ - experimental/fibers/FiberIOExecutor.h \ experimental/fibers/FiberManager.h \ experimental/fibers/FiberManager-inl.h \ experimental/fibers/FiberManagerMap.h \ @@ -291,6 +290,7 @@ nobase_follyinclude_HEADERS = \ wangle/concurrent/BlockingQueue.h \ wangle/concurrent/Codel.h \ wangle/concurrent/CPUThreadPoolExecutor.h \ + wangle/concurrent/FiberIOExecutor.h \ wangle/concurrent/FutureExecutor.h \ wangle/concurrent/IOExecutor.h \ wangle/concurrent/IOThreadPoolExecutor.h \ diff --git a/folly/experimental/fibers/FiberIOExecutor.h b/folly/experimental/fibers/FiberIOExecutor.h deleted file mode 100644 index cd6e6758..00000000 --- a/folly/experimental/fibers/FiberIOExecutor.h +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Copyright 2015 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 -#include - -namespace folly { namespace fibers { - -/** - * @class FiberIOExecutor - * @brief An IOExecutor that executes funcs under mapped fiber context - * - * A FiberIOExecutor wraps an IOExecutor, but executes funcs on the FiberManager - * mapped to the underlying IOExector's event base. - */ -class FiberIOExecutor : public folly::wangle::IOExecutor { - public: - explicit FiberIOExecutor( - const std::shared_ptr& ioExecutor) - : ioExecutor_(ioExecutor) {} - - virtual void add(std::function f) override { - auto eventBase = ioExecutor_->getEventBase(); - getFiberManager(*eventBase).add(std::move(f)); - } - - virtual EventBase* getEventBase() override { - return ioExecutor_->getEventBase(); - } - - private: - std::shared_ptr ioExecutor_; -}; - -}} diff --git a/folly/wangle/concurrent/FiberIOExecutor.h b/folly/wangle/concurrent/FiberIOExecutor.h new file mode 100644 index 00000000..cd6e6758 --- /dev/null +++ b/folly/wangle/concurrent/FiberIOExecutor.h @@ -0,0 +1,49 @@ +/* + * Copyright 2015 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 +#include + +namespace folly { namespace fibers { + +/** + * @class FiberIOExecutor + * @brief An IOExecutor that executes funcs under mapped fiber context + * + * A FiberIOExecutor wraps an IOExecutor, but executes funcs on the FiberManager + * mapped to the underlying IOExector's event base. + */ +class FiberIOExecutor : public folly::wangle::IOExecutor { + public: + explicit FiberIOExecutor( + const std::shared_ptr& ioExecutor) + : ioExecutor_(ioExecutor) {} + + virtual void add(std::function f) override { + auto eventBase = ioExecutor_->getEventBase(); + getFiberManager(*eventBase).add(std::move(f)); + } + + virtual EventBase* getEventBase() override { + return ioExecutor_->getEventBase(); + } + + private: + std::shared_ptr ioExecutor_; +}; + +}}