gitextract_rc_779ue/ ├── .buckconfig ├── .buckconfig.d/ │ └── common.buckconfig ├── .buckroot ├── .devcontainer/ │ ├── Containerfile │ └── devcontainer.json ├── .github/ │ ├── dependabot.yml │ ├── scripts/ │ │ ├── bad_targets │ │ └── buck_build_and_test.sh │ └── workflows/ │ ├── TagIt.yml │ ├── devcontainer.yml │ ├── getdeps_linux.yml │ ├── getdeps_mac.yml │ ├── getdeps_shared-libs_linux.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/ │ ├── 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 │ │ ├── FindCares.cmake │ │ ├── FindDoubleConversion.cmake │ │ ├── FindGMock.cmake │ │ ├── FindGflags.cmake │ │ ├── FindGlog.cmake │ │ ├── FindLMDB.cmake │ │ ├── FindLibEvent.cmake │ │ ├── FindLibUnwind.cmake │ │ ├── FindLibiberty.cmake │ │ ├── FindPCRE.cmake │ │ ├── FindPCRE2.cmake │ │ ├── FindRe2.cmake │ │ ├── FindSodium.cmake │ │ ├── FindXxhash.cmake │ │ ├── FindZstd.cmake │ │ ├── Findibverbs.cmake │ │ ├── RustStaticLibrary.cmake │ │ ├── fb_py_test_main.py │ │ ├── fb_py_win_main.c │ │ └── make_fbpy_archive.py │ ├── LICENSE │ ├── README.md │ ├── getdeps/ │ │ ├── __init__.py │ │ ├── builder.py │ │ ├── buildopts.py │ │ ├── cache.py │ │ ├── cargo.py │ │ ├── copytree.py │ │ ├── dyndeps.py │ │ ├── envfuncs.py │ │ ├── errors.py │ │ ├── expr.py │ │ ├── fetcher.py │ │ ├── include_rewriter.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 │ │ └── strip_marker_test.py │ ├── getdeps.py │ ├── manifests/ │ │ ├── CLI11 │ │ ├── autoconf │ │ ├── automake │ │ ├── benchmark │ │ ├── blake3 │ │ ├── boost │ │ ├── boost-python │ │ ├── bz2 │ │ ├── c-ares │ │ ├── cabal │ │ ├── cachelib │ │ ├── cinderx-3_14 │ │ ├── cinderx-main │ │ ├── clang │ │ ├── clang19 │ │ ├── cmake │ │ ├── cpptoml │ │ ├── double-conversion │ │ ├── double-conversion-python │ │ ├── eden │ │ ├── edencommon │ │ ├── exprtk │ │ ├── fast_float │ │ ├── fatal │ │ ├── fb303 │ │ ├── fboss │ │ ├── fbthrift │ │ ├── fbthrift-python │ │ ├── fizz │ │ ├── fizz-python │ │ ├── fmt │ │ ├── fmt-python │ │ ├── folly │ │ ├── folly-python │ │ ├── gcc12 │ │ ├── gcc14 │ │ ├── gflags │ │ ├── ghc │ │ ├── git-lfs │ │ ├── glean │ │ ├── glog │ │ ├── googletest │ │ ├── gperf │ │ ├── hexdump │ │ ├── hsthrift │ │ ├── iproute2 │ │ ├── jom │ │ ├── jq │ │ ├── katran │ │ ├── libaio │ │ ├── libaio-python │ │ ├── libbpf │ │ ├── libcurl │ │ ├── libdwarf │ │ ├── libdwarf-python │ │ ├── libelf │ │ ├── libevent │ │ ├── libevent-python │ │ ├── libffi │ │ ├── libgit2 │ │ ├── libgpiod │ │ ├── libiberty │ │ ├── libiberty-python │ │ ├── libibverbs │ │ ├── libmnl │ │ ├── libnl │ │ ├── liboqs │ │ ├── libsai │ │ ├── libsodium │ │ ├── libunwind │ │ ├── libusb │ │ ├── libyaml │ │ ├── llvm │ │ ├── lmdb │ │ ├── lz4 │ │ ├── lz4-python │ │ ├── magic_enum │ │ ├── mcrouter │ │ ├── mononoke │ │ ├── mononoke_integration │ │ ├── moxygen │ │ ├── mvfst │ │ ├── mvfst-python │ │ ├── ncurses │ │ ├── nghttp2 │ │ ├── ninja │ │ ├── nlohmann-json │ │ ├── nmap │ │ ├── numa │ │ ├── openr │ │ ├── openssl │ │ ├── osxfuse │ │ ├── patchelf │ │ ├── pcre2 │ │ ├── perl │ │ ├── pexpect │ │ ├── proxygen │ │ ├── python │ │ ├── python-3_14 │ │ ├── python-click │ │ ├── python-filelock │ │ ├── python-main │ │ ├── python-psutil │ │ ├── python-ptyprocess │ │ ├── python-pyyaml │ │ ├── python-setuptools │ │ ├── python-setuptools-69 │ │ ├── python-six │ │ ├── python-toml │ │ ├── ragel │ │ ├── range-v3 │ │ ├── rdma-core │ │ ├── re2 │ │ ├── rebalancer │ │ ├── ripgrep │ │ ├── rocksdb │ │ ├── rust-shed │ │ ├── sapling │ │ ├── snappy │ │ ├── sparsemap │ │ ├── sqlite3 │ │ ├── systemd │ │ ├── tabulate │ │ ├── tree │ │ ├── wangle │ │ ├── wangle-python │ │ ├── watchman │ │ ├── xxhash │ │ ├── xz │ │ ├── yaml-cpp │ │ ├── zlib │ │ ├── zlib-python │ │ ├── zstd │ │ └── zstd-python │ └── patches/ │ ├── boost_1_83_0.patch │ ├── iproute2_oss.patch │ ├── libiberty_install_pic_lib.patch │ └── zlib_dont_build_more_than_needed.patch ├── build.bat ├── build.sh └── 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.cpp ├── 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 │ ├── CMakeLists.txt │ ├── StableRadixSort.h │ ├── simd/ │ │ ├── BUCK │ │ ├── CMakeLists.txt │ │ ├── Contains.cpp │ │ ├── Contains.h │ │ ├── FindFixed.h │ │ ├── Ignore.h │ │ ├── Movemask.h │ │ ├── detail/ │ │ │ ├── BUCK │ │ │ ├── CMakeLists.txt │ │ │ ├── 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 │ ├── StableRadixSortBenchmark.cpp │ └── StableRadixSortTest.cpp ├── base64.h ├── buck_config/ │ ├── BUCK │ └── constraints/ │ └── BUCK ├── build/ │ ├── bootstrap-osx-homebrew.sh │ └── build-debs-ubuntu-18.04.sh ├── channels/ │ ├── BUCK │ ├── CMakeLists.txt │ ├── 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 │ │ ├── CMakeLists.txt │ │ ├── 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 │ ├── CMakeLists.txt │ ├── Clock.h │ ├── Conv.h │ ├── Hardware.h │ └── test/ │ ├── BUCK │ ├── ClockTest.cpp │ └── ConvTest.cpp ├── cli/ │ ├── Args.cpp │ ├── Args.h │ ├── BUCK │ ├── CMakeLists.txt │ ├── NestedCommandLineApp.cpp │ ├── NestedCommandLineApp.h │ ├── ProgramOptions.cpp │ ├── ProgramOptions.h │ └── test/ │ ├── ArgsTest.cpp │ ├── BUCK │ ├── NestedCommandLineAppExample.cpp │ ├── NestedCommandLineAppTest.cpp │ ├── NestedCommandLineAppTestHelper.cpp │ ├── ProgramOptionsTest.cpp │ └── ProgramOptionsTestHelper.cpp ├── codec/ │ ├── BUCK │ ├── CMakeLists.txt │ ├── Uuid.h │ ├── hex.h │ └── test/ │ ├── BUCK │ ├── UuidBenchmark.cpp │ ├── UuidTest.cpp │ └── hex_test.cpp ├── compression/ │ ├── BUCK │ ├── CMakeLists.txt │ ├── 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 │ │ ├── CMakeLists.txt │ │ ├── CodingDetail.h │ │ ├── EliasFanoCoding.h │ │ └── test/ │ │ ├── BUCK │ │ ├── BitVectorCodingTest.cpp │ │ └── EliasFanoCodingTest.cpp │ └── test/ │ ├── BUCK │ ├── CodingTestUtils.cpp │ ├── CodingTestUtils.h │ ├── CompressionContextPoolBenchmark.cpp │ ├── CompressionContextPoolTest.cpp │ ├── CompressionTest.cpp │ ├── InstructionsTest.cpp │ ├── LargeTest.cpp │ ├── QuotientMultiSetBenchmark.cpp │ ├── QuotientMultiSetTest.cpp │ └── Select64Test.cpp ├── concurrency/ │ ├── AtomicSharedPtr.h │ ├── BUCK │ ├── CMakeLists.txt │ ├── 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 │ │ ├── CMakeLists.txt │ │ ├── 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 │ │ ├── CMakeLists.txt │ │ ├── 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 │ ├── CacheLocalityInitMain.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 │ ├── CMakeLists.txt │ ├── CollectionUtil.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 │ ├── StdBitset.h │ ├── View.h │ ├── WeightedEvictingCacheMap.h │ ├── detail/ │ │ ├── BUCK │ │ ├── BitIteratorDetail.h │ │ ├── BoolWrapper.h │ │ ├── CMakeLists.txt │ │ ├── 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 │ ├── irange.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 │ │ ├── CollectionUtilTest.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 │ │ ├── IRangeTest.cpp │ │ ├── IntrusiveHeapTest.cpp │ │ ├── IteratorTest.cpp │ │ ├── MapUtilTest.cpp │ │ ├── MergeTest.cpp │ │ ├── RegexMatchCacheTest.cpp │ │ ├── ReserveTest.cpp │ │ ├── SparseByteSetBenchmark.cpp │ │ ├── SparseByteSetTest.cpp │ │ ├── StdBitsetBenchmark.cpp │ │ ├── StdBitsetTest.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 │ ├── BUCK │ ├── BasePromise.h │ ├── Baton.cpp │ ├── Baton.h │ ├── BlockingWait.h │ ├── BoundedQueue.h │ ├── CMakeLists.txt │ ├── Cleanup.h │ ├── Collect-inl.h │ ├── Collect.h │ ├── Concat-inl.h │ ├── Concat.h │ ├── Coroutine.h │ ├── CurrentExecutor.h │ ├── DetachOnCancel.h │ ├── Error.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 │ ├── Nothrow.h │ ├── Promise.h │ ├── README.md │ ├── 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 │ ├── ValueOrError.h │ ├── ValueOrFatal.h │ ├── ViaIfAsync.h │ ├── WithAsyncStack.h │ ├── WithCancellation.h │ ├── detail/ │ │ ├── BUCK │ │ ├── Barrier.h │ │ ├── BarrierTask.h │ │ ├── CMakeLists.txt │ │ ├── CurrentAsyncFrame.h │ │ ├── Helpers.h │ │ ├── InlineTask.h │ │ ├── Malloc.cpp │ │ ├── Malloc.h │ │ ├── ManualLifetime.h │ │ ├── PickTaskWrapper.h │ │ ├── Traits.h │ │ └── test/ │ │ ├── BUCK │ │ └── PickTaskWrapperTest.cpp │ ├── safe/ │ │ ├── AsyncClosure-fwd.h │ │ ├── AsyncClosure.h │ │ ├── BUCK │ │ ├── BindCaptures.h │ │ ├── CMakeLists.txt │ │ ├── Captures.h │ │ ├── NowTask.h │ │ ├── SafeTask.h │ │ ├── detail/ │ │ │ ├── AsyncClosure.h │ │ │ ├── BUCK │ │ │ ├── BindAsyncClosure.h │ │ │ ├── CMakeLists.txt │ │ │ ├── DefineMovableDeepConstLrefCopyable.h │ │ │ └── test/ │ │ │ ├── BUCK │ │ │ ├── BindAsyncClosureTest.cpp │ │ │ └── DefineMovableDeepConstLrefCopyableTest.cpp │ │ ├── docs/ │ │ │ ├── AsUnsafe.md │ │ │ └── Captures.md │ │ └── test/ │ │ ├── AsyncClosureTest.cpp │ │ ├── BUCK │ │ ├── CapturesTest.cpp │ │ ├── NowTaskTest.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 │ ├── BUCK │ ├── BatonTest.cpp │ ├── BlockingWaitBenchmark.cpp │ ├── BlockingWaitTest.cpp │ ├── BoundedQueueTest.cpp │ ├── CollectAllBenchmark.cpp │ ├── CollectAllTryBenchmark.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 │ ├── PromiseBenchmark.cpp │ ├── PromiseTest.cpp │ ├── RequestContextTest.cpp │ ├── RetryTest.cpp │ ├── RustAdaptorsTest.cpp │ ├── ScopeExitTest.cpp │ ├── SerialQueueRunnerTest.cpp │ ├── SharedMutexBenchmark.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 │ ├── ValueOrErrorTest.cpp │ ├── ValueOrFatalTest.cpp │ └── WithAsyncStackTest.cpp ├── crypto/ │ ├── BUCK │ ├── Blake2xb.cpp │ ├── Blake2xb.h │ ├── CMakeLists.txt │ ├── LtHash-inl.h │ ├── LtHash.cpp │ ├── LtHash.h │ ├── detail/ │ │ ├── BUCK │ │ ├── CMakeLists.txt │ │ ├── LtHashInternal.h │ │ ├── MathOperation_AVX2.cpp │ │ ├── MathOperation_SSE2.cpp │ │ └── MathOperation_Simple.cpp │ └── test/ │ ├── BUCK │ ├── Blake2xbBenchmark.cpp │ ├── Blake2xbTest.cpp │ ├── LtHashBenchmark.cpp │ └── LtHashTest.cpp ├── debugging/ │ ├── CMakeLists.txt │ ├── exception_tracer/ │ │ ├── BUCK │ │ ├── CMakeLists.txt │ │ ├── Compatibility.h │ │ ├── ExceptionAbi.h │ │ ├── ExceptionCounterLib.cpp │ │ ├── ExceptionCounterLib.h │ │ ├── ExceptionCounterLibStaticRegistration.cpp │ │ ├── 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 │ │ ├── ExceptionTracerUncaughtTest.cpp │ │ ├── SmartExceptionTracerBenchmark.cpp │ │ ├── SmartExceptionTracerTest.cpp │ │ └── exception_tracer_uncaught_test.py │ └── symbolizer/ │ ├── BUCK │ ├── CMakeLists.txt │ ├── 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 │ │ ├── CMakeLists.txt │ │ ├── Debug.cpp │ │ └── Debug.h │ ├── test/ │ │ ├── BUCK │ │ ├── Crash.cpp │ │ ├── DwarfBenchmark.cpp │ │ ├── ElfTest.cpp │ │ ├── LineReaderTest.cpp │ │ ├── SignalHandlerTest.cpp │ │ ├── SignalHandlerTest.h │ │ ├── SimpleElf.cpp │ │ ├── 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 │ │ ├── tool/ │ │ │ ├── BUCK │ │ │ └── segv.cpp │ │ └── validate_folly_symbolizer.bzl │ └── tool/ │ ├── Addr2Line.cpp │ ├── BUCK │ ├── LibSegFault.cpp │ └── libFollySegFault.so.v ├── defs.bzl ├── detail/ │ ├── AsyncTrace.cpp │ ├── AsyncTrace.h │ ├── AtomicHashUtils.h │ ├── AtomicUnorderedMapUtils.h │ ├── Avx2.cpp │ ├── Avx2.h │ ├── BUCK │ ├── BenchmarkAdaptive.cpp │ ├── BenchmarkAdaptive.h │ ├── CMakeLists.txt │ ├── 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.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 │ │ ├── CMakeLists.txt │ │ ├── README.md │ │ └── test/ │ │ ├── BUCK │ │ ├── Base64AgainstScalarTest.cpp │ │ ├── Base64PlatformTest.cpp │ │ └── Base64SpecialCasesTest.cpp │ ├── test/ │ │ ├── AsyncTraceTest.cpp │ │ ├── BUCK │ │ ├── BenchmarkAdaptiveTest.cpp │ │ ├── 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 │ ├── BenchmarkAdaptive.md │ ├── Conv.md │ ├── Dynamic.md │ ├── DynamicConverter.md │ ├── Executors.md │ ├── FBString.md │ ├── FBVector.md │ ├── Format.md │ ├── Function.md │ ├── Futures.md │ ├── GroupVarint.md │ ├── Hazptr.md │ ├── Histogram.md │ ├── MapUtils.md │ ├── Overview.md │ ├── PackedSyncPtr.md │ ├── Poly.md │ ├── ProducerConsumerQueue.md │ ├── Rcu.md │ ├── SmallLocks.md │ ├── Switch.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/ │ │ │ ├── BUCK │ │ │ ├── array.cpp │ │ │ └── object.cpp │ │ ├── dynamic.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 │ ├── CMakeLists.txt │ ├── 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 │ ├── StripedEDFThreadPoolExecutor.cpp │ ├── StripedEDFThreadPoolExecutor.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 │ │ ├── CMakeLists.txt │ │ ├── LifoSemMPMCQueue.h │ │ ├── PriorityLifoSemMPMCQueue.h │ │ ├── PriorityUnboundedBlockingQueue.h │ │ ├── StripedPriorityUnboundedBlockingQueue.h │ │ ├── UnboundedBlockingQueue.h │ │ └── test/ │ │ ├── BUCK │ │ ├── PriorityLifoSemMPMCQueueTest.cpp │ │ ├── PriorityUnboundedBlockingQueueTest.cpp │ │ ├── StripedPriorityUnboundedBlockingQueueTest.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 │ │ ├── StripedEDFThreadPoolExecutorTest.cpp │ │ ├── ThreadPoolExecutorTest.cpp │ │ ├── ThreadedExecutorTest.cpp │ │ ├── ThreadedRepeatingFunctionRunnerTest.cpp │ │ ├── TimedDrivableExecutorTest.cpp │ │ └── TimekeeperScheduledExecutorTest.cpp │ └── thread_factory/ │ ├── BUCK │ ├── CMakeLists.txt │ ├── InitThreadFactory.h │ ├── NamedThreadFactory.h │ ├── PriorityThreadFactory.cpp │ ├── PriorityThreadFactory.h │ └── ThreadFactory.h ├── experimental/ │ ├── BUCK │ ├── CMakeLists.txt │ ├── EventCount.h │ ├── FlatCombiningPriorityQueue.h │ ├── FunctionScheduler.h │ ├── ThreadedRepeatingFunctionRunner.h │ ├── channels/ │ │ ├── BUCK │ │ ├── CMakeLists.txt │ │ ├── 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 │ │ │ ├── CMakeLists.txt │ │ │ ├── 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 │ │ ├── CMakeLists.txt │ │ ├── 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 │ │ ├── CMakeLists.txt │ │ └── LtHash.h │ ├── exception_tracer/ │ │ ├── BUCK │ │ ├── CMakeLists.txt │ │ ├── ExceptionAbi.h │ │ ├── ExceptionCounterLib.h │ │ ├── ExceptionTracer.h │ │ ├── ExceptionTracerLib.h │ │ ├── SmartExceptionTracer.h │ │ ├── SmartExceptionTracerSingleton.h │ │ └── StackTrace.h │ ├── flat_combining/ │ │ ├── BUCK │ │ ├── CMakeLists.txt │ │ ├── FlatCombining.h │ │ └── test/ │ │ ├── BUCK │ │ ├── FlatCombiningExamples.h │ │ └── FlatCombiningTestHelpers.h │ ├── observer/ │ │ ├── BUCK │ │ ├── CMakeLists.txt │ │ ├── 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 │ │ │ ├── CMakeLists.txt │ │ │ ├── Core.h │ │ │ ├── GraphCycleDetector.h │ │ │ └── ObserverManager.h │ │ └── test/ │ │ └── BUCK │ ├── settings/ │ │ ├── BUCK │ │ ├── CMakeLists.txt │ │ ├── Immutables.h │ │ ├── Settings.h │ │ ├── Types.h │ │ └── detail/ │ │ └── SettingsImpl.h │ ├── symbolizer/ │ │ ├── BUCK │ │ ├── CMakeLists.txt │ │ ├── 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 │ │ ├── CMakeLists.txt │ │ └── Debug.h │ └── test/ │ ├── BUCK │ └── CodingTestUtils.h ├── ext/ │ ├── BUCK │ ├── CMakeLists.txt │ ├── buck2/ │ │ ├── BUCK │ │ ├── CMakeLists.txt │ │ └── test_ext.cpp │ ├── test_ext.cpp │ └── test_ext.h ├── external/ │ ├── .clang-format │ ├── CMakeLists.txt │ ├── aor/ │ │ ├── BUCK │ │ ├── CMakeLists.txt │ │ ├── asmdefs.h │ │ ├── memcpy-advsimd.S │ │ ├── memcpy-armv8.S │ │ ├── memcpy-mops.S │ │ ├── memcpy_sve.S │ │ ├── memmove-mops.S │ │ ├── memset-advsimd.S │ │ ├── memset-mops.S │ │ └── memset-sve.S │ ├── farmhash/ │ │ ├── BUCK │ │ ├── CMakeLists.txt │ │ ├── farmhash.cpp │ │ ├── farmhash.h │ │ └── test/ │ │ ├── BUCK │ │ └── farmhash_test.cpp │ ├── fast-crc32/ │ │ ├── BUCK │ │ ├── CMakeLists.txt │ │ ├── avx512_crc32c_v8s3x4.cpp │ │ ├── avx512_crc32c_v8s3x4.h │ │ ├── neon_crc32c_v3s4x2e_v2.cpp │ │ ├── neon_crc32c_v3s4x2e_v2.h │ │ ├── neon_eor3_crc32_v8s2x4e_s1x2.cpp │ │ ├── neon_eor3_crc32_v8s2x4e_s1x2.h │ │ ├── neon_eor3_crc32c_v8s2x4e_s2x1.cpp │ │ ├── neon_eor3_crc32c_v8s2x4e_s2x1.h │ │ ├── sse_crc32c_v8s3x3.cpp │ │ └── sse_crc32c_v8s3x3.h │ ├── nvidia/ │ │ ├── CMakeLists.txt │ │ ├── detail/ │ │ │ ├── BUCK │ │ │ ├── CMakeLists.txt │ │ │ ├── RangeSve2.cpp │ │ │ └── RangeSve2.h │ │ └── hash/ │ │ ├── BUCK │ │ ├── CMakeLists.txt │ │ ├── Checksum.cpp │ │ └── detail/ │ │ ├── BUCK │ │ ├── CMakeLists.txt │ │ ├── Crc32cCombineDetail.h │ │ └── Crc32cDetail.cpp │ └── rapidhash/ │ ├── BUCK │ ├── CMakeLists.txt │ └── rapidhash.h ├── 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 │ ├── CMakeLists.txt │ ├── 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 │ │ ├── CMakeLists.txt │ │ ├── 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 │ │ └── CMakeLists.txt │ ├── scripts/ │ │ └── gdb.py │ ├── test/ │ │ ├── BUCK │ │ ├── BatchSemaphoreTest.cpp │ │ ├── FibersBenchmark.cpp │ │ ├── FibersTest.cpp │ │ ├── FibersTestApp.cpp │ │ ├── SemaphoreTest.cpp │ │ ├── StackOverflow.cpp │ │ └── TimedMutexBenchmark.cpp │ └── traits.h ├── folly_extended_library.bzl ├── functional/ │ ├── ApplyTuple.h │ ├── BUCK │ ├── CMakeLists.txt │ ├── 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 │ ├── CMakeLists.txt │ ├── 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 │ │ ├── CMakeLists.txt │ │ ├── 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 │ ├── CMakeLists.txt │ ├── 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 │ ├── CMakeLists.txt │ ├── Checksum.cpp │ ├── Checksum.h │ ├── FarmHash.h │ ├── FnvHash.h │ ├── Hash.h │ ├── HsiehHash.h │ ├── MurmurHash.h │ ├── SpookyHashV1.cpp │ ├── SpookyHashV1.h │ ├── SpookyHashV2.cpp │ ├── SpookyHashV2.h │ ├── UniqueHashKey.cpp │ ├── UniqueHashKey.h │ ├── detail/ │ │ ├── BUCK │ │ ├── CMakeLists.txt │ │ ├── ChecksumDetail.cpp │ │ ├── ChecksumDetail.h │ │ ├── Crc32CombineDetail.cpp │ │ ├── Crc32cDetail.cpp │ │ ├── RandomSeed.h │ │ └── test/ │ │ ├── BUCK │ │ └── RandomSeedTest.cpp │ ├── rapidhash.h │ ├── test/ │ │ ├── BUCK │ │ ├── ChecksumBenchmark.cpp │ │ ├── ChecksumTest.cpp │ │ ├── FarmHashTest.cpp │ │ ├── FnvHashTest.cpp │ │ ├── HashBenchmark.cpp │ │ ├── HashTest.cpp │ │ ├── HsiehHashTest.cpp │ │ ├── MurmurHashTest.cpp │ │ ├── RapidHashTest.cpp │ │ ├── SpookyHashV1Test.cpp │ │ ├── SpookyHashV2Test.cpp │ │ ├── StdCompatibleHashTest.cpp │ │ ├── UniqueHashKeyTest.cpp │ │ └── traits_test.cpp │ └── traits.h ├── init/ │ ├── BUCK │ ├── CMakeLists.txt │ ├── Init.cpp │ ├── Init.h │ ├── Phase.cpp │ ├── Phase.h │ └── test/ │ ├── BUCK │ └── PhaseTest.cpp ├── io/ │ ├── BUCK │ ├── CMakeLists.txt │ ├── 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.cpp │ │ ├── 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 │ │ ├── CMakeLists.txt │ │ ├── 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 │ │ ├── IoUringBufferPoolSharing.cpp │ │ ├── IoUringBufferPoolSharing.h │ │ ├── IoUringConnect.cpp │ │ ├── IoUringConnect.h │ │ ├── IoUringEvent.cpp │ │ ├── IoUringEvent.h │ │ ├── IoUringEventBaseLocal.cpp │ │ ├── IoUringEventBaseLocal.h │ │ ├── IoUringOptions.h │ │ ├── IoUringProvidedBufferRing.cpp │ │ ├── IoUringProvidedBufferRing.h │ │ ├── IoUringRecv.cpp │ │ ├── IoUringRecv.h │ │ ├── IoUringSend.cpp │ │ ├── IoUringSend.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 │ │ │ ├── CMakeLists.txt │ │ │ ├── SocketFds.cpp │ │ │ ├── SocketFds.h │ │ │ └── test/ │ │ │ ├── AsyncFdSocketTest.cpp │ │ │ └── BUCK │ │ ├── observer/ │ │ │ ├── AsyncSocketObserverContainer.h │ │ │ ├── AsyncSocketObserverInterface.h │ │ │ ├── BUCK │ │ │ └── CMakeLists.txt │ │ ├── ssl/ │ │ │ ├── BUCK │ │ │ ├── BasicTransportCertificate.h │ │ │ ├── CMakeLists.txt │ │ │ ├── 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 │ │ ├── PollLoopHooksTest.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 │ │ ├── CMakeLists.txt │ │ ├── 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/ │ ├── BUCK │ ├── CMakeLists.txt │ ├── DynamicConverter.h │ ├── DynamicParser-inl.h │ ├── DynamicParser.cpp │ ├── DynamicParser.h │ ├── JSONSchema.cpp │ ├── JSONSchema.h │ ├── JsonMockUtil.h │ ├── JsonTestUtil.cpp │ ├── JsonTestUtil.h │ ├── bser/ │ │ ├── BUCK │ │ ├── Bser.h │ │ ├── CMakeLists.txt │ │ ├── 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 │ │ ├── Json5Test.cpp │ │ ├── JsonBenchmark.cpp │ │ ├── JsonOtherTest.cpp │ │ ├── JsonTest.cpp │ │ ├── JsonTestUtilTest.cpp │ │ ├── json_patch_test.cpp │ │ └── json_pointer_test.cpp │ └── tool/ │ ├── BUCK │ └── JSONSchemaTester.cpp ├── json.h ├── json_patch.h ├── json_pointer.h ├── lang/ │ ├── Access.h │ ├── Align.h │ ├── Aligned.h │ ├── Assume.h │ ├── BUCK │ ├── Badge.h │ ├── Bits.h │ ├── BitsClass.h │ ├── Builtin.h │ ├── CArray.h │ ├── CMakeLists.txt │ ├── CString.cpp │ ├── CString.h │ ├── Cast.h │ ├── CheckedMath.h │ ├── CustomizationPoint.h │ ├── Exception.cpp │ ├── Exception.h │ ├── Extern.h │ ├── Hint-inl.h │ ├── Hint.h │ ├── Keep.h │ ├── MustUseImmediately.h │ ├── New.h │ ├── Ordering.h │ ├── Pretty.h │ ├── PropagateConst.h │ ├── RValueReferenceWrapper.h │ ├── SafeAlias-fwd.h │ ├── SafeAlias.h │ ├── SafeAssert.cpp │ ├── SafeAssert.h │ ├── SafeClosure.h │ ├── SafeClosure.md │ ├── StaticConst.h │ ├── Strong.h │ ├── Switch.h │ ├── Thunk.h │ ├── ToAscii.cpp │ ├── ToAscii.h │ ├── TypeInfo.h │ ├── UncaughtExceptions.cpp │ ├── UncaughtExceptions.h │ ├── VectorTraits.h │ ├── bind/ │ │ ├── AsArgument.h │ │ ├── BUCK │ │ ├── Bind.h │ │ ├── Bind.md │ │ ├── CMakeLists.txt │ │ ├── Named.h │ │ ├── NamedToStorage.h │ │ ├── ToStorage.h │ │ └── test/ │ │ ├── AsArgumentTest.cpp │ │ ├── BUCK │ │ ├── BindTest.cpp │ │ ├── NamedTest.cpp │ │ ├── NamedToStorageTest.cpp │ │ └── ToStorageTest.cpp │ ├── cstring_view.h │ └── test/ │ ├── AlignTest.cpp │ ├── AlignedTest.cpp │ ├── BUCK │ ├── BadgeTest.cpp │ ├── BitsBenchmark.cpp │ ├── BitsClassBenchmark.cpp │ ├── BitsClassTest.cpp │ ├── BitsTest.cpp │ ├── CStringTest.cpp │ ├── CastTest.cpp │ ├── CheckedMathTest.cpp │ ├── ExceptionBench.cpp │ ├── ExceptionTest.cpp │ ├── ExternTest.cpp │ ├── HintTest.cpp │ ├── MustUseImmediatelyTest.cpp │ ├── NewTest.cpp │ ├── OrderingTest.cpp │ ├── PrettyTest.cpp │ ├── PropagateConstTest.cpp │ ├── RValueReferenceWrapperTest.cpp │ ├── SafeAliasTest.cpp │ ├── SafeAssertTest.cpp │ ├── SafeClosureTest.cpp │ ├── StrongTest.cpp │ ├── SwitchTest.cpp │ ├── ThunkTest.cpp │ ├── ToAsciiBench.cpp │ ├── ToAsciiTest.cpp │ ├── TypeInfoTest.cpp │ ├── VectorTraitsTest.cpp │ └── cstring_view_test.cpp ├── logging/ │ ├── AsyncFileWriter.cpp │ ├── AsyncFileWriter.h │ ├── AsyncLogWriter.cpp │ ├── AsyncLogWriter.h │ ├── AutoTimer.h │ ├── BUCK │ ├── BridgeFromGoogleLogging.cpp │ ├── BridgeFromGoogleLogging.h │ ├── CMakeLists.txt │ ├── 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 │ ├── CMakeLists.txt │ ├── IOBufArenaFactory.h │ ├── IoUringArena.cpp │ ├── IoUringArena.h │ ├── IoUringArenaTest.cpp │ ├── JemallocHugePageAllocator.cpp │ ├── JemallocHugePageAllocator.h │ ├── JemallocHugePageAllocatorTest.cpp │ ├── JemallocNodumpAllocator.cpp │ ├── JemallocNodumpAllocator.h │ ├── JemallocNodumpAllocatorTest.cpp │ ├── MallctlHelper.cpp │ ├── MallctlHelper.h │ ├── Malloc.cpp │ ├── Malloc.h │ ├── MemoryResource.h │ ├── ReentrantAllocator.cpp │ ├── ReentrantAllocator.h │ ├── SanitizeAddress.cpp │ ├── SanitizeAddress.h │ ├── SanitizeLeak.cpp │ ├── SanitizeLeak.h │ ├── ThreadCachedArena.cpp │ ├── ThreadCachedArena.h │ ├── UninitializedMemoryHacks.h │ ├── detail/ │ │ ├── BUCK │ │ ├── CMakeLists.txt │ │ ├── MallocImpl.cpp │ │ └── MallocImpl.h │ ├── not_null-inl.h │ ├── not_null.h │ ├── shared_from_this_ptr.h │ └── test/ │ ├── ArenaTest.cpp │ ├── BUCK │ ├── IOBufArenaFactoryTest.cpp │ ├── 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 │ ├── CMakeLists.txt │ ├── NetOps.cpp │ ├── NetOps.h │ ├── NetOpsDispatcher.cpp │ ├── NetOpsDispatcher.h │ ├── NetworkSocket.h │ ├── TcpInfo.cpp │ ├── TcpInfo.h │ ├── TcpInfoDispatcher.cpp │ ├── TcpInfoDispatcher.h │ ├── TcpInfoTypes.h │ ├── detail/ │ │ ├── BUCK │ │ ├── CMakeLists.txt │ │ ├── SocketFileDescriptorMap.cpp │ │ ├── SocketFileDescriptorMap.h │ │ └── test/ │ │ ├── BUCK │ │ └── SocketFileDescriptorMapTest.cpp │ └── test/ │ ├── BUCK │ ├── MockNetOpsDispatcher.h │ ├── MockTcpInfoDispatcher.h │ ├── NetOpsTest.cpp │ ├── TcpInfoTest.cpp │ └── TcpInfoTestUtil.h ├── observer/ │ ├── BUCK │ ├── CMakeLists.txt │ ├── 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 │ │ ├── CMakeLists.txt │ │ ├── Core.cpp │ │ ├── Core.h │ │ ├── GraphCycleDetector.h │ │ ├── ObserverManager.cpp │ │ └── ObserverManager.h │ └── test/ │ ├── BUCK │ ├── ObserverBenchmark.cpp │ └── ObserverTest.cpp ├── poly/ │ ├── BUCK │ ├── CMakeLists.txt │ ├── Nullable.h │ └── Regular.h ├── portability/ │ ├── Asm.h │ ├── Atomic.h │ ├── BUCK │ ├── Builtins.cpp │ ├── Builtins.h │ ├── CMakeLists.txt │ ├── Config.h │ ├── Constexpr.h │ ├── Dirent.cpp │ ├── Dirent.h │ ├── Event.h │ ├── Fcntl.cpp │ ├── Fcntl.h │ ├── Filesystem.cpp │ ├── Filesystem.h │ ├── FmtCompile.h │ ├── GFlags.cpp │ ├── 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 │ ├── provide/ │ │ ├── BUCK │ │ └── CMakeLists.txt │ └── test/ │ ├── BUCK │ ├── ConstexprTest.cpp │ ├── FcntlTest.cpp │ ├── FilesystemTest.cpp │ ├── LibgenTest.cpp │ ├── OpenSSLPortabilityTest.cpp │ ├── PThreadTest.cpp │ ├── TimeTest.cpp │ └── UnistdTest.cpp ├── python/ │ ├── AsyncioExecutor.cpp │ ├── AsyncioExecutor.h │ ├── BUCK │ ├── CMakeLists.txt │ ├── GILAwareManualExecutor.cpp │ ├── GILAwareManualExecutor.h │ ├── ProactorExecutor.cpp │ ├── ProactorExecutor.h │ ├── ScopedGILRelease.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 │ ├── executor_detail.pxd │ ├── 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 │ ├── request_context.h │ ├── request_context.pxd │ ├── request_context.pyi │ ├── request_context.pyx │ ├── 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 │ │ ├── request_context.py │ │ ├── request_context_helper.pyi │ │ ├── request_context_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 │ ├── CMakeLists.txt │ ├── hash.h │ ├── seed_seq.h │ ├── test/ │ │ ├── BUCK │ │ ├── Xoshiro256ppTest.cpp │ │ ├── engine_bench.cpp │ │ ├── hash_test.cpp │ │ └── seed_seq_test.cpp │ └── xoshiro256pp.h ├── result/ │ ├── BUCK │ ├── CMakeLists.txt │ ├── README.md │ ├── coded_rich_error.h │ ├── coro.h │ ├── demo/ │ │ ├── BUCK │ │ └── basketball.cpp │ ├── detail/ │ │ ├── BUCK │ │ ├── CMakeLists.txt │ │ ├── immortal_exception_storage.h │ │ ├── ptr_immortal_exception_storage.h │ │ ├── result_or_unwind.h │ │ ├── result_promise.h │ │ ├── rich_error_common.h │ │ ├── rich_exception_ptr_storage.cpp │ │ └── rich_exception_ptr_storage.h │ ├── docs/ │ │ ├── design_notes.md │ │ ├── epitaphs.md │ │ ├── future_epitaph_in_place.md │ │ ├── future_fast_rtti.md │ │ ├── future_ideas.md │ │ ├── future_small_value.md │ │ ├── result.md │ │ ├── rich_error.md │ │ ├── rich_error_code.md │ │ └── rich_exception_ptr.md │ ├── epitaph.cpp │ ├── epitaph.h │ ├── errc_rich_error.cpp │ ├── errc_rich_error.h │ ├── gtest_helpers.h │ ├── immortal_rich_error.h │ ├── nestable_coded_rich_error.h │ ├── or_unwind_epitaph.h │ ├── result.cpp │ ├── result.h │ ├── rich_error.h │ ├── rich_error_base.cpp │ ├── rich_error_base.h │ ├── rich_error_code.cpp │ ├── rich_error_code.h │ ├── rich_error_fwd.h │ ├── rich_exception_ptr.cpp │ ├── rich_exception_ptr.h │ ├── rich_msg.h │ ├── test/ │ │ ├── BUCK │ │ ├── coded_rich_error_test.cpp │ │ ├── common.h │ │ ├── epitaph_bench.cpp │ │ ├── epitaph_test.cpp │ │ ├── errc_rich_error_test.cpp │ │ ├── immortal_rich_error_test.cpp │ │ ├── nestable_coded_rich_error_test.cpp │ │ ├── or_unwind_epitaph_test.cpp │ │ ├── or_unwind_test.cpp │ │ ├── result_bench.cpp │ │ ├── result_coro_bench.cpp │ │ ├── result_test.cpp │ │ ├── rich_error_code_bench.cpp │ │ ├── rich_error_code_test.cpp │ │ ├── rich_error_codes.h │ │ ├── rich_error_test.cpp │ │ ├── rich_exception_ptr_bench.cpp │ │ ├── rich_exception_ptr_check_get.h │ │ ├── rich_exception_ptr_common.h │ │ ├── rich_exception_ptr_constexpr.cpp │ │ ├── rich_exception_ptr_fmt_bench.cpp │ │ ├── rich_exception_ptr_fmt_test.cpp │ │ ├── rich_exception_ptr_fundamentals_test.cpp │ │ ├── rich_exception_ptr_immortal_test.cpp │ │ ├── rich_exception_ptr_misc_test.cpp │ │ ├── rich_exception_ptr_owned_test.cpp │ │ ├── rich_msg_test.cpp │ │ ├── stack_epitaph_test.cpp │ │ ├── try_test.cpp │ │ └── value_only_result_test.cpp │ ├── try.h │ ├── value_only_result.h │ └── value_only_result_coro.h ├── rust/ │ ├── BUCK │ ├── compression/ │ │ ├── BUCK │ │ ├── compression.cpp │ │ ├── compression.h │ │ └── compression.rs │ ├── dynamic/ │ │ ├── BUCK │ │ ├── dynamic.cpp │ │ ├── dynamic.h │ │ └── dynamic.rs │ ├── iobuf/ │ │ ├── BUCK │ │ ├── iobuf.cpp │ │ ├── iobuf.h │ │ ├── iobuf_sys.rs │ │ └── src/ │ │ ├── cursor.rs │ │ ├── iobuf.rs │ │ ├── iobufmut.rs │ │ ├── lib.rs │ │ └── test.rs │ ├── lib.rs │ ├── logging/ │ │ ├── BUCK │ │ ├── lib.rs │ │ ├── logging.cpp │ │ └── logging.h │ ├── memory/ │ │ ├── BUCK │ │ ├── lib.rs │ │ ├── memory.cpp │ │ └── memory.h │ ├── network_address/ │ │ ├── BUCK │ │ ├── FollyWrapper.cpp │ │ ├── FollyWrapper.h │ │ └── src/ │ │ └── lib.rs │ ├── request_context/ │ │ ├── BUCK │ │ ├── benches/ │ │ │ └── request_context_tokio_bench.rs │ │ ├── request_context.cpp │ │ ├── request_context.h │ │ ├── request_context.rs │ │ ├── request_context_future.rs │ │ └── request_context_tokio.rs │ ├── singleton_vault/ │ │ ├── BUCK │ │ ├── lib.rs │ │ ├── singleton.cpp │ │ ├── singleton.h │ │ ├── singleton_test.cpp │ │ ├── singleton_test.h │ │ └── test.rs │ ├── socket_address/ │ │ ├── BUCK │ │ ├── RustSocketAddress.cpp │ │ ├── RustSocketAddress.h │ │ └── lib.rs │ ├── string/ │ │ ├── BUCK │ │ ├── lib.rs │ │ ├── string.cpp │ │ ├── string.h │ │ └── string.rs │ └── tdigest/ │ ├── BUCK │ ├── tdigest.cpp │ ├── tdigest.h │ └── tdigest.rs ├── settings/ │ ├── BUCK │ ├── CMakeLists.txt │ ├── 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 │ ├── CMakeLists.txt │ ├── 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 │ │ ├── CMakeLists.txt │ │ ├── OpenSSLSession.cpp │ │ └── OpenSSLSession.h │ └── test/ │ ├── BUCK │ ├── OpenSSLCertUtilsTest.cpp │ ├── OpenSSLHashTest.cpp │ ├── OpenSSLKeyUtilsTest.cpp │ └── SSLSessionManagerTest.cpp ├── stats/ │ ├── BUCK │ ├── BucketedTimeSeries-inl.h │ ├── BucketedTimeSeries.h │ ├── CMakeLists.txt │ ├── 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 │ │ ├── CMakeLists.txt │ │ ├── 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 │ ├── MultiLevelTimeSeriesBenchmark.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 │ ├── CMakeLists.txt │ ├── 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 │ ├── StripedThrottledLifoSem.cpp │ ├── StripedThrottledLifoSem.h │ ├── ThrottledLifoSem.h │ ├── WaitOptions.h │ ├── detail/ │ │ ├── AtomicUtils.h │ │ ├── BUCK │ │ ├── CMakeLists.txt │ │ ├── HazptrUtils.h │ │ ├── InlineFunctionRef.h │ │ ├── Sleeper.cpp │ │ ├── Sleeper.h │ │ ├── Spin.h │ │ ├── ThreadCachedLists.h │ │ ├── ThreadCachedReaders.h │ │ ├── ThreadCachedTag.h │ │ └── test/ │ │ ├── BUCK │ │ └── 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 │ ├── HazptrBench.cpp │ ├── 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 │ ├── StripedThrottledLifoSemTest.cpp │ ├── ThreadCachedEpochBench.h │ ├── ThreadCachedReadersBench.cpp │ ├── ThreadCachedReadersTest.cpp │ └── ThrottledLifoSemTest.cpp ├── system/ │ ├── AtFork.cpp │ ├── AtFork.h │ ├── AuxVector.h │ ├── BUCK │ ├── CMakeLists.txt │ ├── 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 │ ├── arch/ │ │ ├── BUCK │ │ ├── CMakeLists.txt │ │ ├── test/ │ │ │ ├── BUCK │ │ │ └── x86_test.cpp │ │ └── x86.h │ ├── os/ │ │ ├── BUCK │ │ ├── CMakeLists.txt │ │ ├── linux.cpp │ │ └── linux.h │ └── test/ │ ├── AtForkTest.cpp │ ├── AuxVectorTest.cpp │ ├── BUCK │ ├── EnvUtilTest.cpp │ ├── HardwareConcurrencyTest.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 │ ├── BenchmarkUtilTest.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 │ └── stl_tests/ │ ├── BUCK │ └── StlVectorTest.cpp ├── testing/ │ ├── BUCK │ ├── CMakeLists.txt │ ├── TestUtil.cpp │ ├── TestUtil.h │ └── test/ │ ├── BUCK │ └── TestUtilTest.cpp ├── tool/ │ ├── BUCK │ └── BenchmarkCompare.cpp └── tracing/ ├── AsyncStack-inl.h ├── AsyncStack.cpp ├── AsyncStack.h ├── BUCK ├── CMakeLists.txt ├── README.md ├── ScopedTraceSection.h ├── StaticTracepoint-ELF.h ├── StaticTracepoint.h └── test/ ├── AsyncStackTest.cpp ├── BUCK ├── StaticTracepointSectionTest.cpp ├── StaticTracepointSectionTest.lds ├── StaticTracepointTest.cpp ├── StaticTracepointTestModule.cpp └── StaticTracepointTestModule.h