├── .buckconfig ├── .buckconfig.d ├── common.buckconfig └── external_cells │ └── facebook │ └── buck2-shims-meta │ └── external_cell.buckconfig ├── .buckroot ├── .github ├── scripts │ ├── bad_targets │ └── buck_build_and_test.sh └── workflows │ ├── TagIt.yml │ ├── getdeps_linux.yml │ ├── getdeps_mac.yml │ ├── getdeps_windows.yml │ └── oss-build-and-test.yml ├── .gitignore ├── .projectid ├── BUCK ├── CMake ├── FindCython.cmake ├── FindFastFloat.cmake ├── FindFmt.cmake ├── FindLZ4.cmake ├── FindLibAIO.cmake ├── FindLibDwarf.cmake ├── FindLibUring.cmake ├── FindLibiberty.cmake ├── FindLibsodium.cmake ├── FindSnappy.cmake ├── FindZstd.cmake ├── FollyCompilerMSVC.cmake ├── FollyCompilerUnix.cmake ├── FollyConfigChecks.cmake ├── FollyFunctions.cmake ├── GenPkgConfig.cmake ├── folly-config.cmake.in ├── folly-config.h.cmake ├── folly-deps.cmake └── libfolly.pc.in ├── CMakeLists.txt ├── CMakeListsForBuck2.txt ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE ├── PACKAGE ├── README.md ├── buck2 ├── build.bat ├── build.sh ├── build ├── buck2 │ ├── README.md │ └── install_deps │ │ ├── BUCK │ │ ├── install_deps.sh │ │ └── repos │ │ ├── fedora │ │ ├── homebrew │ │ └── ubuntu └── fbcode_builder │ ├── .gitignore │ ├── CMake │ ├── FBBuildOptions.cmake │ ├── FBCMakeParseArgs.cmake │ ├── FBCompilerSettings.cmake │ ├── FBCompilerSettingsMSVC.cmake │ ├── FBCompilerSettingsUnix.cmake │ ├── FBPythonBinary.cmake │ ├── FBPythonTestAddTests.cmake │ ├── FBThriftCppLibrary.cmake │ ├── FBThriftLibrary.cmake │ ├── FBThriftPyLibrary.cmake │ ├── FindDoubleConversion.cmake │ ├── FindGMock.cmake │ ├── FindGflags.cmake │ ├── FindGlog.cmake │ ├── FindLMDB.cmake │ ├── FindLibEvent.cmake │ ├── FindLibUnwind.cmake │ ├── FindPCRE.cmake │ ├── FindPCRE2.cmake │ ├── FindRe2.cmake │ ├── FindSodium.cmake │ ├── FindXxhash.cmake │ ├── FindZstd.cmake │ ├── RustStaticLibrary.cmake │ ├── fb_py_test_main.py │ ├── fb_py_win_main.c │ └── make_fbpy_archive.py │ ├── LICENSE │ ├── README.md │ ├── getdeps.py │ ├── getdeps │ ├── __init__.py │ ├── builder.py │ ├── buildopts.py │ ├── cache.py │ ├── cargo.py │ ├── copytree.py │ ├── dyndeps.py │ ├── envfuncs.py │ ├── errors.py │ ├── expr.py │ ├── fetcher.py │ ├── load.py │ ├── manifest.py │ ├── platform.py │ ├── py_wheel_builder.py │ ├── runcmd.py │ ├── subcmd.py │ └── test │ │ ├── expr_test.py │ │ ├── fixtures │ │ └── duplicate │ │ │ ├── foo │ │ │ └── subdir │ │ │ └── foo │ │ ├── manifest_test.py │ │ ├── platform_test.py │ │ ├── retry_test.py │ │ └── scratch_test.py │ ├── manifests │ ├── CLI11 │ ├── autoconf │ ├── automake │ ├── benchmark │ ├── blake3 │ ├── boost │ ├── bz2 │ ├── cabal │ ├── cachelib │ ├── clang │ ├── cmake │ ├── cpptoml │ ├── double-conversion │ ├── eden │ ├── edencommon │ ├── exprtk │ ├── fast_float │ ├── fatal │ ├── fb303 │ ├── fboss │ ├── fbthrift │ ├── fizz │ ├── fmt │ ├── folly │ ├── gflags │ ├── ghc │ ├── git-lfs │ ├── glean │ ├── glog │ ├── googletest │ ├── gperf │ ├── hexdump │ ├── hsthrift │ ├── iproute2 │ ├── jom │ ├── jq │ ├── katran │ ├── libaio │ ├── libbpf │ ├── libcurl │ ├── libdwarf │ ├── libelf │ ├── libevent │ ├── libffi │ ├── libgit2 │ ├── libgpiod │ ├── libiberty │ ├── libmnl │ ├── libnl │ ├── liboqs │ ├── libsai │ ├── libsodium │ ├── libtool │ ├── libunwind │ ├── libusb │ ├── libyaml │ ├── llvm │ ├── lmdb │ ├── lz4 │ ├── mcrouter │ ├── mononoke │ ├── mononoke_integration │ ├── mvfst │ ├── ncurses │ ├── nghttp2 │ ├── ninja │ ├── nlohmann-json │ ├── nmap │ ├── numa │ ├── openr │ ├── openssl │ ├── osxfuse │ ├── patchelf │ ├── pcre2 │ ├── perl │ ├── pexpect │ ├── proxygen │ ├── python │ ├── python-click │ ├── python-filelock │ ├── python-ptyprocess │ ├── python-setuptools │ ├── python-six │ ├── python-toml │ ├── ragel │ ├── range-v3 │ ├── re2 │ ├── ripgrep │ ├── rocksdb │ ├── rust-shed │ ├── sapling │ ├── snappy │ ├── sparsemap │ ├── sqlite3 │ ├── systemd │ ├── tree │ ├── wangle │ ├── watchman │ ├── xxhash │ ├── xz │ ├── yaml-cpp │ ├── zlib │ └── zstd │ └── patches │ ├── boost_comparator_operator_fix.patch │ ├── iproute2_oss.patch │ ├── libiberty_install_pic_lib.patch │ └── zlib_dont_build_more_than_needed.patch ├── folly ├── .clang-format ├── AtomicHashArray-inl.h ├── AtomicHashArray.h ├── AtomicHashMap-inl.h ├── AtomicHashMap.h ├── AtomicIntrusiveLinkedList.h ├── AtomicLinkedList.h ├── AtomicUnorderedMap.h ├── BUCK ├── BUILD_MODE.bzl ├── Benchmark.cpp ├── Benchmark.h ├── BenchmarkUtil.h ├── Bits.h ├── CMakeLists.txt ├── CODING_GUIDELINES.md ├── CPortability.h ├── CancellationToken-inl.h ├── CancellationToken.cpp ├── CancellationToken.h ├── Chrono.h ├── ClockGettimeWrappers.cpp ├── ClockGettimeWrappers.h ├── ConcurrentBitSet.h ├── ConcurrentLazy.h ├── ConcurrentSkipList-inl.h ├── ConcurrentSkipList.h ├── ConstexprMath.h ├── ConstructorCallbackList.h ├── Conv.cpp ├── Conv.h ├── CppAttributes.h ├── CpuId.h ├── DefaultKeepAliveExecutor.h ├── Demangle.cpp ├── Demangle.h ├── DiscriminatedPtr.h ├── DynamicConverter.h ├── Exception.h ├── ExceptionString.cpp ├── ExceptionString.h ├── ExceptionWrapper-inl.h ├── ExceptionWrapper.cpp ├── ExceptionWrapper.h ├── Executor.cpp ├── Executor.h ├── Expected.h ├── FBString.h ├── FBVector.h ├── File.cpp ├── File.h ├── FileUtil.cpp ├── FileUtil.h ├── Fingerprint.cpp ├── Fingerprint.h ├── FixedString.h ├── FmtUtility.cpp ├── FmtUtility.h ├── FollyMemcpy.cpp ├── FollyMemcpy.h ├── FollyMemset.cpp ├── FollyMemset.h ├── Format-inl.h ├── Format.cpp ├── Format.h ├── FormatArg.h ├── FormatTraits.h ├── Function.h ├── GLog.h ├── GroupVarint.cpp ├── GroupVarint.h ├── Hash.h ├── IPAddress.cpp ├── IPAddress.h ├── IPAddressException.h ├── IPAddressV4.cpp ├── IPAddressV4.h ├── IPAddressV6.cpp ├── IPAddressV6.h ├── Indestructible.h ├── IndexedMemPool.h ├── IntrusiveList.h ├── Lazy.h ├── Likely.h ├── MPMCPipeline.h ├── MPMCQueue.h ├── MacAddress.cpp ├── MacAddress.h ├── MapUtil.h ├── Math.h ├── MaybeManagedPtr.h ├── Memory.h ├── MicroLock.cpp ├── MicroLock.h ├── MicroSpinLock.h ├── MoveWrapper.h ├── ObserverContainer.h ├── OperationCancelled.h ├── Optional.h ├── Overload.h ├── PackedSyncPtr.h ├── Padded.h ├── Poly-inl.h ├── Poly.h ├── PolyException.h ├── Portability.h ├── Preprocessor.h ├── ProducerConsumerQueue.h ├── RWSpinLock.h ├── Random-inl.h ├── Random.cpp ├── Random.h ├── Range.h ├── Replaceable.h ├── ScopeGuard.cpp ├── ScopeGuard.h ├── SharedMutex.cpp ├── SharedMutex.h ├── Singleton-inl.h ├── Singleton.cpp ├── Singleton.h ├── SingletonThreadLocal.cpp ├── SingletonThreadLocal.h ├── SocketAddress.cpp ├── SocketAddress.h ├── SpinLock.h ├── String-inl.h ├── String.cpp ├── String.h ├── Subprocess.cpp ├── Subprocess.h ├── Synchronized.h ├── SynchronizedPtr.h ├── ThreadCachedInt.h ├── ThreadLocal.h ├── TimeoutQueue.cpp ├── TimeoutQueue.h ├── TokenBucket.h ├── Traits.h ├── Try-inl.h ├── Try.cpp ├── Try.h ├── UTF8String.h ├── Unicode.cpp ├── Unicode.h ├── Unit.h ├── Uri-inl.h ├── Uri.cpp ├── Uri.h ├── Utility.h ├── VERSION ├── Varint.h ├── VirtualExecutor.h ├── algorithm │ ├── BUCK │ ├── BinaryHeap.h │ ├── simd │ │ ├── BUCK │ │ ├── Contains.cpp │ │ ├── Contains.h │ │ ├── FindFixed.h │ │ ├── Ignore.h │ │ ├── Movemask.h │ │ ├── detail │ │ │ ├── BUCK │ │ │ ├── ContainsImpl.h │ │ │ ├── SimdAnyOf.h │ │ │ ├── SimdForEach.h │ │ │ ├── SimdPlatform.h │ │ │ ├── Traits.h │ │ │ ├── UnrollUtils.h │ │ │ └── test │ │ │ │ ├── BUCK │ │ │ │ ├── SimdAnyOfTest.cpp │ │ │ │ ├── SimdForEachTest.cpp │ │ │ │ ├── TraitsTest.cpp │ │ │ │ └── UnrollUtilsTest.cpp │ │ ├── find_first_of.h │ │ ├── find_first_of_extra.h │ │ └── test │ │ │ ├── BUCK │ │ │ ├── ContainsTest.cpp │ │ │ ├── FindFixedBenchmark.cpp │ │ │ ├── FindFixedTest.cpp │ │ │ ├── MovemaskTest.cpp │ │ │ ├── find_first_of_bench.cpp │ │ │ └── find_first_of_test.cpp │ └── test │ │ ├── BUCK │ │ └── BinaryHeapTest.cpp ├── base64.h ├── buck_config │ ├── BUCK │ └── constraints │ │ └── BUCK ├── build │ ├── bootstrap-osx-homebrew.sh │ └── build-debs-ubuntu-18.04.sh ├── channels │ ├── BUCK │ ├── Channel-fwd.h │ ├── Channel-inl.h │ ├── Channel.h │ ├── ChannelCallbackHandle.h │ ├── ChannelProcessor-inl.h │ ├── ChannelProcessor.h │ ├── ConsumeChannel-inl.h │ ├── ConsumeChannel.h │ ├── FanoutChannel-inl.h │ ├── FanoutChannel.h │ ├── FanoutSender-inl.h │ ├── FanoutSender.h │ ├── MaxConcurrentRateLimiter.cpp │ ├── MaxConcurrentRateLimiter.h │ ├── Merge-inl.h │ ├── Merge.h │ ├── MergeChannel-inl.h │ ├── MergeChannel.h │ ├── MultiplexChannel-inl.h │ ├── MultiplexChannel.h │ ├── OnClosedException.h │ ├── Producer-inl.h │ ├── Producer.h │ ├── ProxyChannel-inl.h │ ├── ProxyChannel.h │ ├── RateLimiter.h │ ├── Transform-inl.h │ ├── Transform.h │ ├── detail │ │ ├── AtomicQueue.h │ │ ├── BUCK │ │ ├── ChannelBridge.h │ │ ├── IntrusivePtr.h │ │ ├── MultiplexerTraits.h │ │ ├── PointerVariant.h │ │ ├── Utility.h │ │ └── test │ │ │ ├── AtomicQueueTest.cpp │ │ │ ├── BUCK │ │ │ └── PointerVariantTest.cpp │ └── test │ │ ├── BUCK │ │ ├── ChannelProcessorTest.cpp │ │ ├── ChannelTest.cpp │ │ ├── ChannelTestUtil.h │ │ ├── FanoutChannelTest.cpp │ │ ├── FanoutSenderTest.cpp │ │ ├── MaxConcurrentRateLimiterTest.cpp │ │ ├── MergeChannelTest.cpp │ │ ├── MergeTest.cpp │ │ ├── MultiplexChannelTest.cpp │ │ ├── ProducerTest.cpp │ │ ├── ProxyChannelTest.cpp │ │ └── TransformTest.cpp ├── chrono │ ├── BUCK │ ├── Clock.h │ ├── Conv.h │ ├── Hardware.h │ └── test │ │ ├── BUCK │ │ ├── ClockTest.cpp │ │ └── ConvTest.cpp ├── cli │ ├── BUCK │ ├── NestedCommandLineApp.cpp │ ├── NestedCommandLineApp.h │ ├── ProgramOptions.cpp │ ├── ProgramOptions.h │ └── test │ │ ├── BUCK │ │ ├── NestedCommandLineAppExample.cpp │ │ ├── NestedCommandLineAppTest.cpp │ │ ├── NestedCommandLineAppTestHelper.cpp │ │ ├── ProgramOptionsTest.cpp │ │ └── ProgramOptionsTestHelper.cpp ├── codec │ ├── BUCK │ ├── Uuid.h │ ├── hex.h │ └── test │ │ ├── BUCK │ │ ├── UuidBenchmark.cpp │ │ ├── UuidTest.cpp │ │ └── hex_test.cpp ├── compression │ ├── BUCK │ ├── Compression.cpp │ ├── Compression.h │ ├── CompressionContextPool.h │ ├── CompressionContextPoolSingletons.cpp │ ├── CompressionContextPoolSingletons.h │ ├── CompressionCoreLocalContextPool.h │ ├── Instructions.h │ ├── QuotientMultiSet-inl.h │ ├── QuotientMultiSet.cpp │ ├── QuotientMultiSet.h │ ├── Select64.cpp │ ├── Select64.h │ ├── Utils.h │ ├── Zlib.cpp │ ├── Zlib.h │ ├── Zstd.cpp │ ├── Zstd.h │ ├── elias_fano │ │ ├── BUCK │ │ ├── BitVectorCoding.h │ │ ├── CodingDetail.h │ │ ├── EliasFanoCoding.h │ │ └── test │ │ │ ├── BUCK │ │ │ ├── BitVectorCodingTest.cpp │ │ │ └── EliasFanoCodingTest.cpp │ └── test │ │ ├── BUCK │ │ ├── CodingTestUtils.cpp │ │ ├── CodingTestUtils.h │ │ ├── CompressionContextPoolTest.cpp │ │ ├── CompressionTest.cpp │ │ ├── InstructionsTest.cpp │ │ ├── LargeTest.cpp │ │ ├── QuotientMultiSetBenchmark.cpp │ │ ├── QuotientMultiSetTest.cpp │ │ └── Select64Test.cpp ├── concurrency │ ├── AtomicSharedPtr.h │ ├── BUCK │ ├── CacheLocality.cpp │ ├── CacheLocality.h │ ├── ConcurrentHashMap.h │ ├── CoreCachedSharedPtr.h │ ├── DeadlockDetector.cpp │ ├── DeadlockDetector.h │ ├── DynamicBoundedQueue.h │ ├── PriorityUnboundedQueueSet.h │ ├── ProcessLocalUniqueId.cpp │ ├── ProcessLocalUniqueId.h │ ├── SingletonRelaxedCounter.h │ ├── ThreadCachedSynchronized.h │ ├── UnboundedQueue.h │ ├── container │ │ ├── BUCK │ │ ├── FlatCombiningPriorityQueue.h │ │ ├── LockFreeRingBuffer.h │ │ ├── RelaxedConcurrentPriorityQueue.h │ │ ├── SingleWriterFixedHashMap.h │ │ ├── atomic_grow_array.h │ │ └── test │ │ │ ├── BUCK │ │ │ ├── FlatCombiningPriorityQueueTest.cpp │ │ │ ├── LockFreeRingBufferTest.cpp │ │ │ ├── RelaxedConcurrentPriorityQueueTest.cpp │ │ │ ├── SingleWriterFixedHashMapTest.cpp │ │ │ └── atomic_grow_array_test.cpp │ ├── detail │ │ ├── AtomicSharedPtr-detail.h │ │ └── ConcurrentHashMap-detail.h │ ├── memory │ │ ├── AtomicReadMostlyMainPtr.cpp │ │ ├── AtomicReadMostlyMainPtr.h │ │ ├── BUCK │ │ ├── PrimaryPtr.h │ │ ├── ReadMostlySharedPtr.h │ │ ├── TLRefCount.h │ │ └── test │ │ │ ├── AtomicReadMostlyMainPtrBenchmark.cpp │ │ │ ├── AtomicReadMostlyMainPtrTest.cpp │ │ │ ├── BUCK │ │ │ ├── PrimaryPtrTest.cpp │ │ │ ├── ReadMostlySharedPtrBenchmark.cpp │ │ │ ├── ReadMostlySharedPtrStressTest.cpp │ │ │ ├── ReadMostlySharedPtrTest.cpp │ │ │ ├── RefCountBenchmark.cpp │ │ │ └── RefCountTest.cpp │ └── test │ │ ├── AtomicSharedPtrCounted.h │ │ ├── AtomicSharedPtrPerformance.cpp │ │ ├── AtomicSharedPtrTest.cpp │ │ ├── BUCK │ │ ├── CacheLocalityBenchmark.cpp │ │ ├── CacheLocalityTest.cpp │ │ ├── ConcurrentHashMapBench.cpp │ │ ├── ConcurrentHashMapStressTest.cpp │ │ ├── ConcurrentHashMapTest.cpp │ │ ├── CoreCachedSharedPtrTest.cpp │ │ ├── DynamicBoundedQueueTest.cpp │ │ ├── PriorityUnboundedQueueSetTest.cpp │ │ ├── ProcessLocalUniqueIdTest.cpp │ │ ├── SingletonRelaxedCounterBench.cpp │ │ ├── SingletonRelaxedCounterTest.cpp │ │ ├── ThreadCachedSynchronizedBench.cpp │ │ ├── ThreadCachedSynchronizedTest.cpp │ │ └── UnboundedQueueTest.cpp ├── container │ ├── Access.h │ ├── Array.h │ ├── BUCK │ ├── BitIterator.h │ ├── Enumerate.h │ ├── EvictingCacheMap.h │ ├── F14.md │ ├── F14Map-fwd.h │ ├── F14Map.h │ ├── F14Set-fwd.h │ ├── F14Set.h │ ├── FBVector.h │ ├── Foreach-inl.h │ ├── Foreach.h │ ├── HeterogeneousAccess-fwd.h │ ├── HeterogeneousAccess.h │ ├── IntrusiveHeap.h │ ├── IntrusiveList.h │ ├── Iterator.h │ ├── MapUtil.h │ ├── Merge.h │ ├── RegexMatchCache.cpp │ ├── RegexMatchCache.h │ ├── Reserve.h │ ├── SparseByteSet.h │ ├── View.h │ ├── WeightedEvictingCacheMap.h │ ├── detail │ │ ├── BUCK │ │ ├── BitIteratorDetail.h │ │ ├── BoolWrapper.h │ │ ├── F14Defaults.h │ │ ├── F14IntrinsicsAvailability.h │ │ ├── F14MapFallback.h │ │ ├── F14Mask.h │ │ ├── F14Policy.h │ │ ├── F14SetFallback.h │ │ ├── F14Table.cpp │ │ ├── F14Table.h │ │ ├── Util.h │ │ ├── tape_detail.h │ │ └── test │ │ │ ├── BUCK │ │ │ ├── BoolWrapperTest.cpp │ │ │ └── F14DetailTest.cpp │ ├── heap_vector_types.h │ ├── range_traits.h │ ├── small_vector.h │ ├── sorted_vector_types.h │ ├── span.h │ ├── tape.h │ ├── test │ │ ├── .clang-tidy │ │ ├── AccessTest.cpp │ │ ├── ArrayTest.cpp │ │ ├── BUCK │ │ ├── BitIteratorBench.cpp │ │ ├── BitIteratorTest.cpp │ │ ├── EnumerateTest.cpp │ │ ├── EvictingCacheMapBench.cpp │ │ ├── EvictingCacheMapTest.cpp │ │ ├── F14AsanSupportTest.cpp │ │ ├── F14FwdTest.cpp │ │ ├── F14InterprocessTest.cpp │ │ ├── F14MapTest.cpp │ │ ├── F14PolicyTest.cpp │ │ ├── F14SetTest.cpp │ │ ├── F14SmallOverheads.cpp │ │ ├── F14TestUtil.h │ │ ├── FBVectorBenchmark.cpp │ │ ├── FBVectorBenchmarks.cpp.h │ │ ├── FBVectorTest.cpp │ │ ├── FBVectorTests.cpp.h │ │ ├── ForeachBenchmark.cpp │ │ ├── ForeachTest.cpp │ │ ├── HashMapsBench.cpp │ │ ├── HeterogeneousAccessTest.cpp │ │ ├── IntrusiveHeapTest.cpp │ │ ├── IteratorTest.cpp │ │ ├── MapUtilTest.cpp │ │ ├── MergeTest.cpp │ │ ├── RegexMatchCacheTest.cpp │ │ ├── ReserveTest.cpp │ │ ├── SparseByteSetBenchmark.cpp │ │ ├── SparseByteSetTest.cpp │ │ ├── TrackingTypes.h │ │ ├── UtilTest.cpp │ │ ├── WeightedEvictingCacheMapTest.cpp │ │ ├── heap_vector_types_test.cpp │ │ ├── range_traits_test.cpp │ │ ├── small_vector_test.cpp │ │ ├── sorted_vector_test.cpp │ │ ├── span_test.cpp │ │ ├── tape_bench.cpp │ │ ├── tape_test.cpp │ │ └── vector_bool_test.cpp │ └── vector_bool.h ├── coro │ ├── Accumulate-inl.h │ ├── Accumulate.h │ ├── AsyncGenerator.h │ ├── AsyncPipe.h │ ├── AsyncScope.h │ ├── AsyncStack.h │ ├── AutoCleanup-fwd.h │ ├── AutoCleanup.h │ ├── AwaitImmediately.h │ ├── AwaitResult.h │ ├── BUCK │ ├── Baton.cpp │ ├── Baton.h │ ├── BlockingWait.h │ ├── BoundedQueue.h │ ├── Cleanup.h │ ├── Collect-inl.h │ ├── Collect.h │ ├── Concat-inl.h │ ├── Concat.h │ ├── Coroutine.h │ ├── CurrentExecutor.h │ ├── DetachOnCancel.h │ ├── Filter-inl.h │ ├── Filter.h │ ├── FutureUtil.h │ ├── Generator.h │ ├── GmockHelpers.h │ ├── GtestHelpers.h │ ├── Invoke.h │ ├── Merge-inl.h │ ├── Merge.h │ ├── Mutex.cpp │ ├── Mutex.h │ ├── Noexcept.h │ ├── Promise.h │ ├── README.md │ ├── Ready.h │ ├── Result.h │ ├── Retry.h │ ├── RustAdaptors.h │ ├── ScopeExit.h │ ├── SerialQueueRunner.cpp │ ├── SerialQueueRunner.h │ ├── SharedLock.h │ ├── SharedMutex.cpp │ ├── SharedMutex.h │ ├── SharedPromise.h │ ├── Sleep-inl.h │ ├── Sleep.h │ ├── SmallUnboundedQueue.h │ ├── Synchronized.h │ ├── Task.h │ ├── TaskWrapper.h │ ├── TimedWait.h │ ├── Timeout-inl.h │ ├── Timeout.h │ ├── Traits.h │ ├── Transform-inl.h │ ├── Transform.h │ ├── UnboundedQueue.h │ ├── ViaIfAsync.h │ ├── WithAsyncStack.h │ ├── WithCancellation.h │ ├── detail │ │ ├── Barrier.h │ │ ├── BarrierTask.h │ │ ├── CurrentAsyncFrame.h │ │ ├── Helpers.h │ │ ├── InlineTask.h │ │ ├── Malloc.cpp │ │ ├── Malloc.h │ │ ├── ManualLifetime.h │ │ └── Traits.h │ ├── safe │ │ ├── AsyncClosure-fwd.h │ │ ├── AsyncClosure.h │ │ ├── BUCK │ │ ├── Captures.h │ │ ├── NowTask.h │ │ ├── SafeAlias.h │ │ ├── SafeTask.h │ │ ├── detail │ │ │ ├── AsyncClosure.h │ │ │ ├── AsyncClosureBindings.h │ │ │ ├── BUCK │ │ │ ├── DefineMovableDeepConstLrefCopyable.h │ │ │ └── test │ │ │ │ ├── AsyncClosureBindingsTest.cpp │ │ │ │ ├── BUCK │ │ │ │ └── DefineMovableDeepConstLrefCopyableTest.cpp │ │ ├── docs │ │ │ └── Captures.md │ │ └── test │ │ │ ├── AsyncClosureTest.cpp │ │ │ ├── BUCK │ │ │ ├── CapturesTest.cpp │ │ │ ├── NowTaskTest.cpp │ │ │ ├── SafeAliasTest.cpp │ │ │ └── SafeTaskTest.cpp │ ├── scripts │ │ ├── BUCK │ │ ├── __init__.py │ │ ├── co_bt.py │ │ └── test │ │ │ ├── BUCK │ │ │ └── co_bt.py │ └── test │ │ ├── AccumulateTest.cpp │ │ ├── AsyncGeneratorBenchmark.cpp │ │ ├── AsyncGeneratorTest.cpp │ │ ├── AsyncPipeTest.cpp │ │ ├── AsyncScopeTest.cpp │ │ ├── AsyncStackTest.cpp │ │ ├── AwaitResultTest.cpp │ │ ├── BUCK │ │ ├── BatonTest.cpp │ │ ├── BlockingWaitBenchmark.cpp │ │ ├── BlockingWaitTest.cpp │ │ ├── BoundedQueueTest.cpp │ │ ├── CollectAllBenchmark.cpp │ │ ├── CollectTest.cpp │ │ ├── ConcatTest.cpp │ │ ├── CoroBenchmarkAllocator.cpp │ │ ├── CoroBenchmarkNRVO.cpp │ │ ├── CoroTest.cpp │ │ ├── CoroutineTest.cpp │ │ ├── CurrentExecutorTest.cpp │ │ ├── ErrorTest.cpp │ │ ├── FilterTest.cpp │ │ ├── FutureUtilTest.cpp │ │ ├── GeneratorTest.cpp │ │ ├── GmockHelpersTest.cpp │ │ ├── GtestHelpersTest.cpp │ │ ├── InlineTaskTest.cpp │ │ ├── MergeTest.cpp │ │ ├── MutexTest.cpp │ │ ├── NoexceptTest.cpp │ │ ├── PromiseBenchmark.cpp │ │ ├── PromiseTest.cpp │ │ ├── ReadyTest.cpp │ │ ├── RequestContextTest.cpp │ │ ├── RetryTest.cpp │ │ ├── RustAdaptorsTest.cpp │ │ ├── ScopeExitTest.cpp │ │ ├── SerialQueueRunnerTest.cpp │ │ ├── SharedMutexTest.cpp │ │ ├── SharedPromiseTest.cpp │ │ ├── SleepTest.cpp │ │ ├── SmallUnboundedQueueTest.cpp │ │ ├── SuspendedStackTest.cpp │ │ ├── SynchronizedTest.cpp │ │ ├── TaskBenchmark.cpp │ │ ├── TaskTest.cpp │ │ ├── TaskWrapperTest.cpp │ │ ├── TimeoutTest.cpp │ │ ├── TraitsTest.cpp │ │ ├── TransformTest.cpp │ │ └── UnboundedQueueTest.cpp ├── crypto │ ├── BUCK │ ├── Blake2xb.cpp │ ├── Blake2xb.h │ ├── LtHash-inl.h │ ├── LtHash.cpp │ ├── LtHash.h │ ├── detail │ │ ├── BUCK │ │ ├── LtHashInternal.h │ │ ├── MathOperation_AVX2.cpp │ │ ├── MathOperation_SSE2.cpp │ │ └── MathOperation_Simple.cpp │ └── test │ │ ├── BUCK │ │ ├── Blake2xbBenchmark.cpp │ │ ├── Blake2xbTest.cpp │ │ ├── LtHashBenchmark.cpp │ │ └── LtHashTest.cpp ├── debugging │ ├── exception_tracer │ │ ├── BUCK │ │ ├── CMakeLists.txt │ │ ├── Compatibility.h │ │ ├── ExceptionAbi.h │ │ ├── ExceptionCounterLib.cpp │ │ ├── ExceptionCounterLib.h │ │ ├── ExceptionStackTraceLib.cpp │ │ ├── ExceptionTracer.cpp │ │ ├── ExceptionTracer.h │ │ ├── ExceptionTracerLib.cpp │ │ ├── ExceptionTracerLib.h │ │ ├── README.md │ │ ├── SmartExceptionStackTraceHooks.cpp │ │ ├── SmartExceptionTracer.cpp │ │ ├── SmartExceptionTracer.h │ │ ├── SmartExceptionTracerSingleton.cpp │ │ ├── SmartExceptionTracerSingleton.h │ │ ├── StackTrace.cpp │ │ ├── StackTrace.h │ │ └── test │ │ │ ├── BUCK │ │ │ ├── ExceptionCounterTest.cpp │ │ │ ├── ExceptionTracerBenchmark.cpp │ │ │ ├── ExceptionTracerTest.cpp │ │ │ └── SmartExceptionTracerTest.cpp │ └── symbolizer │ │ ├── BUCK │ │ ├── Dwarf.cpp │ │ ├── Dwarf.h │ │ ├── DwarfImpl.cpp │ │ ├── DwarfImpl.h │ │ ├── DwarfLineNumberVM.cpp │ │ ├── DwarfLineNumberVM.h │ │ ├── DwarfSection.cpp │ │ ├── DwarfSection.h │ │ ├── DwarfUtil.cpp │ │ ├── DwarfUtil.h │ │ ├── Elf-inl.h │ │ ├── Elf.cpp │ │ ├── Elf.h │ │ ├── ElfCache.cpp │ │ ├── ElfCache.h │ │ ├── LineReader.cpp │ │ ├── LineReader.h │ │ ├── SignalHandler.cpp │ │ ├── SignalHandler.h │ │ ├── StackTrace.cpp │ │ ├── StackTrace.h │ │ ├── SymbolizePrinter.cpp │ │ ├── SymbolizePrinter.h │ │ ├── SymbolizedFrame.cpp │ │ ├── SymbolizedFrame.h │ │ ├── Symbolizer.cpp │ │ ├── Symbolizer.h │ │ ├── detail │ │ ├── BUCK │ │ ├── Debug.cpp │ │ └── Debug.h │ │ ├── test │ │ ├── BUCK │ │ ├── Crash.cpp │ │ ├── DwarfBenchmark.cpp │ │ ├── ElfTest.cpp │ │ ├── LineReaderTest.cpp │ │ ├── SignalHandlerTest.cpp │ │ ├── SignalHandlerTest.h │ │ ├── SmallSigAltStackCrash.cpp │ │ ├── StackTraceBenchmark.cpp │ │ ├── StackTraceSizeLimitTest.cpp │ │ ├── StackTraceTest.cpp │ │ ├── SymbolizedFrameTest.cpp │ │ ├── SymbolizerTest.cpp │ │ ├── SymbolizerTestUtils-inl.h │ │ ├── SymbolizerTestUtils.cpp │ │ ├── SymbolizerTestUtils.h │ │ ├── compare-addr2line.sh │ │ ├── gnu_debuglink_test.sh │ │ ├── symbolizer_dwp_compability.sh │ │ └── validate_folly_symbolizer.bzl │ │ └── tool │ │ ├── Addr2Line.cpp │ │ ├── BUCK │ │ ├── LibSegFault.cpp │ │ └── libFollySegFault.so.v ├── defs.bzl ├── detail │ ├── AsyncTrace.cpp │ ├── AsyncTrace.h │ ├── AtomicHashUtils.h │ ├── AtomicUnorderedMapUtils.h │ ├── BUCK │ ├── DiscriminatedPtrDetail.h │ ├── FileUtilDetail.cpp │ ├── FileUtilDetail.h │ ├── FileUtilVectorDetail.h │ ├── FingerprintPolynomial.h │ ├── Futex-inl.h │ ├── Futex.cpp │ ├── Futex.h │ ├── GroupVarintDetail.h │ ├── IPAddress.cpp │ ├── IPAddress.h │ ├── IPAddressSource.h │ ├── Iterators.h │ ├── MPMCPipelineDetail.h │ ├── MemoryIdler.cpp │ ├── MemoryIdler.h │ ├── PerfScoped.cpp │ ├── PerfScoped.h │ ├── PolyDetail.h │ ├── RangeCommon.cpp │ ├── RangeCommon.h │ ├── RangeSimd.cpp │ ├── RangeSimd.h │ ├── RangeSse42.cpp │ ├── RangeSse42.h │ ├── SimpleSimdStringUtils.cpp │ ├── SimpleSimdStringUtils.h │ ├── SimpleSimdStringUtilsImpl.h │ ├── Singleton.h │ ├── SlowFingerprint.h │ ├── SocketFastOpen.cpp │ ├── SocketFastOpen.h │ ├── SplitStringSimd.cpp │ ├── SplitStringSimd.h │ ├── SplitStringSimdImpl.h │ ├── Sse.cpp │ ├── Sse.h │ ├── StaticSingletonManager.cpp │ ├── StaticSingletonManager.h │ ├── ThreadLocalDetail.cpp │ ├── ThreadLocalDetail.h │ ├── TrapOnAvx512.cpp │ ├── TrapOnAvx512.h │ ├── TurnSequencer.h │ ├── TypeList.h │ ├── UniqueInstance.cpp │ ├── UniqueInstance.h │ ├── base64_detail │ │ ├── BUCK │ │ ├── Base64Api.cpp │ │ ├── Base64Api.h │ │ ├── Base64Common.h │ │ ├── Base64Constants.h │ │ ├── Base64HiddenConstants.h │ │ ├── Base64SWAR.cpp │ │ ├── Base64SWAR.h │ │ ├── Base64Scalar.h │ │ ├── Base64Simd.h │ │ ├── Base64_SSE4_2.cpp │ │ ├── Base64_SSE4_2.h │ │ ├── Base64_SSE4_2_Platform.h │ │ ├── README.md │ │ └── tests │ │ │ ├── BUCK │ │ │ ├── Base64AgainstScalarTest.cpp │ │ │ ├── Base64PlatformTest.cpp │ │ │ └── Base64SpecialCasesTest.cpp │ ├── test │ │ ├── AsyncTraceTest.cpp │ │ ├── BUCK │ │ ├── FileUtilDetailTest.cpp │ │ ├── PerfScopedTest.cpp │ │ ├── SimpleSimdStringUtilsTest.cpp │ │ ├── SplitStringSimdTest.cpp │ │ ├── StaticSingletonManagerTest.cpp │ │ ├── ThreadLocalBenchmark.cpp │ │ ├── ThreadLocalDetailTest.cpp │ │ ├── TrapOnAvx512TestNegative.cpp │ │ ├── TypeListTest.cpp │ │ ├── UniqueInstanceTest.cpp │ │ └── tuple_test.cpp │ ├── thread_local_globals.cpp │ ├── thread_local_globals.h │ └── tuple.h ├── docs │ ├── .gitignore │ ├── AtomicHashMap.md │ ├── BUCK │ ├── Benchmark.md │ ├── Conv.md │ ├── Dynamic.md │ ├── DynamicConverter.md │ ├── Executors.md │ ├── FBString.md │ ├── FBVector.md │ ├── Fbvector--graphical_solutions.png │ ├── Format.md │ ├── Function.md │ ├── Futures.md │ ├── GroupVarint.md │ ├── Histogram.md │ ├── Makefile │ ├── MapUtils.md │ ├── Overview.md │ ├── PackedSyncPtr.md │ ├── Poly.md │ ├── ProducerConsumerQueue.md │ ├── Rcu.md │ ├── SmallLocks.md │ ├── Synchronized.md │ ├── ThreadCachedInt.md │ ├── ThreadLocal.md │ ├── Traits.md │ ├── defs.bzl │ ├── examples │ │ └── folly │ │ │ ├── BUCK │ │ │ ├── CancellationCallback.cpp │ │ │ ├── CancellationSource.cpp │ │ │ ├── CancellationToken.cpp │ │ │ ├── DynamicConverter.cpp │ │ │ ├── ExecutorGuide.cpp │ │ │ ├── File.cpp │ │ │ ├── Format.cpp │ │ │ ├── Function.cpp │ │ │ ├── Likely.cpp │ │ │ ├── MapUtil.cpp │ │ │ ├── ScopeGuard.cpp │ │ │ ├── ScopeGuard2.cpp │ │ │ ├── ScopedEventBaseThread.cpp │ │ │ ├── ScopedEventBaseThread2.cpp │ │ │ ├── Synchronized.cpp │ │ │ ├── container │ │ │ ├── Array.cpp │ │ │ └── BUCK │ │ │ ├── coro │ │ │ ├── AsyncScope.cpp │ │ │ ├── BUCK │ │ │ ├── CancellableAsyncScope.cpp │ │ │ ├── DetachOnCancel.cpp │ │ │ ├── Promise.cpp │ │ │ ├── Retry.cpp │ │ │ ├── Task.cpp │ │ │ └── WithCancellation.cpp │ │ │ ├── dynamic.cpp │ │ │ ├── dynamic │ │ │ ├── BUCK │ │ │ ├── array.cpp │ │ │ └── object.cpp │ │ │ ├── hash │ │ │ ├── BUCK │ │ │ └── Hash.cpp │ │ │ ├── io │ │ │ ├── BUCK │ │ │ └── IOBuf.cpp │ │ │ ├── ipaddress.cpp │ │ │ ├── synchronization │ │ │ └── Baton.cpp │ │ │ └── test │ │ │ ├── BUCK │ │ │ ├── TestUtils.cpp │ │ │ └── common │ │ │ ├── BUCK │ │ │ └── TestMainDemo.cpp │ ├── small_vector.md │ └── style.css ├── dynamic-inl.h ├── dynamic.h ├── executors │ ├── Async.h │ ├── BUCK │ ├── CPUThreadPoolExecutor.cpp │ ├── CPUThreadPoolExecutor.h │ ├── Codel.cpp │ ├── Codel.h │ ├── DrivableExecutor.h │ ├── EDFThreadPoolExecutor.cpp │ ├── EDFThreadPoolExecutor.h │ ├── ExecutionObserver.cpp │ ├── ExecutionObserver.h │ ├── ExecutorWithPriority-inl.h │ ├── ExecutorWithPriority.cpp │ ├── ExecutorWithPriority.h │ ├── FiberIOExecutor.h │ ├── FunctionScheduler.cpp │ ├── FunctionScheduler.h │ ├── FutureExecutor.h │ ├── GlobalExecutor.cpp │ ├── GlobalExecutor.h │ ├── GlobalThreadPoolList.cpp │ ├── GlobalThreadPoolList.h │ ├── IOExecutor.h │ ├── IOObjectCache.h │ ├── IOThreadPoolDeadlockDetectorObserver.cpp │ ├── IOThreadPoolDeadlockDetectorObserver.h │ ├── IOThreadPoolExecutor.cpp │ ├── IOThreadPoolExecutor.h │ ├── InlineExecutor.cpp │ ├── InlineExecutor.h │ ├── ManualExecutor.cpp │ ├── ManualExecutor.h │ ├── MeteredExecutor-inl.h │ ├── MeteredExecutor.h │ ├── QueueObserver.cpp │ ├── QueueObserver.h │ ├── QueuedImmediateExecutor.cpp │ ├── QueuedImmediateExecutor.h │ ├── ScheduledExecutor.h │ ├── SequencedExecutor.h │ ├── SerialExecutor-inl.h │ ├── SerialExecutor.h │ ├── SerializedExecutor.h │ ├── SoftRealTimeExecutor.cpp │ ├── SoftRealTimeExecutor.h │ ├── StrandExecutor.cpp │ ├── StrandExecutor.h │ ├── ThreadPoolExecutor.cpp │ ├── ThreadPoolExecutor.h │ ├── ThreadedExecutor.cpp │ ├── ThreadedExecutor.h │ ├── ThreadedRepeatingFunctionRunner.cpp │ ├── ThreadedRepeatingFunctionRunner.h │ ├── TimedDrivableExecutor.cpp │ ├── TimedDrivableExecutor.h │ ├── TimekeeperScheduledExecutor.cpp │ ├── TimekeeperScheduledExecutor.h │ ├── VirtualExecutor.h │ ├── task_queue │ │ ├── BUCK │ │ ├── BlockingQueue.h │ │ ├── LifoSemMPMCQueue.h │ │ ├── PriorityLifoSemMPMCQueue.h │ │ ├── PriorityUnboundedBlockingQueue.h │ │ ├── UnboundedBlockingQueue.h │ │ └── test │ │ │ ├── BUCK │ │ │ ├── PriorityLifoSemMPMCQueueTest.cpp │ │ │ ├── PriorityUnboundedBlockingQueueTest.cpp │ │ │ ├── UnboundedBlockingQueueBench.cpp │ │ │ └── UnboundedBlockingQueueTest.cpp │ ├── test │ │ ├── AsyncTest.cpp │ │ ├── BUCK │ │ ├── CodelTest.cpp │ │ ├── EDFThreadPoolExecutorBenchmark.cpp │ │ ├── ExecutorTest.cpp │ │ ├── ExecutorWithPriorityTest.cpp │ │ ├── FiberIOExecutorTest.cpp │ │ ├── FunctionSchedulerTest.cpp │ │ ├── GlobalCPUExecutorTest.cpp │ │ ├── GlobalExecutorAssignmentTest.cpp │ │ ├── GlobalExecutorTest.cpp │ │ ├── GlobalIOExecutorTest.cpp │ │ ├── IOThreadPoolDeadlockDetectorObserverTest.cpp │ │ ├── IOThreadPoolExecutorBaseTestLib.h │ │ ├── IOThreadPoolExecutorTest.cpp │ │ ├── MeteredExecutorTest.cpp │ │ ├── SequencedExecutorTest.cpp │ │ ├── SerialExecutorTest.cpp │ │ ├── StrandExecutorTest.cpp │ │ ├── ThreadPoolExecutorTest.cpp │ │ ├── ThreadedExecutorTest.cpp │ │ ├── ThreadedRepeatingFunctionRunnerTest.cpp │ │ ├── TimedDrivableExecutorTest.cpp │ │ └── TimekeeperScheduledExecutorTest.cpp │ └── thread_factory │ │ ├── BUCK │ │ ├── InitThreadFactory.h │ │ ├── NamedThreadFactory.h │ │ ├── PriorityThreadFactory.cpp │ │ ├── PriorityThreadFactory.h │ │ └── ThreadFactory.h ├── experimental │ ├── BUCK │ ├── EventCount.h │ ├── FlatCombiningPriorityQueue.h │ ├── FunctionScheduler.h │ ├── TestUtil.h │ ├── ThreadedRepeatingFunctionRunner.h │ ├── channels │ │ ├── BUCK │ │ ├── Channel-fwd.h │ │ ├── Channel-inl.h │ │ ├── Channel.h │ │ ├── ChannelCallbackHandle.h │ │ ├── ChannelProcessor-inl.h │ │ ├── ChannelProcessor.h │ │ ├── ConsumeChannel-inl.h │ │ ├── ConsumeChannel.h │ │ ├── FanoutChannel-inl.h │ │ ├── FanoutChannel.h │ │ ├── FanoutSender-inl.h │ │ ├── FanoutSender.h │ │ ├── MaxConcurrentRateLimiter.h │ │ ├── Merge-inl.h │ │ ├── Merge.h │ │ ├── MergeChannel-inl.h │ │ ├── MergeChannel.h │ │ ├── MultiplexChannel-inl.h │ │ ├── MultiplexChannel.h │ │ ├── OnClosedException.h │ │ ├── Producer-inl.h │ │ ├── Producer.h │ │ ├── ProxyChannel-inl.h │ │ ├── ProxyChannel.h │ │ ├── RateLimiter.h │ │ ├── Transform-inl.h │ │ ├── Transform.h │ │ ├── detail │ │ │ ├── AtomicQueue.h │ │ │ ├── BUCK │ │ │ ├── ChannelBridge.h │ │ │ ├── FunctionTraits.h │ │ │ ├── IntrusivePtr.h │ │ │ ├── MultiplexerTraits.h │ │ │ ├── PointerVariant.h │ │ │ └── Utility.h │ │ └── test │ │ │ ├── BUCK │ │ │ └── ChannelTestUtil.h │ ├── coro │ │ ├── AsyncGenerator.h │ │ ├── AsyncPipe.h │ │ ├── AsyncScope.h │ │ ├── AsyncStack.h │ │ ├── AutoCleanup-fwd.h │ │ ├── AutoCleanup.h │ │ ├── BUCK │ │ ├── Baton.h │ │ ├── BlockingWait.h │ │ ├── BoundedQueue.h │ │ ├── Cleanup.h │ │ ├── Collect-inl.h │ │ ├── Collect.h │ │ ├── Concat-inl.h │ │ ├── Concat.h │ │ ├── Coroutine.h │ │ ├── CurrentExecutor.h │ │ ├── DetachOnCancel.h │ │ ├── Filter-inl.h │ │ ├── Filter.h │ │ ├── FutureUtil.h │ │ ├── Generator.h │ │ ├── GmockHelpers.h │ │ ├── GtestHelpers.h │ │ ├── Invoke.h │ │ ├── Merge-inl.h │ │ ├── Merge.h │ │ ├── Mutex.h │ │ ├── Promise.h │ │ ├── Result.h │ │ ├── Retry.h │ │ ├── RustAdaptors.h │ │ ├── ScopeExit.h │ │ ├── SharedLock.h │ │ ├── SharedMutex.h │ │ ├── SharedPromise.h │ │ ├── Sleep-inl.h │ │ ├── Sleep.h │ │ ├── SmallUnboundedQueue.h │ │ ├── Task.h │ │ ├── TimedWait.h │ │ ├── Timeout-inl.h │ │ ├── Timeout.h │ │ ├── Traits.h │ │ ├── Transform-inl.h │ │ ├── Transform.h │ │ ├── UnboundedQueue.h │ │ ├── ViaIfAsync.h │ │ ├── WithAsyncStack.h │ │ ├── WithCancellation.h │ │ └── detail │ │ │ ├── Barrier.h │ │ │ ├── BarrierTask.h │ │ │ ├── CurrentAsyncFrame.h │ │ │ ├── Helpers.h │ │ │ ├── InlineTask.h │ │ │ ├── Malloc.h │ │ │ ├── ManualLifetime.h │ │ │ └── Traits.h │ ├── crypto │ │ ├── BUCK │ │ ├── Blake2xb.h │ │ └── LtHash.h │ ├── exception_tracer │ │ ├── BUCK │ │ ├── ExceptionAbi.h │ │ ├── ExceptionCounterLib.h │ │ ├── ExceptionTracer.h │ │ ├── ExceptionTracerLib.h │ │ ├── SmartExceptionTracer.h │ │ ├── SmartExceptionTracerSingleton.h │ │ └── StackTrace.h │ ├── flat_combining │ │ ├── BUCK │ │ ├── FlatCombining.h │ │ └── test │ │ │ ├── BUCK │ │ │ ├── FlatCombiningExamples.h │ │ │ └── FlatCombiningTestHelpers.h │ ├── io │ │ ├── AsyncBase.h │ │ ├── AsyncIO.h │ │ ├── AsyncIoUringSocket.h │ │ ├── AsyncIoUringSocketFactory.h │ │ ├── BUCK │ │ ├── Epoll.h │ │ ├── EpollBackend.h │ │ ├── EventBasePoller.h │ │ ├── FsUtil.h │ │ ├── HugePages.h │ │ ├── IoUring.h │ │ ├── IoUringBackend.h │ │ ├── IoUringBase.h │ │ ├── IoUringEvent.h │ │ ├── IoUringEventBaseLocal.h │ │ ├── IoUringProvidedBufferRing.h │ │ ├── Liburing.h │ │ ├── MuxIOThreadPoolExecutor.h │ │ ├── SimpleAsyncIO.h │ │ ├── test │ │ │ ├── AsyncBaseTestLib.h │ │ │ ├── BUCK │ │ │ └── IoTestTempFileUtil.h │ │ └── tool │ │ │ └── BUCK │ ├── observer │ │ ├── BUCK │ │ ├── CoreCachedObserver.h │ │ ├── HazptrObserver.h │ │ ├── Observable-inl.h │ │ ├── Observable.h │ │ ├── Observer-inl.h │ │ ├── Observer-pre.h │ │ ├── Observer.h │ │ ├── ReadMostlyTLObserver.h │ │ ├── SimpleObservable-inl.h │ │ ├── SimpleObservable.h │ │ ├── WithJitter-inl.h │ │ ├── WithJitter.h │ │ ├── detail │ │ │ ├── BUCK │ │ │ ├── Core.h │ │ │ ├── GraphCycleDetector.h │ │ │ └── ObserverManager.h │ │ └── test │ │ │ └── BUCK │ ├── settings │ │ ├── BUCK │ │ ├── Immutables.h │ │ ├── Settings.h │ │ ├── Types.h │ │ └── detail │ │ │ └── SettingsImpl.h │ ├── symbolizer │ │ ├── BUCK │ │ ├── Dwarf.h │ │ ├── DwarfImpl.h │ │ ├── DwarfLineNumberVM.h │ │ ├── DwarfSection.h │ │ ├── DwarfUtil.h │ │ ├── Elf-inl.h │ │ ├── Elf.h │ │ ├── ElfCache.h │ │ ├── LineReader.h │ │ ├── SignalHandler.h │ │ ├── StackTrace.h │ │ ├── SymbolizePrinter.h │ │ ├── SymbolizedFrame.h │ │ ├── Symbolizer.h │ │ └── detail │ │ │ ├── BUCK │ │ │ └── Debug.h │ └── test │ │ ├── BUCK │ │ └── CodingTestUtils.h ├── ext │ ├── BUCK │ ├── buck2 │ │ ├── BUCK │ │ └── test_ext.cpp │ ├── test_ext.cpp │ └── test_ext.h ├── external │ ├── .clang-format │ ├── aor │ │ ├── BUCK │ │ ├── asmdefs.h │ │ ├── memcpy-advsimd.S │ │ ├── memcpy-armv8.S │ │ ├── memcpy-mops.S │ │ ├── memcpy_sve.S │ │ ├── memmove-mops.S │ │ ├── memset-advsimd.S │ │ └── memset-mops.S │ ├── farmhash │ │ ├── BUCK │ │ ├── farmhash.cpp │ │ ├── farmhash.h │ │ └── test │ │ │ ├── BUCK │ │ │ └── farmhash_test.cpp │ ├── fast-crc32 │ │ ├── BUCK │ │ ├── avx512_crc32c_v8s3x4.cpp │ │ ├── avx512_crc32c_v8s3x4.h │ │ ├── neon_crc32c_v3s4x2e_v2.cpp │ │ ├── neon_crc32c_v3s4x2e_v2.h │ │ ├── neon_eor3_crc32_v9s3x2e_s3.cpp │ │ ├── neon_eor3_crc32_v9s3x2e_s3.h │ │ ├── neon_eor3_crc32c_v8s2x4_s3.cpp │ │ ├── neon_eor3_crc32c_v8s2x4_s3.h │ │ ├── sse_crc32c_v8s3x3.cpp │ │ └── sse_crc32c_v8s3x3.h │ └── nvidia │ │ ├── detail │ │ ├── BUCK │ │ ├── RangeSve2.cpp │ │ └── RangeSve2.h │ │ └── hash │ │ ├── BUCK │ │ ├── Checksum.cpp │ │ └── detail │ │ ├── BUCK │ │ ├── Crc32cCombineDetail.h │ │ └── Crc32cDetail.cpp ├── fibers │ ├── AddTasks-inl.h │ ├── AddTasks.h │ ├── AtomicBatchDispatcher-inl.h │ ├── AtomicBatchDispatcher.h │ ├── BUCK │ ├── BatchDispatcher.h │ ├── BatchSemaphore.cpp │ ├── BatchSemaphore.h │ ├── Baton-inl.h │ ├── Baton.cpp │ ├── Baton.h │ ├── BoostContextCompatibility.h │ ├── CallOnce.h │ ├── EventBaseLoopController-inl.h │ ├── EventBaseLoopController.h │ ├── ExecutorBasedLoopController.h │ ├── ExecutorLoopController-inl.h │ ├── ExecutorLoopController.h │ ├── Fiber-inl.h │ ├── Fiber.cpp │ ├── Fiber.h │ ├── FiberManager-inl.h │ ├── FiberManager.cpp │ ├── FiberManager.h │ ├── FiberManagerInternal-inl.h │ ├── FiberManagerInternal.h │ ├── FiberManagerMap-inl.h │ ├── FiberManagerMap.h │ ├── ForEach-inl.h │ ├── ForEach.h │ ├── GenericBaton.h │ ├── GuardPageAllocator.cpp │ ├── GuardPageAllocator.h │ ├── LoopController.h │ ├── Promise-inl.h │ ├── Promise.h │ ├── README.md │ ├── Semaphore.cpp │ ├── Semaphore.h │ ├── SemaphoreBase.cpp │ ├── SemaphoreBase.h │ ├── SimpleLoopController.cpp │ ├── SimpleLoopController.h │ ├── TimedMutex-inl.h │ ├── TimedMutex.h │ ├── WhenN-inl.h │ ├── WhenN.h │ ├── async │ │ ├── Async.cpp │ │ ├── Async.h │ │ ├── AsyncStack.h │ │ ├── BUCK │ │ ├── Baton.h │ │ ├── Collect-inl.h │ │ ├── Collect.h │ │ ├── FiberManager.h │ │ ├── Future.h │ │ ├── Promise.h │ │ ├── README.md │ │ ├── Task.h │ │ ├── WaitUtils.h │ │ └── test │ │ │ ├── AsyncTest.cpp │ │ │ └── BUCK │ ├── detail │ │ ├── AtomicBatchDispatcher.cpp │ │ ├── AtomicBatchDispatcher.h │ │ └── BUCK │ ├── scripts │ │ └── gdb.py │ ├── test │ │ ├── BUCK │ │ ├── BatchSemaphoreTest.cpp │ │ ├── FibersBenchmark.cpp │ │ ├── FibersTest.cpp │ │ ├── FibersTestApp.cpp │ │ ├── SemaphoreTest.cpp │ │ └── StackOverflow.cpp │ └── traits.h ├── folly_extended_library.bzl ├── functional │ ├── ApplyTuple.h │ ├── BUCK │ ├── Invoke.h │ ├── Partial.h │ ├── protocol.h │ ├── test │ │ ├── ApplyTupleTest.cpp │ │ ├── BUCK │ │ ├── InvokeTest.cpp │ │ ├── PartialTest.cpp │ │ ├── protocol_test.cpp │ │ └── traits_test.cpp │ └── traits.h ├── futures │ ├── BUCK │ ├── Barrier.cpp │ ├── Barrier.h │ ├── Cleanup.h │ ├── Future-inl.h │ ├── Future-pre.h │ ├── Future.cpp │ ├── Future.h │ ├── FutureSplitter.h │ ├── HeapTimekeeper.cpp │ ├── HeapTimekeeper.h │ ├── ManualTimekeeper.cpp │ ├── ManualTimekeeper.h │ ├── Portability.h │ ├── Promise-inl.h │ ├── Promise.cpp │ ├── Promise.h │ ├── Retrying.h │ ├── SharedPromise-inl.h │ ├── SharedPromise.cpp │ ├── SharedPromise.h │ ├── ThreadWheelTimekeeper.cpp │ ├── ThreadWheelTimekeeper.h │ ├── WTCallback.h │ ├── detail │ │ ├── BUCK │ │ ├── Core.cpp │ │ ├── Core.h │ │ └── Types.h │ └── test │ │ ├── BUCK │ │ ├── BarrierTest.cpp │ │ ├── Benchmark.cpp │ │ ├── CallbackLifetimeTest.cpp │ │ ├── CleanupTest.cpp │ │ ├── CollectTest.cpp │ │ ├── ContextTest.cpp │ │ ├── ConversionOperatorTest.cpp │ │ ├── CoreTest.cpp │ │ ├── EnsureTest.cpp │ │ ├── FilterTest.cpp │ │ ├── FutureSplitterTest.cpp │ │ ├── FutureTest.cpp │ │ ├── HeaderCompileTest.cpp │ │ ├── HeapTimekeeperTest.cpp │ │ ├── InterruptTest.cpp │ │ ├── ManualTimekeeperTest.cpp │ │ ├── MapTest.cpp │ │ ├── NonCopyableLambdaTest.cpp │ │ ├── PollTest.cpp │ │ ├── PromiseTest.cpp │ │ ├── ReduceTest.cpp │ │ ├── RetryingTest.cpp │ │ ├── SelfDestructTest.cpp │ │ ├── SemiFutureTest.cpp │ │ ├── SharedPromiseTest.cpp │ │ ├── TestExecutor.cpp │ │ ├── TestExecutor.h │ │ ├── TestExecutorTest.cpp │ │ ├── ThenCompileTest.cpp │ │ ├── ThenCompileTest.h │ │ ├── ThenTest.cpp │ │ ├── ThreadWheelTimekeeperTest.cpp │ │ ├── TimekeeperTest.cpp │ │ ├── TimekeeperTestLib.h │ │ ├── TimesTest.cpp │ │ ├── UnwrapTest.cpp │ │ ├── ViaTest.cpp │ │ ├── WaitTest.cpp │ │ ├── WhenTest.cpp │ │ ├── WhileDoTest.cpp │ │ ├── WillEqualTest.cpp │ │ ├── WindowTest.cpp │ │ └── then_compile_test.rb ├── gen │ ├── BUCK │ ├── Base-inl.h │ ├── Base.h │ ├── Combine-inl.h │ ├── Combine.h │ ├── Core-inl.h │ ├── Core.h │ ├── File-inl.h │ ├── File.h │ ├── IStream.h │ ├── Parallel-inl.h │ ├── Parallel.h │ ├── ParallelMap-inl.h │ ├── ParallelMap.h │ ├── String-inl.h │ ├── String.h │ └── test │ │ ├── BUCK │ │ ├── BaseBenchmark.cpp │ │ ├── BaseTest.cpp │ │ ├── Bench.h │ │ ├── CombineTest.cpp │ │ ├── FileBenchmark.cpp │ │ ├── FileTest.cpp │ │ ├── IStreamTest.cpp │ │ ├── ParallelBenchmark.cpp │ │ ├── ParallelMapBenchmark.cpp │ │ ├── ParallelMapTest.cpp │ │ ├── ParallelTest.cpp │ │ ├── StringBenchmark.cpp │ │ └── StringTest.cpp ├── hash │ ├── BUCK │ ├── Checksum.cpp │ ├── Checksum.h │ ├── FarmHash.h │ ├── Hash.h │ ├── MurmurHash.h │ ├── SpookyHashV1.cpp │ ├── SpookyHashV1.h │ ├── SpookyHashV2.cpp │ ├── SpookyHashV2.h │ ├── detail │ │ ├── BUCK │ │ ├── ChecksumDetail.cpp │ │ ├── ChecksumDetail.h │ │ ├── Crc32CombineDetail.cpp │ │ └── Crc32cDetail.cpp │ ├── test │ │ ├── BUCK │ │ ├── ChecksumBenchmark.cpp │ │ ├── ChecksumTest.cpp │ │ ├── FarmHashTest.cpp │ │ ├── HashBenchmark.cpp │ │ ├── HashTest.cpp │ │ ├── MurmurHashTest.cpp │ │ ├── SpookyHashV1Test.cpp │ │ ├── SpookyHashV2Test.cpp │ │ └── traits_test.cpp │ └── traits.h ├── init │ ├── BUCK │ ├── Init.cpp │ ├── Init.h │ ├── Phase.cpp │ ├── Phase.h │ └── test │ │ ├── BUCK │ │ └── PhaseTest.cpp ├── io │ ├── BUCK │ ├── Cursor-inl.h │ ├── Cursor.cpp │ ├── Cursor.h │ ├── FsUtil.cpp │ ├── FsUtil.h │ ├── GlobalShutdownSocketSet.cpp │ ├── GlobalShutdownSocketSet.h │ ├── HugePages.cpp │ ├── HugePages.h │ ├── IOBuf.cpp │ ├── IOBuf.h │ ├── IOBufIovecBuilder.cpp │ ├── IOBufIovecBuilder.h │ ├── IOBufQueue.cpp │ ├── IOBufQueue.h │ ├── RecordIO-inl.h │ ├── RecordIO.cpp │ ├── RecordIO.h │ ├── ShutdownSocketSet.cpp │ ├── ShutdownSocketSet.h │ ├── SocketOptionMap.cpp │ ├── SocketOptionMap.h │ ├── SocketOptionValue.cpp │ ├── SocketOptionValue.h │ ├── TypedIOBuf.h │ ├── async │ │ ├── AsyncBase.cpp │ │ ├── AsyncBase.h │ │ ├── AsyncIO.cpp │ │ ├── AsyncIO.h │ │ ├── AsyncIoUringSocket.cpp │ │ ├── AsyncIoUringSocket.h │ │ ├── AsyncIoUringSocketFactory.h │ │ ├── AsyncPipe.cpp │ │ ├── AsyncPipe.h │ │ ├── AsyncSSLSocket.cpp │ │ ├── AsyncSSLSocket.h │ │ ├── AsyncServerSocket.cpp │ │ ├── AsyncServerSocket.h │ │ ├── AsyncSignalHandler.cpp │ │ ├── AsyncSignalHandler.h │ │ ├── AsyncSocket.cpp │ │ ├── AsyncSocket.h │ │ ├── AsyncSocketBase.h │ │ ├── AsyncSocketException.cpp │ │ ├── AsyncSocketException.h │ │ ├── AsyncSocketTransport.cpp │ │ ├── AsyncSocketTransport.h │ │ ├── AsyncTimeout.cpp │ │ ├── AsyncTimeout.h │ │ ├── AsyncTransport.h │ │ ├── AsyncTransportCertificate.h │ │ ├── AsyncUDPServerSocket.h │ │ ├── AsyncUDPSocket.cpp │ │ ├── AsyncUDPSocket.h │ │ ├── AtomicNotificationQueue-inl.h │ │ ├── AtomicNotificationQueue.h │ │ ├── BUCK │ │ ├── CertificateIdentityVerifier.h │ │ ├── DecoratedAsyncTransportWrapper.h │ │ ├── DelayedDestruction.cpp │ │ ├── DelayedDestruction.h │ │ ├── DelayedDestructionBase.h │ │ ├── DestructorCheck.h │ │ ├── Epoll.h │ │ ├── EpollBackend.cpp │ │ ├── EpollBackend.h │ │ ├── EventBase.cpp │ │ ├── EventBase.h │ │ ├── EventBaseAtomicNotificationQueue-inl.h │ │ ├── EventBaseAtomicNotificationQueue.h │ │ ├── EventBaseBackendBase.cpp │ │ ├── EventBaseBackendBase.h │ │ ├── EventBaseLocal.cpp │ │ ├── EventBaseLocal.h │ │ ├── EventBaseManager.cpp │ │ ├── EventBaseManager.h │ │ ├── EventBasePoller.cpp │ │ ├── EventBasePoller.h │ │ ├── EventBaseThread.cpp │ │ ├── EventBaseThread.h │ │ ├── EventHandler.cpp │ │ ├── EventHandler.h │ │ ├── EventUtil.h │ │ ├── HHWheelTimer-fwd.h │ │ ├── HHWheelTimer.cpp │ │ ├── HHWheelTimer.h │ │ ├── IoUring.cpp │ │ ├── IoUring.h │ │ ├── IoUringBackend.cpp │ │ ├── IoUringBackend.h │ │ ├── IoUringBase.h │ │ ├── IoUringEvent.cpp │ │ ├── IoUringEvent.h │ │ ├── IoUringEventBaseLocal.cpp │ │ ├── IoUringEventBaseLocal.h │ │ ├── IoUringProvidedBufferRing.cpp │ │ ├── IoUringProvidedBufferRing.h │ │ ├── IoUringZeroCopyBufferPool.cpp │ │ ├── IoUringZeroCopyBufferPool.h │ │ ├── Liburing.h │ │ ├── MuxIOThreadPoolExecutor.cpp │ │ ├── MuxIOThreadPoolExecutor.h │ │ ├── NotificationQueue.h │ │ ├── PasswordInFile.cpp │ │ ├── PasswordInFile.h │ │ ├── README.md │ │ ├── Request.cpp │ │ ├── Request.h │ │ ├── SSLContext.cpp │ │ ├── SSLContext.h │ │ ├── SSLOptions.cpp │ │ ├── SSLOptions.h │ │ ├── STTimerFDTimeoutManager.cpp │ │ ├── STTimerFDTimeoutManager.h │ │ ├── ScopedEventBaseThread.cpp │ │ ├── ScopedEventBaseThread.h │ │ ├── SimpleAsyncIO.cpp │ │ ├── SimpleAsyncIO.h │ │ ├── TerminateCancellationToken.cpp │ │ ├── TerminateCancellationToken.h │ │ ├── TimeoutManager.cpp │ │ ├── TimeoutManager.h │ │ ├── TimerFD.cpp │ │ ├── TimerFD.h │ │ ├── TimerFDTimeoutManager.cpp │ │ ├── TimerFDTimeoutManager.h │ │ ├── VirtualEventBase.cpp │ │ ├── VirtualEventBase.h │ │ ├── WriteChainAsyncTransportWrapper.h │ │ ├── WriteFlags.h │ │ ├── fdsock │ │ │ ├── AsyncFdSocket.cpp │ │ │ ├── AsyncFdSocket.h │ │ │ ├── BUCK │ │ │ ├── SocketFds.cpp │ │ │ ├── SocketFds.h │ │ │ └── test │ │ │ │ ├── AsyncFdSocketTest.cpp │ │ │ │ └── BUCK │ │ ├── observer │ │ │ ├── AsyncSocketObserverContainer.h │ │ │ ├── AsyncSocketObserverInterface.h │ │ │ └── BUCK │ │ ├── ssl │ │ │ ├── BUCK │ │ │ ├── BasicTransportCertificate.h │ │ │ ├── OpenSSLTransportCertificate.h │ │ │ ├── OpenSSLUtils.cpp │ │ │ ├── OpenSSLUtils.h │ │ │ ├── SSLErrors.cpp │ │ │ ├── SSLErrors.h │ │ │ ├── TLSDefinitions.h │ │ │ └── test │ │ │ │ ├── BUCK │ │ │ │ ├── BasicTransportCertificateTest.cpp │ │ │ │ ├── OpenSSLUtilsTest.cpp │ │ │ │ └── SSLErrorsTest.cpp │ │ └── test │ │ │ ├── AsyncBaseTestLib.cpp │ │ │ ├── AsyncBaseTestLib.h │ │ │ ├── AsyncIOTest.cpp │ │ │ ├── AsyncIoUringSocketTest.cpp │ │ │ ├── AsyncPipeTest.cpp │ │ │ ├── AsyncSSLSocketTest.cpp │ │ │ ├── AsyncSSLSocketTest.h │ │ │ ├── AsyncSSLSocketTest2.cpp │ │ │ ├── AsyncSSLSocketWriteTest.cpp │ │ │ ├── AsyncSignalHandlerTestLib.h │ │ │ ├── AsyncSocketExceptionTest.cpp │ │ │ ├── AsyncSocketObserverTest.cpp │ │ │ ├── AsyncSocketTest.cpp │ │ │ ├── AsyncSocketTest.h │ │ │ ├── AsyncSocketTest2.cpp │ │ │ ├── AsyncSocketTest2.h │ │ │ ├── AsyncTimeoutTest.cpp │ │ │ ├── AsyncTransportTest.cpp │ │ │ ├── AsyncUDPSocketGSOGROTest.cpp │ │ │ ├── AsyncUDPSocketSendmmsgTest.cpp │ │ │ ├── AsyncUDPSocketTest.cpp │ │ │ ├── AtomicNotificationQueueTest.cpp │ │ │ ├── BUCK │ │ │ ├── BlockingSocket.h │ │ │ ├── CallbackStateEnum.h │ │ │ ├── ConnCallback.h │ │ │ ├── DecoratedAsyncTransportWrapperTest.cpp │ │ │ ├── DelayedDestructionBaseTest.cpp │ │ │ ├── DelayedDestructionTest.cpp │ │ │ ├── DestructorCheckTest.cpp │ │ │ ├── EpollBackendTest.cpp │ │ │ ├── EventBaseBenchmark.cpp │ │ │ ├── EventBaseLocalTest.cpp │ │ │ ├── EventBaseTest.cpp │ │ │ ├── EventBaseTestLib.h │ │ │ ├── EventBaseThreadTest.cpp │ │ │ ├── EventHandlerTest.cpp │ │ │ ├── HHWheelTimerHighResBenchmark.cpp │ │ │ ├── HHWheelTimerHighResTest.cpp │ │ │ ├── HHWheelTimerSlowTests.cpp │ │ │ ├── HHWheelTimerTest.cpp │ │ │ ├── IOBenchmark.cpp │ │ │ ├── IoTestTempFileUtil.cpp │ │ │ ├── IoTestTempFileUtil.h │ │ │ ├── IoUringBackendBench.cpp │ │ │ ├── IoUringBackendSetupTest.cpp │ │ │ ├── IoUringBackendTest.cpp │ │ │ ├── IoUringEventBaseLocalTest.cpp │ │ │ ├── IoUringEventTest.cpp │ │ │ ├── IoUringProvidedBufferRingTest.cpp │ │ │ ├── IoUringTest.cpp │ │ │ ├── IoUringZeroCopyBufferPoolTest.cpp │ │ │ ├── MockAsyncSSLSocket.h │ │ │ ├── MockAsyncServerSocket.h │ │ │ ├── MockAsyncSocket.h │ │ │ ├── MockAsyncSocketLegacyObserver.h │ │ │ ├── MockAsyncSocketObserver.h │ │ │ ├── MockAsyncTransport.h │ │ │ ├── MockAsyncUDPSocket.h │ │ │ ├── MockTimeoutManager.h │ │ │ ├── MuxIOThreadPoolExecutorTest.cpp │ │ │ ├── NotificationQueueBenchmark.cpp │ │ │ ├── NotificationQueueTest.cpp │ │ │ ├── RegisteredFdBenchmark.cpp │ │ │ ├── RequestContextBenchmark.cpp │ │ │ ├── RequestContextHelper.h │ │ │ ├── RequestContextTest.cpp │ │ │ ├── SSLContextRegressionTest.cpp │ │ │ ├── SSLContextTest.cpp │ │ │ ├── SSLOptionsTest.cpp │ │ │ ├── SSLSessionTest.cpp │ │ │ ├── SSLUtil.cpp │ │ │ ├── SSLUtil.h │ │ │ ├── ScopedBoundPort.cpp │ │ │ ├── ScopedBoundPort.h │ │ │ ├── ScopedEventBaseThreadTest.cpp │ │ │ ├── SimpleAsyncIOTest.cpp │ │ │ ├── SocketClient.cpp │ │ │ ├── SocketPair.cpp │ │ │ ├── SocketPair.h │ │ │ ├── TFOUtil.cpp │ │ │ ├── TFOUtil.h │ │ │ ├── TerminateCancellationTokenTest.cpp │ │ │ ├── TestSSLServer.cpp │ │ │ ├── TestSSLServer.h │ │ │ ├── TimeUtil.cpp │ │ │ ├── TimeUtil.h │ │ │ ├── TimeUtilTest.cpp │ │ │ ├── TimerFDTimeoutManagerTest.cpp │ │ │ ├── UndelayedDestruction.h │ │ │ ├── Util.h │ │ │ ├── WriteChainAsyncTransportWrapperTest.cpp │ │ │ ├── WriteFlagsTest.cpp │ │ │ ├── ZeroCopy.cpp │ │ │ ├── ZeroCopy.h │ │ │ ├── ZeroCopyBenchmark.cpp │ │ │ ├── ZeroCopyTest.cpp │ │ │ └── certs │ │ │ ├── BUCK │ │ │ ├── ca-cert.pem │ │ │ ├── ca-key.pem │ │ │ ├── client_ca_cert.pem │ │ │ ├── client_ca_key.pem │ │ │ ├── client_cert.pem │ │ │ ├── client_chain.pem │ │ │ ├── client_intermediate_ca.pem │ │ │ ├── client_intermediate_ca_key.pem │ │ │ ├── client_key.pem │ │ │ ├── clienti_cert.pem │ │ │ ├── clienti_key.pem │ │ │ ├── defs.bzl │ │ │ ├── generate_certs.sh │ │ │ ├── tests-cert.pem │ │ │ └── tests-key.pem │ ├── coro │ │ ├── BUCK │ │ ├── ServerSocket.cpp │ │ ├── ServerSocket.h │ │ ├── Transport.cpp │ │ ├── Transport.h │ │ ├── TransportCallbackBase.h │ │ ├── TransportCallbacks.h │ │ └── test │ │ │ ├── BUCK │ │ │ └── TransportTest.cpp │ ├── test │ │ ├── BUCK │ │ ├── FsUtilTest.cpp │ │ ├── IOBufBenchmark.cpp │ │ ├── IOBufCBTest.cpp │ │ ├── IOBufCursorBenchmark.cpp │ │ ├── IOBufCursorTest.cpp │ │ ├── IOBufIovecBuilderTest.cpp │ │ ├── IOBufQueueTest.cpp │ │ ├── IOBufTest.cpp │ │ ├── NetworkBenchmark.cpp │ │ ├── QueueAppenderBenchmark.cpp │ │ ├── RecordIOTest.cpp │ │ ├── ShutdownSocketSetTest.cpp │ │ └── SocketOptionValueTest.cpp │ └── tool │ │ ├── BUCK │ │ └── HugePageUtil.cpp ├── json.h ├── json │ ├── BUCK │ ├── DynamicConverter.h │ ├── DynamicParser-inl.h │ ├── DynamicParser.cpp │ ├── DynamicParser.h │ ├── JSONSchema.cpp │ ├── JSONSchema.h │ ├── JsonMockUtil.h │ ├── JsonTestUtil.cpp │ ├── JsonTestUtil.h │ ├── bser │ │ ├── BUCK │ │ ├── Bser.h │ │ ├── Dump.cpp │ │ ├── Load.cpp │ │ └── test │ │ │ ├── BUCK │ │ │ └── BserTest.cpp │ ├── dynamic-inl.h │ ├── dynamic.cpp │ ├── dynamic.h │ ├── json.cpp │ ├── json.h │ ├── json_patch.cpp │ ├── json_patch.h │ ├── json_pointer.cpp │ ├── json_pointer.h │ ├── test │ │ ├── BUCK │ │ ├── DynamicBenchmark.cpp │ │ ├── DynamicConverterTest.cpp │ │ ├── DynamicOtherTest.cpp │ │ ├── DynamicParserTest.cpp │ │ ├── DynamicTest.cpp │ │ ├── JSONSchemaTest.cpp │ │ ├── JsonBenchmark.cpp │ │ ├── JsonOtherTest.cpp │ │ ├── JsonTest.cpp │ │ ├── JsonTestUtilTest.cpp │ │ ├── json_patch_test.cpp │ │ └── json_pointer_test.cpp │ └── tool │ │ ├── BUCK │ │ └── JSONSchemaTester.cpp ├── json_patch.h ├── json_pointer.h ├── lang │ ├── Access.h │ ├── Align.h │ ├── Aligned.h │ ├── Assume.h │ ├── BUCK │ ├── Badge.h │ ├── Bindings.h │ ├── Bindings.md │ ├── Bits.h │ ├── BitsClass.h │ ├── Builtin.h │ ├── CArray.h │ ├── CString.cpp │ ├── CString.h │ ├── Cast.h │ ├── CheckedMath.h │ ├── CustomizationPoint.h │ ├── Exception.cpp │ ├── Exception.h │ ├── Extern.h │ ├── Hint-inl.h │ ├── Hint.h │ ├── Keep.h │ ├── New.h │ ├── Ordering.h │ ├── Pretty.h │ ├── PropagateConst.h │ ├── RValueReferenceWrapper.h │ ├── SafeAssert.cpp │ ├── SafeAssert.h │ ├── StaticConst.h │ ├── Thunk.h │ ├── ToAscii.cpp │ ├── ToAscii.h │ ├── TypeInfo.h │ ├── UncaughtExceptions.cpp │ ├── UncaughtExceptions.h │ ├── VectorTraits.h │ ├── named │ │ ├── BUCK │ │ ├── Bindings.h │ │ └── test │ │ │ ├── BUCK │ │ │ └── BindingsTest.cpp │ └── test │ │ ├── AlignTest.cpp │ │ ├── AlignedTest.cpp │ │ ├── BUCK │ │ ├── BadgeTest.cpp │ │ ├── BindingsTest.cpp │ │ ├── BitsBenchmark.cpp │ │ ├── BitsClassBenchmark.cpp │ │ ├── BitsClassTest.cpp │ │ ├── BitsTest.cpp │ │ ├── CStringTest.cpp │ │ ├── CastTest.cpp │ │ ├── CheckedMathTest.cpp │ │ ├── ExceptionBench.cpp │ │ ├── ExceptionTest.cpp │ │ ├── ExternTest.cpp │ │ ├── HintTest.cpp │ │ ├── NewTest.cpp │ │ ├── OrderingTest.cpp │ │ ├── PrettyTest.cpp │ │ ├── PropagateConstTest.cpp │ │ ├── RValueReferenceWrapperTest.cpp │ │ ├── SafeAssertTest.cpp │ │ ├── ThunkTest.cpp │ │ ├── ToAsciiBench.cpp │ │ ├── ToAsciiTest.cpp │ │ ├── TypeInfoTest.cpp │ │ └── VectorTraitsTest.cpp ├── logging │ ├── AsyncFileWriter.cpp │ ├── AsyncFileWriter.h │ ├── AsyncLogWriter.cpp │ ├── AsyncLogWriter.h │ ├── AutoTimer.h │ ├── BUCK │ ├── BridgeFromGoogleLogging.cpp │ ├── BridgeFromGoogleLogging.h │ ├── CustomLogFormatter.cpp │ ├── CustomLogFormatter.h │ ├── FileHandlerFactory.cpp │ ├── FileHandlerFactory.h │ ├── FileWriterFactory.cpp │ ├── FileWriterFactory.h │ ├── GlogStyleFormatter.cpp │ ├── GlogStyleFormatter.h │ ├── ImmediateFileWriter.cpp │ ├── ImmediateFileWriter.h │ ├── Init.cpp │ ├── Init.h │ ├── InitWeak.cpp │ ├── LogCategory.cpp │ ├── LogCategory.h │ ├── LogCategoryConfig.cpp │ ├── LogCategoryConfig.h │ ├── LogConfig.cpp │ ├── LogConfig.h │ ├── LogConfigParser.cpp │ ├── LogConfigParser.h │ ├── LogFormatter.h │ ├── LogHandler.h │ ├── LogHandlerConfig.cpp │ ├── LogHandlerConfig.h │ ├── LogHandlerFactory.h │ ├── LogLevel.cpp │ ├── LogLevel.h │ ├── LogMessage.cpp │ ├── LogMessage.h │ ├── LogName.cpp │ ├── LogName.h │ ├── LogStream.cpp │ ├── LogStream.h │ ├── LogStreamProcessor.cpp │ ├── LogStreamProcessor.h │ ├── LogWriter.h │ ├── Logger.cpp │ ├── Logger.h │ ├── LoggerDB.cpp │ ├── LoggerDB.h │ ├── ObjectToString.cpp │ ├── ObjectToString.h │ ├── README.md │ ├── RateLimiter.cpp │ ├── RateLimiter.h │ ├── StandardLogHandler.cpp │ ├── StandardLogHandler.h │ ├── StandardLogHandlerFactory.cpp │ ├── StandardLogHandlerFactory.h │ ├── StreamHandlerFactory.cpp │ ├── StreamHandlerFactory.h │ ├── docs │ │ ├── Comparisons.md │ │ ├── Config.md │ │ ├── LogCategories.md │ │ ├── LogHandlers.md │ │ ├── LogLevels.md │ │ ├── Overview.md │ │ └── Usage.md │ ├── example │ │ ├── BUCK │ │ ├── CMakeLists.txt │ │ ├── lib.cpp │ │ ├── lib.h │ │ └── main.cpp │ ├── test │ │ ├── AsyncFileWriterTest.cpp │ │ ├── AsyncLogWriterTest.cpp │ │ ├── AutoTimerTest.cpp │ │ ├── BUCK │ │ ├── BridgeFromGoogleLoggingTest.cpp │ │ ├── ConfigHelpers.cpp │ │ ├── ConfigHelpers.h │ │ ├── ConfigParserTest.cpp │ │ ├── ConfigUpdateTest.cpp │ │ ├── CustomLogFormatterTest.cpp │ │ ├── FileHandlerFactoryTest.cpp │ │ ├── GlogFormatterTest.cpp │ │ ├── ImmediateFileWriterTest.cpp │ │ ├── InitTest.cpp │ │ ├── LogCategoryTest.cpp │ │ ├── LogLevelTest.cpp │ │ ├── LogMessageTest.cpp │ │ ├── LogNameTest.cpp │ │ ├── LogStreamTest.cpp │ │ ├── LoggerDBTest.cpp │ │ ├── LoggerTest.cpp │ │ ├── RateLimiterTest.cpp │ │ ├── StandardLogHandlerFactoryTest.cpp │ │ ├── StandardLogHandlerTest.cpp │ │ ├── SyncLevelTest.cpp │ │ ├── TestLogHandler.cpp │ │ ├── TestLogHandler.h │ │ ├── XlogBench.cpp │ │ ├── XlogFile1.cpp │ │ ├── XlogFile2.cpp │ │ ├── XlogHeader1.h │ │ ├── XlogHeader2.h │ │ ├── XlogTest.cpp │ │ ├── fatal_test.py │ │ ├── helpers │ │ │ ├── BUCK │ │ │ ├── FatalHelper.cpp │ │ │ ├── LogAfterMain.cpp │ │ │ ├── LogAfterMainNoInit.cpp │ │ │ ├── LogOnShutdownLib.cpp │ │ │ ├── LogOnShutdownLib.h │ │ │ └── helpers.h │ │ └── log_after_main.py │ ├── xlog.cpp │ └── xlog.h ├── memcpy.S ├── memcpy_select_aarch64.cpp ├── memory │ ├── Arena-inl.h │ ├── Arena.h │ ├── BUCK │ ├── JemallocHugePageAllocator.cpp │ ├── JemallocHugePageAllocator.h │ ├── JemallocHugePageAllocatorTest.cpp │ ├── JemallocNodumpAllocator.cpp │ ├── JemallocNodumpAllocator.h │ ├── JemallocNodumpAllocatorTest.cpp │ ├── MallctlHelper.cpp │ ├── MallctlHelper.h │ ├── Malloc.h │ ├── MemoryResource.h │ ├── ReentrantAllocator.cpp │ ├── ReentrantAllocator.h │ ├── SanitizeAddress.cpp │ ├── SanitizeAddress.h │ ├── SanitizeLeak.cpp │ ├── SanitizeLeak.h │ ├── ThreadCachedArena.cpp │ ├── ThreadCachedArena.h │ ├── UninitializedMemoryHacks.h │ ├── detail │ │ ├── BUCK │ │ ├── MallocImpl.cpp │ │ └── MallocImpl.h │ ├── not_null-inl.h │ ├── not_null.h │ ├── shared_from_this_ptr.h │ └── test │ │ ├── ArenaTest.cpp │ │ ├── BUCK │ │ ├── MallctlHelperTest.cpp │ │ ├── MallocBenchmark.cpp │ │ ├── MallocTest.cpp │ │ ├── MemoryResourceTest.cpp │ │ ├── ReentrantAllocatorTest.cpp │ │ ├── SanitizeAddressTest.cpp │ │ ├── SanitizeLeakTest.cpp │ │ ├── ThreadCachedArenaTest.cpp │ │ ├── UninitializedMemoryHacksODR.cpp │ │ ├── UninitializedMemoryHacksTest.cpp │ │ ├── not_null_test.cpp │ │ └── shared_from_this_ptr_test.cpp ├── memset.S ├── memset_select_aarch64.cpp ├── net │ ├── BUCK │ ├── NetOps.cpp │ ├── NetOps.h │ ├── NetOpsDispatcher.cpp │ ├── NetOpsDispatcher.h │ ├── NetworkSocket.h │ ├── TcpInfo.cpp │ ├── TcpInfo.h │ ├── TcpInfoDispatcher.cpp │ ├── TcpInfoDispatcher.h │ ├── TcpInfoTypes.h │ ├── detail │ │ ├── BUCK │ │ ├── SocketFileDescriptorMap.cpp │ │ ├── SocketFileDescriptorMap.h │ │ └── test │ │ │ ├── BUCK │ │ │ └── SocketFileDescriptorMapTest.cpp │ └── test │ │ ├── BUCK │ │ ├── MockNetOpsDispatcher.h │ │ ├── MockTcpInfoDispatcher.h │ │ ├── NetOpsTest.cpp │ │ ├── TcpInfoTest.cpp │ │ └── TcpInfoTestUtil.h ├── observer │ ├── BUCK │ ├── CoreCachedObserver.h │ ├── HazptrObserver.h │ ├── Observable-inl.h │ ├── Observable.h │ ├── Observer-inl.h │ ├── Observer-pre.h │ ├── Observer.h │ ├── ReadMostlyTLObserver.h │ ├── SimpleObservable-inl.h │ ├── SimpleObservable.h │ ├── WithJitter-inl.h │ ├── WithJitter.h │ ├── detail │ │ ├── BUCK │ │ ├── Core.cpp │ │ ├── Core.h │ │ ├── GraphCycleDetector.h │ │ ├── ObserverManager.cpp │ │ └── ObserverManager.h │ └── test │ │ ├── BUCK │ │ ├── ObserverBenchmark.cpp │ │ └── ObserverTest.cpp ├── poly │ ├── BUCK │ ├── Nullable.h │ └── Regular.h ├── portability │ ├── Asm.h │ ├── Atomic.h │ ├── BUCK │ ├── Builtins.cpp │ ├── Builtins.h │ ├── Config.h │ ├── Constexpr.h │ ├── Dirent.cpp │ ├── Dirent.h │ ├── Event.h │ ├── Fcntl.cpp │ ├── Fcntl.h │ ├── Filesystem.cpp │ ├── Filesystem.h │ ├── FmtCompile.h │ ├── GFlags.h │ ├── GMock.h │ ├── GTest.h │ ├── GTestProd.h │ ├── IOVec.h │ ├── Libgen.cpp │ ├── Libgen.h │ ├── Libunwind.h │ ├── Malloc.cpp │ ├── Malloc.h │ ├── Math.h │ ├── Memory.h │ ├── OpenSSL.cpp │ ├── OpenSSL.h │ ├── PThread.cpp │ ├── PThread.h │ ├── README.md │ ├── Sched.cpp │ ├── Sched.h │ ├── Sockets.cpp │ ├── Sockets.h │ ├── SourceLocation.h │ ├── Stdio.cpp │ ├── Stdio.h │ ├── Stdlib.cpp │ ├── Stdlib.h │ ├── String.cpp │ ├── String.h │ ├── SysFile.cpp │ ├── SysFile.h │ ├── SysMembarrier.cpp │ ├── SysMembarrier.h │ ├── SysMman.cpp │ ├── SysMman.h │ ├── SysResource.cpp │ ├── SysResource.h │ ├── SysStat.cpp │ ├── SysStat.h │ ├── SysSyscall.h │ ├── SysTime.cpp │ ├── SysTime.h │ ├── SysTypes.h │ ├── SysUio.cpp │ ├── SysUio.h │ ├── Syslog.h │ ├── Time.cpp │ ├── Time.h │ ├── Unistd.cpp │ ├── Unistd.h │ ├── Windows.h │ ├── openat2.c │ ├── openat2.h │ └── test │ │ ├── BUCK │ │ ├── ConstexprTest.cpp │ │ ├── FcntlTest.cpp │ │ ├── FilesystemTest.cpp │ │ ├── LibgenTest.cpp │ │ ├── OpenSSLPortabilityTest.cpp │ │ ├── PThreadTest.cpp │ │ ├── TimeTest.cpp │ │ └── UnistdTest.cpp ├── python │ ├── AsyncioExecutor.h │ ├── BUCK │ ├── GILAwareManualExecutor.cpp │ ├── GILAwareManualExecutor.h │ ├── ProactorExecutor.cpp │ ├── ProactorExecutor.h │ ├── Weak.h │ ├── __init__.pxd │ ├── async_generator.h │ ├── async_generator.pxd │ ├── build_mode.pyi │ ├── build_mode.pyx │ ├── cast.pxd │ ├── coro.h │ ├── coro.pxd │ ├── error.cpp │ ├── error.h │ ├── executor.cpp │ ├── executor.h │ ├── executor.pxd │ ├── executor.pyx │ ├── expected.pxd │ ├── fbstring.pxd │ ├── fiber_manager.pxd │ ├── fiber_manager.pyx │ ├── fibers.cpp │ ├── fibers.h │ ├── fibers.pxd │ ├── function.pxd │ ├── futures.h │ ├── futures.pxd │ ├── import.h │ ├── iobuf.cpp │ ├── iobuf.h │ ├── iobuf.pxd │ ├── iobuf.pyi │ ├── iobuf.pyx │ ├── iobuf_ext.cpp │ ├── iobuf_ext.h │ ├── memory.pxd │ ├── optional.pxd │ ├── range.pxd │ ├── setup.py │ ├── test │ │ ├── AsyncGeneratorTest.cpp │ │ ├── BUCK │ │ ├── ErrorTest.cpp │ │ ├── IOBufTestUtils.cpp │ │ ├── IOBufTestUtils.h │ │ ├── WeakTest.cpp │ │ ├── coro.py │ │ ├── futures.py │ │ ├── generator.py │ │ ├── iobuf.py │ │ ├── iobuf_helper.pxd │ │ ├── iobuf_helper.pyi │ │ ├── iobuf_helper.pyx │ │ ├── simple.h │ │ ├── simplebridge.pyx │ │ ├── simplebridgecoro.pyx │ │ ├── simplecoro.h │ │ ├── simplegenerator.h │ │ ├── simplegenerator.pyx │ │ ├── teardown.py │ │ ├── test_set_executor.h │ │ ├── test_set_executor.py │ │ └── test_set_executor_cython.pyx │ └── windows │ │ └── iocp.pyx ├── random │ ├── BUCK │ ├── test │ │ ├── BUCK │ │ └── Xoshiro256ppTest.cpp │ └── xoshiro256pp.h ├── result │ ├── BUCK │ ├── docs │ │ └── result.md │ ├── gtest_helpers.h │ ├── result.cpp │ ├── result.h │ ├── test │ │ ├── BUCK │ │ ├── result_test.cpp │ │ └── try_test.cpp │ └── try.h ├── settings │ ├── BUCK │ ├── CommandLineParser.cpp │ ├── CommandLineParser.h │ ├── Immutables.cpp │ ├── Immutables.h │ ├── Observer.h │ ├── Settings.cpp │ ├── Settings.h │ ├── SettingsAccessorProxy.cpp │ ├── SettingsAccessorProxy.h │ ├── Types.cpp │ ├── Types.h │ ├── detail │ │ └── SettingsImpl.h │ └── test │ │ ├── BUCK │ │ ├── CommandLineParserTest.cpp │ │ ├── SettingsBenchmarks.cpp │ │ ├── SettingsTest.cpp │ │ ├── a.cpp │ │ ├── a.h │ │ ├── b.cpp │ │ └── b.h ├── small_vector.h ├── somerge_defs.bzl ├── sorted_vector_types.h ├── ssl │ ├── BUCK │ ├── OpenSSLCertUtils.cpp │ ├── OpenSSLCertUtils.h │ ├── OpenSSLHash.cpp │ ├── OpenSSLHash.h │ ├── OpenSSLKeyUtils.cpp │ ├── OpenSSLKeyUtils.h │ ├── OpenSSLPtrTypes.h │ ├── OpenSSLTicketHandler.h │ ├── OpenSSLVersionFinder.h │ ├── PasswordCollector.cpp │ ├── PasswordCollector.h │ ├── SSLSession.h │ ├── SSLSessionManager.cpp │ ├── SSLSessionManager.h │ ├── detail │ │ ├── BUCK │ │ ├── OpenSSLSession.cpp │ │ └── OpenSSLSession.h │ └── test │ │ ├── BUCK │ │ ├── OpenSSLCertUtilsTest.cpp │ │ ├── OpenSSLHashTest.cpp │ │ ├── OpenSSLKeyUtilsTest.cpp │ │ └── SSLSessionManagerTest.cpp ├── static │ └── logo.svg ├── stats │ ├── BUCK │ ├── BucketedTimeSeries-inl.h │ ├── BucketedTimeSeries.h │ ├── DigestBuilder-inl.h │ ├── DigestBuilder.h │ ├── Histogram-inl.h │ ├── Histogram.h │ ├── MultiLevelTimeSeries-inl.h │ ├── MultiLevelTimeSeries.h │ ├── QuantileEstimator-inl.h │ ├── QuantileEstimator.cpp │ ├── QuantileEstimator.h │ ├── QuantileHistogram-inl.h │ ├── QuantileHistogram.h │ ├── StreamingStats.h │ ├── TDigest.cpp │ ├── TDigest.h │ ├── TimeseriesHistogram-inl.h │ ├── TimeseriesHistogram.h │ ├── detail │ │ ├── BUCK │ │ ├── Bucket.h │ │ ├── BufferedStat-inl.h │ │ ├── BufferedStat.h │ │ ├── DoubleRadixSort.cpp │ │ ├── DoubleRadixSort.h │ │ ├── SlidingWindow-inl.h │ │ ├── SlidingWindow.h │ │ └── test │ │ │ ├── BUCK │ │ │ └── DoubleRadixSortTest.cpp │ └── test │ │ ├── BUCK │ │ ├── BucketedTimeSeriesBenchmark.cpp │ │ ├── BufferedStatTest.cpp │ │ ├── DigestBuilderBenchmark.cpp │ │ ├── DigestBuilderTest.cpp │ │ ├── HistogramBenchmark.cpp │ │ ├── HistogramTest.cpp │ │ ├── QuantileEstimatorBenchmark.cpp │ │ ├── QuantileEstimatorTest.cpp │ │ ├── QuantileHistogramBenchmark.cpp │ │ ├── QuantileHistogramTest.cpp │ │ ├── SlidingWindowTest.cpp │ │ ├── StreamingStatsTest.cpp │ │ ├── TDigestBenchmark.cpp │ │ ├── TDigestTest.cpp │ │ ├── TimeSeriesTest.cpp │ │ └── TimeseriesHistogramTest.cpp ├── stop_watch.h ├── support │ ├── gdb.py │ └── test │ │ ├── BUCK │ │ ├── GdbUtil.h │ │ ├── main.cpp │ │ └── runtest.gdb ├── synchronization │ ├── AsymmetricThreadFence.cpp │ ├── AsymmetricThreadFence.h │ ├── AtomicNotification-inl.h │ ├── AtomicNotification.cpp │ ├── AtomicNotification.h │ ├── AtomicRef.h │ ├── AtomicStruct.h │ ├── AtomicUtil-inl.h │ ├── AtomicUtil.h │ ├── BUCK │ ├── Baton.h │ ├── CallOnce.h │ ├── DelayedInit.h │ ├── DistributedMutex-inl.h │ ├── DistributedMutex.cpp │ ├── DistributedMutex.h │ ├── EventCount.h │ ├── FlatCombining.h │ ├── Hazptr-fwd.h │ ├── Hazptr.cpp │ ├── Hazptr.h │ ├── HazptrDomain.cpp │ ├── HazptrDomain.h │ ├── HazptrHolder.h │ ├── HazptrObj.h │ ├── HazptrObjLinked.h │ ├── HazptrRec.h │ ├── HazptrThrLocal.h │ ├── HazptrThreadPoolExecutor.cpp │ ├── HazptrThreadPoolExecutor.h │ ├── Latch.h │ ├── LifoSem.h │ ├── Lock.h │ ├── MicroSpinLock.h │ ├── NativeSemaphore.h │ ├── ParkingLot.cpp │ ├── ParkingLot.h │ ├── PicoSpinLock.h │ ├── RWSpinLock.h │ ├── Rcu.cpp │ ├── Rcu.h │ ├── RelaxedAtomic.h │ ├── SanitizeThread.cpp │ ├── SanitizeThread.h │ ├── SaturatingSemaphore.h │ ├── SmallLocks.h │ ├── ThrottledLifoSem.h │ ├── WaitOptions.cpp │ ├── WaitOptions.h │ ├── detail │ │ ├── AtomicUtils.h │ │ ├── BUCK │ │ ├── Hardware.cpp │ │ ├── Hardware.h │ │ ├── HazptrUtils.h │ │ ├── InlineFunctionRef.h │ │ ├── Sleeper.cpp │ │ ├── Sleeper.h │ │ ├── Spin.h │ │ ├── ThreadCachedLists.h │ │ ├── ThreadCachedReaders.h │ │ ├── ThreadCachedTag.h │ │ └── test │ │ │ ├── BUCK │ │ │ ├── HardwareTest.cpp │ │ │ └── InlineFunctionRefTest.cpp │ ├── example │ │ ├── BUCK │ │ ├── HazptrLockFreeLIFO.h │ │ ├── HazptrSWMRSet.h │ │ └── HazptrWideCAS.h │ └── test │ │ ├── AtomicNotificationTest.cpp │ │ ├── AtomicRefTest.cpp │ │ ├── AtomicStructTest.cpp │ │ ├── AtomicUtilBench.cpp │ │ ├── AtomicUtilTest.cpp │ │ ├── BUCK │ │ ├── Barrier.h │ │ ├── BarrierTest.cpp │ │ ├── BatonBenchmark.cpp │ │ ├── BatonTest.cpp │ │ ├── BatonTestHelpers.h │ │ ├── CallOnceBenchmark.cpp │ │ ├── CallOnceTest.cpp │ │ ├── DelayedInitTest.cpp │ │ ├── DistributedMutexTest.cpp │ │ ├── EventCountTest.cpp │ │ ├── FlatCombiningBenchmark.cpp │ │ ├── FlatCombiningExamples.h │ │ ├── FlatCombiningTest.cpp │ │ ├── FlatCombiningTestHelpers.h │ │ ├── HazptrTest.cpp │ │ ├── LatchTest.cpp │ │ ├── LifoSemBench.cpp │ │ ├── LifoSemTests.cpp │ │ ├── LockTest.cpp │ │ ├── NativeSemaphoreTest.cpp │ │ ├── ParkingLotBenchmark.cpp │ │ ├── ParkingLotTest.cpp │ │ ├── RWSpinLockTest.cpp │ │ ├── RcuBench.cpp │ │ ├── RcuTest.cpp │ │ ├── RelaxedAtomicTest.cpp │ │ ├── SaturatingSemaphoreTest.cpp │ │ ├── Semaphore.h │ │ ├── SemaphoreTest.cpp │ │ ├── SmallLocksBenchmark.cpp │ │ ├── SmallLocksTest.cpp │ │ ├── ThreadCachedEpochBench.h │ │ ├── ThreadCachedReadersBench.cpp │ │ ├── ThreadCachedReadersTest.cpp │ │ └── ThrottledLifoSemTest.cpp ├── system │ ├── AtFork.cpp │ ├── AtFork.h │ ├── AuxVector.h │ ├── BUCK │ ├── EnvUtil.cpp │ ├── EnvUtil.h │ ├── HardwareConcurrency.cpp │ ├── HardwareConcurrency.h │ ├── MemoryMapping.cpp │ ├── MemoryMapping.h │ ├── Pid.cpp │ ├── Pid.h │ ├── Shell.cpp │ ├── Shell.h │ ├── ThreadId.cpp │ ├── ThreadId.h │ ├── ThreadName.cpp │ ├── ThreadName.h │ └── test │ │ ├── AtForkTest.cpp │ │ ├── AuxVectorTest.cpp │ │ ├── BUCK │ │ ├── EnvUtilSubprocess.cpp │ │ ├── EnvUtilTest.cpp │ │ ├── MemoryMappingTest.cpp │ │ ├── PidTest.cpp │ │ ├── ShellTest.cpp │ │ ├── ThreadIdTest.cpp │ │ └── ThreadNameTest.cpp ├── test │ ├── AHMIntStressTest.cpp │ ├── ArenaSmartPtrTest.cpp │ ├── AsciiCaseInsensitiveBenchmark.cpp │ ├── AsciiCaseInsensitiveTest.cpp │ ├── AtomicHashArrayTest.cpp │ ├── AtomicHashMapTest.cpp │ ├── AtomicLinkedListTest.cpp │ ├── AtomicUnorderedMapTest.cpp │ ├── BUCK │ ├── BenchmarkIntegrationTest.cpp │ ├── BenchmarkTest.cpp │ ├── BufferedAtomic.cpp │ ├── BufferedAtomic.h │ ├── BufferedAtomicTest.cpp │ ├── CancellationTokenBench.cpp │ ├── CancellationTokenTest.cpp │ ├── ChronoBench.cpp │ ├── ChronoTest.cpp │ ├── ClockGettimeWrappersTest.cpp │ ├── ComparisonOperatorTestUtil.h │ ├── ConcurrentBitSetTest.cpp │ ├── ConcurrentLazyTest.cpp │ ├── ConcurrentSkipListBenchmark.cpp │ ├── ConcurrentSkipListTest.cpp │ ├── ConstexprMathBenchmark.cpp │ ├── ConstexprMathTest.cpp │ ├── ConstructorCallbackListTest.cpp │ ├── ConvBenchmark.cpp │ ├── ConvTest.cpp │ ├── CpuIdTest.cpp │ ├── DemangleTest.cpp │ ├── DeterministicSchedule.cpp │ ├── DeterministicSchedule.h │ ├── DeterministicScheduleTest.cpp │ ├── DiscriminatedPtrTest.cpp │ ├── EndianTest.cpp │ ├── ExceptionStringTest.cpp │ ├── ExceptionTest.cpp │ ├── ExceptionWrapperBenchmark.cpp │ ├── ExceptionWrapperTest.cpp │ ├── ExecutorTest.cpp │ ├── ExpectedCoroutinesBench.cpp │ ├── ExpectedCoroutinesTest.cpp │ ├── ExpectedTest.cpp │ ├── FBStringBenchmark.cpp │ ├── FBStringTest.cpp │ ├── FBStringTestBenchmarks.cpp.h │ ├── FBVectorTestUtil.cpp │ ├── FBVectorTestUtil.h │ ├── FileLockTest.cpp │ ├── FileTest.cpp │ ├── FileTestLockHelper.cpp │ ├── FileUtilTest.cpp │ ├── FingerprintBenchmark.cpp │ ├── FingerprintTest.cpp │ ├── FixedStringTest.cpp │ ├── FmtUtilityTest.cpp │ ├── FormatBenchmark.cpp │ ├── FormatOtherTest.cpp │ ├── FormatTest.cpp │ ├── FunctionRefBenchmark.cpp │ ├── FunctionRefTest.cpp │ ├── FunctionTest.cpp │ ├── FutexTest.cpp │ ├── GLogBenchmark.cpp │ ├── GLogTest.cpp │ ├── GroupVarintTest.cpp │ ├── IPAddressBenchmark.cpp │ ├── IPAddressTest.cpp │ ├── IndestructibleTest.cpp │ ├── IndexedMemPoolTest.cpp │ ├── IteratorsTest.cpp │ ├── JsonMockUtil.h │ ├── JsonTestUtil.h │ ├── LazyTest.cpp │ ├── MPMCPipelineTest.cpp │ ├── MPMCQueueTest.cpp │ ├── MacAddressTest.cpp │ ├── MathBenchmark.cpp │ ├── MathTest.cpp │ ├── MaybeManagedPtrTest.cpp │ ├── MemcpyBenchmark.cpp │ ├── MemcpyTest.cpp │ ├── MemcpyUseTest.cpp │ ├── MemoryIdlerBenchmark.cpp │ ├── MemoryIdlerTest.cpp │ ├── MemoryTest.cpp │ ├── MemsetBenchmark.cpp │ ├── MemsetTest.cpp │ ├── MoveWrapperTest.cpp │ ├── ObserverContainerTest.cpp │ ├── ObserverContainerTestUtil.h │ ├── OptionalCoroutinesTest.cpp │ ├── OptionalTest.cpp │ ├── OverloadTest.cpp │ ├── PackedSyncPtrTest.cpp │ ├── PaddedTest.cpp │ ├── PolyTest.cpp │ ├── PortabilityTest.cpp │ ├── ProducerConsumerQueueBenchmark.cpp │ ├── ProducerConsumerQueueTest.cpp │ ├── RandomBenchmark.cpp │ ├── RandomTest.cpp │ ├── RangeFindBenchmark.cpp │ ├── RangeTest.cpp │ ├── ReplaceableTest.cpp │ ├── ScopeGuardTest.cpp │ ├── SharedMutexTest.cpp │ ├── SingletonBenchmark.cpp │ ├── SingletonTest.cpp │ ├── SingletonTestGlobal.cpp │ ├── SingletonTestStructs.cpp │ ├── SingletonTestStructs.h │ ├── SingletonThreadLocalTest.cpp │ ├── SingletonThreadLocalTestOverload.cpp │ ├── SocketAddressTest.cpp │ ├── SocketAddressTestHelper.cpp │ ├── SocketAddressTestHelper.h │ ├── SpinLockTest.cpp │ ├── StringBenchmark.cpp │ ├── StringTest.cpp │ ├── StringToFloatBenchmark.cpp │ ├── SubprocessBench.cpp │ ├── SubprocessTest.cpp │ ├── SubprocessTestParentDeathHelper.cpp │ ├── SynchronizedBenchmark.cpp │ ├── SynchronizedPtrTest.cpp │ ├── SynchronizedTest.cpp │ ├── SynchronizedTestLib-inl.h │ ├── SynchronizedTestLib.h │ ├── TestUtils.h │ ├── TestUtilsTest.cpp │ ├── ThreadCachedIntTest.cpp │ ├── ThreadLocalAccessBenchmark.cpp │ ├── ThreadLocalBenchmark.cpp │ ├── ThreadLocalDestroyBenchmark.cpp │ ├── ThreadLocalTest.cpp │ ├── ThreadLocalTestLib.cpp │ ├── TimeoutQueueTest.cpp │ ├── TokenBucketTest.cpp │ ├── TokenBucketTest.h │ ├── TraitsTest.cpp │ ├── TryTest.cpp │ ├── UTF8StringTest.cpp │ ├── UnicodeTest.cpp │ ├── UnitTest.cpp │ ├── UriBenchmark.cpp │ ├── UriTest.cpp │ ├── UtilityTest.cpp │ ├── VarintTest.cpp │ ├── base64_test.cpp │ ├── common │ │ ├── BUCK │ │ └── TestMain.cpp │ ├── function_benchmark │ │ ├── BUCK │ │ ├── benchmark_impl.cpp │ │ ├── benchmark_impl.h │ │ ├── main.cpp │ │ ├── test_functions.cpp │ │ └── test_functions.h │ └── stl_tests │ │ ├── BUCK │ │ └── StlVectorTest.cpp ├── testing │ ├── BUCK │ ├── TestUtil.cpp │ ├── TestUtil.h │ └── test │ │ ├── BUCK │ │ └── TestUtilTest.cpp ├── tool │ ├── BUCK │ └── BenchmarkCompare.cpp └── tracing │ ├── AsyncStack-inl.h │ ├── AsyncStack.cpp │ ├── AsyncStack.h │ ├── BUCK │ ├── README.md │ ├── ScopedTraceSection.h │ ├── StaticTracepoint-ELF.h │ ├── StaticTracepoint.h │ └── test │ ├── AsyncStackTest.cpp │ ├── BUCK │ ├── StaticTracepointSectionTest.cpp │ ├── StaticTracepointSectionTest.lds │ ├── StaticTracepointTest.cpp │ ├── StaticTracepointTestModule.cpp │ └── StaticTracepointTestModule.h └── static └── logo.svg /.buckconfig: -------------------------------------------------------------------------------- 1 | [cells] 2 | gh_facebook_folly = . 3 | shim_DISABLED = shim 4 | 5 | [cell_aliases] 6 | root = gh_facebook_folly 7 | 8 | [oss] 9 | internal_cell = fbcode 10 | project_dirs = folly 11 | -------------------------------------------------------------------------------- /.buckconfig.d/common.buckconfig: -------------------------------------------------------------------------------- 1 | [cells] 2 | prelude = prelude 3 | none = none 4 | 5 | [cell_aliases] 6 | config = prelude 7 | ovr_config = prelude 8 | bazel_skylib = gh_facebook_buck2_shims_meta 9 | buck = gh_facebook_buck2_shims_meta 10 | fbcode = gh_facebook_buck2_shims_meta 11 | fbcode_macros = gh_facebook_buck2_shims_meta 12 | fbsource = gh_facebook_buck2_shims_meta 13 | shim = gh_facebook_buck2_shims_meta 14 | toolchains = gh_facebook_buck2_shims_meta 15 | 16 | [external_cells] 17 | prelude = bundled 18 | 19 | [parser] 20 | target_platform_detector_spec = target:root//...->prelude//platforms:default target:shim//...->prelude//platforms:default 21 | -------------------------------------------------------------------------------- /.buckconfig.d/external_cells/facebook/buck2-shims-meta/external_cell.buckconfig: -------------------------------------------------------------------------------- 1 | [cells] 2 | gh_facebook_buck2_shims_meta = gh_facebook_buck2_shims_meta 3 | 4 | [external_cells] 5 | gh_facebook_buck2_shims_meta = git 6 | 7 | [external_cell_gh_facebook_buck2_shims_meta] 8 | git_origin = https://github.com/facebook/buck2-shims-meta.git 9 | commit_hash = 1efa0e48109175e29ff9cef8b33c0f3c9a68e017 10 | -------------------------------------------------------------------------------- /.buckroot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebook/folly/445038182b27e39ca533b236b15ed48c13ff2649/.buckroot -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.o 2 | *.lo 3 | *.la 4 | .dirstamp 5 | Makefile 6 | Makefile.in 7 | .libs 8 | .deps 9 | stamp-h1 10 | folly-config.h 11 | _configs.sed 12 | aclocal.m4 13 | autom4te.cache 14 | build-aux 15 | libtool 16 | folly/test/gtest 17 | folly/folly-config.h 18 | folly/**/test/*_benchmark 19 | folly/**/test/*.log 20 | folly/**/test/*_test 21 | folly/**/test/*_test_using_jemalloc 22 | folly/**/test/*.trs 23 | folly/config.* 24 | folly/configure 25 | folly/logging/example/logging_example 26 | folly/libfolly.pc 27 | folly/m4/libtool.m4 28 | folly/m4/ltoptions.m4 29 | folly/m4/ltsugar.m4 30 | folly/m4/ltversion.m4 31 | folly/m4/lt~obsolete.m4 32 | folly/generate_fingerprint_tables 33 | folly/FingerprintTables.cpp 34 | _build 35 | # Ignore all files generated by Buck2 36 | buck-out/ 37 | -------------------------------------------------------------------------------- /.projectid: -------------------------------------------------------------------------------- 1 | folly 2 | -------------------------------------------------------------------------------- /BUCK: -------------------------------------------------------------------------------- 1 | load("@fbcode_macros//build_defs:native_rules.bzl", "buck_genrule") 2 | 3 | oncall("fbcode_entropy_wardens_folly") 4 | 5 | buck_genrule( 6 | name = "folly-config.h", 7 | srcs = {file: file for file in glob([ 8 | "CMake/*", 9 | "build/fbcode_builder/CMake/*", 10 | ])} | 11 | {"CMakeLists.txt": "CMakeListsForBuck2.txt"}, 12 | out = "folly-config.h", 13 | cmd = "cmake . && mv folly/folly-config.h $OUT", 14 | default_target_platform = "prelude//platforms:default", 15 | labels = [ 16 | "third-party:fedora:cmake", 17 | "third-party:homebrew:cmake", 18 | "third-party:ubuntu:cmake", 19 | ], 20 | remote = False, 21 | ) 22 | -------------------------------------------------------------------------------- /CMake/libfolly.pc.in: -------------------------------------------------------------------------------- 1 | prefix=@CMAKE_INSTALL_PREFIX@ 2 | exec_prefix=@CMAKE_INSTALL_PREFIX@ 3 | libdir=${exec_prefix}/@LIB_INSTALL_DIR@ 4 | includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@ 5 | 6 | Name: libfolly 7 | Description: Facebook (Folly) C++ library 8 | Version: @PACKAGE_VERSION@ 9 | Cflags: -I${includedir} @FOLLY_PKGCONFIG_CFLAGS@ 10 | Libs: -L${libdir} -lfolly 11 | Libs.private: @FOLLY_PKGCONFIG_PRIVATE_LIBS@ 12 | -------------------------------------------------------------------------------- /build/buck2/install_deps/BUCK: -------------------------------------------------------------------------------- 1 | # Copyright (c) Meta Platforms, Inc. and affiliates. 2 | # 3 | # This source code is licensed under the LICENSE file found in the root 4 | # directory of this source tree. 5 | load("@fbcode_macros//build_defs:native_rules.bzl", "buck_sh_binary") 6 | 7 | oncall("open_source") 8 | 9 | buck_sh_binary( 10 | name = "install_deps", 11 | main = "install_deps.sh", 12 | resources = glob(["repos/*"]), 13 | ) 14 | -------------------------------------------------------------------------------- /build/buck2/install_deps/repos/fedora: -------------------------------------------------------------------------------- 1 | INSTALL_COMMAND="sudo -E dnf install -y" 2 | -------------------------------------------------------------------------------- /build/buck2/install_deps/repos/homebrew: -------------------------------------------------------------------------------- 1 | INSTALL_COMMAND="brew install" 2 | -------------------------------------------------------------------------------- /build/buck2/install_deps/repos/ubuntu: -------------------------------------------------------------------------------- 1 | INSTALL_COMMAND="sudo -E apt-get install -y" 2 | -------------------------------------------------------------------------------- /build/fbcode_builder/.gitignore: -------------------------------------------------------------------------------- 1 | # Facebook-internal CI builds don't have write permission outside of the 2 | # source tree, so we install all projects into this directory. 3 | /facebook_ci 4 | __pycache__/ 5 | *.pyc 6 | -------------------------------------------------------------------------------- /build/fbcode_builder/CMake/FBBuildOptions.cmake: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | 3 | function (fb_activate_static_library_option) 4 | option(USE_STATIC_DEPS_ON_UNIX 5 | "If enabled, use static dependencies on unix systems. This is generally discouraged." 6 | OFF 7 | ) 8 | # Mark USE_STATIC_DEPS_ON_UNIX as an "advanced" option, since enabling it 9 | # is generally discouraged. 10 | mark_as_advanced(USE_STATIC_DEPS_ON_UNIX) 11 | 12 | if(UNIX AND USE_STATIC_DEPS_ON_UNIX) 13 | SET(CMAKE_FIND_LIBRARY_SUFFIXES ".a" PARENT_SCOPE) 14 | endif() 15 | endfunction() 16 | -------------------------------------------------------------------------------- /build/fbcode_builder/CMake/FBCompilerSettings.cmake: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | 3 | # This file applies common compiler settings that are shared across 4 | # a number of Facebook opensource projects. 5 | # Please use caution and your best judgement before making changes 6 | # to these shared compiler settings in order to avoid accidentally 7 | # breaking a build in another project! 8 | 9 | if (WIN32) 10 | include(FBCompilerSettingsMSVC) 11 | else() 12 | include(FBCompilerSettingsUnix) 13 | endif() 14 | -------------------------------------------------------------------------------- /build/fbcode_builder/CMake/FBCompilerSettingsMSVC.cmake: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | 3 | # This file applies common compiler settings that are shared across 4 | # a number of Facebook opensource projects. 5 | # Please use caution and your best judgement before making changes 6 | # to these shared compiler settings in order to avoid accidentally 7 | # breaking a build in another project! 8 | 9 | add_compile_options( 10 | /wd4250 # 'class1' : inherits 'class2::member' via dominance 11 | ) 12 | -------------------------------------------------------------------------------- /build/fbcode_builder/CMake/FBCompilerSettingsUnix.cmake: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | 3 | # This file applies common compiler settings that are shared across 4 | # a number of Facebook opensource projects. 5 | # Please use caution and your best judgement before making changes 6 | # to these shared compiler settings in order to avoid accidentally 7 | # breaking a build in another project! 8 | 9 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -Wall -Wextra -Wno-deprecated -Wno-deprecated-declarations") 10 | -------------------------------------------------------------------------------- /build/fbcode_builder/CMake/FindDoubleConversion.cmake: -------------------------------------------------------------------------------- 1 | # Copyright (c) Meta Platforms, Inc. and affiliates. 2 | 3 | # Finds libdouble-conversion. 4 | # 5 | # This module defines: 6 | # DOUBLE_CONVERSION_INCLUDE_DIR 7 | # DOUBLE_CONVERSION_LIBRARY 8 | # 9 | 10 | find_path(DOUBLE_CONVERSION_INCLUDE_DIR double-conversion/double-conversion.h) 11 | find_library(DOUBLE_CONVERSION_LIBRARY NAMES double-conversion) 12 | 13 | include(FindPackageHandleStandardArgs) 14 | find_package_handle_standard_args( 15 | DoubleConversion 16 | DEFAULT_MSG 17 | DOUBLE_CONVERSION_LIBRARY DOUBLE_CONVERSION_INCLUDE_DIR) 18 | 19 | mark_as_advanced(DOUBLE_CONVERSION_INCLUDE_DIR DOUBLE_CONVERSION_LIBRARY) 20 | -------------------------------------------------------------------------------- /build/fbcode_builder/CMake/FindLMDB.cmake: -------------------------------------------------------------------------------- 1 | # Copyright (c) Meta Platforms, Inc. and affiliates. 2 | # 3 | # This software may be used and distributed according to the terms of the 4 | # GNU General Public License version 2. 5 | 6 | find_library(LMDB_LIBRARIES NAMES lmdb liblmdb) 7 | mark_as_advanced(LMDB_LIBRARIES) 8 | 9 | find_path(LMDB_INCLUDE_DIR NAMES lmdb.h) 10 | mark_as_advanced(LMDB_INCLUDE_DIR) 11 | 12 | find_package_handle_standard_args( 13 | LMDB 14 | REQUIRED_VARS LMDB_LIBRARIES LMDB_INCLUDE_DIR) 15 | 16 | if(LMDB_FOUND) 17 | set(LMDB_LIBRARIES ${LMDB_LIBRARIES}) 18 | set(LMDB_INCLUDE_DIR, ${LMDB_INCLUDE_DIR}) 19 | endif() 20 | -------------------------------------------------------------------------------- /build/fbcode_builder/CMake/FindPCRE.cmake: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | include(FindPackageHandleStandardArgs) 3 | find_path(PCRE_INCLUDE_DIR NAMES pcre.h) 4 | find_library(PCRE_LIBRARY NAMES pcre) 5 | find_package_handle_standard_args( 6 | PCRE 7 | DEFAULT_MSG 8 | PCRE_LIBRARY 9 | PCRE_INCLUDE_DIR 10 | ) 11 | mark_as_advanced(PCRE_INCLUDE_DIR PCRE_LIBRARY) 12 | -------------------------------------------------------------------------------- /build/fbcode_builder/CMake/FindPCRE2.cmake: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | include(FindPackageHandleStandardArgs) 3 | find_path(PCRE2_INCLUDE_DIR NAMES pcre2.h) 4 | find_library(PCRE2_LIBRARY NAMES pcre2-8) 5 | find_package_handle_standard_args( 6 | PCRE2 7 | DEFAULT_MSG 8 | PCRE2_LIBRARY 9 | PCRE2_INCLUDE_DIR 10 | ) 11 | set(PCRE2_DEFINES "PCRE2_CODE_UNIT_WIDTH=8") 12 | mark_as_advanced(PCRE2_INCLUDE_DIR PCRE2_LIBRARY PCRE2_DEFINES) 13 | -------------------------------------------------------------------------------- /build/fbcode_builder/CMake/FindRe2.cmake: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | # 3 | # This software may be used and distributed according to the terms of the 4 | # GNU General Public License version 2. 5 | 6 | find_library(RE2_LIBRARY re2) 7 | mark_as_advanced(RE2_LIBRARY) 8 | 9 | find_path(RE2_INCLUDE_DIR NAMES re2/re2.h) 10 | mark_as_advanced(RE2_INCLUDE_DIR) 11 | 12 | include(FindPackageHandleStandardArgs) 13 | FIND_PACKAGE_HANDLE_STANDARD_ARGS( 14 | RE2 15 | REQUIRED_VARS RE2_LIBRARY RE2_INCLUDE_DIR) 16 | 17 | if(RE2_FOUND) 18 | set(RE2_LIBRARY ${RE2_LIBRARY}) 19 | set(RE2_INCLUDE_DIR, ${RE2_INCLUDE_DIR}) 20 | endif() 21 | -------------------------------------------------------------------------------- /build/fbcode_builder/getdeps/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebook/folly/445038182b27e39ca533b236b15ed48c13ff2649/build/fbcode_builder/getdeps/__init__.py -------------------------------------------------------------------------------- /build/fbcode_builder/getdeps/errors.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) Meta Platforms, Inc. and affiliates. 2 | # 3 | # This source code is licensed under the MIT license found in the 4 | # LICENSE file in the root directory of this source tree. 5 | 6 | # pyre-unsafe 7 | 8 | 9 | class TransientFailure(Exception): 10 | """Raising this error causes getdeps to return with an error code 11 | that Sandcastle will consider to be a retryable transient 12 | infrastructure error""" 13 | 14 | pass 15 | 16 | 17 | class ManifestNotFound(Exception): 18 | def __init__(self, manifest_name) -> None: 19 | super(Exception, self).__init__("Unable to find manifest '%s'" % manifest_name) 20 | -------------------------------------------------------------------------------- /build/fbcode_builder/getdeps/test/fixtures/duplicate/foo: -------------------------------------------------------------------------------- 1 | [manifest] 2 | name = foo 3 | -------------------------------------------------------------------------------- /build/fbcode_builder/getdeps/test/fixtures/duplicate/subdir/foo: -------------------------------------------------------------------------------- 1 | [manifest] 2 | name = foo 3 | -------------------------------------------------------------------------------- /build/fbcode_builder/manifests/CLI11: -------------------------------------------------------------------------------- 1 | [manifest] 2 | name = CLI11 3 | 4 | [download] 5 | url = https://github.com/CLIUtils/CLI11/archive/v2.0.0.tar.gz 6 | sha256 = 2c672f17bf56e8e6223a3bfb74055a946fa7b1ff376510371902adb9cb0ab6a3 7 | 8 | [build] 9 | builder = cmake 10 | subdir = CLI11-2.0.0 11 | 12 | [cmake.defines] 13 | CLI11_BUILD_TESTS = OFF 14 | CLI11_BUILD_EXAMPLES = OFF 15 | -------------------------------------------------------------------------------- /build/fbcode_builder/manifests/autoconf: -------------------------------------------------------------------------------- 1 | [manifest] 2 | name = autoconf 3 | 4 | [debs] 5 | autoconf 6 | 7 | [homebrew] 8 | autoconf 9 | 10 | [rpms] 11 | autoconf 12 | 13 | [pps] 14 | autoconf 15 | 16 | [download] 17 | url = http://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.gz 18 | sha256 = 954bd69b391edc12d6a4a51a2dd1476543da5c6bbf05a95b59dc0dd6fd4c2969 19 | 20 | [build] 21 | builder = autoconf 22 | subdir = autoconf-2.69 23 | -------------------------------------------------------------------------------- /build/fbcode_builder/manifests/automake: -------------------------------------------------------------------------------- 1 | [manifest] 2 | name = automake 3 | 4 | [homebrew] 5 | automake 6 | 7 | [debs] 8 | automake 9 | 10 | [rpms] 11 | automake 12 | 13 | [pps] 14 | automake 15 | 16 | [download] 17 | url = http://ftp.gnu.org/gnu/automake/automake-1.16.1.tar.gz 18 | sha256 = 608a97523f97db32f1f5d5615c98ca69326ced2054c9f82e65bade7fc4c9dea8 19 | 20 | [build] 21 | builder = autoconf 22 | subdir = automake-1.16.1 23 | 24 | [dependencies] 25 | autoconf 26 | -------------------------------------------------------------------------------- /build/fbcode_builder/manifests/benchmark: -------------------------------------------------------------------------------- 1 | [manifest] 2 | name = benchmark 3 | 4 | [download] 5 | url = https://github.com/google/benchmark/archive/refs/tags/v1.8.0.tar.gz 6 | sha256 = ea2e94c24ddf6594d15c711c06ccd4486434d9cf3eca954e2af8a20c88f9f172 7 | 8 | [build] 9 | builder = cmake 10 | subdir = benchmark-1.8.0/ 11 | 12 | [cmake.defines] 13 | BENCHMARK_ENABLE_TESTING=OFF 14 | -------------------------------------------------------------------------------- /build/fbcode_builder/manifests/blake3: -------------------------------------------------------------------------------- 1 | [manifest] 2 | name = blake3 3 | 4 | [download] 5 | url = https://github.com/BLAKE3-team/BLAKE3/archive/refs/tags/1.5.1.tar.gz 6 | sha256 = 822cd37f70152e5985433d2c50c8f6b2ec83aaf11aa31be9fe71486a91744f37 7 | 8 | [build] 9 | builder = cmake 10 | subdir = BLAKE3-1.5.1/c 11 | -------------------------------------------------------------------------------- /build/fbcode_builder/manifests/bz2: -------------------------------------------------------------------------------- 1 | [manifest] 2 | name = bz2 3 | 4 | [debs] 5 | libbz2-dev 6 | bzip2 7 | 8 | [homebrew] 9 | bzip2 10 | 11 | [rpms] 12 | bzip2-devel 13 | bzip2 14 | 15 | [download] 16 | url = https://sourceware.org/pub/bzip2/bzip2-1.0.8.tar.gz 17 | sha256 = ab5a03176ee106d3f0fa90e381da478ddae405918153cca248e682cd0c4a2269 18 | 19 | [build.not(os=windows)] 20 | builder = make 21 | subdir = bzip2-1.0.8 22 | 23 | [make.build_args.os=linux] 24 | # python bz2 support on linux needs dynamic library 25 | -f 26 | Makefile-libbz2_so 27 | 28 | [make.install_args] 29 | install 30 | 31 | [build.os=windows] 32 | builder = nop 33 | -------------------------------------------------------------------------------- /build/fbcode_builder/manifests/cabal: -------------------------------------------------------------------------------- 1 | [manifest] 2 | name = cabal 3 | 4 | [download.os=linux] 5 | url = https://downloads.haskell.org/~cabal/cabal-install-3.6.2.0/cabal-install-3.6.2.0-x86_64-linux-deb10.tar.xz 6 | sha256 = 4759b56e9257e02f29fa374a6b25d6cb2f9d80c7e3a55d4f678a8e570925641c 7 | 8 | [build] 9 | builder = nop 10 | 11 | [install.files] 12 | cabal = bin/cabal 13 | -------------------------------------------------------------------------------- /build/fbcode_builder/manifests/clang: -------------------------------------------------------------------------------- 1 | [manifest] 2 | name = clang 3 | 4 | [rpms] 5 | clang15-devel 6 | -------------------------------------------------------------------------------- /build/fbcode_builder/manifests/cpptoml: -------------------------------------------------------------------------------- 1 | [manifest] 2 | name = cpptoml 3 | 4 | [homebrew] 5 | cpptoml 6 | 7 | [download] 8 | url = https://github.com/chadaustin/cpptoml/archive/refs/tags/v0.1.2.tar.gz 9 | sha256 = beda37e94f9746874436c8090c045fd80ae6f8a51f7c668c932a2b110a4fc277 10 | 11 | [build] 12 | builder = cmake 13 | subdir = cpptoml-0.1.2 14 | 15 | [cmake.defines.os=freebsd] 16 | ENABLE_LIBCXX=NO 17 | -------------------------------------------------------------------------------- /build/fbcode_builder/manifests/double-conversion: -------------------------------------------------------------------------------- 1 | [manifest] 2 | name = double-conversion 3 | 4 | [download] 5 | url = https://github.com/google/double-conversion/archive/v3.1.4.tar.gz 6 | sha256 = 95004b65e43fefc6100f337a25da27bb99b9ef8d4071a36a33b5e83eb1f82021 7 | 8 | [homebrew] 9 | double-conversion 10 | 11 | [debs] 12 | libdouble-conversion-dev 13 | 14 | [rpms] 15 | double-conversion 16 | double-conversion-devel 17 | 18 | [pps] 19 | double-conversion 20 | 21 | [build] 22 | builder = cmake 23 | subdir = double-conversion-3.1.4 24 | -------------------------------------------------------------------------------- /build/fbcode_builder/manifests/edencommon: -------------------------------------------------------------------------------- 1 | [manifest] 2 | name = edencommon 3 | fbsource_path = fbcode/eden/common 4 | shipit_project = edencommon 5 | shipit_fbcode_builder = true 6 | 7 | [git] 8 | repo_url = https://github.com/facebookexperimental/edencommon.git 9 | 10 | [build] 11 | builder = cmake 12 | 13 | [dependencies] 14 | fbthrift 15 | fb303 16 | fmt 17 | folly 18 | gflags 19 | glog 20 | 21 | [cmake.defines.test=on] 22 | BUILD_TESTS=ON 23 | 24 | [cmake.defines.test=off] 25 | BUILD_TESTS=OFF 26 | 27 | [shipit.pathmap] 28 | fbcode/eden/common = eden/common 29 | fbcode/eden/common/oss = . 30 | 31 | [shipit.strip] 32 | @README.facebook@ 33 | -------------------------------------------------------------------------------- /build/fbcode_builder/manifests/exprtk: -------------------------------------------------------------------------------- 1 | [manifest] 2 | name = exprtk 3 | 4 | [download] 5 | url = https://github.com/ArashPartow/exprtk/archive/refs/tags/0.0.1.tar.gz 6 | sha256 = fb72791c88ae3b3426e14fdad630027715682584daf56b973569718c56e33f28 7 | 8 | [build.not(os=windows)] 9 | builder = nop 10 | subdir = exprtk-0.0.1 11 | 12 | [install.files] 13 | exprtk.hpp = exprtk.hpp 14 | 15 | [dependencies] 16 | -------------------------------------------------------------------------------- /build/fbcode_builder/manifests/fast_float: -------------------------------------------------------------------------------- 1 | [manifest] 2 | name = fast_float 3 | 4 | [download] 5 | url = https://github.com/fastfloat/fast_float/archive/refs/tags/v8.0.0.tar.gz 6 | sha256 = f312f2dc34c61e665f4b132c0307d6f70ad9420185fa831911bc24408acf625d 7 | 8 | [build] 9 | builder = cmake 10 | subdir = fast_float-8.0.0 11 | 12 | [cmake.defines] 13 | FASTFLOAT_TEST = OFF 14 | FASTFLOAT_SANITIZE = OFF 15 | 16 | [debs.not(all(distro=ubuntu,any(distro_vers="18.04",distro_vers="20.04",distro_vers="22.04",distro_vers="24.04")))] 17 | libfast-float-dev 18 | 19 | [rpms.distro=fedora] 20 | fast_float-devel 21 | -------------------------------------------------------------------------------- /build/fbcode_builder/manifests/fatal: -------------------------------------------------------------------------------- 1 | [manifest] 2 | name = fatal 3 | fbsource_path = fbcode/fatal 4 | shipit_project = fatal 5 | 6 | [git] 7 | repo_url = https://github.com/facebook/fatal.git 8 | 9 | [shipit.pathmap] 10 | fbcode/fatal = fatal 11 | fbcode/fatal/public_tld = . 12 | 13 | [build] 14 | builder = nop 15 | subdir = . 16 | 17 | [install.files] 18 | fatal/portability.h = fatal/portability.h 19 | fatal/preprocessor.h = fatal/preprocessor.h 20 | fatal/container = fatal/container 21 | fatal/functional = fatal/functional 22 | fatal/math = fatal/math 23 | fatal/string = fatal/string 24 | fatal/type = fatal/type 25 | -------------------------------------------------------------------------------- /build/fbcode_builder/manifests/fizz: -------------------------------------------------------------------------------- 1 | [manifest] 2 | name = fizz 3 | fbsource_path = fbcode/fizz 4 | shipit_project = fizz 5 | shipit_fbcode_builder = true 6 | 7 | [git] 8 | repo_url = https://github.com/facebookincubator/fizz.git 9 | 10 | [build] 11 | builder = cmake 12 | subdir = fizz 13 | 14 | [cmake.defines] 15 | BUILD_EXAMPLES = OFF 16 | 17 | [cmake.defines.test=on] 18 | BUILD_TESTS = ON 19 | 20 | [cmake.defines.all(os=windows, test=on)] 21 | BUILD_TESTS = OFF 22 | 23 | [cmake.defines.test=off] 24 | BUILD_TESTS = OFF 25 | 26 | [dependencies] 27 | folly 28 | liboqs 29 | libsodium 30 | zlib 31 | zstd 32 | 33 | [dependencies.all(test=on, not(os=windows))] 34 | googletest 35 | 36 | [shipit.pathmap] 37 | fbcode/fizz/public_tld = . 38 | fbcode/fizz = fizz 39 | -------------------------------------------------------------------------------- /build/fbcode_builder/manifests/fmt: -------------------------------------------------------------------------------- 1 | [manifest] 2 | name = fmt 3 | 4 | [download] 5 | url = https://github.com/fmtlib/fmt/archive/refs/tags/11.0.2.tar.gz 6 | sha256 = 6cb1e6d37bdcb756dbbe59be438790db409cdb4868c66e888d5df9f13f7c027f 7 | 8 | [build] 9 | builder = cmake 10 | subdir = fmt-11.0.2 11 | 12 | [cmake.defines] 13 | FMT_TEST = OFF 14 | FMT_DOC = OFF 15 | 16 | [homebrew] 17 | fmt 18 | 19 | [rpms.distro=fedora] 20 | fmt-devel 21 | -------------------------------------------------------------------------------- /build/fbcode_builder/manifests/gflags: -------------------------------------------------------------------------------- 1 | [manifest] 2 | name = gflags 3 | 4 | [download] 5 | url = https://github.com/gflags/gflags/archive/v2.2.2.tar.gz 6 | sha256 = 34af2f15cf7367513b352bdcd2493ab14ce43692d2dcd9dfc499492966c64dcf 7 | 8 | [build] 9 | builder = cmake 10 | subdir = gflags-2.2.2 11 | 12 | [cmake.defines] 13 | BUILD_SHARED_LIBS = ON 14 | BUILD_STATIC_LIBS = ON 15 | #BUILD_gflags_nothreads_LIB = OFF 16 | BUILD_gflags_LIB = ON 17 | 18 | [homebrew] 19 | gflags 20 | 21 | [debs] 22 | libgflags-dev 23 | 24 | [rpms.distro=fedora] 25 | gflags-devel 26 | -------------------------------------------------------------------------------- /build/fbcode_builder/manifests/ghc: -------------------------------------------------------------------------------- 1 | [manifest] 2 | name = ghc 3 | 4 | [download.os=linux] 5 | url = https://downloads.haskell.org/~ghc/9.2.8/ghc-9.2.8-x86_64-fedora27-linux.tar.xz 6 | sha256 = 845f63cd365317bb764d81025554a2527dbe315d6fa268c9859e21b911bf2d3c 7 | 8 | [build] 9 | builder = autoconf 10 | subdir = ghc-9.2.8 11 | build_in_src_dir = true 12 | only_install = true 13 | 14 | [make.install_args] 15 | install 16 | -------------------------------------------------------------------------------- /build/fbcode_builder/manifests/git-lfs: -------------------------------------------------------------------------------- 1 | [manifest] 2 | name = git-lfs 3 | 4 | [rpms] 5 | git-lfs 6 | 7 | [debs] 8 | git-lfs 9 | 10 | [homebrew] 11 | git-lfs 12 | 13 | # only used from system packages currently 14 | [build] 15 | builder = nop 16 | -------------------------------------------------------------------------------- /build/fbcode_builder/manifests/glog: -------------------------------------------------------------------------------- 1 | [manifest] 2 | name = glog 3 | 4 | [download] 5 | url = https://github.com/google/glog/archive/v0.5.0.tar.gz 6 | sha256 = eede71f28371bf39aa69b45de23b329d37214016e2055269b3b5e7cfd40b59f5 7 | 8 | [build] 9 | builder = cmake 10 | subdir = glog-0.5.0 11 | 12 | [dependencies] 13 | gflags 14 | 15 | [cmake.defines] 16 | BUILD_SHARED_LIBS=ON 17 | BUILD_TESTING=NO 18 | WITH_PKGCONFIG=ON 19 | 20 | [cmake.defines.os=freebsd] 21 | HAVE_TR1_UNORDERED_MAP=OFF 22 | HAVE_TR1_UNORDERED_SET=OFF 23 | 24 | [homebrew] 25 | glog 26 | 27 | # on ubuntu glog brings in liblzma-dev, which in turn breaks watchman tests 28 | [debs.not(distro=ubuntu)] 29 | libgoogle-glog-dev 30 | 31 | [rpms.distro=fedora] 32 | glog-devel 33 | 34 | -------------------------------------------------------------------------------- /build/fbcode_builder/manifests/gperf: -------------------------------------------------------------------------------- 1 | [manifest] 2 | name = gperf 3 | 4 | [download] 5 | url = http://ftp.gnu.org/pub/gnu/gperf/gperf-3.1.tar.gz 6 | sha256 = 588546b945bba4b70b6a3a616e80b4ab466e3f33024a352fc2198112cdbb3ae2 7 | 8 | [build.not(os=windows)] 9 | builder = autoconf 10 | subdir = gperf-3.1 11 | 12 | [build.os=windows] 13 | builder = nop 14 | 15 | -------------------------------------------------------------------------------- /build/fbcode_builder/manifests/hexdump: -------------------------------------------------------------------------------- 1 | [manifest] 2 | name = hexdump 3 | 4 | [rpms] 5 | util-linux 6 | 7 | [debs] 8 | bsdmainutils 9 | 10 | # only used from system packages currently 11 | [build] 12 | builder = nop 13 | -------------------------------------------------------------------------------- /build/fbcode_builder/manifests/hsthrift: -------------------------------------------------------------------------------- 1 | [manifest] 2 | name = hsthrift 3 | fbsource_path = fbcode/common/hs 4 | shipit_project = facebookincubator/hsthrift 5 | use_shipit = true 6 | 7 | [shipit.pathmap] 8 | # These are only used by target determinator to trigger builds, the 9 | # real path mappings are in the ShipIt config. 10 | fbcode/common/hs = . 11 | 12 | [dependencies] 13 | cabal 14 | ghc 15 | gflags 16 | glog 17 | folly 18 | fbthrift 19 | wangle 20 | fizz 21 | boost 22 | 23 | [build] 24 | builder = make 25 | 26 | [make.build_args] 27 | cabal-update 28 | all 29 | 30 | [make.install_args] 31 | install 32 | 33 | [make.test_args] 34 | test 35 | -------------------------------------------------------------------------------- /build/fbcode_builder/manifests/iproute2: -------------------------------------------------------------------------------- 1 | [manifest] 2 | name = iproute2 3 | 4 | [download] 5 | url = https://mirrors.edge.kernel.org/pub/linux/utils/net/iproute2/iproute2-4.12.0.tar.gz 6 | sha256 = 46612a1e2d01bb31932557bccdb1b8618cae9a439dfffc08ef35ed8e197f14ce 7 | 8 | [build.os=linux] 9 | builder = iproute2 10 | subdir = iproute2-4.12.0 11 | patchfile = iproute2_oss.patch 12 | 13 | [build.not(os=linux)] 14 | builder = nop 15 | -------------------------------------------------------------------------------- /build/fbcode_builder/manifests/jom: -------------------------------------------------------------------------------- 1 | # jom is compatible with MSVC nmake, but adds the /j argment which 2 | # speeds up openssl build a lot 3 | [manifest] 4 | name = jom 5 | 6 | # see https://download.qt.io/official_releases/jom/changelog.txt for latest version 7 | [download.os=windows] 8 | url = https://download.qt.io/official_releases/jom/jom_1_1_4.zip 9 | sha256 = d533c1ef49214229681e90196ed2094691e8c4a0a0bef0b2c901debcb562682b 10 | 11 | [build.os=windows] 12 | builder = nop 13 | 14 | [install.files.os=windows] 15 | . = bin 16 | -------------------------------------------------------------------------------- /build/fbcode_builder/manifests/jq: -------------------------------------------------------------------------------- 1 | [manifest] 2 | name = jq 3 | 4 | [rpms.distro=fedora] 5 | jq 6 | 7 | [homebrew] 8 | jq 9 | 10 | [download.not(os=windows)] 11 | # we use jq-1.7+ to get fix for number truncation https://github.com/jqlang/jq/pull/1752 12 | url = https://github.com/jqlang/jq/releases/download/jq-1.7.1/jq-1.7.1.tar.gz 13 | sha256 = 478c9ca129fd2e3443fe27314b455e211e0d8c60bc8ff7df703873deeee580c2 14 | 15 | [build.not(os=windows)] 16 | builder = autoconf 17 | subdir = jq-1.7.1 18 | 19 | [build.os=windows] 20 | builder = nop 21 | 22 | [autoconf.args] 23 | # This argument turns off some developers tool and it is recommended in jq's 24 | # README 25 | --disable-maintainer-mode 26 | -------------------------------------------------------------------------------- /build/fbcode_builder/manifests/katran: -------------------------------------------------------------------------------- 1 | [manifest] 2 | name = katran 3 | fbsource_path = fbcode/katran 4 | shipit_project = katran 5 | shipit_fbcode_builder = true 6 | 7 | [git] 8 | repo_url = https://github.com/facebookincubator/katran.git 9 | 10 | [build.not(os=linux)] 11 | builder = nop 12 | 13 | [build.os=linux] 14 | builder = cmake 15 | subdir = . 16 | 17 | [cmake.defines.test=on] 18 | BUILD_TESTS=ON 19 | 20 | [cmake.defines.test=off] 21 | BUILD_TESTS=OFF 22 | 23 | [dependencies] 24 | folly 25 | fizz 26 | libbpf 27 | libmnl 28 | zlib 29 | googletest 30 | fmt 31 | 32 | [debs] 33 | libssl-dev 34 | 35 | [shipit.pathmap] 36 | fbcode/katran/public_root = . 37 | fbcode/katran = katran 38 | 39 | [shipit.strip] 40 | ^fbcode/katran/facebook 41 | ^fbcode/katran/OSS_SYNC 42 | -------------------------------------------------------------------------------- /build/fbcode_builder/manifests/libaio: -------------------------------------------------------------------------------- 1 | [manifest] 2 | name = libaio 3 | 4 | [debs] 5 | libaio-dev 6 | 7 | [rpms.distro=centos_stream] 8 | libaio-devel 9 | -------------------------------------------------------------------------------- /build/fbcode_builder/manifests/libbpf: -------------------------------------------------------------------------------- 1 | [manifest] 2 | name = libbpf 3 | 4 | [download] 5 | url = https://github.com/libbpf/libbpf/archive/refs/tags/v0.7.0.tar.gz 6 | sha256 = 5083588ce5a3a620e395ee1e596af77b4ec5771ffc71cff2af49dfee38c06361 7 | 8 | # BPF only builds on linux, so make it a NOP on other platforms 9 | [build.not(os=linux)] 10 | builder = nop 11 | 12 | [build.os=linux] 13 | builder = make 14 | subdir = libbpf-0.7.0/src 15 | 16 | [make.build_args] 17 | BUILD_STATIC_ONLY=y 18 | 19 | # libbpf-0.3 requires uapi headers >= 5.8 20 | [make.install_args] 21 | install 22 | install_uapi_headers 23 | BUILD_STATIC_ONLY=y 24 | 25 | [dependencies] 26 | libelf 27 | -------------------------------------------------------------------------------- /build/fbcode_builder/manifests/libdwarf: -------------------------------------------------------------------------------- 1 | [manifest] 2 | name = libdwarf 3 | 4 | [rpms] 5 | libdwarf-devel 6 | libdwarf 7 | 8 | [debs] 9 | libdwarf-dev 10 | 11 | [homebrew] 12 | dwarfutils 13 | 14 | [download] 15 | url = https://www.prevanders.net/libdwarf-0.9.2.tar.xz 16 | sha256 = 22b66d06831a76f6a062126cdcad3fcc58540b89a1acb23c99f8861f50999ec3 17 | 18 | [build] 19 | builder = cmake 20 | subdir = libdwarf-0.9.2 21 | -------------------------------------------------------------------------------- /build/fbcode_builder/manifests/libelf: -------------------------------------------------------------------------------- 1 | [manifest] 2 | name = libelf 3 | 4 | [rpms] 5 | elfutils-libelf-devel-static 6 | 7 | [debs] 8 | libelf-dev 9 | 10 | [pps] 11 | libelf 12 | 13 | [download] 14 | url = https://ftp.osuosl.org/pub/blfs/conglomeration/libelf/libelf-0.8.13.tar.gz 15 | sha256 = 591a9b4ec81c1f2042a97aa60564e0cb79d041c52faa7416acb38bc95bd2c76d 16 | 17 | # libelf only makes sense on linux, so make it a NOP on other platforms 18 | [build.not(os=linux)] 19 | builder = nop 20 | 21 | [build.os=linux] 22 | builder = autoconf 23 | subdir = libelf-0.8.13 24 | -------------------------------------------------------------------------------- /build/fbcode_builder/manifests/libffi: -------------------------------------------------------------------------------- 1 | [manifest] 2 | name = libffi 3 | 4 | [debs] 5 | libffi-dev 6 | 7 | [homebrew] 8 | libffi 9 | 10 | [rpms] 11 | libffi-devel 12 | libffi 13 | 14 | [pps] 15 | libffi 16 | 17 | [download] 18 | url = https://github.com/libffi/libffi/releases/download/v3.4.2/libffi-3.4.2.tar.gz 19 | sha256 = 540fb721619a6aba3bdeef7d940d8e9e0e6d2c193595bc243241b77ff9e93620 20 | 21 | [build] 22 | builder = autoconf 23 | subdir = libffi-3.4.2 24 | -------------------------------------------------------------------------------- /build/fbcode_builder/manifests/libgpiod: -------------------------------------------------------------------------------- 1 | [manifest] 2 | name = libgpiod 3 | 4 | [download] 5 | url = https://cdn.kernel.org/pub/software/libs/libgpiod/libgpiod-1.6.tar.xz 6 | sha256 = 62908023d59e8cbb9137ddd14deec50ced862d8f9b8749f288d3dbe7967151ef 7 | 8 | [build] 9 | builder = autoconf 10 | subdir = libgpiod-1.6 11 | -------------------------------------------------------------------------------- /build/fbcode_builder/manifests/libiberty: -------------------------------------------------------------------------------- 1 | [manifest] 2 | name = libiberty 3 | 4 | [rpms] 5 | binutils-devel 6 | binutils 7 | 8 | [debs] 9 | binutils-dev 10 | 11 | [download] 12 | url = https://ftp.gnu.org/gnu/binutils/binutils-2.43.tar.xz 13 | sha256 = b53606f443ac8f01d1d5fc9c39497f2af322d99e14cea5c0b4b124d630379365 14 | 15 | [dependencies] 16 | zlib 17 | 18 | [build] 19 | builder = autoconf 20 | subdir = binutils-2.43/libiberty 21 | patchfile = libiberty_install_pic_lib.patch 22 | 23 | # only build the parts needed for demangling 24 | # as we still want to use system linker and assembler etc 25 | [autoconf.args] 26 | --enable-install-libiberty 27 | -------------------------------------------------------------------------------- /build/fbcode_builder/manifests/libmnl: -------------------------------------------------------------------------------- 1 | [manifest] 2 | name = libmnl 3 | 4 | [rpms] 5 | libmnl-devel 6 | 7 | # all centos 8 distros are missing this, 8 | # but its in fedora so may be back in a later version 9 | [rpms.not(all(any(distro=centos_stream,distro=centos),distro_vers=8))] 10 | libmnl-static 11 | 12 | [debs] 13 | libmnl-dev 14 | 15 | [pps] 16 | libmnl 17 | 18 | [download] 19 | url = http://www.netfilter.org/pub/libmnl/libmnl-1.0.4.tar.bz2 20 | sha256 = 171f89699f286a5854b72b91d06e8f8e3683064c5901fb09d954a9ab6f551f81 21 | 22 | [build.os=linux] 23 | builder = autoconf 24 | subdir = libmnl-1.0.4 25 | -------------------------------------------------------------------------------- /build/fbcode_builder/manifests/libnl: -------------------------------------------------------------------------------- 1 | [manifest] 2 | name = libnl 3 | 4 | [rpms] 5 | libnl3-devel 6 | libnl3 7 | 8 | [debs] 9 | libnl-3-dev 10 | libnl-route-3-dev 11 | 12 | [pps] 13 | libnl 14 | 15 | [download] 16 | url = https://github.com/thom311/libnl/releases/download/libnl3_2_25/libnl-3.2.25.tar.gz 17 | sha256 = 8beb7590674957b931de6b7f81c530b85dc7c1ad8fbda015398bc1e8d1ce8ec5 18 | 19 | [build.os=linux] 20 | builder = autoconf 21 | subdir = libnl-3.2.25 22 | -------------------------------------------------------------------------------- /build/fbcode_builder/manifests/liboqs: -------------------------------------------------------------------------------- 1 | [manifest] 2 | name = liboqs 3 | 4 | [download] 5 | url = https://github.com/open-quantum-safe/liboqs/archive/refs/tags/0.12.0.tar.gz 6 | sha256 = df999915204eb1eba311d89e83d1edd3a514d5a07374745d6a9e5b2dd0d59c08 7 | 8 | [build] 9 | builder = cmake 10 | subdir = liboqs-0.12.0 11 | 12 | [cmake.defines] 13 | OQS_MINIMAL_BUILD = KEM_kyber_512;KEM_kyber_768;KEM_kyber_1024;KEM_ml_kem_512;KEM_ml_kem_768;KEM_ml_kem_1024 14 | 15 | [dependencies] 16 | openssl 17 | -------------------------------------------------------------------------------- /build/fbcode_builder/manifests/libsai: -------------------------------------------------------------------------------- 1 | [manifest] 2 | name = libsai 3 | 4 | [download] 5 | url = https://github.com/opencomputeproject/SAI/archive/v1.14.0.tar.gz 6 | sha256 = 4e3a1d010bda0c589db46e077725a2cd9624a5cc255c89d1caa79deb408d1fa7 7 | 8 | [build] 9 | builder = nop 10 | subdir = SAI-1.14.0 11 | 12 | [install.files] 13 | inc = include 14 | experimental = experimental 15 | -------------------------------------------------------------------------------- /build/fbcode_builder/manifests/libtool: -------------------------------------------------------------------------------- 1 | [manifest] 2 | name = libtool 3 | 4 | [homebrew] 5 | libtool 6 | 7 | [rpms] 8 | libtool 9 | 10 | [debs] 11 | libtool 12 | 13 | [pps] 14 | libtool 15 | 16 | [download] 17 | url = http://ftp.gnu.org/gnu/libtool/libtool-2.4.6.tar.gz 18 | sha256 = e3bd4d5d3d025a36c21dd6af7ea818a2afcd4dfc1ea5a17b39d7854bcd0c06e3 19 | 20 | [build] 21 | builder = autoconf 22 | subdir = libtool-2.4.6 23 | 24 | [dependencies] 25 | automake 26 | 27 | [autoconf.args] 28 | --enable-ltdl-install 29 | -------------------------------------------------------------------------------- /build/fbcode_builder/manifests/libusb: -------------------------------------------------------------------------------- 1 | [manifest] 2 | name = libusb 3 | 4 | [debs] 5 | libusb-1.0-0-dev 6 | 7 | [homebrew] 8 | libusb 9 | 10 | [rpms] 11 | libusb-devel 12 | libusb 13 | 14 | [pps] 15 | libusb 16 | 17 | [download] 18 | url = https://github.com/libusb/libusb/releases/download/v1.0.22/libusb-1.0.22.tar.bz2 19 | sha256 = 75aeb9d59a4fdb800d329a545c2e6799f732362193b465ea198f2aa275518157 20 | 21 | [build.os=linux] 22 | builder = autoconf 23 | subdir = libusb-1.0.22 24 | 25 | [autoconf.args] 26 | # fboss (which added the libusb dep) doesn't need udev so it is disabled here. 27 | # if someone in the future wants to add udev for something else, it won't hurt 28 | # fboss. 29 | --disable-udev 30 | -------------------------------------------------------------------------------- /build/fbcode_builder/manifests/libyaml: -------------------------------------------------------------------------------- 1 | [manifest] 2 | name = libyaml 3 | 4 | [download] 5 | url = http://pyyaml.org/download/libyaml/yaml-0.1.7.tar.gz 6 | sha256 = 8088e457264a98ba451a90b8661fcb4f9d6f478f7265d48322a196cec2480729 7 | 8 | [build.os=linux] 9 | builder = autoconf 10 | subdir = yaml-0.1.7 11 | 12 | [build.not(os=linux)] 13 | builder = nop 14 | -------------------------------------------------------------------------------- /build/fbcode_builder/manifests/llvm: -------------------------------------------------------------------------------- 1 | [manifest] 2 | name = llvm 3 | 4 | [rpms] 5 | llvm15-devel 6 | -------------------------------------------------------------------------------- /build/fbcode_builder/manifests/lmdb: -------------------------------------------------------------------------------- 1 | [manifest] 2 | name = lmdb 3 | 4 | [build] 5 | builder = make 6 | subdir = lmdb-LMDB_0.9.31/libraries/liblmdb 7 | 8 | [download] 9 | url = https://github.com/LMDB/lmdb/archive/refs/tags/LMDB_0.9.31.tar.gz 10 | sha256 = dd70a8c67807b3b8532b3e987b0a4e998962ecc28643e1af5ec77696b081c9b0 11 | 12 | [make.build_args] 13 | BUILD_STATIC_ONLY=y 14 | 15 | [make.install_args] 16 | install 17 | BUILD_STATIC_ONLY=y 18 | -------------------------------------------------------------------------------- /build/fbcode_builder/manifests/lz4: -------------------------------------------------------------------------------- 1 | [manifest] 2 | name = lz4 3 | 4 | [homebrew] 5 | lz4 6 | 7 | [rpms] 8 | lz4-devel 9 | # centos 8 and centos_stream 9 are missing this rpm 10 | [rpms.not(any(all(distro=centos,distro_vers=8),all(distro=centos_stream,distro_vers=9)))] 11 | lz4-static 12 | 13 | [debs] 14 | liblz4-dev 15 | 16 | [pps] 17 | lz4 18 | 19 | [download] 20 | url = https://github.com/lz4/lz4/archive/v1.8.3.tar.gz 21 | sha256 = 33af5936ac06536805f9745e0b6d61da606a1f8b4cc5c04dd3cbaca3b9b4fc43 22 | 23 | [build] 24 | builder = cmake 25 | subdir = lz4-1.8.3/contrib/cmake_unofficial 26 | -------------------------------------------------------------------------------- /build/fbcode_builder/manifests/mcrouter: -------------------------------------------------------------------------------- 1 | [manifest] 2 | name = mcrouter 3 | 4 | [git] 5 | repo_url = https://github.com/facebook/mcrouter.git 6 | 7 | [dependencies] 8 | folly 9 | wangle 10 | fizz 11 | fbthrift 12 | mvfst 13 | ragel 14 | 15 | [build] 16 | builder = cmake 17 | subdir = . 18 | 19 | [cmake.defines.test=on] 20 | BUILD_TESTS=ON 21 | 22 | [cmake.defines.test=off] 23 | BUILD_TESTS=OFF 24 | -------------------------------------------------------------------------------- /build/fbcode_builder/manifests/mvfst: -------------------------------------------------------------------------------- 1 | [manifest] 2 | name = mvfst 3 | fbsource_path = fbcode/quic 4 | shipit_project = mvfst 5 | shipit_fbcode_builder = true 6 | 7 | [git] 8 | repo_url = https://github.com/facebook/mvfst.git 9 | 10 | [build] 11 | builder = cmake 12 | subdir = . 13 | 14 | [cmake.defines.test=on] 15 | BUILD_TESTS = ON 16 | 17 | [cmake.defines.all(os=windows, test=on)] 18 | BUILD_TESTS = OFF 19 | 20 | [cmake.defines.test=off] 21 | BUILD_TESTS = OFF 22 | 23 | [dependencies] 24 | folly 25 | fizz 26 | 27 | [dependencies.all(test=on, not(os=windows))] 28 | googletest 29 | 30 | [shipit.pathmap] 31 | fbcode/quic/public_root = . 32 | fbcode/quic = quic 33 | -------------------------------------------------------------------------------- /build/fbcode_builder/manifests/ncurses: -------------------------------------------------------------------------------- 1 | [manifest] 2 | name = ncurses 3 | 4 | [debs] 5 | libncurses-dev 6 | 7 | [homebrew] 8 | ncurses 9 | 10 | [rpms] 11 | ncurses-devel 12 | 13 | [download] 14 | url = https://ftp.gnu.org/pub/gnu/ncurses/ncurses-6.3.tar.gz 15 | sha256 = 97fc51ac2b085d4cde31ef4d2c3122c21abc217e9090a43a30fc5ec21684e059 16 | 17 | [build.not(os=windows)] 18 | builder = autoconf 19 | subdir = ncurses-6.3 20 | 21 | [autoconf.args] 22 | --without-cxx-binding 23 | --without-ada 24 | 25 | [autoconf.args.os=linux] 26 | --enable-shared 27 | --with-shared 28 | 29 | [build.os=windows] 30 | builder = nop 31 | -------------------------------------------------------------------------------- /build/fbcode_builder/manifests/nghttp2: -------------------------------------------------------------------------------- 1 | [manifest] 2 | name = nghttp2 3 | 4 | [rpms] 5 | libnghttp2-devel 6 | libnghttp2 7 | 8 | [debs] 9 | libnghttp2-dev 10 | 11 | [pps] 12 | libnghttp2 13 | 14 | [download] 15 | url = https://github.com/nghttp2/nghttp2/releases/download/v1.47.0/nghttp2-1.47.0.tar.gz 16 | sha256 = 62f50f0e9fc479e48b34e1526df8dd2e94136de4c426b7680048181606832b7c 17 | 18 | [build] 19 | builder = autoconf 20 | subdir = nghttp2-1.47.0 21 | 22 | [autoconf.args] 23 | --enable-lib-only 24 | --disable-dependency-tracking 25 | -------------------------------------------------------------------------------- /build/fbcode_builder/manifests/ninja: -------------------------------------------------------------------------------- 1 | [manifest] 2 | name = ninja 3 | 4 | [debs] 5 | ninja-build 6 | 7 | [homebrew] 8 | ninja 9 | 10 | [rpms] 11 | ninja-build 12 | 13 | [pps] 14 | ninja 15 | 16 | [download.os=windows] 17 | url = https://github.com/ninja-build/ninja/releases/download/v1.10.2/ninja-win.zip 18 | sha256 = bbde850d247d2737c5764c927d1071cbb1f1957dcabda4a130fa8547c12c695f 19 | 20 | [build.os=windows] 21 | builder = nop 22 | 23 | [install.files.os=windows] 24 | ninja.exe = bin/ninja.exe 25 | 26 | [download.not(os=windows)] 27 | url = https://github.com/ninja-build/ninja/archive/v1.10.2.tar.gz 28 | sha256 = ce35865411f0490368a8fc383f29071de6690cbadc27704734978221f25e2bed 29 | 30 | [build.not(os=windows)] 31 | builder = ninja_bootstrap 32 | subdir = ninja-1.10.2 33 | -------------------------------------------------------------------------------- /build/fbcode_builder/manifests/nlohmann-json: -------------------------------------------------------------------------------- 1 | [manifest] 2 | name = nlohmann-json 3 | 4 | [download] 5 | url = https://github.com/nlohmann/json/archive/refs/tags/v3.10.5.tar.gz 6 | sha256 = 5daca6ca216495edf89d167f808d1d03c4a4d929cef7da5e10f135ae1540c7e4 7 | 8 | [dependencies] 9 | 10 | [build] 11 | builder = cmake 12 | subdir = json-3.10.5 13 | -------------------------------------------------------------------------------- /build/fbcode_builder/manifests/numa: -------------------------------------------------------------------------------- 1 | [manifest] 2 | name = numa 3 | 4 | [download] 5 | url = https://github.com/numactl/numactl/releases/download/v2.0.19/numactl-2.0.19.tar.gz 6 | sha256 = f2672a0381cb59196e9c246bf8bcc43d5568bc457700a697f1a1df762b9af884 7 | 8 | [build] 9 | builder = autoconf 10 | subdir = numactl-2.0.19 11 | 12 | [rpms.distro=centos_stream] 13 | numactl-devel 14 | -------------------------------------------------------------------------------- /build/fbcode_builder/manifests/osxfuse: -------------------------------------------------------------------------------- 1 | [manifest] 2 | name = osxfuse 3 | 4 | [download] 5 | url = https://github.com/osxfuse/osxfuse/archive/osxfuse-3.8.3.tar.gz 6 | sha256 = 93bab6731bdfe8dc1ef069483437270ce7fe5a370f933d40d8d0ef09ba846c0c 7 | 8 | [build] 9 | builder = nop 10 | 11 | [install.files] 12 | osxfuse-osxfuse-3.8.3/common = include 13 | -------------------------------------------------------------------------------- /build/fbcode_builder/manifests/patchelf: -------------------------------------------------------------------------------- 1 | [manifest] 2 | name = patchelf 3 | 4 | [rpms] 5 | patchelf 6 | 7 | [debs] 8 | patchelf 9 | 10 | [pps] 11 | patchelf 12 | 13 | [download] 14 | url = https://github.com/NixOS/patchelf/archive/0.10.tar.gz 15 | sha256 = b3cb6bdedcef5607ce34a350cf0b182eb979f8f7bc31eae55a93a70a3f020d13 16 | 17 | [build] 18 | builder = autoconf 19 | subdir = patchelf-0.10 20 | 21 | -------------------------------------------------------------------------------- /build/fbcode_builder/manifests/pcre2: -------------------------------------------------------------------------------- 1 | [manifest] 2 | name = pcre2 3 | 4 | [homebrew] 5 | pcre2 6 | 7 | [rpms] 8 | pcre2-devel 9 | pcre-static 10 | 11 | [debs] 12 | libpcre2-dev 13 | 14 | [download] 15 | url = https://github.com/PCRE2Project/pcre2/releases/download/pcre2-10.40/pcre2-10.40.tar.bz2 16 | sha256 = 14e4b83c4783933dc17e964318e6324f7cae1bc75d8f3c79bc6969f00c159d68 17 | 18 | [build] 19 | builder = cmake 20 | subdir = pcre2-10.40 21 | -------------------------------------------------------------------------------- /build/fbcode_builder/manifests/perl: -------------------------------------------------------------------------------- 1 | [manifest] 2 | name = perl 3 | 4 | [download.os=windows] 5 | url = http://strawberryperl.com/download/5.28.1.1/strawberry-perl-5.28.1.1-64bit-portable.zip 6 | sha256 = 935c95ba096fa11c4e1b5188732e3832d330a2a79e9882ab7ba8460ddbca810d 7 | 8 | [build.os=windows] 9 | builder = nop 10 | subdir = perl 11 | 12 | -------------------------------------------------------------------------------- /build/fbcode_builder/manifests/pexpect: -------------------------------------------------------------------------------- 1 | [manifest] 2 | name = pexpect 3 | 4 | [download] 5 | url = https://files.pythonhosted.org/packages/0e/3e/377007e3f36ec42f1b84ec322ee12141a9e10d808312e5738f52f80a232c/pexpect-4.7.0-py2.py3-none-any.whl 6 | sha256 = 2094eefdfcf37a1fdbfb9aa090862c1a4878e5c7e0e7e7088bdb511c558e5cd1 7 | 8 | [build] 9 | builder = python-wheel 10 | 11 | [dependencies] 12 | python-ptyprocess 13 | -------------------------------------------------------------------------------- /build/fbcode_builder/manifests/proxygen: -------------------------------------------------------------------------------- 1 | [manifest] 2 | name = proxygen 3 | fbsource_path = fbcode/proxygen 4 | shipit_project = proxygen 5 | shipit_fbcode_builder = true 6 | 7 | [git] 8 | repo_url = https://github.com/facebook/proxygen.git 9 | 10 | [build.os=windows] 11 | builder = nop 12 | 13 | [build] 14 | builder = cmake 15 | subdir = . 16 | job_weight_mib = 3072 17 | 18 | [cmake.defines.test=on] 19 | BUILD_TESTS = ON 20 | 21 | [cmake.defines.test=off] 22 | BUILD_TESTS = OFF 23 | 24 | [dependencies] 25 | zlib 26 | gperf 27 | folly 28 | fizz 29 | wangle 30 | mvfst 31 | 32 | [dependencies.test=on] 33 | googletest 34 | 35 | [shipit.pathmap] 36 | fbcode/proxygen/public_tld = . 37 | fbcode/proxygen = proxygen 38 | -------------------------------------------------------------------------------- /build/fbcode_builder/manifests/python-click: -------------------------------------------------------------------------------- 1 | [manifest] 2 | name = python-click 3 | 4 | [download] 5 | url = https://files.pythonhosted.org/packages/d2/3d/fa76db83bf75c4f8d338c2fd15c8d33fdd7ad23a9b5e57eb6c5de26b430e/click-7.1.2-py2.py3-none-any.whl 6 | sha256 = dacca89f4bfadd5de3d7489b7c8a566eee0d3676333fbb50030263894c38c0dc 7 | 8 | [build] 9 | builder = python-wheel 10 | 11 | [rpms] 12 | python3-click 13 | 14 | [debs] 15 | python3-click 16 | -------------------------------------------------------------------------------- /build/fbcode_builder/manifests/python-filelock: -------------------------------------------------------------------------------- 1 | [manifest] 2 | name = python-filelock 3 | 4 | [download] 5 | url = https://files.pythonhosted.org/packages/31/24/ee722b92f23b9ebd87783e893a75352c048bbbc1f67dce0d63b58b46cb48/filelock-3.3.2-py3-none-any.whl 6 | sha256 = bb2a1c717df74c48a2d00ed625e5a66f8572a3a30baacb7657add1d7bac4097b 7 | 8 | [build] 9 | builder = python-wheel 10 | -------------------------------------------------------------------------------- /build/fbcode_builder/manifests/python-ptyprocess: -------------------------------------------------------------------------------- 1 | [manifest] 2 | name = python-ptyprocess 3 | 4 | [download] 5 | url = https://files.pythonhosted.org/packages/d1/29/605c2cc68a9992d18dada28206eeada56ea4bd07a239669da41674648b6f/ptyprocess-0.6.0-py2.py3-none-any.whl 6 | sha256 = d7cc528d76e76342423ca640335bd3633420dc1366f258cb31d05e865ef5ca1f 7 | 8 | [build] 9 | builder = python-wheel 10 | -------------------------------------------------------------------------------- /build/fbcode_builder/manifests/python-setuptools: -------------------------------------------------------------------------------- 1 | [manifest] 2 | name = python-setuptools 3 | 4 | [download] 5 | url = https://files.pythonhosted.org/packages/c0/7a/3da654f49c95d0cc6e9549a855b5818e66a917e852ec608e77550c8dc08b/setuptools-69.1.1-py3-none-any.whl 6 | sha256 = 02fa291a0471b3a18b2b2481ed902af520c69e8ae0919c13da936542754b4c56 7 | 8 | [build] 9 | builder = python-wheel 10 | 11 | [rpms] 12 | python3-setuptools 13 | 14 | [homebrew] 15 | python-setuptools 16 | 17 | [debs] 18 | python3-setuptools 19 | -------------------------------------------------------------------------------- /build/fbcode_builder/manifests/python-six: -------------------------------------------------------------------------------- 1 | [manifest] 2 | name = python-six 3 | 4 | [download] 5 | url = https://files.pythonhosted.org/packages/73/fb/00a976f728d0d1fecfe898238ce23f502a721c0ac0ecfedb80e0d88c64e9/six-1.12.0-py2.py3-none-any.whl 6 | sha256 = 3350809f0555b11f552448330d0b52d5f24c91a322ea4a15ef22629740f3761c 7 | 8 | [build] 9 | builder = python-wheel 10 | -------------------------------------------------------------------------------- /build/fbcode_builder/manifests/python-toml: -------------------------------------------------------------------------------- 1 | [manifest] 2 | name = python-toml 3 | 4 | [download] 5 | url = https://files.pythonhosted.org/packages/a2/12/ced7105d2de62fa7c8fb5fce92cc4ce66b57c95fb875e9318dba7f8c5db0/toml-0.10.0-py2.py3-none-any.whl 6 | sha256 = 235682dd292d5899d361a811df37e04a8828a5b1da3115886b73cf81ebc9100e 7 | 8 | [build] 9 | builder = python-wheel 10 | -------------------------------------------------------------------------------- /build/fbcode_builder/manifests/ragel: -------------------------------------------------------------------------------- 1 | [manifest] 2 | name = ragel 3 | 4 | [debs] 5 | ragel 6 | 7 | [homebrew] 8 | ragel 9 | 10 | [rpms] 11 | ragel 12 | 13 | [download] 14 | url = https://www.colm.net/files/ragel/ragel-6.10.tar.gz 15 | sha256 = 5f156edb65d20b856d638dd9ee2dfb43285914d9aa2b6ec779dac0270cd56c3f 16 | 17 | [build] 18 | builder = autoconf 19 | subdir = ragel-6.10 20 | -------------------------------------------------------------------------------- /build/fbcode_builder/manifests/range-v3: -------------------------------------------------------------------------------- 1 | [manifest] 2 | name = range-v3 3 | 4 | [download] 5 | url = https://github.com/ericniebler/range-v3/archive/refs/tags/0.11.0.tar.gz 6 | sha256 = 376376615dbba43d3bef75aa590931431ecb49eb36d07bb726a19f680c75e20c 7 | 8 | 9 | [build] 10 | builder = cmake 11 | subdir = range-v3-0.11.0 12 | 13 | [cmake.defines] 14 | RANGE_V3_EXAMPLES=OFF 15 | -------------------------------------------------------------------------------- /build/fbcode_builder/manifests/re2: -------------------------------------------------------------------------------- 1 | [manifest] 2 | name = re2 3 | 4 | [homebrew] 5 | re2 6 | 7 | [debs] 8 | libre2-dev 9 | 10 | [rpms] 11 | re2 12 | re2-devel 13 | 14 | [pps] 15 | re2 16 | 17 | [download] 18 | url = https://github.com/google/re2/archive/2020-11-01.tar.gz 19 | sha256 = 8903cc66c9d34c72e2bc91722288ebc7e3ec37787ecfef44d204b2d6281954d7 20 | 21 | [build] 22 | builder = cmake 23 | subdir = re2-2020-11-01 24 | -------------------------------------------------------------------------------- /build/fbcode_builder/manifests/ripgrep: -------------------------------------------------------------------------------- 1 | [manifest] 2 | name = ripgrep 3 | 4 | [rpms] 5 | ripgrep 6 | 7 | [debs] 8 | ripgrep 9 | 10 | [homebrew] 11 | ripgrep 12 | 13 | # only used from system packages currently 14 | [build] 15 | builder = nop 16 | -------------------------------------------------------------------------------- /build/fbcode_builder/manifests/snappy: -------------------------------------------------------------------------------- 1 | [manifest] 2 | name = snappy 3 | 4 | [homebrew] 5 | snappy 6 | 7 | [debs] 8 | libsnappy-dev 9 | 10 | [rpms] 11 | snappy-devel 12 | 13 | [pps] 14 | snappy 15 | 16 | [download] 17 | url = https://github.com/google/snappy/archive/1.1.7.tar.gz 18 | sha256 = 3dfa02e873ff51a11ee02b9ca391807f0c8ea0529a4924afa645fbf97163f9d4 19 | 20 | [build] 21 | builder = cmake 22 | subdir = snappy-1.1.7 23 | 24 | [cmake.defines] 25 | SNAPPY_BUILD_TESTS = OFF 26 | 27 | # Avoid problems like `relocation R_X86_64_PC32 against symbol` on ELF systems 28 | # when linking rocksdb, which builds PIC even when building a static lib 29 | [cmake.defines.os=linux] 30 | BUILD_SHARED_LIBS = ON 31 | -------------------------------------------------------------------------------- /build/fbcode_builder/manifests/sparsemap: -------------------------------------------------------------------------------- 1 | [manifest] 2 | name = sparsemap 3 | 4 | [download] 5 | url = https://github.com/Tessil/sparse-map/archive/refs/tags/v0.6.2.tar.gz 6 | sha256 = 7020c21e8752e59d72e37456cd80000e18671c803890a3e55ae36b295eba99f6 7 | 8 | [build] 9 | builder = cmake 10 | subdir = sparse-map-0.6.2/ 11 | -------------------------------------------------------------------------------- /build/fbcode_builder/manifests/sqlite3: -------------------------------------------------------------------------------- 1 | [manifest] 2 | name = sqlite3 3 | 4 | [debs] 5 | libsqlite3-dev 6 | sqlite3 7 | 8 | [homebrew] 9 | sqlite 10 | 11 | [rpms] 12 | sqlite-devel 13 | sqlite-libs 14 | sqlite 15 | 16 | [pps] 17 | sqlite3 18 | 19 | [download] 20 | url = https://sqlite.org/2019/sqlite-amalgamation-3280000.zip 21 | sha256 = d02fc4e95cfef672b45052e221617a050b7f2e20103661cda88387349a9b1327 22 | 23 | [dependencies] 24 | cmake 25 | ninja 26 | 27 | [build] 28 | builder = sqlite 29 | subdir = sqlite-amalgamation-3280000 30 | -------------------------------------------------------------------------------- /build/fbcode_builder/manifests/systemd: -------------------------------------------------------------------------------- 1 | [manifest] 2 | name = systemd 3 | 4 | [rpms] 5 | systemd 6 | systemd-devel 7 | 8 | [download] 9 | url = https://github.com/systemd/systemd/archive/refs/tags/v256.7.tar.gz 10 | sha256 = 896d76ff65c88f5fd9e42f90d152b0579049158a163431dd77cdc57748b1d7b0 11 | 12 | 13 | [build] 14 | builder = systemd 15 | subdir = systemd-256.7 16 | -------------------------------------------------------------------------------- /build/fbcode_builder/manifests/wangle: -------------------------------------------------------------------------------- 1 | [manifest] 2 | name = wangle 3 | fbsource_path = fbcode/wangle 4 | shipit_project = wangle 5 | shipit_fbcode_builder = true 6 | 7 | [git] 8 | repo_url = https://github.com/facebook/wangle.git 9 | 10 | [build] 11 | builder = cmake 12 | subdir = wangle 13 | 14 | [cmake.defines.test=on] 15 | BUILD_TESTS=ON 16 | 17 | [cmake.defines.test=off] 18 | BUILD_TESTS=OFF 19 | 20 | [dependencies] 21 | folly 22 | googletest 23 | fizz 24 | 25 | [shipit.pathmap] 26 | fbcode/wangle/public_tld = . 27 | fbcode/wangle = wangle 28 | -------------------------------------------------------------------------------- /build/fbcode_builder/manifests/xxhash: -------------------------------------------------------------------------------- 1 | [manifest] 2 | name = xxhash 3 | 4 | [download] 5 | url = https://github.com/Cyan4973/xxHash/archive/refs/tags/v0.8.2.tar.gz 6 | sha256 = baee0c6afd4f03165de7a4e67988d16f0f2b257b51d0e3cb91909302a26a79c4 7 | 8 | [rpms] 9 | xxhash-devel 10 | 11 | [debs] 12 | libxxhash-dev 13 | xxhash 14 | 15 | [homebrew] 16 | xxhash 17 | 18 | [build.not(os=windows)] 19 | builder = make 20 | subdir = xxHash-0.8.2 21 | 22 | [make.build_args] 23 | all 24 | 25 | [make.install_args] 26 | install 27 | 28 | [build.os=windows] 29 | builder = cmake 30 | subdir = xxHash-0.8.2/cmake_unofficial 31 | -------------------------------------------------------------------------------- /build/fbcode_builder/manifests/xz: -------------------------------------------------------------------------------- 1 | [manifest] 2 | name = xz 3 | 4 | # ubuntu's package causes watchman's tests to hang 5 | [debs.not(distro=ubuntu)] 6 | liblzma-dev 7 | 8 | [homebrew] 9 | xz 10 | 11 | [rpms] 12 | xz-devel 13 | 14 | [download] 15 | url = https://tukaani.org/xz/xz-5.2.5.tar.gz 16 | sha256 = f6f4910fd033078738bd82bfba4f49219d03b17eb0794eb91efbae419f4aba10 17 | 18 | [build] 19 | builder = autoconf 20 | subdir = xz-5.2.5 21 | -------------------------------------------------------------------------------- /build/fbcode_builder/manifests/yaml-cpp: -------------------------------------------------------------------------------- 1 | [manifest] 2 | name = yaml-cpp 3 | 4 | [download] 5 | url = https://github.com/jbeder/yaml-cpp/archive/yaml-cpp-0.6.2.tar.gz 6 | sha256 = e4d8560e163c3d875fd5d9e5542b5fd5bec810febdcba61481fe5fc4e6b1fd05 7 | 8 | [build.os=linux] 9 | builder = cmake 10 | subdir = yaml-cpp-yaml-cpp-0.6.2 11 | 12 | [build.not(os=linux)] 13 | builder = nop 14 | 15 | [dependencies] 16 | boost 17 | googletest 18 | 19 | [cmake.defines] 20 | YAML_CPP_BUILD_TESTS=OFF 21 | -------------------------------------------------------------------------------- /build/fbcode_builder/manifests/zlib: -------------------------------------------------------------------------------- 1 | [manifest] 2 | name = zlib 3 | 4 | [debs] 5 | zlib1g-dev 6 | 7 | [homebrew] 8 | zlib 9 | 10 | [rpms.not(distro=fedora)] 11 | zlib-devel 12 | zlib-static 13 | 14 | [rpms.distro=fedora] 15 | zlib-ng-compat-devel 16 | zlib-ng-compat-static 17 | 18 | [pps] 19 | zlib 20 | 21 | [download] 22 | url = https://zlib.net/zlib-1.3.1.tar.gz 23 | sha256 = 9a93b2b7dfdac77ceba5a558a580e74667dd6fede4585b91eefb60f03b72df23 24 | 25 | [build] 26 | builder = cmake 27 | subdir = zlib-1.3.1 28 | patchfile = zlib_dont_build_more_than_needed.patch 29 | -------------------------------------------------------------------------------- /folly/Bits.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include // @shim 18 | -------------------------------------------------------------------------------- /folly/DynamicConverter.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/FBVector.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/Hash.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #pragma once 18 | 19 | // shims: 20 | #include 21 | -------------------------------------------------------------------------------- /folly/IntrusiveList.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/MapUtil.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/MicroSpinLock.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include // @shim 18 | -------------------------------------------------------------------------------- /folly/RWSpinLock.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include // @shim 18 | -------------------------------------------------------------------------------- /folly/VERSION: -------------------------------------------------------------------------------- 1 | 57:0 -------------------------------------------------------------------------------- /folly/VirtualExecutor.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/algorithm/BUCK: -------------------------------------------------------------------------------- 1 | load("@fbcode_macros//build_defs:build_file_migration.bzl", "fbcode_target", "non_fbcode_target") 2 | load("@fbcode_macros//build_defs:cpp_library.bzl", "cpp_library") 3 | load( 4 | "@fbsource//xplat/folly:defs.bzl", 5 | "folly_xplat_library", 6 | ) 7 | 8 | oncall("fbcode_entropy_wardens_folly") 9 | 10 | non_fbcode_target( 11 | _kind = folly_xplat_library, 12 | name = "binary_heap", 13 | raw_headers = ["BinaryHeap.h"], 14 | exported_deps = [ 15 | "//xplat/folly/lang:builtin", 16 | ], 17 | ) 18 | 19 | fbcode_target( 20 | _kind = cpp_library, 21 | name = "binary_heap", 22 | headers = ["BinaryHeap.h"], 23 | exported_deps = [ 24 | "//folly/lang:builtin", 25 | ], 26 | ) 27 | -------------------------------------------------------------------------------- /folly/algorithm/test/BUCK: -------------------------------------------------------------------------------- 1 | load("@fbcode_macros//build_defs:build_file_migration.bzl", "fbcode_target") 2 | load("@fbcode_macros//build_defs:cpp_unittest.bzl", "cpp_unittest") 3 | 4 | oncall("fbcode_entropy_wardens_folly") 5 | 6 | fbcode_target( 7 | _kind = cpp_unittest, 8 | name = "binary_heap_test", 9 | srcs = ["BinaryHeapTest.cpp"], 10 | headers = [], 11 | deps = [ 12 | "//folly/algorithm:binary_heap", 13 | "//folly/portability:gtest", 14 | ], 15 | ) 16 | -------------------------------------------------------------------------------- /folly/chrono/test/BUCK: -------------------------------------------------------------------------------- 1 | load("@fbcode_macros//build_defs:build_file_migration.bzl", "fbcode_target") 2 | load("@fbcode_macros//build_defs:cpp_unittest.bzl", "cpp_unittest") 3 | 4 | oncall("fbcode_entropy_wardens_folly") 5 | 6 | fbcode_target( 7 | _kind = cpp_unittest, 8 | name = "clock_test", 9 | srcs = ["ClockTest.cpp"], 10 | headers = [], 11 | deps = [ 12 | "//folly/chrono:clock", 13 | "//folly/portability:gtest", 14 | ], 15 | ) 16 | 17 | fbcode_target( 18 | _kind = cpp_unittest, 19 | name = "conv_test", 20 | srcs = ["ConvTest.cpp"], 21 | headers = [], 22 | deps = [ 23 | "//folly/chrono:conv", 24 | "//folly/portability:gtest", 25 | ], 26 | external_deps = [ 27 | "glog", 28 | ], 29 | ) 30 | -------------------------------------------------------------------------------- /folly/container/test/.clang-tidy: -------------------------------------------------------------------------------- 1 | # NOTE there must be no spaces before the '-', so put the comma after. 2 | # When making changes, be sure to verify the output of the following command to ensure 3 | # the desired checks are enabled (run from the directory containing a .clang-tidy file): 4 | # clang-tidy -list-checks 5 | # NOTE: Please don't disable inheritance from the parent to make sure that common checks get propagated. 6 | --- 7 | InheritParentConfig: true 8 | Checks: ' 9 | -bugprone-use-after-move, 10 | -facebook-expensive-flat-container-operation, 11 | ' 12 | ... 13 | -------------------------------------------------------------------------------- /folly/coro/scripts/BUCK: -------------------------------------------------------------------------------- 1 | load("@fbcode_macros//build_defs:build_file_migration.bzl", "fbcode_target", "non_fbcode_target") 2 | load("@fbcode_macros//build_defs:python_library.bzl", "python_library") 3 | load("@fbsource//tools/build_defs:fb_python_library.bzl", "fb_python_library") 4 | 5 | oncall("fbcode_entropy_wardens_folly") 6 | 7 | non_fbcode_target( 8 | _kind = fb_python_library, 9 | name = "co_bt", 10 | srcs = ["co_bt.py"], 11 | visibility = ["PUBLIC"], 12 | ) 13 | 14 | # !!!! fbcode/folly/coro/scripts/TARGETS was merged into this file, see https://fburl.com/workplace/xl8l9yuo for more info !!!! 15 | 16 | fbcode_target( 17 | _kind = python_library, 18 | # @autodeps-skip 19 | name = "co_bt", 20 | srcs = ["co_bt.py"], 21 | ) 22 | -------------------------------------------------------------------------------- /folly/coro/scripts/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebook/folly/445038182b27e39ca533b236b15ed48c13ff2649/folly/coro/scripts/__init__.py -------------------------------------------------------------------------------- /folly/debugging/symbolizer/detail/BUCK: -------------------------------------------------------------------------------- 1 | load("@fbcode_macros//build_defs:build_file_migration.bzl", "fbcode_target") 2 | load("@fbcode_macros//build_defs:cpp_library.bzl", "cpp_library") 3 | 4 | oncall("fbcode_entropy_wardens_folly") 5 | 6 | fbcode_target( 7 | _kind = cpp_library, 8 | name = "debug", 9 | srcs = ["Debug.cpp"], 10 | headers = ["Debug.h"], 11 | deps = [ 12 | "//folly:portability", 13 | ], 14 | external_deps = [ 15 | ("glibc", None, "dl"), 16 | ], 17 | ) 18 | -------------------------------------------------------------------------------- /folly/debugging/symbolizer/tool/libFollySegFault.so.v: -------------------------------------------------------------------------------- 1 | { 2 | /* We don't export anything, since our constructor does all the work. */ 3 | local: *; 4 | }; 5 | -------------------------------------------------------------------------------- /folly/docs/.gitignore: -------------------------------------------------------------------------------- 1 | *.html 2 | -------------------------------------------------------------------------------- /folly/docs/Fbvector--graphical_solutions.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebook/folly/445038182b27e39ca533b236b15ed48c13ff2649/folly/docs/Fbvector--graphical_solutions.png -------------------------------------------------------------------------------- /folly/docs/examples/folly/container/BUCK: -------------------------------------------------------------------------------- 1 | load("@fbcode_macros//build_defs:build_file_migration.bzl", "fbcode_target") 2 | load("@fbcode_macros//build_defs:cpp_unittest.bzl", "cpp_unittest") 3 | 4 | oncall("fbcode_entropy_wardens_folly") 5 | 6 | fbcode_target( 7 | _kind = cpp_unittest, 8 | name = "array_demo", 9 | srcs = ["Array.cpp"], 10 | headers = [], 11 | deps = [ 12 | "//folly/container:array", 13 | "//folly/portability:gtest", 14 | ], 15 | ) 16 | -------------------------------------------------------------------------------- /folly/docs/examples/folly/dynamic/BUCK: -------------------------------------------------------------------------------- 1 | load("@fbcode_macros//build_defs:build_file_migration.bzl", "fbcode_target") 2 | load("@fbcode_macros//build_defs:cpp_unittest.bzl", "cpp_unittest") 3 | 4 | oncall("fbcode_entropy_wardens_folly") 5 | 6 | fbcode_target( 7 | _kind = cpp_unittest, 8 | name = "array_demo", 9 | srcs = ["array.cpp"], 10 | headers = [], 11 | deps = [ 12 | "//folly/json:dynamic", 13 | "//folly/portability:gtest", 14 | ], 15 | ) 16 | 17 | fbcode_target( 18 | _kind = cpp_unittest, 19 | name = "object_demo", 20 | srcs = ["object.cpp"], 21 | headers = [], 22 | deps = [ 23 | "//folly/json:dynamic", 24 | "//folly/portability:gtest", 25 | ], 26 | ) 27 | -------------------------------------------------------------------------------- /folly/docs/examples/folly/hash/BUCK: -------------------------------------------------------------------------------- 1 | load("@fbcode_macros//build_defs:build_file_migration.bzl", "fbcode_target") 2 | load("@fbcode_macros//build_defs:cpp_unittest.bzl", "cpp_unittest") 3 | 4 | oncall("fbcode_entropy_wardens_folly") 5 | 6 | fbcode_target( 7 | _kind = cpp_unittest, 8 | name = "hash_demo", 9 | srcs = ["Hash.cpp"], 10 | headers = [], 11 | deps = [ 12 | "//folly/hash:hash", 13 | "//folly/portability:gtest", 14 | ], 15 | ) 16 | -------------------------------------------------------------------------------- /folly/docs/examples/folly/io/BUCK: -------------------------------------------------------------------------------- 1 | load("@fbcode_macros//build_defs:build_file_migration.bzl", "fbcode_target") 2 | load("@fbcode_macros//build_defs:cpp_unittest.bzl", "cpp_unittest") 3 | 4 | oncall("fbcode_entropy_wardens_folly") 5 | 6 | fbcode_target( 7 | _kind = cpp_unittest, 8 | name = "i_o_buf_demo", 9 | srcs = ["IOBuf.cpp"], 10 | headers = [], 11 | deps = [ 12 | "//folly/io:iobuf", 13 | "//folly/portability:gtest", 14 | ], 15 | ) 16 | -------------------------------------------------------------------------------- /folly/docs/examples/folly/test/BUCK: -------------------------------------------------------------------------------- 1 | load("@fbcode_macros//build_defs:build_file_migration.bzl", "fbcode_target") 2 | load("@fbcode_macros//build_defs:cpp_unittest.bzl", "cpp_unittest") 3 | 4 | oncall("fbcode_entropy_wardens_folly") 5 | 6 | fbcode_target( 7 | _kind = cpp_unittest, 8 | name = "test_util_demo", 9 | srcs = ["TestUtils.cpp"], 10 | headers = [], 11 | deps = [ 12 | "//folly/portability:gtest", 13 | "//folly/test:test_utils", 14 | ], 15 | ) 16 | -------------------------------------------------------------------------------- /folly/docs/examples/folly/test/common/BUCK: -------------------------------------------------------------------------------- 1 | load("@fbcode_macros//build_defs:build_file_migration.bzl", "fbcode_target") 2 | load("@fbcode_macros//build_defs:cpp_unittest.bzl", "cpp_unittest") 3 | 4 | oncall("fbcode_entropy_wardens_folly") 5 | 6 | fbcode_target( 7 | _kind = cpp_unittest, 8 | name = "test_main_demo", 9 | srcs = ["TestMainDemo.cpp"], 10 | test_main = "//folly/test/common:test_main_lib", 11 | deps = [ 12 | "//folly:singleton", 13 | ], 14 | ) 15 | -------------------------------------------------------------------------------- /folly/dynamic-inl.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/dynamic.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/EventCount.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/FunctionScheduler.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/TestUtil.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/channels/Channel-fwd.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/channels/Channel-inl.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/channels/Channel.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/channels/ChannelCallbackHandle.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/channels/ChannelProcessor-inl.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/channels/ChannelProcessor.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/channels/ConsumeChannel-inl.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/channels/ConsumeChannel.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/channels/FanoutChannel-inl.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/channels/FanoutChannel.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/channels/FanoutSender-inl.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/channels/FanoutSender.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/channels/Merge-inl.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/channels/Merge.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/channels/MergeChannel-inl.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/channels/MergeChannel.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/channels/MultiplexChannel-inl.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/channels/MultiplexChannel.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/channels/OnClosedException.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/channels/Producer-inl.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/channels/Producer.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/channels/ProxyChannel-inl.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/channels/ProxyChannel.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/channels/RateLimiter.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/channels/Transform-inl.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/channels/Transform.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/channels/detail/AtomicQueue.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/channels/detail/ChannelBridge.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/channels/detail/FunctionTraits.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/channels/detail/IntrusivePtr.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/channels/detail/PointerVariant.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/channels/detail/Utility.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/channels/test/BUCK: -------------------------------------------------------------------------------- 1 | load("@fbcode_macros//build_defs:build_file_migration.bzl", "fbcode_target") 2 | load("@fbcode_macros//build_defs:cpp_library.bzl", "cpp_library") 3 | 4 | oncall("fbcode_entropy_wardens_folly") 5 | 6 | fbcode_target( 7 | _kind = cpp_library, 8 | name = "channel_test_util", 9 | headers = [ 10 | "ChannelTestUtil.h", 11 | ], 12 | exported_deps = [ 13 | "//folly/channels/test:channel_test_util", 14 | ], 15 | ) 16 | -------------------------------------------------------------------------------- /folly/experimental/channels/test/ChannelTestUtil.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/coro/AsyncGenerator.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/coro/AsyncPipe.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/coro/AsyncScope.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/coro/AsyncStack.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/coro/AutoCleanup-fwd.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/coro/AutoCleanup.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/coro/Baton.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/coro/BlockingWait.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/coro/BoundedQueue.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/coro/Cleanup.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/coro/Collect-inl.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/coro/Collect.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/coro/Concat-inl.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/coro/Concat.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/coro/Coroutine.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/coro/CurrentExecutor.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/coro/DetachOnCancel.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/coro/Filter-inl.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/coro/Filter.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/coro/FutureUtil.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/coro/Generator.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/coro/GmockHelpers.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/coro/GtestHelpers.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/coro/Invoke.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/coro/Merge-inl.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/coro/Merge.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/coro/Mutex.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/coro/Promise.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/coro/Result.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/coro/Retry.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/coro/RustAdaptors.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/coro/ScopeExit.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/coro/SharedLock.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/coro/SharedMutex.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/coro/SharedPromise.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/coro/Sleep-inl.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/coro/Sleep.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/coro/SmallUnboundedQueue.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/coro/Task.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/coro/TimedWait.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/coro/Timeout-inl.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/coro/Timeout.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/coro/Traits.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/coro/Transform-inl.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/coro/Transform.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/coro/UnboundedQueue.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/coro/ViaIfAsync.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/coro/WithAsyncStack.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/coro/WithCancellation.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/coro/detail/Barrier.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/coro/detail/BarrierTask.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/coro/detail/Helpers.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/coro/detail/InlineTask.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/coro/detail/Malloc.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/coro/detail/ManualLifetime.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/coro/detail/Traits.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/crypto/Blake2xb.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #pragma once 18 | 19 | #include 20 | -------------------------------------------------------------------------------- /folly/experimental/crypto/LtHash.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #pragma once 18 | 19 | #include 20 | -------------------------------------------------------------------------------- /folly/experimental/io/AsyncBase.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/io/AsyncIO.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/io/AsyncIoUringSocket.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/io/Epoll.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/io/EpollBackend.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/io/EventBasePoller.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/io/FsUtil.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/io/HugePages.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/io/IoUring.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/io/IoUringBackend.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/io/IoUringBase.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/io/IoUringEvent.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/io/IoUringEventBaseLocal.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/io/Liburing.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/io/SimpleAsyncIO.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/io/test/AsyncBaseTestLib.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/io/tool/BUCK: -------------------------------------------------------------------------------- 1 | oncall("fbcode_entropy_wardens_folly") 2 | -------------------------------------------------------------------------------- /folly/experimental/observer/CoreCachedObserver.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/observer/HazptrObserver.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/observer/Observable-inl.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/observer/Observable.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/observer/Observer-inl.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/observer/Observer-pre.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/observer/Observer.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/observer/SimpleObservable.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/observer/WithJitter-inl.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/observer/WithJitter.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/observer/detail/Core.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/observer/test/BUCK: -------------------------------------------------------------------------------- 1 | oncall("fbcode_entropy_wardens_folly") 2 | -------------------------------------------------------------------------------- /folly/experimental/settings/Immutables.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/settings/Settings.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/settings/Types.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/settings/detail/SettingsImpl.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/symbolizer/Dwarf.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/symbolizer/DwarfImpl.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/symbolizer/DwarfSection.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/symbolizer/DwarfUtil.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/symbolizer/Elf-inl.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/symbolizer/Elf.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/symbolizer/ElfCache.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/symbolizer/LineReader.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/symbolizer/StackTrace.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/symbolizer/Symbolizer.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/symbolizer/detail/BUCK: -------------------------------------------------------------------------------- 1 | load("@fbcode_macros//build_defs:build_file_migration.bzl", "fbcode_target") 2 | load("@fbcode_macros//build_defs:cpp_library.bzl", "cpp_library") 3 | 4 | oncall("fbcode_entropy_wardens_folly") 5 | 6 | fbcode_target( 7 | _kind = cpp_library, 8 | name = "debug", 9 | headers = [ 10 | "Debug.h", 11 | ], 12 | exported_deps = [ 13 | "//folly/debugging/symbolizer/detail:debug", 14 | ], 15 | ) 16 | -------------------------------------------------------------------------------- /folly/experimental/symbolizer/detail/Debug.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/experimental/test/BUCK: -------------------------------------------------------------------------------- 1 | load("@fbcode_macros//build_defs:build_file_migration.bzl", "fbcode_target") 2 | load("@fbcode_macros//build_defs:cpp_library.bzl", "cpp_library") 3 | 4 | oncall("fbcode_entropy_wardens_folly") 5 | 6 | fbcode_target( 7 | _kind = cpp_library, 8 | name = "coding_test_utils", 9 | headers = [ 10 | "CodingTestUtils.h", 11 | ], 12 | exported_deps = [ 13 | "//folly/compression/test:coding_test_utils", 14 | ], 15 | ) 16 | -------------------------------------------------------------------------------- /folly/experimental/test/CodingTestUtils.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/external/.clang-format: -------------------------------------------------------------------------------- 1 | --- 2 | DisableFormat: true 3 | SortIncludes: false 4 | ... 5 | -------------------------------------------------------------------------------- /folly/external/aor/memcpy-mops.S: -------------------------------------------------------------------------------- 1 | /* 2 | * memcpy using MOPS extension. 3 | * 4 | * Copyright (c) 2023, Arm Limited. 5 | * SPDX-License-Identifier: MIT OR Apache-2.0 WITH LLVM-exception 6 | */ 7 | 8 | #include "asmdefs.h" 9 | 10 | ENTRY (__folly_memcpy_aarch64_mops) 11 | PTR_ARG (0) 12 | PTR_ARG (1) 13 | SIZE_ARG (2) 14 | 15 | mov x3, x0 16 | .inst 0x19010443 /* cpyfp [x3]!, [x1]!, x2! */ 17 | .inst 0x19410443 /* cpyfm [x3]!, [x1]!, x2! */ 18 | .inst 0x19810443 /* cpyfe [x3]!, [x1]!, x2! */ 19 | ret 20 | 21 | END (__folly_memcpy_aarch64_mops) 22 | -------------------------------------------------------------------------------- /folly/external/aor/memmove-mops.S: -------------------------------------------------------------------------------- 1 | /* 2 | * memmove using MOPS extension. 3 | * 4 | * Copyright (c) 2023, Arm Limited. 5 | * SPDX-License-Identifier: MIT OR Apache-2.0 WITH LLVM-exception 6 | */ 7 | 8 | #include "asmdefs.h" 9 | 10 | ENTRY (__folly_memmove_aarch64_mops) 11 | PTR_ARG (0) 12 | PTR_ARG (1) 13 | SIZE_ARG (2) 14 | 15 | mov x3, x0 16 | .inst 0x1d010443 /* cpyp [x3]!, [x1]!, x2! */ 17 | .inst 0x1d410443 /* cpym [x3]!, [x1]!, x2! */ 18 | .inst 0x1d810443 /* cpye [x3]!, [x1]!, x2! */ 19 | ret 20 | 21 | END (__folly_memmove_aarch64_mops) 22 | -------------------------------------------------------------------------------- /folly/external/aor/memset-mops.S: -------------------------------------------------------------------------------- 1 | /* 2 | * memset using MOPS extension. 3 | * 4 | * Copyright (c) 2023, Arm Limited. 5 | * SPDX-License-Identifier: MIT OR Apache-2.0 WITH LLVM-exception 6 | */ 7 | 8 | #include "asmdefs.h" 9 | 10 | ENTRY (__folly_memset_aarch64_mops) 11 | PTR_ARG (0) 12 | SIZE_ARG (2) 13 | 14 | mov x3, x0 15 | .inst 0x19c10443 /* setp [x3]!, x2!, x1 */ 16 | .inst 0x19c14443 /* setm [x3]!, x2!, x1 */ 17 | .inst 0x19c18443 /* sete [x3]!, x2!, x1 */ 18 | ret 19 | 20 | END (__folly_memset_aarch64_mops) 21 | -------------------------------------------------------------------------------- /folly/external/farmhash/BUCK: -------------------------------------------------------------------------------- 1 | load("@fbcode_macros//build_defs:build_file_migration.bzl", "fbcode_target") 2 | load("@fbcode_macros//build_defs:cpp_library.bzl", "cpp_library") 3 | 4 | oncall("fbcode_entropy_wardens_folly") 5 | 6 | fbcode_target( 7 | _kind = cpp_library, 8 | name = "farmhash", 9 | srcs = ["farmhash.cpp"], 10 | headers = ["farmhash.h"], 11 | exported_deps = [ 12 | "//folly/portability:config", 13 | ], 14 | ) 15 | -------------------------------------------------------------------------------- /folly/external/farmhash/test/BUCK: -------------------------------------------------------------------------------- 1 | load("@fbcode_macros//build_defs:build_file_migration.bzl", "fbcode_target") 2 | load("@fbcode_macros//build_defs:cpp_unittest.bzl", "cpp_unittest") 3 | 4 | oncall("fbcode_entropy_wardens_folly") 5 | 6 | fbcode_target( 7 | _kind = cpp_unittest, 8 | name = "farmhash_test", 9 | srcs = ["farmhash_test.cpp"], 10 | headers = [], 11 | deps = [ 12 | "//folly/external/farmhash:farmhash", 13 | "//folly/portability:gtest", 14 | ], 15 | ) 16 | -------------------------------------------------------------------------------- /folly/external/fast-crc32/avx512_crc32c_v8s3x4.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | #include 4 | 5 | #include 6 | #if defined(FOLLY_X64) && FOLLY_SSE_PREREQ(4, 2) && defined(__AVX512VL__) && defined(__AVX512F__) 7 | #define FOLLY_ENABLE_AVX512_CRC32C_V8S3X4 1 8 | #endif 9 | 10 | namespace folly::detail { 11 | uint32_t avx512_crc32c_v8s3x4(const uint8_t* buf, size_t len, uint32_t crc0); 12 | } 13 | -------------------------------------------------------------------------------- /folly/external/fast-crc32/neon_crc32c_v3s4x2e_v2.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | #include 4 | 5 | namespace folly::detail { 6 | uint32_t neon_crc32c_v3s4x2e_v2(const uint8_t* buf, size_t len, uint32_t crc0); 7 | bool has_neon_crc32c_v3s4x2e_v2(); 8 | } 9 | -------------------------------------------------------------------------------- /folly/external/fast-crc32/neon_eor3_crc32_v9s3x2e_s3.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | #include 4 | 5 | namespace folly::detail { 6 | uint32_t neon_eor3_crc32_v9s3x2e_s3(const uint8_t* buf, size_t len, uint32_t crc0); 7 | bool has_neon_eor3_crc32_v9s3x2e_s3(); 8 | } 9 | -------------------------------------------------------------------------------- /folly/external/fast-crc32/neon_eor3_crc32c_v8s2x4_s3.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | #include 4 | 5 | namespace folly::detail { 6 | uint32_t neon_eor3_crc32c_v8s2x4_s3(const uint8_t* buf, size_t len, uint32_t crc0); 7 | bool has_neon_eor3_crc32c_v8s2x4_s3(); 8 | } 9 | -------------------------------------------------------------------------------- /folly/external/fast-crc32/sse_crc32c_v8s3x3.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include 3 | #include 4 | 5 | #include 6 | #if defined(FOLLY_X64) && FOLLY_SSE_PREREQ(4, 2) 7 | #define FOLLY_ENABLE_SSE42_CRC32C_V8S3X3 1 8 | #endif 9 | 10 | namespace folly::detail { 11 | uint32_t sse_crc32c_v8s3x3(const uint8_t* buf, size_t len, uint32_t crc0); 12 | } 13 | -------------------------------------------------------------------------------- /folly/futures/Portability.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #pragma once 18 | 19 | #include 20 | -------------------------------------------------------------------------------- /folly/init/test/BUCK: -------------------------------------------------------------------------------- 1 | load("@fbcode_macros//build_defs:build_file_migration.bzl", "fbcode_target") 2 | load("@fbcode_macros//build_defs:cpp_unittest.bzl", "cpp_unittest") 3 | 4 | oncall("fbcode_entropy_wardens_folly") 5 | 6 | fbcode_target( 7 | _kind = cpp_unittest, 8 | name = "phase_test", 9 | srcs = ["PhaseTest.cpp"], 10 | deps = [ 11 | "//folly:singleton", 12 | "//folly/init:phase", 13 | "//folly/portability:gtest", 14 | ], 15 | external_deps = [ 16 | "glog", 17 | ], 18 | ) 19 | -------------------------------------------------------------------------------- /folly/io/async/test/certs/BUCK: -------------------------------------------------------------------------------- 1 | load("@fbcode_macros//build_defs:export_files.bzl", "export_files") 2 | load("@fbcode_macros//build_defs:native_rules.bzl", "buck_filegroup") 3 | 4 | oncall("fbcode_entropy_wardens_folly") 5 | 6 | export_files(files = glob(["*.pem"])) 7 | 8 | buck_filegroup( 9 | name = "certs", 10 | srcs = glob(["*.pem"]), 11 | visibility = ["PUBLIC"], 12 | ) 13 | -------------------------------------------------------------------------------- /folly/io/async/test/certs/defs.bzl: -------------------------------------------------------------------------------- 1 | load("@fbcode_macros//build_defs:native_rules.bzl", "alias") 2 | 3 | def alias_pem(pems: list[str]): 4 | for pem in pems: 5 | alias( 6 | name = pem, 7 | actual = "//folly/io/async/test/certs:{pem}".format(pem = pem), 8 | ) 9 | 10 | def alias_pem_for_xplat(pems: list[str]): 11 | # in xplat these pem files are exported in //xplat/folly/io/async/test/certs 12 | for pem in pems: 13 | alias( 14 | name = pem, 15 | actual = "//xplat/folly/io/async/test/certs:{pem}".format(pem = pem), 16 | ) 17 | -------------------------------------------------------------------------------- /folly/io/coro/test/BUCK: -------------------------------------------------------------------------------- 1 | load("@fbcode_macros//build_defs:build_file_migration.bzl", "fbcode_target") 2 | load("@fbcode_macros//build_defs:cpp_unittest.bzl", "cpp_unittest") 3 | 4 | oncall("fbcode_entropy_wardens_folly") 5 | 6 | fbcode_target( 7 | _kind = cpp_unittest, 8 | name = "transport_test", 9 | srcs = [ 10 | "TransportTest.cpp", 11 | ], 12 | deps = [ 13 | "//folly:portability", 14 | "//folly/coro:blocking_wait", 15 | "//folly/coro:collect", 16 | "//folly/io/async/test:async_socket_test_lib", 17 | "//folly/io/async/test:mocks", 18 | "//folly/io/async/test:scoped_bound_port", 19 | "//folly/io/coro:socket", 20 | "//folly/portability:gtest", 21 | ], 22 | ) 23 | -------------------------------------------------------------------------------- /folly/io/tool/BUCK: -------------------------------------------------------------------------------- 1 | load("@fbcode_macros//build_defs:build_file_migration.bzl", "fbcode_target") 2 | load("@fbcode_macros//build_defs:cpp_binary.bzl", "cpp_binary") 3 | 4 | oncall("fbcode_entropy_wardens_folly") 5 | 6 | fbcode_target( 7 | _kind = cpp_binary, 8 | name = "huge_page_util", 9 | srcs = ["HugePageUtil.cpp"], 10 | deps = [ 11 | "fbsource//third-party/fmt:fmt", 12 | "//folly:range", 13 | "//folly/experimental/io:huge_pages", 14 | "//folly/portability:gflags", 15 | "//folly/system:memory_mapping", 16 | ], 17 | external_deps = [ 18 | "glog", 19 | ], 20 | ) 21 | -------------------------------------------------------------------------------- /folly/json.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/json/bser/test/BUCK: -------------------------------------------------------------------------------- 1 | load("@fbcode_macros//build_defs:build_file_migration.bzl", "fbcode_target") 2 | load("@fbcode_macros//build_defs:cpp_unittest.bzl", "cpp_unittest") 3 | 4 | oncall("fbcode_entropy_wardens_folly") 5 | 6 | fbcode_target( 7 | _kind = cpp_unittest, 8 | name = "testbser", 9 | srcs = ["BserTest.cpp"], 10 | headers = [], 11 | deps = [ 12 | "//folly:string", 13 | "//folly/json/bser:bser", 14 | "//folly/portability:gtest", 15 | ], 16 | ) 17 | -------------------------------------------------------------------------------- /folly/json/tool/BUCK: -------------------------------------------------------------------------------- 1 | load("@fbcode_macros//build_defs:build_file_migration.bzl", "fbcode_target") 2 | load("@fbcode_macros//build_defs:cpp_binary.bzl", "cpp_binary") 3 | 4 | oncall("fbcode_entropy_wardens_folly") 5 | 6 | fbcode_target( 7 | _kind = cpp_binary, 8 | name = "json_schema_tester", 9 | srcs = ["JSONSchemaTester.cpp"], 10 | headers = [], 11 | deps = [ 12 | "//folly/json:dynamic", 13 | "//folly/json:json_schema", 14 | ], 15 | ) 16 | -------------------------------------------------------------------------------- /folly/json_patch.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/json_pointer.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/lang/UncaughtExceptions.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/lang/UncaughtExceptions.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #pragma once 18 | 19 | #include 20 | -------------------------------------------------------------------------------- /folly/lang/named/test/BUCK: -------------------------------------------------------------------------------- 1 | load("@fbcode_macros//build_defs:build_file_migration.bzl", "fbcode_target") 2 | load("@fbcode_macros//build_defs:cpp_unittest.bzl", "cpp_unittest") 3 | 4 | oncall("fbcode_entropy_wardens_folly") 5 | 6 | fbcode_target( 7 | _kind = cpp_unittest, 8 | name = "bindings_test", 9 | srcs = ["BindingsTest.cpp"], 10 | deps = [ 11 | "//folly/lang/named:bindings", 12 | "//folly/portability:gtest", 13 | ], 14 | ) 15 | -------------------------------------------------------------------------------- /folly/logging/test/helpers/LogOnShutdownLib.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #pragma once 18 | 19 | void use_log_on_shutdown(); 20 | -------------------------------------------------------------------------------- /folly/net/detail/test/BUCK: -------------------------------------------------------------------------------- 1 | load("@fbcode_macros//build_defs:build_file_migration.bzl", "fbcode_target") 2 | load("@fbcode_macros//build_defs:cpp_unittest.bzl", "cpp_unittest") 3 | 4 | oncall("fbcode_entropy_wardens_folly") 5 | 6 | fbcode_target( 7 | _kind = cpp_unittest, 8 | name = "socket_file_descriptor_map_test", 9 | srcs = ["SocketFileDescriptorMapTest.cpp"], 10 | deps = [ 11 | "//folly:portability", 12 | "//folly/net/detail:socket_file_descriptor_map", 13 | "//folly/portability:fcntl", 14 | "//folly/portability:gtest", 15 | "//folly/portability:sockets", 16 | "//folly/portability:unistd", 17 | "//folly/portability:windows", 18 | ], 19 | ) 20 | -------------------------------------------------------------------------------- /folly/portability/OpenSSL.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/python/build_mode.pyi: -------------------------------------------------------------------------------- 1 | # Copyright (c) Meta Platforms, Inc. and affiliates. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | 15 | folly_is_debug_build: bool 16 | folly_is_tsan_build: bool 17 | -------------------------------------------------------------------------------- /folly/result/test/BUCK: -------------------------------------------------------------------------------- 1 | load("@fbcode_macros//build_defs:build_file_migration.bzl", "fbcode_target") 2 | load("@fbcode_macros//build_defs:cpp_unittest.bzl", "cpp_unittest") 3 | 4 | oncall("fbcode_entropy_wardens_folly") 5 | 6 | fbcode_target( 7 | _kind = cpp_unittest, 8 | name = "result_test", 9 | srcs = ["result_test.cpp"], 10 | deps = ["//folly/result:gtest_helpers"], 11 | ) 12 | 13 | fbcode_target( 14 | _kind = cpp_unittest, 15 | name = "try_test", 16 | srcs = ["try_test.cpp"], 17 | deps = [ 18 | "//folly/portability:gtest", 19 | "//folly/result:try", 20 | ], 21 | ) 22 | -------------------------------------------------------------------------------- /folly/small_vector.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/sorted_vector_types.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/stats/detail/test/BUCK: -------------------------------------------------------------------------------- 1 | load("@fbcode_macros//build_defs:build_file_migration.bzl", "fbcode_target") 2 | load("@fbcode_macros//build_defs:cpp_unittest.bzl", "cpp_unittest") 3 | 4 | oncall("fbcode_entropy_wardens_folly") 5 | 6 | fbcode_target( 7 | _kind = cpp_unittest, 8 | name = "double_radix_sort_test", 9 | srcs = ["DoubleRadixSortTest.cpp"], 10 | headers = [], 11 | deps = [ 12 | "//folly:random", 13 | "//folly/portability:gtest", 14 | "//folly/stats/detail:double_radix_sort", 15 | ], 16 | ) 17 | -------------------------------------------------------------------------------- /folly/test/JsonMockUtil.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/test/JsonTestUtil.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) Meta Platforms, Inc. and affiliates. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | #include 18 | -------------------------------------------------------------------------------- /folly/testing/test/BUCK: -------------------------------------------------------------------------------- 1 | load("@fbcode_macros//build_defs:build_file_migration.bzl", "fbcode_target") 2 | load("@fbcode_macros//build_defs:cpp_unittest.bzl", "cpp_unittest") 3 | 4 | oncall("fbcode_entropy_wardens_folly") 5 | 6 | fbcode_target( 7 | _kind = cpp_unittest, 8 | name = "test_util_test", 9 | srcs = ["TestUtilTest.cpp"], 10 | headers = [], 11 | deps = [ 12 | "//folly:memory", 13 | "//folly/portability:fcntl", 14 | "//folly/portability:gtest", 15 | "//folly/portability:stdlib", 16 | "//folly/portability:unistd", 17 | "//folly/testing:test_util", 18 | ], 19 | external_deps = [ 20 | "glog", 21 | ("boost", None, "boost_algorithm"), 22 | ], 23 | ) 24 | -------------------------------------------------------------------------------- /folly/tool/BUCK: -------------------------------------------------------------------------------- 1 | load("@fbcode_macros//build_defs:build_file_migration.bzl", "fbcode_target") 2 | load("@fbcode_macros//build_defs:cpp_binary.bzl", "cpp_binary") 3 | 4 | oncall("fbcode_entropy_wardens_folly") 5 | 6 | fbcode_target( 7 | _kind = cpp_binary, 8 | name = "benchmark_compare", 9 | srcs = ["BenchmarkCompare.cpp"], 10 | deps = [ 11 | "//folly:benchmark", 12 | "//folly:file_util", 13 | "//folly/init:init", 14 | "//folly/json:dynamic", 15 | ], 16 | ) 17 | -------------------------------------------------------------------------------- /folly/tracing/test/StaticTracepointSectionTest.lds: -------------------------------------------------------------------------------- 1 | SECTIONS 2 | { 3 | .stapsdt.base : 4 | { 5 | KEEP(*(.stapsdt.base)) 6 | } 7 | } 8 | INSERT AFTER .text; 9 | --------------------------------------------------------------------------------