- 09 Aug, 2017 4 commits
-
-
Nick Jiang authored
Summary: this fixes the case where bulk inserting a range where the smallest element is equal to the largest element of the current set/map fails to deduplicate that element. Reviewed By: mlogan, yfeldblum Differential Revision: D5593284 fbshipit-source-id: 487500ee7a5e33f27c24321ad4a3c07a669fc26c
-
Yedidya Feldblum authored
Summary: [Folly] Explicitly handle gcc in `FOLLY_MAYBE_UNUSED`. Fixes build break from {D5562220}. Reviewed By: Orvid Differential Revision: D5594288 fbshipit-source-id: 5aa2dcb6133d53a0eb20d34b67c8e4407dd2b7ca
-
Yedidya Feldblum authored
Summary: [Folly] Cut unnecessary parens in `IPAddress.h`. Reviewed By: meyering Differential Revision: D5589756 fbshipit-source-id: 6499e0db2aeb232356e2808fc59a35869b5dad0a
-
Yedidya Feldblum authored
Summary: [Folly] Let `IPAddressV4::bitCount` and `IPAddressV6::bitCount` be `constexpr`. Reviewed By: meyering Differential Revision: D5589954 fbshipit-source-id: f4208efd62e71f47a7c87bdc8ddd421f93413c29
-
- 08 Aug, 2017 2 commits
-
-
Yedidya Feldblum authored
Summary: [Folly] Apply `clang-format` to `folly/**/*Address*.*`. Reviewed By: Orvid Differential Revision: D5581523 fbshipit-source-id: 97b5270e43e279e7deb9606524d5fee844a50649
-
Phil Willoughby authored
Summary: Use it like this: ``` using namespace folly::string_piece_literals; StringPiece p = "A literal string"_sp; ``` In some compilation environments it can be more efficient than the implicit conversion from `char const *` to `StringPiece`. Reviewed By: yfeldblum Differential Revision: D5562782 fbshipit-source-id: ce715edc65b1510761e127bf89a6936370253a68
-
- 07 Aug, 2017 1 commit
-
-
Sargun Vohra authored
Summary: `Future::onError` does not work with a function that takes `exception_wrapper&`, so it should not compile. `exception_wrapper`, `const exception_wrapper&`, and `exception_wrapper&&` are unaffected. Reviewed By: yfeldblum Differential Revision: D5556083 fbshipit-source-id: 45d096d9fee00322eeec6b9b9b1dcbef55cced03
-
- 06 Aug, 2017 2 commits
-
-
Yedidya Feldblum authored
Summary: [Folly] Consistent use of `sformat` in address-related files. V.s. `format(/*...*/).str()` and v.s. `to<std::string>`. Reviewed By: meyering Differential Revision: D5570334 fbshipit-source-id: 83aedf9a694721fb209e62e94f1a5c5ecd355e81
-
Yedidya Feldblum authored
Summary: [Folly] Apply `clang-format` to `folly/**/*Range*.*`. Reviewed By: meyering Differential Revision: D5570553 fbshipit-source-id: 230aa8557c2d402d741aaa541f96f4634dd13d3b
-
- 04 Aug, 2017 3 commits
-
-
Xiangyu Bu authored
Summary: Make sure server can get client cert using AsyncSSLSocket::getPeerCert() call. Reviewed By: anirudhvr Differential Revision: D5557303 fbshipit-source-id: d95696f592e3b3f67acba9f92add32b91c29a000
-
Xiangyu Bu authored
Summary: ... as titled. Reviewed By: yfeldblum Differential Revision: D5558742 fbshipit-source-id: b63b121cde8db93de4cabc80563539297611d600
-
Marko Novakovic authored
Summary: Clang compiler does not define `__CLANG__` macro and only defines `__clang__`, but we use `__CLANG__` in a few places in the code which was probably done by mistake. This should make the code behave in the intended way. Reviewed By: yfeldblum Differential Revision: D5542162 fbshipit-source-id: 74d24ba9464d8faec160d73e6c582967d3c80c19
-
- 03 Aug, 2017 2 commits
-
-
Alex Guzman authored
Summary: Adds unique pointer type for X509_EXTENSION Reviewed By: knekritz Differential Revision: D5556504 fbshipit-source-id: b84190f20dd0a2ee9f5f07f197caf53a9a063af7
-
Adam Norton authored
Summary: Remove a bunch of identical code that only exists to provide interfaces for both `const MessageT&` and `MessageT&&` arguments. Reviewed By: ot Differential Revision: D5540560 fbshipit-source-id: ae7b9345b64130fc748033be2e0587c4f83345a7
-
- 02 Aug, 2017 2 commits
-
-
Martin Martin authored
Summary: Speaking of errors... Reviewed By: philippv Differential Revision: D5545916 fbshipit-source-id: cc8471c2f0fc3cefaa9f8493d9b976098f896176
-
Greg Bentley authored
Summary: Closes https://github.com/facebook/folly/pull/649 Reviewed By: Orvid Differential Revision: D5535534 Pulled By: yfeldblum fbshipit-source-id: 641186d6171479755bd9471a484b8b3c2ab62418
-
- 01 Aug, 2017 6 commits
-
-
Alex Guzman authored
Summary: What it says on tin Reviewed By: knekritz Differential Revision: D5533819 fbshipit-source-id: e3ba89f02d20d171fbcb8ed2853267d37bd86756
-
Yedidya Feldblum authored
Summary: [Folly] Cut debugging code from `SocketAddress`. Specifically from its `ExternalUnixAddr` helper class, which is probably not broken. Reviewed By: simpkins Differential Revision: D5530685 fbshipit-source-id: adfc46ec1c1a142e9914051e8a97b39f41d71630
-
Phil Willoughby authored
Summary: Also add tests for the `is_replaceable` trait. Reviewed By: yfeldblum Differential Revision: D5526317 fbshipit-source-id: 92559d55fbb8d115856ef9e8f86b42e327f74e56
-
Neel Goyal authored
Summary: Add an SSL Version that specifies only TLS 1.2 and up. This prevents any client with less than TLS 1.2 from connecting. Reviewed By: knekritz Differential Revision: D5537423 fbshipit-source-id: 131f5b124af379eaa2b443052be9b43290c41820
-
Neel Goyal authored
Summary: Change AsyncUDPSocket's ReadCallback to be protected so that subclasses can have access to it. Reviewed By: yangchi Differential Revision: D5376012 fbshipit-source-id: 7ec21d9bfe6bde525253adea7abf5dea15fb7fa0
-
Yedidya Feldblum authored
Summary: [Folly] DRY some methods in `IPAddress`. Specifically, the ones which just delegate to either `asV4()` or to `asV6()`. Reviewed By: mzlee Differential Revision: D5529797 fbshipit-source-id: 4dd3dc893ab19281325700b85400c1c1aadfd77f
-
- 31 Jul, 2017 6 commits
-
-
Yang Chi authored
Summary: Add a protected virtual sendmsg method to AsyncUDPSocket. And make it default to call the system sendmsg function. This enables subclasses of AsyncUDPSocket to be able to override the behavior of sendmseg, also makes AsyncUDPSocket easier to mock and test. Reviewed By: afrind Differential Revision: D5459745 fbshipit-source-id: b0227bf7503b1096cb1f0bfc8b9c784db2f2e45d
-
Yedidya Feldblum authored
Summary: [Folly] No need for `strncpy` in `passwordCallback`. Careful reading of the documentation: > The pem_passwd_cb must write the password into the provided buffer `buf` which is of size `size`. > > https://wiki.openssl.org/index.php?title=Manual:SSL_CTX_set_default_passwd_cb(3)&oldid=761 No mention is made of a requirement on the password being written into `buf` that it be null-terminated. Reviewed By: knekritz, meyering Differential Revision: D5524814 fbshipit-source-id: 6cfc588cdf3675281ffe39e6af376f3f0631d1b0
-
Phil Willoughby authored
Summary: Not supported by some environments. Reviewed By: yfeldblum Differential Revision: D5526180 fbshipit-source-id: 2c2b6f7627860c5f896532b90601c817530e6b69
-
Yedidya Feldblum authored
Summary: [Folly] Consistency in namespace-closing comments. Reviewed By: Orvid Differential Revision: D5524744 fbshipit-source-id: ced4dd2398ed6baa3ad5b68b74eee6a5d6b2b103
-
Yedidya Feldblum authored
Summary: [Folly] Formatting for template parameters. Reviewed By: Orvid Differential Revision: D5525123 fbshipit-source-id: 4feb772300cfdd6ae3168fe9f59f5a951fb85d0e
-
Yedidya Feldblum authored
Summary: [Folly] Simplify the `StateSize` helper in `Random`. * Using member type aliases rather than class constants means we can remove definitions. * Partially specializing over all RNG types with `state_size` class constants means we can remove the `mersenne_twister` specializations, which have many template parameters and are a pain. Reviewed By: Orvid Differential Revision: D5525144 fbshipit-source-id: bc27f112ed0d9b55befe9dabe08c4d345a402435
-
- 30 Jul, 2017 5 commits
-
-
Yedidya Feldblum authored
Summary: [Folly] Outline `throw` statements in `format`. Reviewed By: Orvid Differential Revision: D5523933 fbshipit-source-id: 371c9ecc707e48dcc05fa4aab4fd326111466161
-
Yedidya Feldblum authored
Summary: [Folly] Let `MacAddress` use a helper hex-table. The table is in the `folly::detail` namespace so it is non-public to users of folly, but the rules may not be quite as strict in at least some cases within folly. Also the helper `unhex` function that this replaces is not `clang-format`-clean, so this lets us sidestep that. Reviewed By: Orvid Differential Revision: D5524229 fbshipit-source-id: 21d6938e20cd675e65499a5b64d2af934f980222
-
Yedidya Feldblum authored
Summary: [Folly] Consistent indentation for class visibility labels (`public:`, `protected:`, `private:`). Style is +1 column relative to the `class` keyword. Reviewed By: andrewjcg Differential Revision: D5524869 fbshipit-source-id: 53e4b6cbda10d5b63bafbd535794a8b7ae01a8e0
-
Yedidya Feldblum authored
Summary: [Folly] `template<` -> `template <`. And then apply `clang-format` style to affected `template <...>` lines. Reviewed By: andrewjcg Differential Revision: D5524792 fbshipit-source-id: 6614eecf384bf3e3ccc2f0cc7c5334a0cb9c76af
-
Yedidya Feldblum authored
Summary: [Folly] Mark two implicit ctors as `explicit`. They did not need to be implicit. Reviewed By: andrewjcg Differential Revision: D5524798 fbshipit-source-id: a50bc6bfc9da2642891faf0aa38a19f46e75b9da
-
- 29 Jul, 2017 5 commits
-
-
Yedidya Feldblum authored
Summary: [Folly] Define `IPAddressV6` comparison ops in terms of its fields using `std::tie`. Reviewed By: andrewjcg Differential Revision: D5524248 fbshipit-source-id: 5f5f2acd6e9cfd6dfd148cc7d95bda720bf81ee9
-
Yedidya Feldblum authored
Summary: [Folly] Merge `IPAddressTest.h` into the `IPAddressTest.cpp`. There is no real need to split anything out into a header file. Reviewed By: andrewjcg Differential Revision: D5524267 fbshipit-source-id: e128c69c7da38663f19d0ccd73edaae36c3f469a
-
Yedidya Feldblum authored
Summary: [Folly] Outline `throw` statements in `folly/futures/`. Reviewed By: ericniebler Differential Revision: D5522791 fbshipit-source-id: 545185bc580ea8628075b9ecae46c2f19308e937
-
Yedidya Feldblum authored
Summary: [Folly] Compute masks in `IPAddressV4`. Just like in `IPAddressV6`. Reviewed By: WillerZ Differential Revision: D5524197 fbshipit-source-id: ebeeab28304bff4f6150cf76216d170908e62aa4
-
Phil Willoughby authored
Summary: Fix the copy constructor, and add the missing testcase which would have found this problem. Reviewed By: yfeldblum Differential Revision: D5516628 fbshipit-source-id: 3e688c34f061511df5b68243111fecb83483d79d
-
- 28 Jul, 2017 2 commits
-
-
Yedidya Feldblum authored
Summary: [Folly] Optimal `make_integer_sequence`. When the builtin `__make_integer_seq` is available, use that. It is the most optimal implementation. Otherwise, use a tweaked divide-and-conquer implementation. Designed to reuse more template instantiations than the straightforward divide-and-conquer approach in libstdc++ >= 6. And definitely not linearly recursive as in libstdc++ < 6. Illustrating with an example. Let `M` be whatever template type implements `make_integer_sequence`. For `M<17>`, libstdc++ < 6 does linear recursion (least optimal), instantiating `M<16>`, `M<15>`, ..., `M<1>`. libstdc++ >= 6 does straightforward divide-and-conquer recursion, instantiating `M<8>` and `M<9>`, recursing into `M<4>` and `M<5>`, recursing into `M<2>` and `M<3>`, recursing into `M<1>`. Our implementation does a variant of divide-and-conquer recursion to maximize reuse, instantiating `M<8>` and `M<1>`, recursing into `M<4>`, recursing into `M<2>`. Implementation derived from `fatal/type/sequence.h`. Reviewed By: ericniebler Differential Revision: D5496975 fbshipit-source-id: 449b4e0a1c7b4a5b602752c1d3dd8914bf9a8e71
-
stryku authored
Summary: Current `IsOneOf` implementation does unnecessary work because it instantiates all of the possible template specializations, even if type is same as the first of the tested ones. E.g. `IsOneOf<char, char, int, float>` will instantiate: ``` IsOneOf<char, char, int, float> IsOneOf<char, char, int> IsOneOf<char, char> IsOneOf<char> ``` With the proposed inheritance, compiler will stop initializing at the first match. Closes https://github.com/facebook/folly/pull/643 Reviewed By: ericniebler Differential Revision: D5482783 Pulled By: yfeldblum fbshipit-source-id: 3d04c750ce72fa9b19b4d0588cccfb396a9e0715
-