- 13 Jun, 2018 5 commits
-
-
Yedidya Feldblum authored
Summary: [Folly] `Range` explicit conversion to any target type, with overloads enabled only for target types which are explicitly constructible from two iterators. Also changes `Range::to` to do similar, but permits additional arguments to be forwarded as trailing arguments to the target type constructor. For example, this makes `std::string`, `folly::fbstring`, `std::vector<char>`, and all variants with default-constructible custom allocators, to be constructible from (but not convertible from) `folly::StringPiece`. Reviewed By: nbronson Differential Revision: D8386240 fbshipit-source-id: 2426191d1c8ac71cd5832f784e83bbe09b8716e7
-
Michael Bolin authored
Summary: There were two TODOs that I knew of in fbcode about this, so I decided to file a task so we can track it. Reviewed By: simpkins Differential Revision: D8176921 fbshipit-source-id: 0ca45620050639659ac038dbed43acf4634f7a1d
-
Michael Park authored
Summary: Added `FutureBase::delayedImplementation`. Kept the existing semantics of `Future::delayed` and `Future::delayedUnsafe`. `SemiFuture::delayed` uses the inline executor which means we could execute our trivial lambda on the `Timekeeper` thread. However we ultimately return a `SemiFuture`, so we're not necessarily on the hook to execute an arbitrarily complex continuation. NOTE: This is still possible if the user explicitly specifies `.via(inline_executor)`. Perhaps we should consider disallowing, or maybe linting for this. Reviewed By: yfeldblum Differential Revision: D8372515 fbshipit-source-id: e660dbf2a2bb084e11c5e57d1badacf09425f939
-
Alfredo Altamirano authored
Summary: To implement tdigest aggregation in scuba, we need to be able to deserialize and serialize the digests. I added a getter for the centroids so that we can serialize the tdigest, and added a constructor to create one from the list of centroids. Last diff was reverted because of a build error :( We were seeing an error only in opt mode because it's an error in gcc but not in clang. Differential Revision: D8381617 fbshipit-source-id: 768a12795aeb02737eb9b060f80d01608685c91d
-
Aaryaman Sagar authored
Summary: title Reviewed By: yfeldblum, andriigrynenko Differential Revision: D8386575 fbshipit-source-id: c900c8692b10004f2d9fbd95fa8ca96b3b8517d2
-
- 12 Jun, 2018 5 commits
-
-
Yedidya Feldblum authored
Summary: [Folly] Skip trivial-copyability `Expected` expectations under gcc49. The focus is on gcc5+; all that is needed for now is to keep code compiling with gcc49, but not necessarily to ensure optimal trivial-copyability behavior. Reviewed By: Orvid Differential Revision: D8364392 fbshipit-source-id: b0062193c844509b6bf26ed632dd8e5d4bdf77d2
-
Igor Sugak authored
Summary: Assume, when UBSAN is used, it is always used on top of ASAN. Reviewed By: luciang Differential Revision: D8360231 fbshipit-source-id: 3106cfa53567b18f199e9303ea4c14a464ff03cc
-
Alex Guzman authored
Summary: Makes a spec for libsodium. Reviewed By: knekritz Differential Revision: D8228801 fbshipit-source-id: 18f623bce0bbc07f711129b15b78d56b6c852bf7
-
Yedidya Feldblum authored
Summary: [Folly] A cache for `InlineExecutor` singleton, which can be inlined into callers with little extra code compared to calling the backing function directly. Reviewed By: marshallcline Differential Revision: D8339793 fbshipit-source-id: d2be0128e617cfefe66809eb44ce40e1a8ae2dfb
-
Yedidya Feldblum authored
Summary: [Folly] Write `Promise::setException` in terms of `Promise::setTry`. Reviewed By: marshallcline Differential Revision: D8344928 fbshipit-source-id: 90e21219f054329eca7ae1a6c2ca731a16328b6f
-
- 11 Jun, 2018 5 commits
-
-
Jan Oravec authored
Revert D8360404: [folly] Support constructing TDigest from centroids and getting centroids from TDigest Differential Revision: D8360404 Original commit changeset: b0f42e892f66 fbshipit-source-id: 985ba55bb443aafe7c324f15caeca0abb34d200a
-
Shen Xu authored
Summary: Before this diff, since `ctx->memo_` starts out in the `OnlyResult` state, the first reduce (and therefore all subsequent reduces) are run immediately inside the lock. Reviewed By: yfeldblum Differential Revision: D8319067 fbshipit-source-id: 5ed08885beefb42c6efb61768fcbc36e0a08a46b
-
Alfredo Altamirano authored
Summary: To implement tdigest aggregation in scuba, we need to be able to deserialize and serialize the digests. I added a getter for the centroids so that we can serialize the tdigest, and added a constructor to create one from the list of centroids. Differential Revision: D8360404 fbshipit-source-id: b0f42e892f666e787e06198c7e8ff65dd8799dcc
-
Andre Pinto authored
Summary: In folly::small_vector, we were (mistakenly) relying on a default constructor for non-trivially constructible types. The problem got worse on gcc 4.9, because for that compiler version, we set folly::is_trivially_copyable to be std::is_trivial. This is mostly okay, as std::is_trivial implies std::is_trivially_copyable. The problem is that std::is_trivial also implies std::is_default_constructuble, which which was breaking folly::small_vector Reviewed By: yfeldblum Differential Revision: D8346780 fbshipit-source-id: 9c8a9dab21ea2d4fd34f636458324915c30e10a2
-
Mohamed Akram authored
Summary: See https://gitlab.kitware.com/cmake/cmake/issues/16686 This patch was originally contributed to MacPorts by mohd-akram in https://github.com/macports/macports-ports/pull/1933. Closes https://github.com/facebook/folly/pull/862 Reviewed By: Orvid Differential Revision: D8346974 Pulled By: yfeldblum fbshipit-source-id: 2673e1f414dd86bf91bb2183c2f6d9f7e72251f8
-
- 09 Jun, 2018 4 commits
-
-
Yedidya Feldblum authored
Summary: [Folly] A shorter name for executor local variable in `Future` methods. Reads more nicely, with less awkward formatting. When the scope of a local variable's use is just a few lines, long names are not quite so critical. Reviewed By: marshallcline Differential Revision: D8339451 fbshipit-source-id: 5d50cf0ce3473c1a79afeeddb9e1257cccf73e31
-
Yedidya Feldblum authored
Summary: [Folly] No need for qualifying `InlineExecutor` in `Futures` - they are both in `namespace folly` already. Reviewed By: marshallcline Differential Revision: D8307058 fbshipit-source-id: 17a0ecde1e57f1c0c88cbac09bbd1bb3daf7a24e
-
Yedidya Feldblum authored
Summary: [Folly] Use `InlineExecutor` singleton in `Future` wait v.s. letting the executor be `nullptr`. The effect is the same, but just more explicit. Reviewed By: marshallcline Differential Revision: D8306902 fbshipit-source-id: fc90704de670b1ca9956253383fadad3be297847
-
Andrii Grynenko authored
Summary: Executor adaptor which allows joining only tasks scheduled through this VirtualExecutor instance without joining all other tasks in a wrapped Executor. This is very similar to VirtualEventBase, but works for any Executor. Reviewed By: yfeldblum, aary Differential Revision: D8342064 fbshipit-source-id: 420b6390e2da88c4826e6d22bc8f3b3585525214
-
- 08 Jun, 2018 7 commits
-
-
Yedidya Feldblum authored
Summary: [Folly] Ensure sleep duration in logging `RateLimiter` test to make sure that there is no chance of waking up from the sleep too early. Reviewed By: Orvid Differential Revision: D8330018 fbshipit-source-id: f1222e1da50f8360267f9e1c5e0f24897b7b8f47
-
Nathan Bronson authored
Reviewed By: shixiao Differential Revision: D8333485 fbshipit-source-id: 02f74700272b663474c2f02535265ffb6f4bcd22
-
Marshall Cline authored
Summary: method-level contracts (Note: this ignores all push blocking failures!) Reviewed By: yfeldblum Differential Revision: D8132350 fbshipit-source-id: d79b1d88a38ea97de8d0e841e822805aff3959ae
-
Saif Hasan authored
Summary: fbthrift needs to link against newer version of krb5 library to avoid linking issue during OpenR build. ``` libsecurity.so: undefined reference to `error_message(long)' ``` Reviewed By: yfeldblum Differential Revision: D8330387 fbshipit-source-id: 34f3f7361c99bb38adf558a52ef05e9d3156640d
-
Tingzhe Zhou authored
Summary: Make the interface consistent with the other queue algorithms. push try_push try_push_for try_push_until pop try_pop try_pop_for try_pop_until peek try_peek try_peek_for try_peek_until Reviewed By: yfeldblum, djwatson Differential Revision: D8262170 fbshipit-source-id: 0299e947a0069eacafd1315c920ec6e1b36675f3
-
Andrii Grynenko authored
Summary: Weak reference can be used if it's ok for some tasks to be dropped when Executor is destroyed. Reviewed By: yfeldblum Differential Revision: D8309958 fbshipit-source-id: 8ecc86a8be181a9eb695aa12305b2a30b6f4b60e
-
Michael Park authored
Summary: Moved `Future::within` to `FutureBase::withinImplementation`, and changed it to return a `SemiFuture`. `SemiFuture::within` uses it directly, and `Future::within` uses it then attaches the current executor or falls back to the inline executor to preserve existing behavior. Reviewed By: yfeldblum Differential Revision: D8269907 fbshipit-source-id: 76e235a2ecb2c648603961d0ac0ac17bf646d027
-
- 07 Jun, 2018 3 commits
-
-
Yedidya Feldblum authored
Summary: [Folly] Support self-copy in `small_vector`. And refactor move-assignment to look like the fixed copy-assignment for symmetry. Reviewed By: Ahmed-Salama Differential Revision: D8321122 fbshipit-source-id: 2c8b26ad6c4e538266082df29276b827cf4505fc
-
Xiao Shi authored
Summary: When vector intrinsics are not available, `visitAllocationClasses` fails to compile as it is a member function of a template class and it invokes a member function of a template base class without explicit `this->`. Reviewed By: yfeldblum, nbronson Differential Revision: D8300168 fbshipit-source-id: 1c1619bd1c864535648e531b218d2cf1ffef767b
-
Alexander Blom authored
Summary: VLOG(1) shows up in Android logs, which is annoying as some of our tools try to repeatedly connect. Reviewed By: yfeldblum Differential Revision: D8297987 fbshipit-source-id: 45cf4320d2e2fcf570117fee6aef133b2d9986e6
-
- 06 Jun, 2018 4 commits
-
-
Caleb Marchent authored
Summary: There is no guarantee that the default branch in git is 'master'; so unless specified we checkout a tag along the 'dev' branch, which is not intended as it is the master branch that tracks releases for Zstd. Reviewed By: jstrizich Differential Revision: D8297843 fbshipit-source-id: 8497dc75c399ae7c86e27b28fdb73898ef4b1a4e
-
Michael Park authored
Summary: `s/Future/SemiFuture/` on `SemiFuture` ctor and fixed typo `s/Timeekeeper/Timekeeper/`. Reviewed By: yfeldblum Differential Revision: D8290658 fbshipit-source-id: 99ddbdecc0302e620bd2b4ebce74c6080cf81aec
-
Lee Howes authored
Make Future<T>::delayed complete on correct executor 5/n: Add back Future::delayed with correct behaviour Summary: Overall plan to modify Future<T>::delayed to complete on the same executor as the input future. [folly::Futures] Make Future<T>::delayed complete on correct executor 5/n: * Add back future::delayed. * Have Future::delayed complete on input executor. * r-value qualify Future::delayed Reviewed By: yfeldblum, marshallcline Differential Revision: D8238220 fbshipit-source-id: 79afa8cc9a9fe588609ad186ad62f714ee322f7d
-
Yedidya Feldblum authored
Summary: [Folly] Let `Sychronized` move-constructor not lock the source object, since it is an rvalue-reference and the move-constructor code may therefore be assumed to have the only live reference to the source. Same with the move-assignment operator. Reviewed By: aary Differential Revision: D8219883 fbshipit-source-id: f62ff87197ac4b9ceed290a73a05062ab8ed45c4
-
- 05 Jun, 2018 5 commits
-
-
Felix Handte authored
Summary: Reusing a context can provide significant efficiency benefits. Depends on D8172871. Reviewed By: yfeldblum, terrelln Differential Revision: D8287767 fbshipit-source-id: 2565e7a959b2ac0911f0a4d6e1596f9da6d12ee8
-
Felix Handte authored
Summary: Reusing a context can provide significant efficiency benefits. Depends on D8172801. Reviewed By: yfeldblum, terrelln Differential Revision: D8172871 fbshipit-source-id: f92c85410a35643502d28922583ee0ed0b4386c9
-
Neel Goyal authored
Summary: Clear/read OpenSSL errors after certain ops. Reviewed By: mingtaoy Differential Revision: D8277088 fbshipit-source-id: aa436657c3bca3a081cd56858e09da57a03cda05
-
Dan Melnic authored
Summary: Use static FOLLY_TLS ThreadEntry to avoid an ASAN deadlock due to new after fork Reviewed By: philippv Differential Revision: D8272580 fbshipit-source-id: e2dc069e81d15f14be9f96a26d30de7482ced0cf
-
Sergey Zhupanov authored
Summary: Replaced boost::algorithm::to_lower() with std::transform() Reviewed By: yfeldblum Differential Revision: D8264760 fbshipit-source-id: f6faa46c0bbced3a08c02b93eacbb58eb6927890
-
- 04 Jun, 2018 2 commits
-
-
Nick Terrell authored
Summary: * One function needed renaming * One bug needed to be worked around (content size defaulting to 0) Reviewed By: yfeldblum Differential Revision: D8264565 fbshipit-source-id: 1abe5fb79b525108e64857dc28d5582372fcc165
-
Phil Willoughby authored
Summary: The instance method is permitted on `const` objects, so the ADL method should also accept a `const&` input. Reviewed By: yfeldblum Differential Revision: D8240295 fbshipit-source-id: 960aa5567afea3f52b91c1b83566820f5ecefc4d
-