Commit 4ab51101 authored by Yedidya Feldblum's avatar Yedidya Feldblum Committed by Facebook GitHub Bot

let coro headers always be buildable

Summary: Let folly coro headers always be buildable whether or not coroutines are available. They may just be empty apart from transitive includes.

Reviewed By: iahs

Differential Revision: D26191449

fbshipit-source-id: 5865ce5edb13f97624b9f60c45c045886fdf0bfb
parent f133aef5
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
* limitations under the License. * limitations under the License.
*/ */
#include <folly/experimental/coro/Accumulate.h> #if FOLLY_HAS_COROUTINES
namespace folly { namespace folly {
namespace coro { namespace coro {
...@@ -42,3 +42,5 @@ Task<Output> accumulate( ...@@ -42,3 +42,5 @@ Task<Output> accumulate(
} }
} // namespace coro } // namespace coro
} // namespace folly } // namespace folly
#endif // FOLLY_HAS_COROUTINES
...@@ -17,8 +17,11 @@ ...@@ -17,8 +17,11 @@
#pragma once #pragma once
#include <folly/experimental/coro/AsyncGenerator.h> #include <folly/experimental/coro/AsyncGenerator.h>
#include <folly/experimental/coro/Coroutine.h>
#include <folly/experimental/coro/Task.h> #include <folly/experimental/coro/Task.h>
#if FOLLY_HAS_COROUTINES
namespace folly { namespace folly {
namespace coro { namespace coro {
...@@ -53,4 +56,6 @@ Task<Output> accumulate( ...@@ -53,4 +56,6 @@ Task<Output> accumulate(
} // namespace coro } // namespace coro
} // namespace folly } // namespace folly
#endif // FOLLY_HAS_COROUTINES
#include <folly/experimental/coro/Accumulate-inl.h> #include <folly/experimental/coro/Accumulate-inl.h>
...@@ -20,6 +20,7 @@ ...@@ -20,6 +20,7 @@
#include <folly/ExceptionWrapper.h> #include <folly/ExceptionWrapper.h>
#include <folly/Traits.h> #include <folly/Traits.h>
#include <folly/Try.h> #include <folly/Try.h>
#include <folly/experimental/coro/Coroutine.h>
#include <folly/experimental/coro/CurrentExecutor.h> #include <folly/experimental/coro/CurrentExecutor.h>
#include <folly/experimental/coro/Invoke.h> #include <folly/experimental/coro/Invoke.h>
#include <folly/experimental/coro/Result.h> #include <folly/experimental/coro/Result.h>
...@@ -33,10 +34,11 @@ ...@@ -33,10 +34,11 @@
#include <glog/logging.h> #include <glog/logging.h>
#include <experimental/coroutine>
#include <iterator> #include <iterator>
#include <type_traits> #include <type_traits>
#if FOLLY_HAS_COROUTINES
namespace folly { namespace folly {
namespace coro { namespace coro {
...@@ -604,3 +606,5 @@ AsyncGeneratorPromise<Reference, Value>::get_return_object() noexcept { ...@@ -604,3 +606,5 @@ AsyncGeneratorPromise<Reference, Value>::get_return_object() noexcept {
} // namespace coro } // namespace coro
} // namespace folly } // namespace folly
#endif
...@@ -18,12 +18,15 @@ ...@@ -18,12 +18,15 @@
#include <folly/Try.h> #include <folly/Try.h>
#include <folly/experimental/coro/AsyncGenerator.h> #include <folly/experimental/coro/AsyncGenerator.h>
#include <folly/experimental/coro/Coroutine.h>
#include <folly/experimental/coro/Invoke.h> #include <folly/experimental/coro/Invoke.h>
#include <folly/experimental/coro/UnboundedQueue.h> #include <folly/experimental/coro/UnboundedQueue.h>
#include <memory> #include <memory>
#include <utility> #include <utility>
#if FOLLY_HAS_COROUTINES
namespace folly { namespace folly {
namespace coro { namespace coro {
...@@ -178,3 +181,5 @@ class AsyncPipe { ...@@ -178,3 +181,5 @@ class AsyncPipe {
} // namespace coro } // namespace coro
} // namespace folly } // namespace folly
#endif // FOLLY_HAS_COROUTINES
...@@ -16,6 +16,7 @@ ...@@ -16,6 +16,7 @@
#pragma once #pragma once
#include <folly/experimental/coro/Coroutine.h>
#include <folly/experimental/coro/Task.h> #include <folly/experimental/coro/Task.h>
#include <folly/experimental/coro/detail/Barrier.h> #include <folly/experimental/coro/detail/Barrier.h>
#include <folly/experimental/coro/detail/BarrierTask.h> #include <folly/experimental/coro/detail/BarrierTask.h>
...@@ -26,6 +27,8 @@ ...@@ -26,6 +27,8 @@
#include <atomic> #include <atomic>
#include <cassert> #include <cassert>
#if FOLLY_HAS_COROUTINES
namespace folly { namespace folly {
namespace coro { namespace coro {
...@@ -171,3 +174,5 @@ inline folly::SemiFuture<folly::Unit> AsyncScope::cleanup() noexcept { ...@@ -171,3 +174,5 @@ inline folly::SemiFuture<folly::Unit> AsyncScope::cleanup() noexcept {
} // namespace coro } // namespace coro
} // namespace folly } // namespace folly
#endif // FOLLY_HAS_COROUTINES
...@@ -15,13 +15,15 @@ ...@@ -15,13 +15,15 @@
*/ */
#include <folly/Executor.h> #include <folly/Executor.h>
#include <folly/experimental/coro/Coroutine.h>
#include <folly/experimental/coro/WithAsyncStack.h> #include <folly/experimental/coro/WithAsyncStack.h>
#include <folly/tracing/AsyncStack.h> #include <folly/tracing/AsyncStack.h>
#include <experimental/coroutine>
#include <utility> #include <utility>
#include <vector> #include <vector>
#if FOLLY_HAS_COROUTINES
namespace folly { namespace folly {
namespace coro { namespace coro {
...@@ -76,3 +78,5 @@ inline constexpr AsyncStackTraceAwaitable co_current_async_stack_trace = {}; ...@@ -76,3 +78,5 @@ inline constexpr AsyncStackTraceAwaitable co_current_async_stack_trace = {};
} // namespace coro } // namespace coro
} // namespace folly } // namespace folly
#endif // FOLLY_HAS_COROUTINES
...@@ -14,16 +14,16 @@ ...@@ -14,16 +14,16 @@
* limitations under the License. * limitations under the License.
*/ */
#include <folly/Portability.h>
#if FOLLY_HAS_COROUTINES
#include <folly/experimental/coro/Baton.h> #include <folly/experimental/coro/Baton.h>
#include <folly/experimental/coro/Coroutine.h>
#include <folly/synchronization/AtomicUtil.h> #include <folly/synchronization/AtomicUtil.h>
#include <cassert> #include <cassert>
#include <utility> #include <utility>
#if FOLLY_HAS_COROUTINES
using namespace folly::coro; using namespace folly::coro;
Baton::~Baton() { Baton::~Baton() {
......
...@@ -17,7 +17,10 @@ ...@@ -17,7 +17,10 @@
#pragma once #pragma once
#include <atomic> #include <atomic>
#include <experimental/coroutine>
#include <folly/experimental/coro/Coroutine.h>
#if FOLLY_HAS_COROUTINES
namespace folly { namespace folly {
namespace coro { namespace coro {
...@@ -140,3 +143,5 @@ inline void Baton::reset() noexcept { ...@@ -140,3 +143,5 @@ inline void Baton::reset() noexcept {
} // namespace coro } // namespace coro
} // namespace folly } // namespace folly
#endif // FOLLY_HAS_COROUTINES
...@@ -18,6 +18,7 @@ ...@@ -18,6 +18,7 @@
#include <folly/Try.h> #include <folly/Try.h>
#include <folly/executors/ManualExecutor.h> #include <folly/executors/ManualExecutor.h>
#include <folly/experimental/coro/Coroutine.h>
#include <folly/experimental/coro/Task.h> #include <folly/experimental/coro/Task.h>
#include <folly/experimental/coro/Traits.h> #include <folly/experimental/coro/Traits.h>
#include <folly/experimental/coro/ViaIfAsync.h> #include <folly/experimental/coro/ViaIfAsync.h>
...@@ -30,10 +31,11 @@ ...@@ -30,10 +31,11 @@
#include <cassert> #include <cassert>
#include <exception> #include <exception>
#include <experimental/coroutine>
#include <type_traits> #include <type_traits>
#include <utility> #include <utility>
#if FOLLY_HAS_COROUTINES
namespace folly { namespace folly {
namespace coro { namespace coro {
...@@ -435,3 +437,5 @@ auto blockingWait(SemiAwaitable&& awaitable) ...@@ -435,3 +437,5 @@ auto blockingWait(SemiAwaitable&& awaitable)
} // namespace coro } // namespace coro
} // namespace folly } // namespace folly
#endif // FOLLY_HAS_COROUTINES
...@@ -21,6 +21,8 @@ ...@@ -21,6 +21,8 @@
#include <folly/experimental/coro/detail/CurrentAsyncFrame.h> #include <folly/experimental/coro/detail/CurrentAsyncFrame.h>
#include <folly/experimental/coro/detail/Helpers.h> #include <folly/experimental/coro/detail/Helpers.h>
#if FOLLY_HAS_COROUTINES
namespace folly { namespace folly {
namespace coro { namespace coro {
namespace detail { namespace detail {
...@@ -929,3 +931,5 @@ auto collectAllTryWindowed(InputRange awaitables, std::size_t maxConcurrency) ...@@ -929,3 +931,5 @@ auto collectAllTryWindowed(InputRange awaitables, std::size_t maxConcurrency)
} // namespace coro } // namespace coro
} // namespace folly } // namespace folly
#endif // FOLLY_HAS_COROUTINES
...@@ -18,18 +18,20 @@ ...@@ -18,18 +18,20 @@
#include <folly/Try.h> #include <folly/Try.h>
#include <folly/Unit.h> #include <folly/Unit.h>
#include <folly/experimental/coro/Coroutine.h>
#include <folly/experimental/coro/Task.h> #include <folly/experimental/coro/Task.h>
#include <folly/experimental/coro/ViaIfAsync.h> #include <folly/experimental/coro/ViaIfAsync.h>
#include <folly/experimental/coro/detail/Traits.h> #include <folly/experimental/coro/detail/Traits.h>
#include <range/v3/view/move.hpp> #include <range/v3/view/move.hpp>
#include <experimental/coroutine>
#include <functional> #include <functional>
#include <iterator> #include <iterator>
#include <tuple> #include <tuple>
#include <type_traits> #include <type_traits>
#if FOLLY_HAS_COROUTINES
namespace folly { namespace folly {
namespace coro { namespace coro {
namespace detail { namespace detail {
...@@ -313,4 +315,6 @@ auto collectAllTryWindowed( ...@@ -313,4 +315,6 @@ auto collectAllTryWindowed(
} // namespace coro } // namespace coro
} // namespace folly } // namespace folly
#endif // FOLLY_HAS_COROUTINES
#include <folly/experimental/coro/Collect-inl.h> #include <folly/experimental/coro/Collect-inl.h>
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
* limitations under the License. * limitations under the License.
*/ */
#include <folly/experimental/coro/Concat.h> #include <folly/experimental/coro/Coroutine.h>
namespace folly { namespace folly {
namespace coro { namespace coro {
......
...@@ -17,6 +17,9 @@ ...@@ -17,6 +17,9 @@
#pragma once #pragma once
#include <folly/experimental/coro/AsyncGenerator.h> #include <folly/experimental/coro/AsyncGenerator.h>
#include <folly/experimental/coro/Coroutine.h>
#if FOLLY_HAS_COROUTINES
namespace folly { namespace folly {
namespace coro { namespace coro {
...@@ -54,4 +57,6 @@ AsyncGenerator<HReference, HValue> concat( ...@@ -54,4 +57,6 @@ AsyncGenerator<HReference, HValue> concat(
} // namespace coro } // namespace coro
} // namespace folly } // namespace folly
#endif // FOLLY_HAS_COROUTINES
#include <folly/experimental/coro/Concat-inl.h> #include <folly/experimental/coro/Concat-inl.h>
/*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* 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/Portability.h>
#if FOLLY_HAS_COROUTINES
#include <experimental/coroutine>
#endif // FOLLY_HAS_COROUTINES
...@@ -19,10 +19,13 @@ ...@@ -19,10 +19,13 @@
#include <utility> #include <utility>
#include <folly/Executor.h> #include <folly/Executor.h>
#include <folly/experimental/coro/Coroutine.h>
#include <folly/experimental/coro/ViaIfAsync.h> #include <folly/experimental/coro/ViaIfAsync.h>
#include <folly/experimental/coro/WithAsyncStack.h> #include <folly/experimental/coro/WithAsyncStack.h>
#include <folly/io/async/Request.h> #include <folly/io/async/Request.h>
#if FOLLY_HAS_COROUTINES
namespace folly { namespace folly {
namespace coro { namespace coro {
...@@ -193,3 +196,5 @@ FOLLY_INLINE_VARIABLE constexpr co_safe_point_t co_safe_point{}; ...@@ -193,3 +196,5 @@ FOLLY_INLINE_VARIABLE constexpr co_safe_point_t co_safe_point{};
} // namespace coro } // namespace coro
} // namespace folly } // namespace folly
#endif // FOLLY_HAS_COROUTINES
...@@ -16,6 +16,8 @@ ...@@ -16,6 +16,8 @@
#include <folly/experimental/coro/Materialize.h> #include <folly/experimental/coro/Materialize.h>
#if FOLLY_HAS_COROUTINES
namespace folly { namespace folly {
namespace coro { namespace coro {
...@@ -41,3 +43,5 @@ AsyncGenerator<Reference, Value> dematerialize( ...@@ -41,3 +43,5 @@ AsyncGenerator<Reference, Value> dematerialize(
} // namespace coro } // namespace coro
} // namespace folly } // namespace folly
#endif // FOLLY_HAS_COROUTINES
...@@ -18,10 +18,13 @@ ...@@ -18,10 +18,13 @@
#include <folly/ExceptionWrapper.h> #include <folly/ExceptionWrapper.h>
#include <folly/experimental/coro/AsyncGenerator.h> #include <folly/experimental/coro/AsyncGenerator.h>
#include <folly/experimental/coro/Coroutine.h>
#include <folly/experimental/coro/Materialize.h> #include <folly/experimental/coro/Materialize.h>
#include <variant> #include <variant>
#if FOLLY_HAS_COROUTINES
namespace folly { namespace folly {
namespace coro { namespace coro {
...@@ -57,4 +60,6 @@ AsyncGenerator<Reference, Value> dematerialize( ...@@ -57,4 +60,6 @@ AsyncGenerator<Reference, Value> dematerialize(
} // namespace coro } // namespace coro
} // namespace folly } // namespace folly
#endif // FOLLY_HAS_COROUTINES
#include <folly/experimental/coro/Dematerialize-inl.h> #include <folly/experimental/coro/Dematerialize-inl.h>
...@@ -16,15 +16,17 @@ ...@@ -16,15 +16,17 @@
#pragma once #pragma once
#include <experimental/coroutine>
#include <type_traits> #include <type_traits>
#include <folly/experimental/coro/Baton.h> #include <folly/experimental/coro/Baton.h>
#include <folly/experimental/coro/Coroutine.h>
#include <folly/experimental/coro/Invoke.h> #include <folly/experimental/coro/Invoke.h>
#include <folly/experimental/coro/Task.h> #include <folly/experimental/coro/Task.h>
#include <folly/experimental/coro/Traits.h> #include <folly/experimental/coro/Traits.h>
#include <folly/experimental/coro/detail/Helpers.h> #include <folly/experimental/coro/detail/Helpers.h>
#if FOLLY_HAS_COROUTINES
namespace folly { namespace folly {
namespace coro { namespace coro {
template <typename Awaitable> template <typename Awaitable>
...@@ -69,3 +71,5 @@ Task<semi_await_result_t<Awaitable>> detachOnCancel(Awaitable awaitable) { ...@@ -69,3 +71,5 @@ Task<semi_await_result_t<Awaitable>> detachOnCancel(Awaitable awaitable) {
} }
} // namespace coro } // namespace coro
} // namespace folly } // namespace folly
#endif // FOLLY_HAS_COROUTINES
...@@ -14,6 +14,8 @@ ...@@ -14,6 +14,8 @@
* limitations under the License. * limitations under the License.
*/ */
#if FOLLY_HAS_COROUTINES
namespace folly { namespace folly {
namespace coro { namespace coro {
...@@ -30,3 +32,5 @@ AsyncGenerator<Reference, Value> filter( ...@@ -30,3 +32,5 @@ AsyncGenerator<Reference, Value> filter(
} // namespace coro } // namespace coro
} // namespace folly } // namespace folly
#endif // FOLLY_HAS_COROUTINES
...@@ -17,6 +17,9 @@ ...@@ -17,6 +17,9 @@
#pragma once #pragma once
#include <folly/experimental/coro/AsyncGenerator.h> #include <folly/experimental/coro/AsyncGenerator.h>
#include <folly/experimental/coro/Coroutine.h>
#if FOLLY_HAS_COROUTINES
namespace folly { namespace folly {
namespace coro { namespace coro {
...@@ -41,4 +44,6 @@ AsyncGenerator<Reference, Value> filter( ...@@ -41,4 +44,6 @@ AsyncGenerator<Reference, Value> filter(
} // namespace coro } // namespace coro
} // namespace folly } // namespace folly
#endif // FOLLY_HAS_COROUTINES
#include <folly/experimental/coro/Filter-inl.h> #include <folly/experimental/coro/Filter-inl.h>
...@@ -16,10 +16,13 @@ ...@@ -16,10 +16,13 @@
#pragma once #pragma once
#include <folly/experimental/coro/Coroutine.h>
#include <folly/experimental/coro/Invoke.h> #include <folly/experimental/coro/Invoke.h>
#include <folly/experimental/coro/Task.h> #include <folly/experimental/coro/Task.h>
#include <folly/experimental/coro/Traits.h> #include <folly/experimental/coro/Traits.h>
#if FOLLY_HAS_COROUTINES
namespace folly { namespace folly {
namespace coro { namespace coro {
...@@ -69,3 +72,5 @@ toFuture(SemiAwaitable&& a, Executor::KeepAlive<> ex) { ...@@ -69,3 +72,5 @@ toFuture(SemiAwaitable&& a, Executor::KeepAlive<> ex) {
} // namespace coro } // namespace coro
} // namespace folly } // namespace folly
#endif // FOLLY_HAS_COROUTINES
...@@ -18,12 +18,14 @@ ...@@ -18,12 +18,14 @@
#include <cassert> #include <cassert>
#include <exception> #include <exception>
#include <experimental/coroutine>
#include <type_traits> #include <type_traits>
#include <utility> #include <utility>
#include <folly/experimental/coro/Coroutine.h>
#include <folly/experimental/coro/Invoke.h> #include <folly/experimental/coro/Invoke.h>
#if FOLLY_HAS_COROUTINES
namespace folly { namespace folly {
namespace coro { namespace coro {
...@@ -277,3 +279,5 @@ void swap(Generator<T>& a, Generator<T>& b) noexcept { ...@@ -277,3 +279,5 @@ void swap(Generator<T>& a, Generator<T>& b) noexcept {
} }
} // namespace coro } // namespace coro
} // namespace folly } // namespace folly
#endif // FOLLY_HAS_COROUTINES
...@@ -19,10 +19,13 @@ ...@@ -19,10 +19,13 @@
#include <atomic> #include <atomic>
#include <type_traits> #include <type_traits>
#include <folly/experimental/coro/Coroutine.h>
#include <folly/experimental/coro/Result.h> #include <folly/experimental/coro/Result.h>
#include <folly/experimental/coro/Task.h> #include <folly/experimental/coro/Task.h>
#include <folly/portability/GMock.h> #include <folly/portability/GMock.h>
#if FOLLY_HAS_COROUTINES
namespace folly { namespace folly {
namespace coro { namespace coro {
namespace gmock_helpers { namespace gmock_helpers {
...@@ -204,3 +207,5 @@ auto CoThrow(Ex&& e) { ...@@ -204,3 +207,5 @@ auto CoThrow(Ex&& e) {
} // namespace gmock_helpers } // namespace gmock_helpers
} // namespace coro } // namespace coro
} // namespace folly } // namespace folly
#endif // FOLLY_HAS_COROUTINES
...@@ -17,9 +17,12 @@ ...@@ -17,9 +17,12 @@
#pragma once #pragma once
#include <folly/experimental/coro/BlockingWait.h> #include <folly/experimental/coro/BlockingWait.h>
#include <folly/experimental/coro/Coroutine.h>
#include <folly/experimental/coro/Task.h> #include <folly/experimental/coro/Task.h>
#include <folly/portability/GTest.h> #include <folly/portability/GTest.h>
#if FOLLY_HAS_COROUTINES
/** /**
* This is based on the GTEST_TEST_ macro from gtest-internal.h. It seems that * This is based on the GTEST_TEST_ macro from gtest-internal.h. It seems that
* gtest doesn't yet support coro tests, so this macro adds a way to define a * gtest doesn't yet support coro tests, so this macro adds a way to define a
...@@ -109,3 +112,5 @@ folly::coro::Task<void> GTEST_TEST_CLASS_NAME_(test_case_name, test_name)::co_Te ...@@ -109,3 +112,5 @@ folly::coro::Task<void> GTEST_TEST_CLASS_NAME_(test_case_name, test_name)::co_Te
CO_ASSERT_PRED_FORMAT2(::testing::internal::CmpHelperGE, val1, val2) CO_ASSERT_PRED_FORMAT2(::testing::internal::CmpHelperGE, val1, val2)
#define CO_ASSERT_GT(val1, val2) \ #define CO_ASSERT_GT(val1, val2) \
CO_ASSERT_PRED_FORMAT2(::testing::internal::CmpHelperGT, val1, val2) CO_ASSERT_PRED_FORMAT2(::testing::internal::CmpHelperGT, val1, val2)
#endif // FOLLY_HAS_COROUTINES
...@@ -14,6 +14,8 @@ ...@@ -14,6 +14,8 @@
* limitations under the License. * limitations under the License.
*/ */
#if FOLLY_HAS_COROUTINES
namespace folly { namespace folly {
namespace coro { namespace coro {
...@@ -42,3 +44,5 @@ AsyncGenerator<CallbackRecord<Reference>, CallbackRecord<Value>> materialize( ...@@ -42,3 +44,5 @@ AsyncGenerator<CallbackRecord<Reference>, CallbackRecord<Value>> materialize(
} // namespace coro } // namespace coro
} // namespace folly } // namespace folly
#endif // FOLLY_HAS_COROUTINES
...@@ -18,9 +18,12 @@ ...@@ -18,9 +18,12 @@
#include <folly/ExceptionWrapper.h> #include <folly/ExceptionWrapper.h>
#include <folly/experimental/coro/AsyncGenerator.h> #include <folly/experimental/coro/AsyncGenerator.h>
#include <folly/experimental/coro/Coroutine.h>
#include <variant> #include <variant>
#if FOLLY_HAS_COROUTINES
namespace folly { namespace folly {
namespace coro { namespace coro {
...@@ -217,4 +220,6 @@ AsyncGenerator<CallbackRecord<Reference>, CallbackRecord<Value>> materialize( ...@@ -217,4 +220,6 @@ AsyncGenerator<CallbackRecord<Reference>, CallbackRecord<Value>> materialize(
} // namespace coro } // namespace coro
} // namespace folly } // namespace folly
#endif // FOLLY_HAS_COROUTINES
#include <folly/experimental/coro/Materialize-inl.h> #include <folly/experimental/coro/Materialize-inl.h>
...@@ -30,6 +30,8 @@ ...@@ -30,6 +30,8 @@
#include <exception> #include <exception>
#include <memory> #include <memory>
#if FOLLY_HAS_COROUTINES
namespace folly { namespace folly {
namespace coro { namespace coro {
...@@ -191,3 +193,5 @@ AsyncGenerator<Reference, Value> merge( ...@@ -191,3 +193,5 @@ AsyncGenerator<Reference, Value> merge(
} // namespace coro } // namespace coro
} // namespace folly } // namespace folly
#endif // FOLLY_HAS_COROUTINES
...@@ -17,6 +17,9 @@ ...@@ -17,6 +17,9 @@
#pragma once #pragma once
#include <folly/experimental/coro/AsyncGenerator.h> #include <folly/experimental/coro/AsyncGenerator.h>
#include <folly/experimental/coro/Coroutine.h>
#if FOLLY_HAS_COROUTINES
namespace folly { namespace folly {
namespace coro { namespace coro {
...@@ -45,4 +48,6 @@ AsyncGenerator<Reference, Value> merge( ...@@ -45,4 +48,6 @@ AsyncGenerator<Reference, Value> merge(
} // namespace coro } // namespace coro
} // namespace folly } // namespace folly
#endif // FOLLY_HAS_COROUTINES
#include <folly/experimental/coro/Merge-inl.h> #include <folly/experimental/coro/Merge-inl.h>
...@@ -18,6 +18,8 @@ ...@@ -18,6 +18,8 @@
#include <folly/experimental/coro/Merge.h> #include <folly/experimental/coro/Merge.h>
#include <folly/experimental/coro/Transform.h> #include <folly/experimental/coro/Transform.h>
#if FOLLY_HAS_COROUTINES
namespace folly { namespace folly {
namespace coro { namespace coro {
...@@ -71,3 +73,5 @@ multiplex( ...@@ -71,3 +73,5 @@ multiplex(
} // namespace coro } // namespace coro
} // namespace folly } // namespace folly
#endif // FOLLY_HAS_COROUTINES
...@@ -18,11 +18,14 @@ ...@@ -18,11 +18,14 @@
#include <folly/ExceptionWrapper.h> #include <folly/ExceptionWrapper.h>
#include <folly/experimental/coro/AsyncGenerator.h> #include <folly/experimental/coro/AsyncGenerator.h>
#include <folly/experimental/coro/Coroutine.h>
#include <folly/experimental/coro/Materialize.h> #include <folly/experimental/coro/Materialize.h>
#include <tuple> #include <tuple>
#include <variant> #include <variant>
#if FOLLY_HAS_COROUTINES
namespace folly { namespace folly {
namespace coro { namespace coro {
...@@ -84,4 +87,6 @@ multiplex( ...@@ -84,4 +87,6 @@ multiplex(
} // namespace coro } // namespace coro
} // namespace folly } // namespace folly
#endif // FOLLY_HAS_COROUTINES
#include <folly/experimental/coro/Multiplex-inl.h> #include <folly/experimental/coro/Multiplex-inl.h>
...@@ -14,14 +14,12 @@ ...@@ -14,14 +14,12 @@
* limitations under the License. * limitations under the License.
*/ */
#include <folly/Portability.h>
#if FOLLY_HAS_COROUTINES
#include <folly/experimental/coro/Mutex.h> #include <folly/experimental/coro/Mutex.h>
#include <cassert> #include <cassert>
#if FOLLY_HAS_COROUTINES
using namespace folly::coro; using namespace folly::coro;
Mutex::~Mutex() { Mutex::~Mutex() {
......
...@@ -17,12 +17,14 @@ ...@@ -17,12 +17,14 @@
#pragma once #pragma once
#include <folly/Executor.h> #include <folly/Executor.h>
#include <folly/experimental/coro/Coroutine.h>
#include <folly/experimental/coro/ViaIfAsync.h> #include <folly/experimental/coro/ViaIfAsync.h>
#include <atomic> #include <atomic>
#include <experimental/coroutine>
#include <mutex> #include <mutex>
#if FOLLY_HAS_COROUTINES
namespace folly { namespace folly {
namespace coro { namespace coro {
...@@ -236,3 +238,5 @@ inline Mutex::LockOperation<Mutex::LockAwaiter> Mutex::co_lock() noexcept { ...@@ -236,3 +238,5 @@ inline Mutex::LockOperation<Mutex::LockAwaiter> Mutex::co_lock() noexcept {
} // namespace coro } // namespace coro
} // namespace folly } // namespace folly
#endif // FOLLY_HAS_COROUTINES
...@@ -20,6 +20,7 @@ ...@@ -20,6 +20,7 @@
#include <folly/ExceptionWrapper.h> #include <folly/ExceptionWrapper.h>
#include <folly/Random.h> #include <folly/Random.h>
#include <folly/Try.h> #include <folly/Try.h>
#include <folly/experimental/coro/Coroutine.h>
#include <folly/experimental/coro/Result.h> #include <folly/experimental/coro/Result.h>
#include <folly/experimental/coro/Sleep.h> #include <folly/experimental/coro/Sleep.h>
#include <folly/experimental/coro/Task.h> #include <folly/experimental/coro/Task.h>
...@@ -29,6 +30,8 @@ ...@@ -29,6 +30,8 @@
#include <random> #include <random>
#include <utility> #include <utility>
#if FOLLY_HAS_COROUTINES
namespace folly::coro { namespace folly::coro {
// Execute a given asynchronous operation returned by func(), // Execute a given asynchronous operation returned by func(),
...@@ -307,3 +310,5 @@ auto retryWithExponentialBackoff( ...@@ -307,3 +310,5 @@ auto retryWithExponentialBackoff(
} }
} // namespace folly::coro } // namespace folly::coro
#endif // FOLLY_HAS_COROUTINES
...@@ -23,6 +23,9 @@ ...@@ -23,6 +23,9 @@
#include <glog/logging.h> #include <glog/logging.h>
#include <folly/Portability.h> #include <folly/Portability.h>
#include <folly/experimental/coro/Coroutine.h>
#if FOLLY_HAS_COROUTINES
namespace folly { namespace folly {
namespace coro { namespace coro {
...@@ -109,3 +112,5 @@ class FOLLY_NODISCARD SharedLock { ...@@ -109,3 +112,5 @@ class FOLLY_NODISCARD SharedLock {
} // namespace coro } // namespace coro
} // namespace folly } // namespace folly
#endif // FOLLY_HAS_COROUTINES
...@@ -14,12 +14,10 @@ ...@@ -14,12 +14,10 @@
* limitations under the License. * limitations under the License.
*/ */
#include <folly/Portability.h> #include <folly/experimental/coro/SharedMutex.h>
#if FOLLY_HAS_COROUTINES #if FOLLY_HAS_COROUTINES
#include <folly/experimental/coro/SharedMutex.h>
using namespace folly::coro; using namespace folly::coro;
SharedMutexFair::~SharedMutexFair() { SharedMutexFair::~SharedMutexFair() {
......
...@@ -18,7 +18,6 @@ ...@@ -18,7 +18,6 @@
#include <atomic> #include <atomic>
#include <cassert> #include <cassert>
#include <experimental/coroutine>
#include <limits> #include <limits>
#include <mutex> #include <mutex>
#include <utility> #include <utility>
...@@ -26,9 +25,12 @@ ...@@ -26,9 +25,12 @@
#include <folly/Executor.h> #include <folly/Executor.h>
#include <folly/SpinLock.h> #include <folly/SpinLock.h>
#include <folly/Synchronized.h> #include <folly/Synchronized.h>
#include <folly/experimental/coro/Coroutine.h>
#include <folly/experimental/coro/SharedLock.h> #include <folly/experimental/coro/SharedLock.h>
#include <folly/experimental/coro/ViaIfAsync.h> #include <folly/experimental/coro/ViaIfAsync.h>
#if FOLLY_HAS_COROUTINES
namespace folly { namespace folly {
namespace coro { namespace coro {
...@@ -351,3 +353,5 @@ using SharedMutex = SharedMutexFair; ...@@ -351,3 +353,5 @@ using SharedMutex = SharedMutexFair;
} // namespace coro } // namespace coro
} // namespace folly } // namespace folly
#endif // FOLLY_HAS_COROUTINES
...@@ -20,6 +20,8 @@ ...@@ -20,6 +20,8 @@
#include <folly/experimental/coro/Baton.h> #include <folly/experimental/coro/Baton.h>
#include <folly/experimental/coro/CurrentExecutor.h> #include <folly/experimental/coro/CurrentExecutor.h>
#if FOLLY_HAS_COROUTINES
namespace folly { namespace folly {
namespace coro { namespace coro {
...@@ -58,3 +60,5 @@ inline Task<void> sleepReturnEarlyOnCancel(Duration d, Timekeeper* tk) { ...@@ -58,3 +60,5 @@ inline Task<void> sleepReturnEarlyOnCancel(Duration d, Timekeeper* tk) {
} // namespace coro } // namespace coro
} // namespace folly } // namespace folly
#endif // FOLLY_HAS_COROUTINES
...@@ -16,9 +16,12 @@ ...@@ -16,9 +16,12 @@
#pragma once #pragma once
#include <folly/experimental/coro/Coroutine.h>
#include <folly/experimental/coro/Task.h> #include <folly/experimental/coro/Task.h>
#include <folly/futures/Future.h> #include <folly/futures/Future.h>
#if FOLLY_HAS_COROUTINES
namespace folly { namespace folly {
namespace coro { namespace coro {
...@@ -37,4 +40,6 @@ Task<void> sleepReturnEarlyOnCancel(Duration d, Timekeeper* tk = nullptr); ...@@ -37,4 +40,6 @@ Task<void> sleepReturnEarlyOnCancel(Duration d, Timekeeper* tk = nullptr);
} // namespace coro } // namespace coro
} // namespace folly } // namespace folly
#endif // FOLLY_HAS_COROUTINES
#include <folly/experimental/coro/Sleep-inl.h> #include <folly/experimental/coro/Sleep-inl.h>
...@@ -17,7 +17,6 @@ ...@@ -17,7 +17,6 @@
#pragma once #pragma once
#include <exception> #include <exception>
#include <experimental/coroutine>
#include <type_traits> #include <type_traits>
#include <glog/logging.h> #include <glog/logging.h>
...@@ -28,6 +27,7 @@ ...@@ -28,6 +27,7 @@
#include <folly/ScopeGuard.h> #include <folly/ScopeGuard.h>
#include <folly/Traits.h> #include <folly/Traits.h>
#include <folly/Try.h> #include <folly/Try.h>
#include <folly/experimental/coro/Coroutine.h>
#include <folly/experimental/coro/CurrentExecutor.h> #include <folly/experimental/coro/CurrentExecutor.h>
#include <folly/experimental/coro/Invoke.h> #include <folly/experimental/coro/Invoke.h>
#include <folly/experimental/coro/Result.h> #include <folly/experimental/coro/Result.h>
...@@ -44,6 +44,8 @@ ...@@ -44,6 +44,8 @@
#include <folly/lang/Assume.h> #include <folly/lang/Assume.h>
#include <folly/tracing/AsyncStack.h> #include <folly/tracing/AsyncStack.h>
#if FOLLY_HAS_COROUTINES
namespace folly { namespace folly {
namespace coro { namespace coro {
...@@ -752,3 +754,5 @@ inline Task<void> detail::TaskPromise<void>::get_return_object() noexcept { ...@@ -752,3 +754,5 @@ inline Task<void> detail::TaskPromise<void>::get_return_object() noexcept {
} // namespace coro } // namespace coro
} // namespace folly } // namespace folly
#endif // FOLLY_HAS_COROUTINES
...@@ -16,17 +16,19 @@ ...@@ -16,17 +16,19 @@
#pragma once #pragma once
#include <experimental/coroutine>
#include <type_traits> #include <type_traits>
#include <folly/Optional.h> #include <folly/Optional.h>
#include <folly/experimental/coro/Baton.h> #include <folly/experimental/coro/Baton.h>
#include <folly/experimental/coro/Coroutine.h>
#include <folly/experimental/coro/Invoke.h> #include <folly/experimental/coro/Invoke.h>
#include <folly/experimental/coro/Task.h> #include <folly/experimental/coro/Task.h>
#include <folly/experimental/coro/Traits.h> #include <folly/experimental/coro/Traits.h>
#include <folly/experimental/coro/detail/Helpers.h> #include <folly/experimental/coro/detail/Helpers.h>
#include <folly/futures/Future.h> #include <folly/futures/Future.h>
#if FOLLY_HAS_COROUTINES
namespace folly { namespace folly {
namespace coro { namespace coro {
template <typename Awaitable> template <typename Awaitable>
...@@ -70,3 +72,5 @@ timed_wait(Awaitable awaitable, Duration duration) { ...@@ -70,3 +72,5 @@ timed_wait(Awaitable awaitable, Duration duration) {
} // namespace coro } // namespace coro
} // namespace folly } // namespace folly
#endif // FOLLY_HAS_COROUTINES
...@@ -18,6 +18,8 @@ ...@@ -18,6 +18,8 @@
#include <folly/experimental/coro/Baton.h> #include <folly/experimental/coro/Baton.h>
#include <folly/experimental/coro/WithCancellation.h> #include <folly/experimental/coro/WithCancellation.h>
#if FOLLY_HAS_COROUTINES
namespace folly::coro { namespace folly::coro {
template <typename SemiAwaitable, typename Duration> template <typename SemiAwaitable, typename Duration>
...@@ -102,3 +104,5 @@ timeout(SemiAwaitable semiAwaitable, Duration timeoutDuration, Timekeeper* tk) { ...@@ -102,3 +104,5 @@ timeout(SemiAwaitable semiAwaitable, Duration timeoutDuration, Timekeeper* tk) {
} }
} // namespace folly::coro } // namespace folly::coro
#endif // FOLLY_HAS_COROUTINES
...@@ -16,10 +16,13 @@ ...@@ -16,10 +16,13 @@
#pragma once #pragma once
#include <folly/experimental/coro/Coroutine.h>
#include <folly/experimental/coro/Task.h> #include <folly/experimental/coro/Task.h>
#include <folly/experimental/coro/Traits.h> #include <folly/experimental/coro/Traits.h>
#include <folly/futures/Future.h> #include <folly/futures/Future.h>
#if FOLLY_HAS_COROUTINES
namespace folly::coro { namespace folly::coro {
// Returns a Task that, when started, starts a timer of duration // Returns a Task that, when started, starts a timer of duration
...@@ -47,4 +50,6 @@ Task<semi_await_result_t<SemiAwaitable>> timeout( ...@@ -47,4 +50,6 @@ Task<semi_await_result_t<SemiAwaitable>> timeout(
} // namespace folly::coro } // namespace folly::coro
#endif // FOLLY_HAS_COROUTINES
#include <folly/experimental/coro/Timeout-inl.h> #include <folly/experimental/coro/Timeout-inl.h>
...@@ -17,10 +17,12 @@ ...@@ -17,10 +17,12 @@
#pragma once #pragma once
#include <folly/Traits.h> #include <folly/Traits.h>
#include <folly/experimental/coro/Coroutine.h>
#include <experimental/coroutine>
#include <type_traits> #include <type_traits>
#if FOLLY_HAS_COROUTINES
namespace folly { namespace folly {
namespace coro { namespace coro {
...@@ -209,3 +211,5 @@ constexpr bool promiseHasAsyncFrame_v< ...@@ -209,3 +211,5 @@ constexpr bool promiseHasAsyncFrame_v<
} // namespace coro } // namespace coro
} // namespace folly } // namespace folly
#endif // FOLLY_HAS_COROUTINES
...@@ -16,6 +16,8 @@ ...@@ -16,6 +16,8 @@
#include <folly/experimental/coro/Transform.h> #include <folly/experimental/coro/Transform.h>
#if FOLLY_HAS_COROUTINES
namespace folly { namespace folly {
namespace coro { namespace coro {
...@@ -30,3 +32,5 @@ AsyncGenerator<invoke_result_t<TransformFn&, Reference>> transform( ...@@ -30,3 +32,5 @@ AsyncGenerator<invoke_result_t<TransformFn&, Reference>> transform(
} // namespace coro } // namespace coro
} // namespace folly } // namespace folly
#endif // FOLLY_HAS_COROUTINES
...@@ -17,6 +17,9 @@ ...@@ -17,6 +17,9 @@
#pragma once #pragma once
#include <folly/experimental/coro/AsyncGenerator.h> #include <folly/experimental/coro/AsyncGenerator.h>
#include <folly/experimental/coro/Coroutine.h>
#if FOLLY_HAS_COROUTINES
namespace folly { namespace folly {
namespace coro { namespace coro {
...@@ -54,4 +57,6 @@ AsyncGenerator<invoke_result_t<TransformFn&, Reference>> transform( ...@@ -54,4 +57,6 @@ AsyncGenerator<invoke_result_t<TransformFn&, Reference>> transform(
} // namespace coro } // namespace coro
} // namespace folly } // namespace folly
#endif // FOLLY_HAS_COROUTINES
#include <folly/experimental/coro/Transform-inl.h> #include <folly/experimental/coro/Transform-inl.h>
...@@ -17,9 +17,12 @@ ...@@ -17,9 +17,12 @@
#pragma once #pragma once
#include <folly/concurrency/UnboundedQueue.h> #include <folly/concurrency/UnboundedQueue.h>
#include <folly/experimental/coro/Coroutine.h>
#include <folly/experimental/coro/Task.h> #include <folly/experimental/coro/Task.h>
#include <folly/fibers/Semaphore.h> #include <folly/fibers/Semaphore.h>
#if FOLLY_HAS_COROUTINES
namespace folly { namespace folly {
namespace coro { namespace coro {
...@@ -67,3 +70,5 @@ class UnboundedQueue { ...@@ -67,3 +70,5 @@ class UnboundedQueue {
} // namespace coro } // namespace coro
} // namespace folly } // namespace folly
#endif // FOLLY_HAS_COROUTINES
...@@ -16,12 +16,15 @@ ...@@ -16,12 +16,15 @@
#pragma once #pragma once
#include <experimental/coroutine>
#include <type_traits> #include <type_traits>
#include <variant> #include <variant>
#include <folly/Utility.h> #include <folly/Utility.h>
#include <folly/experimental/coro/Coroutine.h>
#if FOLLY_HAS_COROUTINES
namespace folly { namespace folly {
namespace coro { namespace coro {
...@@ -112,3 +115,5 @@ class AwaitableVariant : private std::variant<A...> { ...@@ -112,3 +115,5 @@ class AwaitableVariant : private std::variant<A...> {
} // namespace coro } // namespace coro
} // namespace folly } // namespace folly
#endif // FOLLY_HAS_COROUTINES
...@@ -16,11 +16,11 @@ ...@@ -16,11 +16,11 @@
#pragma once #pragma once
#include <experimental/coroutine>
#include <memory> #include <memory>
#include <folly/Executor.h> #include <folly/Executor.h>
#include <folly/Traits.h> #include <folly/Traits.h>
#include <folly/experimental/coro/Coroutine.h>
#include <folly/experimental/coro/Traits.h> #include <folly/experimental/coro/Traits.h>
#include <folly/experimental/coro/WithAsyncStack.h> #include <folly/experimental/coro/WithAsyncStack.h>
#include <folly/experimental/coro/WithCancellation.h> #include <folly/experimental/coro/WithCancellation.h>
...@@ -31,6 +31,8 @@ ...@@ -31,6 +31,8 @@
#include <glog/logging.h> #include <glog/logging.h>
#if FOLLY_HAS_COROUTINES
namespace folly { namespace folly {
class InlineExecutor; class InlineExecutor;
...@@ -621,3 +623,5 @@ detail::TryAwaitable<remove_cvref_t<Awaitable>> co_awaitTry( ...@@ -621,3 +623,5 @@ detail::TryAwaitable<remove_cvref_t<Awaitable>> co_awaitTry(
} // namespace coro } // namespace coro
} // namespace folly } // namespace folly
#endif // FOLLY_HAS_COROUTINES
...@@ -16,9 +16,12 @@ ...@@ -16,9 +16,12 @@
#pragma once #pragma once
#include <experimental/coroutine>
#include <future> #include <future>
#include <folly/experimental/coro/Coroutine.h>
#if FOLLY_HAS_COROUTINES
namespace folly { namespace folly {
namespace coro { namespace coro {
...@@ -67,3 +70,5 @@ class Wait { ...@@ -67,3 +70,5 @@ class Wait {
}; };
} // namespace coro } // namespace coro
} // namespace folly } // namespace folly
#endif // FOLLY_HAS_COROUTINES
...@@ -16,6 +16,7 @@ ...@@ -16,6 +16,7 @@
#pragma once #pragma once
#include <folly/experimental/coro/Coroutine.h>
#include <folly/experimental/coro/Traits.h> #include <folly/experimental/coro/Traits.h>
#include <folly/functional/Invoke.h> #include <folly/functional/Invoke.h>
#include <folly/lang/Assume.h> #include <folly/lang/Assume.h>
...@@ -26,6 +27,8 @@ ...@@ -26,6 +27,8 @@
#include <type_traits> #include <type_traits>
#include <utility> #include <utility>
#if FOLLY_HAS_COROUTINES
namespace folly::coro { namespace folly::coro {
namespace detail { namespace detail {
...@@ -258,3 +261,5 @@ inline constexpr bool is_awaitable_async_stack_aware_v = ...@@ -258,3 +261,5 @@ inline constexpr bool is_awaitable_async_stack_aware_v =
FOLLY_DEFINE_CPO(detail::WithAsyncStackFunction, co_withAsyncStack) FOLLY_DEFINE_CPO(detail::WithAsyncStackFunction, co_withAsyncStack)
} // namespace folly::coro } // namespace folly::coro
#endif // FOLLY_HAS_COROUTINES
...@@ -17,8 +17,11 @@ ...@@ -17,8 +17,11 @@
#pragma once #pragma once
#include <folly/CancellationToken.h> #include <folly/CancellationToken.h>
#include <folly/experimental/coro/Coroutine.h>
#include <folly/lang/CustomizationPoint.h> #include <folly/lang/CustomizationPoint.h>
#if FOLLY_HAS_COROUTINES
namespace folly { namespace folly {
namespace coro { namespace coro {
...@@ -65,3 +68,5 @@ FOLLY_DEFINE_CPO(detail::adl::WithCancellationFunction, co_withCancellation) ...@@ -65,3 +68,5 @@ FOLLY_DEFINE_CPO(detail::adl::WithCancellationFunction, co_withCancellation)
} // namespace coro } // namespace coro
} // namespace folly } // namespace folly
#endif // FOLLY_HAS_COROUTINES
...@@ -16,6 +16,7 @@ ...@@ -16,6 +16,7 @@
#pragma once #pragma once
#include <folly/experimental/coro/Coroutine.h>
#include <folly/experimental/coro/Traits.h> #include <folly/experimental/coro/Traits.h>
#include <folly/experimental/coro/WithAsyncStack.h> #include <folly/experimental/coro/WithAsyncStack.h>
#include <folly/tracing/AsyncStack.h> #include <folly/tracing/AsyncStack.h>
...@@ -24,9 +25,10 @@ ...@@ -24,9 +25,10 @@
#include <cassert> #include <cassert>
#include <cstddef> #include <cstddef>
#include <cstdint> #include <cstdint>
#include <experimental/coroutine>
#include <utility> #include <utility>
#if FOLLY_HAS_COROUTINES
namespace folly { namespace folly {
namespace coro { namespace coro {
namespace detail { namespace detail {
...@@ -154,3 +156,5 @@ class Barrier { ...@@ -154,3 +156,5 @@ class Barrier {
} // namespace detail } // namespace detail
} // namespace coro } // namespace coro
} // namespace folly } // namespace folly
#endif // FOLLY_HAS_COROUTINES
...@@ -16,14 +16,16 @@ ...@@ -16,14 +16,16 @@
#pragma once #pragma once
#include <folly/experimental/coro/Coroutine.h>
#include <folly/experimental/coro/WithAsyncStack.h> #include <folly/experimental/coro/WithAsyncStack.h>
#include <folly/experimental/coro/detail/Barrier.h> #include <folly/experimental/coro/detail/Barrier.h>
#include <folly/experimental/coro/detail/Malloc.h> #include <folly/experimental/coro/detail/Malloc.h>
#include <cassert> #include <cassert>
#include <experimental/coroutine>
#include <utility> #include <utility>
#if FOLLY_HAS_COROUTINES
namespace folly { namespace folly {
namespace coro { namespace coro {
namespace detail { namespace detail {
...@@ -222,3 +224,5 @@ class DetachedBarrierTask { ...@@ -222,3 +224,5 @@ class DetachedBarrierTask {
} // namespace detail } // namespace detail
} // namespace coro } // namespace coro
} // namespace folly } // namespace folly
#endif // FOLLY_HAS_COROUTINES
...@@ -24,10 +24,11 @@ ...@@ -24,10 +24,11 @@
#pragma once #pragma once
#include <folly/Executor.h> #include <folly/Executor.h>
#include <folly/experimental/coro/Coroutine.h>
#include <folly/experimental/coro/WithAsyncStack.h> #include <folly/experimental/coro/WithAsyncStack.h>
#include <folly/tracing/AsyncStack.h> #include <folly/tracing/AsyncStack.h>
#include <experimental/coroutine> #if FOLLY_HAS_COROUTINES
namespace folly { namespace folly {
namespace coro { namespace coro {
...@@ -73,3 +74,5 @@ inline constexpr CurrentAsyncStackFrameAwaitable co_current_async_stack_frame{}; ...@@ -73,3 +74,5 @@ inline constexpr CurrentAsyncStackFrameAwaitable co_current_async_stack_frame{};
} // namespace detail } // namespace detail
} // namespace coro } // namespace coro
} // namespace folly } // namespace folly
#endif // FOLLY_HAS_COROUTINES
...@@ -18,9 +18,12 @@ ...@@ -18,9 +18,12 @@
#include <folly/Executor.h> #include <folly/Executor.h>
#include <folly/SingletonThreadLocal.h> #include <folly/SingletonThreadLocal.h>
#include <folly/experimental/coro/Coroutine.h>
#include <folly/io/async/Request.h> #include <folly/io/async/Request.h>
#include <folly/tracing/AsyncStack.h> #include <folly/tracing/AsyncStack.h>
#if FOLLY_HAS_COROUTINES
namespace folly { namespace folly {
namespace coro { namespace coro {
namespace detail { namespace detail {
...@@ -46,3 +49,5 @@ class UnsafeResumeInlineSemiAwaitable { ...@@ -46,3 +49,5 @@ class UnsafeResumeInlineSemiAwaitable {
} // namespace detail } // namespace detail
} // namespace coro } // namespace coro
} // namespace folly } // namespace folly
#endif // FOLLY_HAS_COROUTINES
...@@ -18,15 +18,17 @@ ...@@ -18,15 +18,17 @@
#include <folly/ScopeGuard.h> #include <folly/ScopeGuard.h>
#include <folly/Try.h> #include <folly/Try.h>
#include <folly/experimental/coro/Coroutine.h>
#include <folly/experimental/coro/WithAsyncStack.h> #include <folly/experimental/coro/WithAsyncStack.h>
#include <folly/experimental/coro/detail/Malloc.h> #include <folly/experimental/coro/detail/Malloc.h>
#include <folly/lang/Assume.h> #include <folly/lang/Assume.h>
#include <folly/tracing/AsyncStack.h> #include <folly/tracing/AsyncStack.h>
#include <cassert> #include <cassert>
#include <experimental/coroutine>
#include <utility> #include <utility>
#if FOLLY_HAS_COROUTINES
namespace folly { namespace folly {
namespace coro { namespace coro {
namespace detail { namespace detail {
...@@ -322,3 +324,5 @@ struct InlineTaskDetached { ...@@ -322,3 +324,5 @@ struct InlineTaskDetached {
} // namespace detail } // namespace detail
} // namespace coro } // namespace coro
} // namespace folly } // namespace folly
#endif // FOLLY_HAS_COROUTINES
...@@ -30,9 +30,7 @@ ...@@ -30,9 +30,7 @@
#error "Cannot build without at least one of AsyncIO.h and IoUring.h" #error "Cannot build without at least one of AsyncIO.h and IoUring.h"
#endif #endif
#if FOLLY_HAS_COROUTINES
#include <folly/experimental/coro/Baton.h> #include <folly/experimental/coro/Baton.h>
#endif
#include <folly/portability/Sockets.h> #include <folly/portability/Sockets.h>
namespace folly { namespace folly {
......
...@@ -18,15 +18,12 @@ ...@@ -18,15 +18,12 @@
#include <folly/Synchronized.h> #include <folly/Synchronized.h>
#include <folly/executors/GlobalExecutor.h> #include <folly/executors/GlobalExecutor.h>
#include <folly/experimental/coro/Task.h>
#include <folly/experimental/io/AsyncBase.h> #include <folly/experimental/io/AsyncBase.h>
#include <folly/io/async/EventHandler.h> #include <folly/io/async/EventHandler.h>
#include <folly/io/async/ScopedEventBaseThread.h> #include <folly/io/async/ScopedEventBaseThread.h>
#include <queue> #include <queue>
#if FOLLY_HAS_COROUTINES
#include <folly/experimental/coro/Task.h>
#endif
namespace folly { namespace folly {
class SimpleAsyncIO : public EventHandler { class SimpleAsyncIO : public EventHandler {
......
...@@ -20,12 +20,9 @@ ...@@ -20,12 +20,9 @@
#include <folly/Portability.h> #include <folly/Portability.h>
#include <folly/detail/Futex.h> #include <folly/detail/Futex.h>
#include <folly/experimental/coro/Coroutine.h>
#include <folly/io/async/HHWheelTimer.h> #include <folly/io/async/HHWheelTimer.h>
#if FOLLY_HAS_COROUTINES
#include <experimental/coroutine>
#endif
namespace folly { namespace folly {
namespace fibers { namespace fibers {
......
...@@ -18,11 +18,9 @@ ...@@ -18,11 +18,9 @@
#include <folly/IntrusiveList.h> #include <folly/IntrusiveList.h>
#include <folly/Synchronized.h> #include <folly/Synchronized.h>
#include <folly/experimental/coro/Task.h>
#include <folly/fibers/Baton.h> #include <folly/fibers/Baton.h>
#include <folly/futures/Future.h> #include <folly/futures/Future.h>
#if FOLLY_HAS_COROUTINES
#include <folly/experimental/coro/Task.h>
#endif
#include <deque> #include <deque>
......
...@@ -32,6 +32,7 @@ ...@@ -32,6 +32,7 @@
#include <folly/Utility.h> #include <folly/Utility.h>
#include <folly/executors/DrivableExecutor.h> #include <folly/executors/DrivableExecutor.h>
#include <folly/executors/TimedDrivableExecutor.h> #include <folly/executors/TimedDrivableExecutor.h>
#include <folly/experimental/coro/Traits.h>
#include <folly/fibers/Baton.h> #include <folly/fibers/Baton.h>
#include <folly/functional/Invoke.h> #include <folly/functional/Invoke.h>
#include <folly/futures/Portability.h> #include <folly/futures/Portability.h>
...@@ -39,12 +40,6 @@ ...@@ -39,12 +40,6 @@
#include <folly/futures/detail/Types.h> #include <folly/futures/detail/Types.h>
#include <folly/lang/Exception.h> #include <folly/lang/Exception.h>
#if FOLLY_HAS_COROUTINES
#include <experimental/coroutine>
#include <folly/experimental/coro/Traits.h>
#endif
// boring predeclarations and details // boring predeclarations and details
#include <folly/futures/Future-pre.h> #include <folly/futures/Future-pre.h>
......
...@@ -22,10 +22,7 @@ ...@@ -22,10 +22,7 @@
#include <folly/CPortability.h> #include <folly/CPortability.h>
#include <folly/CppAttributes.h> #include <folly/CppAttributes.h>
#include <folly/Portability.h> #include <folly/Portability.h>
#include <folly/experimental/coro/Coroutine.h>
#if FOLLY_HAS_COROUTINES
#include <experimental/coroutine>
#endif
namespace folly { namespace folly {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment