- 27 Apr, 2015 40 commits
-
-
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
-
Dave Watson authored
Summary: Change ThreadManager interface to more generic Executor interface. Specific example of supporting fibers. This diff would replace D1967655 Test Plan: added several unittests Reviewed By: alandau@fb.com Subscribers: doug, alandau, bmatheny, mshneer, folly-diffs@, jsedgwick, yfeldblum, chalfant, alikhtarov, andrii, yitingli FB internal diff: D1994663 Signature: t1:1994663:1429640509:d729ce6f020563b680d1d549f9aa273c739eb925
-
Hans Fugal authored
Summary: We don't need to check for void after all, and with perfect forwarding we don't need separate const& and && versions. Test Plan: tests still pass Reviewed By: jsedgwick@fb.com Subscribers: exa, folly-diffs@, jsedgwick, yfeldblum, chalfant FB internal diff: D2014264 Tasks: 6847876 Signature: t1:2014264:1429735036:01ac166399ef8d0f2f34adb51e965809022c2b64
-
James Sedgwick authored
Summary: This covers the ubiquitous case. If the approach is approved (the task mentioned changing impl to use 'auto for' so this is a bit different) i'll codemod callsites Test Plan: unit Reviewed By: hans@fb.com Subscribers: trunkagent, folly-diffs@, jsedgwick, yfeldblum, chalfant FB internal diff: D2013573 Tasks: 6779710 Signature: t1:2013573:1429735631:cfa0d3f6672a8966afc0ea18308307e2153793ce
-
Jun Li authored
Summary: MIN_WRITE_SIZE is used to avoid small write calls to SSL_write. If there are consecutive small buffers to write, then will be combined together(by being copied to a local buffer) until total size exceeds MIN_WRITE_SIZE. This reduces number of calls SSL_write, improving performance, and avoiding overhead in OpenSSL. Currently, MIN_WRITE_SIZE is hard coded to be 1500 bytes. Wormhole could benefit from this, as our average message size is several hundreds of bytes. We could get even better throughput with larger MIN_WRITE_SIZE. As discussed with Adam and Alan, there is a good reason to make it configurable, though default value is still 1500. Test Plan: unit tests Reviewed By: simpkins@fb.com Subscribers: net-systems@, ssl-diffs@, folly-diffs@, yfeldblum, chalfant, thomasf FB internal diff: D1996570 Tasks: 6784543 Signature: t1:1996570:1429667035:a661ef30a715dafec3e134a7f6af6f56ada2e8e0
-
Naizhi Li authored
Summary: Today it's hard to create SocketAddress from IPAddress without converting to strings and back. This change adds this capability. Test Plan: build Reviewed By: yfeldblum@fb.com Subscribers: ps, bmatheny, folly-diffs@, yfeldblum, chalfant FB internal diff: D2011879 Signature: t1:2011879:1429733811:c05fc2d5ef5e9fdbbbb54ad26b4d1e3c0ad06dfa
-
Dave Watson authored
Summary: make future::wait() use fiber's baton, so wait works in threads or in fibers. Much cleaner than making a new FiberRequest type in thrift Test Plan: tests Reviewed By: andrii@fb.com Subscribers: doug, alandau, bmatheny, mshneer, andrii, folly-diffs@, yitingli, yfeldblum, jsedgwick, chalfant FB internal diff: D1996283 Signature: t1:1996283:1429144165:da5dc6b1f2a053a45efd39877e79169e3fba810c
-
James Sedgwick authored
Summary: title Test Plan: tests Reviewed By: hans@fb.com Subscribers: laser-diffs@, trunkagent, mhl, rhe, fbcode-common-diffs@, chaoyc, search-fbcode-diffs@, hero-diffs@, zeus-diffs@, vikas, cold-storage-diffs@, rtgw-diffs@, unicorn-diffs@, targeting-diff-backend@, netego-diffs@, apollo-diffs@, everstore-dev@, zhuohuang, zhguo, jying, darshan, apodsiadlo, alikhtarov, folly-diffs@, wch, lins, tingy, jsedgwick, thom, yfeldblum, petchean, iaroslav, qhuang, gus, san, tomasz, pknowles, lyang, chalfant, paggarw, stevenkim FB internal diff: D2003300 Tasks: 6025255 Signature: t1:2003300:1429659170:e18999cba45e8aa9019aa94f1f29732076a274ad
-
James Sedgwick authored
Summary: as above. it never ends. Test Plan: added unit Reviewed By: hans@fb.com Subscribers: folly-diffs@, jsedgwick, yfeldblum, chalfant FB internal diff: D2011569 Signature: t1:2011569:1429660210:930cb17682d5c86a11881a23efe0a91f4c6a36b1
-
Hans Fugal authored
Summary: Pass an Executor to `then`, which applies only for that callback. This is on the one hand just a convenience method, but it's a major convenience when it's needed, because grabbing, storing, and restoring the old Executor in the middle of a chain is very inconvenient indeed. Test Plan: new unit docblock comments Reviewed By: jsedgwick@fb.com Subscribers: folly-diffs@, davejwatson, chalfant, yfeldblum, nkgupta, jsedgwick, exa, robbert FB internal diff: D2011542 Tasks: 6771589, 6838553 Signature: t1:2011542:1429660204:f5959b1e0b3b36dfb8c3c7091302d19101dde93b
-
James Sedgwick authored
Summary: this was a fun one. Add a specialized implementation that builds up the results in a map with their indices and aggregates them into a vector at the end Test Plan: unit tests Reviewed By: hans@fb.com Subscribers: folly-diffs@, jsedgwick, yfeldblum, chalfant FB internal diff: D2002444 Signature: t1:2002444:1429642589:ee5aa5e8c461db97a28642b9887b3158df317813
-
James Sedgwick authored
Summary: simple sugary syrup, best used in conjunction with collect/whenAll Test Plan: unit Reviewed By: hans@fb.com Subscribers: trunkagent, folly-diffs@, jsedgwick, yfeldblum, chalfant, cgthayer FB internal diff: D1999047 Tasks: 6045623 Signature: t1:1999047:1429570631:62361bb43dc5489fe3d4eb31af404faf8a765402
-
Hans Fugal authored
Summary: Rather than crashing spectacularly, if `Executor::add` throws (e.g. because the queue is full), then discard the result we got and assume the exception the executor threw instead. Alternatively, we could pass this exceptional Try to the callback (without an executor, as it is here), but not perturb `result_`. This would mean two different world views in these two code snippets: auto f1 = makeFuture(42).via(&crappyExecutor); f1.value(); // 42 (no callback happened) f1.then(...); // would see the executor's exception. Would also be ill-advised to do this after value() auto f2 = makeFuture(42).via(&crappyExecutor) .then([](int x) { return x * 2; }); // skipped f2.value(); // throws executor's exception It feels rude to throw away the result, but it feels too potentially dangerous to allow this split view of the world. Test Plan: modified unit Reviewed By: jsedgwick@fb.com Subscribers: exa, folly-diffs@, jsedgwick, yfeldblum, chalfant FB internal diff: D2007729 Tasks: 5306911 Signature: t1:2007729:1429627114:b627ce758ce9231298f1b28e203ccc1ee415ed9a
-
James Sedgwick authored
Summary: This reverts commit bb08e2405dc68e6dab1f0066b15faa2821ad3dc7. Test Plan: revert-hammer Reviewed By: hans@fb.com Subscribers: mathieubaudet, folly-diffs@, jsedgwick, yfeldblum, chalfant FB internal diff: D2006283 Signature: t1:2006283:1429556243:41e6b3189ce2da5a0f1a32a663ff8761628ca574
-
Dave Watson authored
Summary: Moar unittests. Test Plan: unittests Reviewed By: hans@fb.com Subscribers: doug, fugalh, folly-diffs@, jsedgwick, yfeldblum, chalfant FB internal diff: D1959161 Signature: t1:1959161:1429292487:b7d10be35c2cf1d0bc1b399f4f523392a138a217
-
Nicholas Ormrod authored
Summary: This reverts commit 95a80fd4cb5a4b31b41b34fd24d591e0fc1b0650. Test Plan: n/a Reviewed By: andrewjcg@fb.com Subscribers: trunkagent, folly-diffs@, yfeldblum, chalfant FB internal diff: D2004342 Tasks: 6804947 Signature: t1:2004342:1429332777:4dd1c45e22ee4da69e5e84d3c5f67bada263f307 Blame Revision: D2002345
-
Nicholas Ormrod authored
Summary: This reverts commit 42add531d4bdb1f95c40e41981f908a1b70865fb. Test Plan: n/a Reviewed By: andrewjcg@fb.com Subscribers: folly-diffs@, yfeldblum, chalfant FB internal diff: D2002345 Tasks: 6804947 Signature: t1:2002345:1429296810:7db71fe4748d5c71f0f0486751ee426c2cdff653
-
Hans Fugal authored
Summary: Pass an Executor to `then`, which applies only for that callback. This is on the one hand just a convenience method, but it's a major convenience when it's needed, because grabbing, storing, and restoring the old Executor in the middle of a chain is very inconvenient indeed. Test Plan: new unit Reviewed By: jsedgwick@fb.com Subscribers: robbert, exa, folly-diffs@, jsedgwick, nkgupta, yfeldblum, chalfant, davejwatson FB internal diff: D1985475 Signature: t1:1985475:1429148056:0450120263ba8110e8825420cbefe3b1887f7306
-
James Sedgwick authored
Summary: as above Test Plan: compile Reviewed By: agoder@fb.com Subscribers: folly-diffs@, jsedgwick, yfeldblum, chalfant FB internal diff: D1999218 Signature: t1:1999218:1429217794:0278955bb471fe73a14ccedb59eae80b98acdbf3
-
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
-
Nicholas Ormrod authored
Summary: This broke the HHVM (on ubuntu at least) Test Plan: compiled it Signed-off-by: Nicholas Ormrod <njormrod@fb.com> Reviewed By: andrei.alexandrescu@fb.com Subscribers: folly-diffs@, yfeldblum, chalfant FB internal diff: D1999341 Tasks: 6783581 Signature: t1:1999341:1429219016:235beef7522c4ada020eedf4f0a2ae200e94b7c8
-
Nicholas Ormrod authored
Summary: Adds x64 arch-specific test inside the if HAVE_X86_64 Signed-off-by: Nicholas Ormrod <njormrod@fb.com> Test Plan: tests Reviewed By: markisaa@fb.com Subscribers: folly-diffs@, yfeldblum, chalfant FB internal diff: D1999428 Tasks: 6783581 Signature: t1:1999428:1429220350:4287342a5a99823c9e4ffe20d0e47039f9fdbc0b
-
Nicholas Ormrod authored
Summary: Signed-off-by: Nicholas Ormrod <njormrod@fb.com> Test Plan: Comments only Reviewed By: markisaa@fb.com, yfeldblum@fb.com Subscribers: fugalh, folly-diffs@, jsedgwick, yfeldblum, chalfant FB internal diff: D1999373 Tasks: 6783581 Signature: t1:1999373:1429219027:225446bb418f3f8d65fb195682e4e7fe315ed41a
-
Marcelo Juchem authored
Summary: Deprecating folly::is_complete. Replacement is fatal::is_complete. Test Plan: unit tests Reviewed By: njormrod@fb.com Subscribers: njormrod, folly-diffs@, yfeldblum, chalfant FB internal diff: D1979124 Tasks: 6697454, 6697600 Signature: t1:1979124:1429153237:dc5736ed0f546dd4dd57bda9176e3c3c13b1235d
-
Nicholas Ormrod authored
Summary: This is folly github pull request https://github.com/facebook/folly/pull/184 It seems we might avoid some temporaries in putMessagesImpl function. To do so we pass arguments directly to constructors with the help of emplace_back member. Test Plan: All folly/tests, make check for 37 tests, passed. Signed-off-by: Nicholas Ormrod <njormrod@fb.com> Reviewed By: davejwatson@fb.com Subscribers: folly-diffs@, yfeldblum, chalfant FB internal diff: D1998515 Tasks: 6783581 Signature: t1:1998515:1429207683:056db129405bed212f50a50821f095c8d3694ec8
-
James Sedgwick authored
Summary: ^ Test Plan: compiles Reviewed By: hans@fb.com Subscribers: folly-diffs@, jsedgwick, yfeldblum, chalfant FB internal diff: D1998822 Signature: t1:1998822:1429211074:3ff9b0827a8ce029efa06a4a78ecea2b07eae3a8
-
Dave Watson authored
Summary: Should also work if eventbase isn't looping Test Plan: added new unittest Reviewed By: hans@fb.com Subscribers: doug, folly-diffs@, yfeldblum, chalfant FB internal diff: D1984259 Signature: t1:1984259:1428691788:edb89424a48b8071a776d828300b7c1094f1c48f
-
James Sedgwick authored
Summary: title Test Plan: unit Reviewed By: hans@fb.com Subscribers: fbcode-common-diffs@, targeting-diff-backend@, zhuohuang, thom, folly-diffs@, jsedgwick, yfeldblum, chalfant FB internal diff: D1992144 Tasks: 6025255 Signature: t1:1992144:1429120337:7678f790dd0f383295c036e6627bdf417ae43fc7
-
James Sedgwick authored
Summary: title Test Plan: tests Reviewed By: hans@fb.com Subscribers: cgist, cold-storage-diffs@, fugalh, atlas2-eng@, zhuohuang, folly-diffs@, jsedgwick, yfeldblum, chalfant, andrii FB internal diff: D1994472 Tasks: 6768508 Signature: t1:1994472:1429117362:218c4fac3c88fcc8d37dc22ff8fe4135a73ec5d5
-
Andre Pinto authored
Summary: Add option to setup fibers' instrumentation. Test Plan: Unit tests Reviewed By: andrii@fb.com Subscribers: folly-diffs@, yfeldblum, chalfant FB internal diff: D1991638 Tasks: 6347990 Signature: t1:1991638:1429144487:3c3586b9943b4cc6bbef0297e48b8bffaf586f0d
-
Andrii Grynenko authored
Summary: We can access LocalData while currentFiber is set. We should make sure it's set to null when LocalData::reset is called. Test Plan: unit test Reviewed By: alikhtarov@fb.com Subscribers: folly-diffs@, yfeldblum, chalfant, bwatling FB internal diff: D1996071 Tasks: 6725667 Signature: t1:1996071:1429135408:d549d577e140ce2867aff4130e73be3884dbd2ed
-
James Sedgwick authored
Summary: title Test Plan: unit Reviewed By: hans@fb.com Subscribers: folly-diffs@, jsedgwick, yfeldblum, chalfant, hannesr, vloh FB internal diff: D1984864 Tasks: 6045789 Signature: t1:1984864:1429116418:b4a9cdbb88f605a09b5753eea41dd970c96b9d4e
-
James Sedgwick authored
Summary: let's not do this to ourselves :) Test Plan: unit Reviewed By: yfeldblum@fb.com Subscribers: folly-diffs@, jsedgwick, yfeldblum, chalfant FB internal diff: D1993491 Signature: t1:1993491:1429063112:b8664b365ad12fa4b51e9bd7fde9e4d197dbc648
-
Brian Watling authored
Summary: Previously we'd call ensureLoopScheduled() but it'd be a no-op since the loop was already scheduled. Delaying the call to ensureLoopScheduled() fixes the issue Test Plan: unit tests (FiberManager.yieldTest fails without the changes to FiberManager-inl.h) Reviewed By: andrii@fb.com Subscribers: folly-diffs@, yfeldblum, chalfant FB internal diff: D1993686 Signature: t1:1993686:1429070253:af933abbbbb33868a402f1d643e4e6f5fef1be83
-