- 12 May, 2015 14 commits
-
-
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 13 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
-