- 12 May, 2015 18 commits
-
-
Hannes Roth authored
Summary: None of these functions should be templated with `class Executor`. Except `then(Executor, Args...)` because otherwise the compiler gets confused. This was the combination that worked for both Clang and GCC, don't ask me why. I'm assuming this puts it on a low priority... I think this is also OK, because `setExecutor` takes an actual `folly::Executor`, so even `then(Executor, Args...)` won't just work for any `Executor`. Test Plan: Run all the tests. Reviewed By: jsedgwick@fb.com Subscribers: folly-diffs@, jsedgwick, yfeldblum, chalfant FB internal diff: D2036912 Tasks: 6838553 Signature: t1:2036912:1430493088:44f2ffe146298c3f978ac27a45b9b2e33b2b0422
-
Sean Cannella authored
Summary: Address another Android initialization crash by delaying initialization of the EorBio method until first AsyncSSLSocket construction. Test Plan: existing tests Reviewed By: pgriess@fb.com Subscribers: net-systems@, ssl-diffs@, folly-diffs@, yfeldblum, chalfant, #csti FB internal diff: D2036329 Tasks: 6925575, 6925570 Signature: t1:2036329:1430444665:a3201f90860a34808a3cf3b42d530608c8a619a8
-
Hannes Roth authored
Summary: Oh, this is best of both worlds: D2015316 If your reduce is really cheap, just use `collect/CollectAll->reduce`. Otherwise just use `reduce`. Great? This one doesn't support returning Futures from `func`, but if you want to do that, just use `reduce`. Test Plan: Run all the tests. Reviewed By: hans@fb.com Subscribers: folly-diffs@, jsedgwick, yfeldblum, chalfant FB internal diff: D2017238 Tasks: 6025252 Signature: t1:2017238:1430422971:c3471afa53239681f835624becf3c4a238204b70
-
Hannes Roth authored
Summary: I wanted to use `collectAll` for `reduce` if `func` does not return a Future, because the overhead seemed smaller, but it has been suggested that running the callback as soon as possible might be better. Not sure which is. Note that this also makes n copies of the lambda and moves the value at least n times. I also plan to add a `streamingReduce` which calls `func` as soon as results come in (but out of order). Test Plan: Run all the tests. Reviewed By: hans@fb.com Subscribers: folly-diffs@, jsedgwick, yfeldblum, chalfant FB internal diff: D2015316 Tasks: 6025252 Signature: t1:2015316:1430349611:4f62a540ded85299a22670dd2add27cf1458e8f8
-
Tudor Bosman authored
Test Plan: test added Reviewed By: lxiong@fb.com Subscribers: lxiong, net-systems@, folly-diffs@, yfeldblum, chalfant, pamelavagata, kma FB internal diff: D2036967 Tasks: 6925950 Signature: t1:2036967:1430431606:3e115f7ed76b207572db26d352bebefe7a3d306d
-
Vladislav Isenbaev authored
Summary: This is a temporary fix (until D2015320 is checked in) for race condition(s) in collect(..) method. Test Plan: Run unit tests Run buffalo_aggregator canary Reviewed By: jsedgwick@fb.com Subscribers: folly-diffs@, jsedgwick, yfeldblum, chalfant FB internal diff: D2037406 Tasks: 6894157 Signature: t1:2037406:1430435227:ed9612d016cdbd708e2deba02dc4fe0b59632f5a
-
Hans Fugal authored
Summary: Lift void into the unit monad and pass other types through unscathed. Test Plan: new unit tests Reviewed By: yfeldblum@fb.com Subscribers: exa, folly-diffs@, jsedgwick, yfeldblum, chalfant FB internal diff: D2029785 Signature: t1:2029785:1430333928:ef2fbb2e3d94518a732f6818a06c32481120bd4f
-
Hans Fugal authored
Summary: The value constructor can be nice. But when it matches on Future<Something> it just confuses everybody. Test Plan: building and running tests contbuild Reviewed By: jsedgwick@fb.com Subscribers: exa, folly-diffs@, jsedgwick, yfeldblum, chalfant FB internal diff: D2036455 Tasks: 6925951 Signature: t1:2036455:1430423503:73906f748318c4ebec13f45ad3761f104e2ef888
-
Marcelo Juchem authored
Summary: see title Test Plan: unit tests added Reviewed By: davejwatson@fb.com Subscribers: folly-diffs@, yfeldblum, chalfant, andrewcox FB internal diff: D2000579 Signature: t1:2000579:1430345677:1d7a78f94bcd8b0912423ca4987a4048c103241c
-
James Sedgwick authored
Summary: facepalm Test Plan: unit Reviewed By: hans@fb.com Subscribers: folly-diffs@, jsedgwick, yfeldblum, chalfant FB internal diff: D2036523 Tasks: 6925951 Signature: t1:2036523:1430423049:b69ace0256eeacdd43490465dc1c862f054a0098
-
Hans Fugal authored
Summary: truffleshuffle Test Plan: runtests Reviewed By: yfeldblum@fb.com Subscribers: exa, folly-diffs@, jsedgwick, yfeldblum, chalfant FB internal diff: D2029715 Signature: t1:2029715:1430285509:165edabb1bdbb2a4766e7619c67e7e568626b903
-
Hans Fugal authored
Summary: Allow `makeFuture()`-like default ctor for `Future<Unit>` Test Plan: new unit test Reviewed By: jsedgwick@fb.com Subscribers: trunkagent, exa, folly-diffs@, jsedgwick, yfeldblum, chalfant FB internal diff: D2029677 Signature: t1:2029677:1430417794:5ec7fca839294316957803229f4783f2ee875027
-
Chao Yang authored
Summary: clang (>=3.6?) reports potential object slicing bug when MPMCQueue is used for polymorphic class as the queue item, e.g. as in P19814469. This can be false positive however, since the choice is based on the type trait already. This diff uses tag dispatch to selectively compile the overload that will be executed, therefore if there is no-throw move ctor supplied clang will not examine the simulated relocation code. This doesn't avoid object slicing bug however if the client insists to use MPMCQueue to hold base class while enqueue and dequeue with subclassed item. Test Plan: compile with --clang Reviewed By: tudorb@fb.com Subscribers: folly-diffs@, yfeldblum, chalfant FB internal diff: D2029949 Signature: t1:2029949:1430264357:af479117adf90bc1915c071e7376a30aacb72f46
-
James Sedgwick authored
Summary: Cleans up bootstrap a bit at the expense of a more complex Pipeline interface This doesn't have to go in, lmk either way as I want to move on to reorganizing this code into inl headers etc Test Plan: unit Reviewed By: davejwatson@fb.com Subscribers: fugalh, folly-diffs@, jsedgwick, yfeldblum, chalfant FB internal diff: D2034634 Signature: t1:2034634:1430414670:c91712fb26353987cb471e35a54f55c869ae7cf1
-
James Sedgwick authored
Summary: Also, instead of throwing on finalize() if there's no inbound/outbound handler in the pipeline, log a warning and throw when the operations are attempted. This was necessary for CodecTest which doesn't use outbound handlers. Test Plan: unit Reviewed By: davejwatson@fb.com Subscribers: trunkagent, fugalh, folly-diffs@, jsedgwick, yfeldblum, chalfant FB internal diff: D2028176 Tasks: 6836580 Signature: t1:2028176:1430346333:fdd645a535e8158d780cfd1119e27803995b663f
-
James Sedgwick authored
Summary: Much less copypasta this time around. I wonder if the getters and setters for write flags and read buffer settings are necessary in the new handler types, or even if they belong in the bidirectional handler I'm all ears for more suggestions on reducing copypasta I'm going to reorg the code (inl headers etc) in a subsequent diff once this is in - easier to review this way Test Plan: existing unit, thinking about tests for these changes Reviewed By: davejwatson@fb.com Subscribers: fugalh, folly-diffs@, jsedgwick, yfeldblum, chalfant FB internal diff: D2026522 Tasks: 6836580 Signature: t1:2026522:1430346145:bd7f7770eddce0470e2ac72440fc001cf128df08
-
James Sedgwick authored
Summary: I think this is the best I can do to minimize whjat must be copied for InboundHandler, InboundHandlerContext, InboundContextImpl, outbound equivalents, etc Test Plan: unit Reviewed By: davejwatson@fb.com Subscribers: fugalh, folly-diffs@, jsedgwick, yfeldblum, chalfant FB internal diff: D2025612 Tasks: 6836580 Signature: t1:2025612:1430346200:bc06162711bbc52b17574297a3569736f7973a7c
-
Nicholas Ormrod authored
Summary: This diff is based on https://github.com/facebook/folly/pull/95 by gitbug user mikekap. It changes the struct/class naming of forward declarations to match their definitions. Test Plan: fbconfig -r folly && fbmake runtests Reviewed By: markisaa@fb.com Subscribers: fugalh, folly-diffs@, jsedgwick, yfeldblum, chalfant FB internal diff: D2032995 Tasks: 6783581 Signature: t1:2032995:1430339337:79193fd8409b73e8a9155133f326b7cee534244d
-
- 29 Apr, 2015 13 commits
-
-
Andrii Grynenko authored
-
Dave Watson authored
Summary: It looks like the ubuntu version of gtest complains about this? Test Plan: Will watch jenkins fbthrift and proxygen builds previous jenkins break: https://ci-builds.fb.com/job/folly/2178/console Reviewed By: bmatheny@fb.com Subscribers: doug, folly-diffs@, yfeldblum, chalfant FB internal diff: D2032761 Tasks: 6913742 Signature: t1:2032761:1430337624:ec65b26cf8da7d0d8c7e449f235de7147d4f17d6 Blame Revision: D2029802
-
Andrii Grynenko authored
Test Plan: contbuild Reviewed By: chip@fb.com Subscribers: wormhole-diffs@, trunkagent, hphp-diffs@, jan, simpkins, configerator-diffs@, fbcode-common-diffs@, chaoyc, bill, search-fbcode-diffs@, agallagher, nli, marcelo, ckwalsh, mcduff, hitesh, mshneer, unicorn-diffs@, vighnesh, fugalh, andreib, bmatheny, tw-eng@, tanmoyc, zhuohuang, rvm4, antonl, acampi, alikhtarov, hdoshi, rsethi, panin, folly-diffs@, lins, kennyyu, hannesr, jsedgwick, dominik, yfeldblum, songhao, raghavpi, labrams, lyang, chalfant, #preselection, macsyz, nimishshah FB internal diff: D2012267 Tasks: 5676394 Signature: t1:2012267:1430334667:eaad0262b35ffbfae86df5bdb45bf057ac62c51b
-
Alex Landau authored
Summary: THeader.h went from 1.8s to 0.5s. Total build of sample project doing thrift client and server stuff went down 1.5-3% from ``` (run 1) real 5m25.059s user 130m30.853s sys 10m18.642s (run 2) real 5m29.483s user 129m12.209s sys 10m14.762s ``` to ``` (run 1) real 5m23.292s user 125m44.318s sys 10m7.103s (run 2) real 5m20.999s user 127m4.969s sys 10m10.118s ``` Test Plan: fbmake --distcc off --ccache off dbg Will also watch contbuild, since some files might be missing includes Reviewed By: haijunz@fb.com Subscribers: jmarg, anca, reachfrequency-eng@, jhunt, yanli, jgeller, chaoyc, search-fbcode-diffs@, net-systems@, zeus-diffs@, vikas, jcoens, unicorn-diffs@, ldbrandy, jteller, atlas2-eng@, everstore-dev@, leis, benj, laser-diffs@, zhguo, jying, wanghuan, jeremyfein, dbolcioni, jacekm, maxwellsayles, osmith, pallotron, fbcode-common-diffs@, davejwatson, andrewcox, marcelo, ckwalsh, mcduff, hitesh, mshneer, fugalh, alandau, bmatheny, folly-diffs@, jsedgwick, yfeldblum, haijunz, chalfant FB internal diff: D2029911 Signature: t1:2029911:1430261056:9ae688c50585a6454479f810d80b2c1c79b60e04
-
Hans Fugal authored
Summary: just a lowly non-erroring semantic merge conflict Test Plan: builds Reviewed By: jsedgwick@fb.com Subscribers: trunkagent, exa, folly-diffs@, jsedgwick, yfeldblum, chalfant FB internal diff: D2029593 Signature: t1:2029593:1430319785:2cd96927b9080fe18b168ab95ad201afc4f00857
-
Blake Matheny authored
Summary: Adds get_or_throw map helper (get a value, or throw with the specified exception type) and get_optional (get an Optional<Value>). This is a folly backport of some util helpers in experimental. Test Plan: Unit tests Reviewed By: wez@fb.com Subscribers: folly-diffs@, yfeldblum, chalfant FB internal diff: D2029802 Tasks: 4332480 Signature: t1:2029802:1430280249:3efbb2fb9394e31b3fbe6d5bd209d12ebb7ed587
-
Rushi Desai authored
Summary: This should help executing sync thrift handlers on fibers. This allows the handler methods to achieve concurrency by awaiting. Test Plan: Chimera unit tests (which also accesses running FacebookBase methods in fiber context!) Reviewed By: davejwatson@fb.com Subscribers: trunkagent, hannesr, andrii, folly-diffs@, jsedgwick, haijunz, yfeldblum, alandau, chalfant FB internal diff: D2015886 Signature: t1:2015886:1430156870:a84499e0e781f5e6e77f48f1f3063f53d0968698
-
Woo Xie authored
Summary: add a free system memory limit to Load Shed Configuration for dynamic shedding Test Plan: tested on edge241.01.ams3, works as expected. Once the free memory is less than 23G (picked on purpose for testing), new connections are shedded. But the shedding rate is totally wrong. I will explain and address it in another diff. https://fburl.com/103620501 https://fburl.com/103620701 Reviewed By: afrind@fb.com Subscribers: trunkagent, fugalh, bmatheny, nimishshah, folly-diffs@, jsedgwick, yfeldblum, chalfant, xning, alexkr FB internal diff: D2026477 Tasks: 4604893 Signature: t1:2026477:1430176828:65eadd82efa3189a1bebcb8518efaf56cd36beed
-
Hans Fugal authored
Summary: Unit is a bit special because it's just something special to use instead of `Promise<void>`, so let's offer the same sugar that `Promise<void>` has (`p.setValue()` instead of `p.setValue(Unit())`) Test Plan: New unit tests. Look, a pun! Reviewed By: jsedgwick@fb.com Subscribers: exa, folly-diffs@, jsedgwick, yfeldblum, chalfant, davejwatson, hannesr FB internal diff: D2014139 Tasks: 6847876 Signature: t1:2014139:1430159950:1484ee420c6d7f0f794a546b78ef1601c2eec45c
-
Giuseppe Ottaviano authored
Summary: Calling `folly::gen::orderBy()` without arguments causes a compilation error because the first template argument cannot be deduced. This diff fixes it. Test Plan: fbconfig -r folly && fbmake runtests Reviewed By: philipp@fb.com Subscribers: folly-diffs@, yfeldblum, chalfant FB internal diff: D2025789 Signature: t1:2025789:1430167404:02fde7287b015d9dcbf398e8dc84cde7d74b4a5b
-
Yedidya Feldblum authored
Summary: [Folly] BenchmarkSuspender::dismissing. Pass a lambda to it, and the lambda will be executed while the benchmark-suspender is dismissed. Just a bit of sugar around `BenchmarkSuspender::dismiss` and `BenchmarkSuspender::rehire`. BENCHMARK(name_void, iters) { BenchmarkSuspender braces; # benchmark timer is suspended braces.dismissing([&] { # benchmark timer is running doSomething(); }); # benchmark timer is suspended } BENCHMARK(name_value, iters) { BenchmarkSuspender braces; # benchmark timer is suspended auto value = braces.dismissing([&] { # benchmark timer is running return doSomething(); }); # benchmark timer is suspended } Test Plan: Unit tests: * `folly/test/BenchmarkTest.cpp` (actually a benchmark) Reviewed By: njormrod@fb.com Subscribers: net-systems@, folly-diffs@, yfeldblum, chalfant FB internal diff: D2024166 Signature: t1:2024166:1430163281:24df0ac98cbe36372f780372ee8f7dd3722b7868
-
James Sedgwick authored
Summary: Only allow this if the handler is only ever attached to a single pipeline once. i.e. only ever associated with one Context Test Plan: unit, thrift unit Reviewed By: davejwatson@fb.com Subscribers: fugalh, alandau, bmatheny, folly-diffs@, jsedgwick, yfeldblum, chalfant FB internal diff: D2024007 Tasks: 6836580 Signature: t1:2024007:1430157264:efcf70ca3531c10eec5d458c9e9d6cda60c507c3
-
James Sedgwick authored
Summary: detachPipeline always goes bottom to top attachPipeline always goes top to bottom now we can attachReadCallback in AsyncSocketHandler::attachPipeline() not sure of the implications for TAsyncTransportHandler... looks like Cpp2Channel still wants to attach/detach cb manually Test Plan: unit Reviewed By: davejwatson@fb.com Subscribers: fugalh, folly-diffs@, jsedgwick, yfeldblum, chalfant FB internal diff: D2023982 Tasks: 6836580 Signature: t1:2023982:1430157500:e09a4103550a3e5721effaa1b28ac5bed071fa67
-
- 27 Apr, 2015 9 commits
-
-
Alecs King authored
-
Nicholas Ormrod authored
Summary: (from @njormrod) This changes the READMEs to be .md, appropriate for github. I viewed the docs on github, and they looked WAY better as .md files. Signed-off-by: Nicholas Ormrod <njormrod@fb.com> Test Plan: view on github Reviewed By: markisaa@fb.com Subscribers: fugalh, folly-diffs@, jsedgwick, yfeldblum, chalfant FB internal diff: D1999531 Tasks: 6783581 Signature: t1:1999531:1429220432:68c6d8dc70806d993c83cacce6369cb7e6e964c8
-
James Sedgwick authored
Summary: A few things: - Eliminate HandlerPtr by managing all handlers with shared_ptrs instead of keeping them inline in the pipeline - Kill recursively templated ChannelPipeline accordingly - Introduce StaticPipeline to retain the flexibility of zero-alloc pipelines - Introduce notion of an "owning handler" to avoid destruction order issues Test Plan: unit (will add more), thrift unit Reviewed By: davejwatson@fb.com Subscribers: fugalh, alandau, bmatheny, folly-diffs@, jsedgwick, yfeldblum, chalfant FB internal diff: D2023976 Tasks: 6836580 Signature: t1:2023976:1430159578:e50e8a149e549a40670d093fb65987a4843cdd8d
-
Hans Fugal authored
Summary: Move boring preamble stuff to `Future-pre.h` and `folly::futures` and `makeFuture` and pals to `helpers.h`. Test Plan: tests still build and pass Reviewed By: jsedgwick@fb.com Subscribers: exa, folly-diffs@, jsedgwick, yfeldblum, chalfant, hannesr, davejwatson FB internal diff: D2014330 Signature: t1:2014330:1429941589:1e2c336136f3375f9b96e5df8c06ca5820ba6aeb
-
James Sedgwick authored
Summary: as above. Only got a little messy when components within folly::wangle typedefed things to Pipeline Test Plan: unit tests Reviewed By: davejwatson@fb.com Subscribers: wormhole-diffs@, fugalh, alandau, bmatheny, folly-diffs@, jsedgwick, yfeldblum, chalfant FB internal diff: D2022181 Tasks: 6836580 Signature: t1:2022181:1430157032:df0bdfb9ca0d76b86d52c55c4ad41ea953a18cb4
-
Andre Pinto authored
Summary: Fixing oss build Test Plan: Visual analysis. Reviewed By: pavlo@fb.com Subscribers: folly-diffs@, yfeldblum, chalfant FB internal diff: D2023889 Signature: t1:2023889:1430144784:e58fe9e1f1193d71527ba5f5f2c2efb60bce7a2d Blame Revision: D2022859
-
Hans Fugal authored
Summary: title Test Plan: tests Reviewed By: hannesr@fb.com Subscribers: exa, folly-diffs@, jsedgwick, yfeldblum, chalfant FB internal diff: D2022859 Signature: t1:2022859:1429920863:0d3afce9779a790baf246de97f98812e23e1574d
-
Yedidya Feldblum authored
Summary: [Folly] IPAddressV6::kToFullyQualifiedSize. The scenario: One has a string known to be a fully-qualified IPv4 or fully-qualified IPv6 address, but one does not know which of the two it is. The dirty but fast solution: just check its size. Test Plan: Build. Unit tests. Reviewed By: mshneer@fb.com Subscribers: folly-diffs@, dougw, yfeldblum, chalfant, brettp FB internal diff: D2016634 Signature: t1:2016634:1429831808:08ecb28eab3060988f9613748ed8dabf3724bf13
-
James Sedgwick authored
Summary: Similar to Promise::fulfil -> setWith change, this name is a lot clearer Test Plan: tests Reviewed By: hans@fb.com Subscribers: netego-diffs@, fugalh, mwa, jgehring, fuegen, folly-diffs@, tingy, jsedgwick, yfeldblum, chalfant FB internal diff: D2013124 Tasks: 6837405 Signature: t1:2013124:1429735106:e8861925dfeb6d7f0662c1057cbcf2ad8dcf008c
-