- 29 Apr, 2015 9 commits
-
-
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 31 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
-
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
-