- 03 Jun, 2015 17 commits
-
-
Haim Grosman authored
Summary: folly: adding folly::trimWhitespace extending the idea of folly::skipWhitespace. the reason for adding it, we want to be able to do: auto s = skipWhitespace(trimWhitespace(" aaaa ")) very similar to python's strip() Test Plan: adding unit tests: # make ; _bin/folly/test/string_test --gtest_filter="String.whitespace" # fbmake --ccache off --distcc off dbg -j 16 fbmake dbg -j 16 Fbmake run id: G62i4cDP42U Note: Google Test filter = String.whitespace [==========] Running 1 test from 1 test case. [----------] Global test environment set-up. [----------] 1 test from String [ RUN ] String.whitespace [ OK ] String.whitespace (0 ms) [----------] 1 test from String (0 ms total) [----------] Global test environment tear-down [==========] 1 test from 1 test case ran. (0 ms total) [ PASSED ] 1 test. Reviewed By: ldbrandy@fb.com Subscribers: ldbrandy, folly-diffs@, yfeldblum, chalfant, azhavnerchik FB internal diff: D2109364 Signature: t1:2109364:1433192444:862e237bba1928fcb94be1f95c57a68d457939e9
-
Woo Xie authored
Summary: estimating tcp retransmission rate of the socket Test Plan: unit tests Reviewed By: afrind@fb.com Subscribers: folly-diffs@, njormrod, bmatheny, trunkagent, chalfant, yfeldblum, jsedgwick FB internal diff: D2097198 Tasks: 4888253 Signature: t1:2097198:1433196365:16db26dfd721514481497eddfc7820a453618d33
-
Lucian Grijincu authored
Summary: http://libcxxabi.llvm.org/spec.html void* __cxa_begin_catch(void* exceptionObject) throw(); ``` folly/experimental/exception_tracer/ExceptionTracerLib.cpp:145:7: error: '__cxa_begin_catch' is missing exception specification 'throw()' [-Werror] void* __cxa_begin_catch(void *excObj) { ^ throw() folly/experimental/exception_tracer/ExceptionTracerLib.cpp:35:7: note: previous declaration is here void* __cxa_begin_catch(void* excObj); ^ 1 error generated. 11.44s error: folly/experimental/exception_tracer/ExceptionTracerLib.cpp fbmake: *** [_build/opt/folly/experimental/exception_tracer/b187621/ExceptionTracerLib.o] Error 1 ``` Test Plan: fbmake Reviewed By: philipp@fb.com Subscribers: folly-diffs@, yfeldblum, tudort, chalfant FB internal diff: D2115305 Tasks: 5908365 Signature: t1:2115305:1433186210:3652d81ab10effe1be6da86705322ce090fb6cd4 Blame Revision: https://phabricator.fb.com/D2114085
-
Lucian Grijincu authored
Test Plan: runtests Reviewed By: philipp@fb.com Subscribers: folly-diffs@, jsedgwick, yfeldblum, tudort, chalfant FB internal diff: D2114063 Signature: t1:2114063:1433111051:6686508d78de39ea4ea5dc283189c472e23f8f42
-
Abhik Chatterjee authored
Summary: Instead of comparing tlsExthostname_ with NULL, we are comparing it against tlsExthostname_. Test Plan: Automated tests Reviewed By: afrind@fb.com Subscribers: folly-diffs@, yfeldblum, chalfant, moa FB internal diff: D2106257 Tasks: 4751985 Signature: t1:2106257:1432932687:78c6244392d7842e844a3c1e654ffc4dc0e760a2
-
Hans Fugal authored
Summary: https://github.com/facebook/wangle/pull/1 Test Plan: reads better Reviewed By: jsedgwick@fb.com Subscribers: fugalh, exa, folly-diffs@, jsedgwick, yfeldblum, chalfant FB internal diff: D2111498 Signature: t1:2111498:1432927058:1f14b38faa324d0bdef9421ae5592244a6b78928
-
Sarang Masti authored
Summary: We need to prevent the socket from being deleted while in the loopCallback. Test Plan: -- fbconfig '--sanitize' 'address' 'folly/io/async/test' && fbmake runtests Reviewed By: davejwatson@fb.com Subscribers: trunkagent, folly-diffs@, yfeldblum, chalfant FB internal diff: D2109031 Tasks: 7250307 Signature: t1:2109031:1432918801:77f0352254925d3f33f1e004c8bba89cde63e2cf Blame Revision: D2102601
-
Dave Watson authored
Summary: within, onTimeout, etc use the executor of the future if it is set. Test Plan: added unittest Reviewed By: hans@fb.com Subscribers: doug, folly-diffs@, jsedgwick, yfeldblum, chalfant FB internal diff: D2104770 Tasks: 6958727 Signature: t1:2104770:1432773599:a71c00827071bef46e5700de04c7125142e4eb17
-
Delyan Kratunov authored
Summary: `TurnSequencer` uses inline assembly, which obviously won't work on ARM. Guard said assembly to x86{,_64} targets. Test Plan: Added an always-false `static_assert` to the `ifdef` block, confirmed it gets triggered (i.e., we're not removing the `pause` on x86_64). Reviewed By: ngbronson@fb.com Subscribers: folly-diffs@, yfeldblum, chalfant FB internal diff: D2069320 Signature: t1:2069320:1431663264:3b3fb4282cf2b755f9b26c76b608b91ff665e226
-
Delyan Kratunov authored
Summary: The headers that the Android NDK exports are all sorts of screwed up. In particular, they expose a subset of the `futex.h`, so, even though the kernel supports newer options, we can't reference them from the NDK headers. This diff ensures Futex.cpp redefines all the things it uses, if the headers are lacking. It also transitions away from `SYS_` to `__NR_` which is apparently the newer convention. Lastly, the duration usage is made explicitly `time_t`-safe for use on 32-bit platforms where `time_t` is `long int` but `std::chrono:seconds` is stored as `long long int`. Test Plan: Existing tests, sample app compiled and ran cleanly on Android as well (tests not verified on Android due to folly largely being unported to Android yet). Reviewed By: ngbronson@fb.com Subscribers: folly-diffs@, yfeldblum, chalfant FB internal diff: D2069306 Signature: t1:2069306:1431721711:36c77b1afe8dd9259c1050f11a87511dcf7dd25f
-
Delyan Kratunov authored
Summary: This introduces a lock-free ring buffer with the following expected semantics: 1. Writers can't block on readers 2. Writers are mostly lock-free 3. Readers can detect if they're being too slow 4. Be usable on Android (TBD but should work as-is with the armeabi-v7a ABI; armeabi (ARMv5) support is explicitly a non-goal) Non-goals: 1. Match MPMCQueue in level of optimization. There's no need for that yet. Test Plan: iloveunittests Reviewed By: ngbronson@fb.com Subscribers: trunkagent, folly-diffs@, yfeldblum, chalfant FB internal diff: D2037718 Signature: t1:2037718:1432850250:c57963510d8cda58edc006f4c3260f5ac34d4996
-
Delyan Kratunov authored
Summary: A completely mechanical transformation that moves TurnSequencer into its own header, to be used by other collections. Test Plan: Existing tests. Reviewed By: jmkaldor@fb.com Subscribers: folly-diffs@, yfeldblum, chalfant FB internal diff: D2065108 Signature: t1:2065108:1431474613:a3a9d063ebd2bedb31abb37be5fd33f0fb3eca6a
-
Tudor Bosman authored
Summary: Uri("foo:bar").str() would incorrectly return "foo://bar" Test Plan: test added Reviewed By: savasp@fb.com, markisaa@fb.com Subscribers: folly-diffs@, yfeldblum, chalfant FB internal diff: D2107530 Tasks: 7248055 Signature: t1:2107530:1432837143:c100f148c07b5b141cc036b1b39e6c8317e9bbd6
-
Dave Watson authored
Summary: Chain interrupt handlers in then(). User can always choose to set a new one later. Test Plan: added unittest Reviewed By: hans@fb.com Subscribers: doug, folly-diffs@, jsedgwick, yfeldblum, chalfant FB internal diff: D2091569 Signature: t1:2091569:1432760579:ea7afa9b4e62e4b04b4d5f17950b9b7356a57f09
-
Sarang Masti authored
Summary: If openssl has buffered data read from the socket, we might not get a read event on the socket. So, we must schedule a readCallback to ensure before exiting from AsyncSocket::handleRead if we have exhausted the maxReadsPerEvent_ limit. Test Plan: -- modifying existing test to test this corner case. Reviewed By: davejwatson@fb.com Subscribers: net-systems@, trunkagent, folly-diffs@, yfeldblum, chalfant FB internal diff: D2102601 Tasks: 7168699 Signature: t1:2102601:1432837605:82e72a2a1875c08c9c1e8e831796c9c90df927fa
-
Lucian Grijincu authored
Test Plan: n/a Reviewed By: ott@fb.com Subscribers: ott, folly-diffs@, yfeldblum, tudort, chalfant FB internal diff: D2100535 Tasks: 4421175 Signature: t1:2100535:1432674713:6f5f40a8462851b2b8972c68d34ae23aaf1e9340
-
Philip Pronin authored
Summary: Cleanup. Drop support for V0 in favor of V1. Test Plan: unit tests Reviewed By: lucian@fb.com Subscribers: fbcode-common-diffs@, chaoyc, search-fbcode-diffs@, unicorn-diffs@, folly-diffs@, yfeldblum, tudort, chalfant FB internal diff: D2105967 Signature: t1:2105967:1432781247:e420d8b4b8c69d28dfc229e8a2af6df8a580f979
-
- 28 May, 2015 9 commits
-
-
Pavlo Kushnir authored
-
Dave Watson authored
Summary: This is actually a bug, future.cancel() doesn't work with the current THreadWheelTimekeeper, because cancel() only works from the eventBase thread. Test Plan: added unittest. Crashes before, passes now Reviewed By: hans@fb.com Subscribers: doug, folly-diffs@, jsedgwick, yfeldblum, chalfant FB internal diff: D2091531 Signature: t1:2091531:1432224024:4aa5dd71de15b1344034a414d47c97ffaba68949
-
Hans Fugal authored
Summary: I'm not sure about the name Lift now. We are lifting, yes, but are we lifting into Unit, or into "can't be void because void is unit"? But LiftIntoNonVoid is a bit verbose. I'm totally open to other names or arrangements. We could also rename `is_void_or_unit`, but to what? I reimplemented `is_void_or_unit` in terms of `Unit::Lift` because it's kinda cool but also to provide a little motivational example to the reader for why Lift exists in the first place. Test Plan: Still builds and passes tests. Nothing significant depends on this yet. Reviewed By: hannesr@fb.com Subscribers: exa, folly-diffs@, jsedgwick, yfeldblum, chalfant FB internal diff: D2102147 Tasks: 6847876 Signature: t1:2102147:1432742966:a03973a45882d3e9f6fa7158ef393b148cbe16fc
-
Andre Pinto authored
Summary: Add the option to instrument every EventHandler that runs in a EventBase. Test Plan: Unit tests Reviewed By: davejwatson@fb.com Subscribers: alikhtarov, folly-diffs@, yfeldblum, chalfant FB internal diff: D2044546 Tasks: 6958000 Signature: t1:2044546:1432221358:6500d6c1a6631d7a06a18e874d051f2ff3108e10
-
Hans Fugal authored
Summary: See task Test Plan: runtests Reviewed By: jsedgwick@fb.com Subscribers: exa, folly-diffs@, jsedgwick, yfeldblum, chalfant FB internal diff: D2101549 Tasks: 7225286 Signature: t1:2101549:1432688294:5fb9d7370c38c1392429a09ba48b131cac16647d
-
James Sedgwick authored
Summary: copy everything but example/ Test Plan: fbconfig -r folly/wangle && fbmake runtests Reviewed By: hans@fb.com Subscribers: fugalh, ps, bmatheny, folly-diffs@, jsedgwick, yfeldblum, markdrayton, chalfant FB internal diff: D2100811 Tasks: 5802833 Signature: t1:2100811:1432678173:6c336fe53aa223993f6f82de4ac91b3c19beacf1
-
James Sedgwick authored
Summary: this preserves history and will be followed by a copy diff Test Plan: next diff will compile Reviewed By: hans@fb.com Subscribers: fugalh, ps, bmatheny, folly-diffs@, jsedgwick, yfeldblum, markdrayton, chalfant FB internal diff: D2100784 Tasks: 5802833 Signature: t1:2100784:1432677219:838a336d84918145d19c6cfa4290dd58374821fd
-
Marcelo Juchem authored
Summary: broken by D2096146 Test Plan: arc unit Reviewed By: andrewcox@fb.com Subscribers: folly-diffs@, yfeldblum, chalfant FB internal diff: D2100773 Signature: t1:2100773:1432676073:a72e72fa5fb915b027fdfd31dd814d02e6606858
-
Marcelo Juchem authored
Test Plan: built folly Reviewed By: mshneer@fb.com Subscribers: davejwatson, mshneer, trunkagent, alandau, bmatheny, folly-diffs@, yfeldblum, chalfant FB internal diff: D2096146 Tasks: 6337419 Signature: t1:2096146:1432658670:4ff00e4274412519dc3b02d2a849b7ff289ac979
-
- 26 May, 2015 13 commits
-
-
woo authored
-
James Sedgwick authored
Summary: see task Test Plan: OK Reviewed By: hans@fb.com Subscribers: fugalh, folly-diffs@, jsedgwick, yfeldblum, chalfant FB internal diff: D2099416 Tasks: 7166291 Signature: t1:2099416:1432658571:4ae632c218c4764f23e4b189167f6fdaff13dc2d
-
Anton Likhtarov authored
Summary: 1. Eliminate some string -> StringPiece -> strings conversions 2. Mcrouter: eliminated unnecessary inlining by moving slow path logic into its own method. Using a test setup with shadow sampling enabled and shadowing some requests, (typical prod setup), this brings down the cost from ~1.4% cpu in standalone mcrouter to ~0.2%: ``` before: + 0.70% 3898 mcrouter_orig mcrouter_orig [.] FbAdditionalProxyRequestLogger::logReply + 0.13% 864 mcrouter_orig mcrouter_orig [.] EventGroup<ScubaRow>::processExtraSamplers + 0.58% 3347 mcrouter_orig mcrouter_orig [.] DynamicScubaSampler::getSampler ~ 1.41% total after: + 0.18% 1223 mcrouter_fix mcrouter_fix [.] FbAdditionalProxyRequestLogger::logReply + 0.04% 205 mcrouter_fix mcrouter_fix [.] EventGroup<ScubaRow>::processSampler ~ 0.22% total ``` Fiber local optimization might have more of an effect. Test Plan: unit tests Reviewed By: pavlo@fb.com Subscribers: trunkagent, fbcode-common-diffs@, alikhtarov, folly-diffs@, yfeldblum, darshan, chalfant FB internal diff: D2089133 Tasks: 5414865 Signature: t1:2089133:1432338487:4158dc6b720c04f43820193e73b98d4197afcffa
-
James Sedgwick authored
Summary: Need to cut this dep on wangle out of folly as we're moving wangle to its own repo Test Plan: chimera unit Reviewed By: rushix@fb.com Subscribers: trunkagent, fugalh, folly-diffs@, jsedgwick, yfeldblum, chalfant FB internal diff: D2092122 Signature: t1:2092122:1432239179:9261c1b3a3a346b886b15899d25a4d0530d4e890
-
Chip Turner authored
Summary: Reverting diff to fix the build. Test Plan: contbuild rule that failed to build is okay now Reviewed By: ldbrandy@fb.com
-
Chip Turner authored
Summary: strncpy is bad. strlcpy is somewhat less bad. We already had this function, but let's move it somewhere more reasonable. Test Plan: runtests Reviewed By: ldbrandy@fb.com Subscribers: trunkagent, lins, anca, folly-diffs@, yfeldblum, chalfant FB internal diff: D2062632 Signature: t1:2062632:1431969926:cc7f7283073d0242fe8f361efac2557aa0b0a481
-
Marc Horowitz authored
Test Plan: search, and fbmake Reviewed By: delyank@fb.com Subscribers: trunkagent, folly-diffs@, yfeldblum, chalfant FB internal diff: D2093523 Signature: t1:2093523:1432249208:84a27e2328636c2aafe43412f61a693b5645b895
-
Jim Meyering authored
Summary: Without <atomic>, this fails to compile with clang:dev and newer glibc. Test Plan: fbconfig --clang --with-project-version=clang:dev --with-project-version=llvm_compiler_rt:dev --platform-all=gcc-4.9-glibc-2.20 --sanitize=address mcrouter/lib/network:client-test-sync && fbmake dbg Reviewed By: pavlo@fb.com Subscribers: folly-diffs@, yfeldblum, chalfant FB internal diff: D2093709 Signature: t1:2093709:1432250378:2b78c142598bf0a7b0869089c752f5ccdae9da22
-
Marc Horowitz authored
Summary: This includes a change to Range to move operator<< into the header, to achieve the goal. Specifically, see format_test, dynamic_test, json_test, demangle_test Test Plan: fbconfig -r buck && fbmake runtests Reviewed By: njormrod@fb.com Subscribers: darshan, tjackson, folly-diffs@, yfeldblum, chalfant FB internal diff: D2063698 Signature: t1:2063698:1431467309:069da6d74bb5c384e7a21e6be19a4b20466bdd92
-
Marc Horowitz authored
Summary: I'm looking into pulling parts of folly (right now, dynamic, json, and their dependencies) into fbandroid for use as part of xplat. This diff includes a few kinds of changes: portability fixes for arm; reduce the size of the code generated by moving non-templated functions and methods into cpp files; refactoring header usages which require extra compiler flags on android to cpp files; and slicing up the libraries a bit differently to reduce dependencies. This should all be backward-compatible, and do no harm to fbcode. Test Plan: runtests, sandcastle Reviewed By: njormrod@fb.com Subscribers: darshan, davejwatson, tudorb, dancol, folly-diffs@, yfeldblum, chalfant FB internal diff: D2057797 Tasks: 7005344 Signature: t1:2057797:1432145435:fa10f129fc669e682da5b4b207fc96986ca035fc
-
Dave Watson authored
Summary: Based on a more thourough reading of finagle's interface: * adds close/isAvailable, which seem very close to thrift's interfaces * ComposedServices are hardcoded to underlying services, to simplify the code (means extra allocs?) * Made everything a shared_ptr * Addd ServiceFactoryFilters Test Plan: Updated the existing unittests and added some new ones Reviewed By: jsedgwick@fb.com Subscribers: doug, fugalh, folly-diffs@, jsedgwick, yfeldblum, chalfant FB internal diff: D2037206 Signature: t1:2037206:1432147489:3464d4c12a9e434d4973febcabbf7b2b3a883257
-
Tudor Bosman authored
Summary: tupleRange<start, n>(tuple): return a tuple consisting of a range of elements from the given tuple tuplePrepend(x, tuple): return a tuple consisting of prepending x to the given tuple. For Lispies: std::get<0>(tuple) is car. tupleRange<1>(tuple) is cdr. tuplePrepend(x, tuple) is cons. Test Plan: test added Reviewed By: lesha@fb.com Subscribers: trunkagent, lesha, ilyam, folly-diffs@, yfeldblum, chalfant, jhj, alerer, kma, pamelavagata, tulloch FB internal diff: D2087568 Signature: t1:2087568:1432164681:18795d0e8bb01f38ffc6949ac233f514ab098355
-
Hannes Roth authored
Summary: This was supposed to be the `Result` type, since it's called on the Future returned by the lambda. Test Plan: Added tests for void and different types in vector/lambda. Reviewed By: mhl@fb.com Subscribers: folly-diffs@, jsedgwick, yfeldblum, chalfant FB internal diff: D2087819 Tasks: 7126300 Signature: t1:2087819:1432142435:72914fa64eff03454774b87a24c426379defab3b Blame Revision: rFBCODEf229322bc273190a85b5e995dcd8209b1fbf0825
-
- 20 May, 2015 1 commit
-
-
Viswanath Sivakumar authored
-