1. 20 May, 2015 1 commit
    • Woo Xie's avatar
      close idle HTTPDownstreamSessions before load shedding · 6d88461a
      Woo Xie authored
      Summary:
      when any system resource limit is reached, proxygen reduces the number of idle downstream sessions to accomodate new ones.
      
      Test Plan:
      canarying on edge241.01.ams3.  Here is the number of idle connection closed during pre load shedding stage.
      
      https://www.facebook.com/pxlcld/ml7J
      
      Reviewed By: afrind@fb.com
      
      Subscribers: alandau, noamler, fugalh, bmatheny, folly-diffs@, jsedgwick, yfeldblum, chalfant, xning, alexkr
      
      FB internal diff: D2030988
      
      Tasks: 5698711
      
      Signature: t1:2030988:1431369559:ce7328d51c7fd0afa7e9e5c19b0c66736d01fee1
      6d88461a
  2. 12 May, 2015 37 commits
    • Praveen Kumar Ramakrishnan's avatar
      Bump version to 38:0 · c923afa9
      Praveen Kumar Ramakrishnan authored
      c923afa9
    • Stepan Palamarchuk's avatar
      Increase fibers stack size if we're running with ASAN · 8232c2cd
      Stepan Palamarchuk authored
      Summary:
      In most cases user is not aware of ASAN and fiber stack problem, thus if the stackSize is specified we're not detecting ASAN and probably will crash.
      And thus it doesn't seem like a good idea to make it a user responsibility to detect ASAN.
      
      Test Plan: tests
      
      Reviewed By: andrii@fb.com
      
      Subscribers: alikhtarov, folly-diffs@, yfeldblum, chalfant
      
      FB internal diff: D2058741
      
      Tasks: 7016680
      
      Signature: t1:2058741:1431131082:9a41eb40d756c9c7af0632f7ecd55c17d10bb189
      8232c2cd
    • Hannes Roth's avatar
      (Wangle) Implement collect* using mapSetCallback and shared_ptrs · 4a92da5b
      Hannes Roth authored
      Summary:
      I figured it would make sense to implement all the collect* functions using a shared_ptr<Context>, instead of doing our manual reference counting and all that. Fulfilling the promise in the destructor seemed like the icing on the cake. Also saves some line of code.
      
      Test Plan: Run all the tests.
      
      Reviewed By: hans@fb.com
      
      Subscribers: folly-diffs@, jsedgwick, yfeldblum, chalfant
      
      FB internal diff: D2015320
      
      Signature: t1:2015320:1431106133:ac3001b3696fc75230afe70908ed349102b02a45
      4a92da5b
    • Tom Jackson's avatar
      Add SpookyHashV2-based hash to StringPiece · 5cc2f994
      Tom Jackson authored
      Summary: Since the old one is weak and slow.
      
      Test Plan: Unit tests
      
      Reviewed By: ott@fb.com
      
      Subscribers: trunkagent, maxime, folly-diffs@, yfeldblum, chalfant
      
      FB internal diff: D2052630
      
      Tasks: 6998080
      
      Signature: t1:2052630:1431015271:bc90ccf99941902cd4bd43a0980238c616e66abf
      5cc2f994
    • Alexey Spiridonov's avatar
      Factor out pipe methods, add takeOwnershipOfPipes · 675a137d
      Alexey Spiridonov authored
      Summary:
      In order to create an EventBase'd Suprocess class, I'd like to be able to manage the lifetime of pipes independently of the lifetime of the process. To this effect, I factored out basic Pipe handling, and provided a function that detaches the pipe vector from the Subprocess object.
      
      #6996492 a push-blocking test is broken in trunk
      
      Test Plan: added a unit test, fbconfig -r folly && fbmake runtests && fbmake runtests_opt
      
      Reviewed By: dancol@fb.com
      
      Subscribers: yfeldblum, chalfant, dancol, wez, anarayanan, trunkagent, net-systems@, njormrod, folly-diffs@
      
      FB internal diff: D1699969
      
      Signature: t1:1699969:1430975299:30d291ab7fcc555edddf098b33095a5b29500e76
      675a137d
    • Alexey Spiridonov's avatar
      Destructor DCHECKs for EBADF · ec3c8f79
      Alexey Spiridonov authored
      Summary: This almost always indicates a double-close bug, or a similarly nasty logic error. I don't dare make it a check, we may have some code running in production which would be broken by the CHECK, but this should give us early warning of any such bugs.
      
      Test Plan:
      ```
      fbconfig folly/test:file_test folly/test:file_util_test
      fbmake runtests && fbmake runtests_opt
      ```
      
      This test used to pass until @tudorb made me remove it due to worries about death tests messing with (currently absent) multi-threading:
      
      ```
      +
      +void testDoubleClose() {
      +  File f("/dev/null");
      +  checkUnixError(close(f.fd()));  // This feels so... wrong!
      +  // The destructor will now try to double-close.
      +}
      +
      +TEST(File, DCHECKDoubleClose) {
      +#ifndef NDEBUG
      +  // This test makes no sense otherwise, since this is a DCHECK.
      +  EXPECT_DEATH(testDoubleClose(), "double-close-FD");
      +#else
      +  // That sound you hear is millions of lemmings falling to their doom.
      +  testDoubleClose();
      +#endif
      +}
      ```
      
      Reviewed By: tudorb@fb.com
      
      Subscribers: folly-diffs@, yfeldblum, chalfant
      
      FB internal diff: D2055610
      
      Signature: t1:2055610:1431048270:a469d5c1f8182ffb74700908faa022e9613ed383
      ec3c8f79
    • Adam Simpkins's avatar
      update FunctionScheduler to use std::chrono::steady_clock · be171a18
      Adam Simpkins authored
      Summary:
      Use std::chrono::steady_clock instead of clock_gettime(CLOCK_MONOTONIC).
      In particular this fixes the build on Mac OS X, which doesn't have
      CLOCK_MONOTONIC.
      
      This also updates the code to use steady_clock::time_point correctly, instead
      of using a raw milliseconds value for time since the epoch.
      
      Test Plan:
      Included unit tests, which were copied over from the legacy internal Facebook
      (non-folly) version of this code.
      
      Reviewed By: ldbrandy@fb.com
      
      Subscribers: jwatzman, doug, fbcode-common-diffs@, net-systems@, exa, folly-diffs@, yfeldblum, chalfant
      
      FB internal diff: D2051557
      
      Signature: t1:2051557:1431019654:ee76cfcf8318cc3d8a8d1522b3fc97f08831ecf4
      be171a18
    • Josh Watzman's avatar
      Tweak explicit std::max instantiation · e3eecdae
      Josh Watzman authored
      Summary: Per discussion on D2040509 this is better.
      
      Test Plan: Still builds.
      
      Reviewed By: yfeldblum@fb.com
      
      Subscribers: folly-diffs@, yfeldblum, chalfant
      
      FB internal diff: D2051099
      
      Signature: t1:2051099:1430949575:cc167b57f2d6ff42a73dee4e65d22d04932bb279
      
      Blame Revision: rFBCODE9bdb427be1ef80b612e4f364db7809c6351cfe1c
      e3eecdae
    • Josh Watzman's avatar
      OS X doesn't support constructor priorities · c9f8c1db
      Josh Watzman authored
      Summary:
      OS X doesn't support constructor init priorities, at all. AIUI,
      it's a limitation of their actual binary format and loader, not just a
      tooling/compiler limitation.
      
      This particular usage appears to just be for for logging/bug-finding
      purposes, so it looks like just removing the priority on OS X isn't the
      end of the world?
      
      Test Plan: g++-4.9 on OS X compiles this file now.
      
      Reviewed By: njormrod@fb.com
      
      Subscribers: ldbrandy, jdelong, folly-diffs@, yfeldblum, chalfant
      
      FB internal diff: D2040557
      
      Signature: t1:2040557:1430975025:73f817b5d19a18dca6b19ba783dbea99192cbc41
      c9f8c1db
    • Ming Zhao's avatar
      Add missing #include <gflags/gflags.h> · c5fa8a9f
      Ming Zhao authored
      Summary: Signed-off-by: Nicholas Ormrod <njormrod@fb.com>
      
      Test Plan:
      fbconfig -r folly && fbmake runtests
      
      Reviewed By: yfeldblum@fb.com
      
      Subscribers: folly-diffs@, yfeldblum, chalfant
      
      FB internal diff: D2042952
      
      Tasks: 6783581
      c5fa8a9f
    • YM CHEN's avatar
      fix namespace v2 · 56e4be21
      YM CHEN authored
      Summary: Signed-off-by: Nicholas Ormrod <njormrod@fb.com>
      
      Test Plan:
      fbconfig -r folly && fbmake runtests
      
      Reviewed By: yfeldblum@fb.com
      
      Subscribers: fugalh, folly-diffs@, jsedgwick, yfeldblum, chalfant
      
      FB internal diff: D2043151
      
      Tasks: 6783581
      56e4be21
    • Josh Watzman's avatar
      Explicitly template instantiate `std::min/max` in a couple places · 4c929bc5
      Josh Watzman authored
      Summary:
      This is for OS X; there is apparently some difference between
      its types and Linux's typical types, causing incomopatibilities between
      a `long int` and a `long long int`. These two explicit template
      instantiations fix the issue.
      
      Test Plan: g++-4.9 on OS X compiles these files now.
      
      Reviewed By: lucian@fb.com
      
      Subscribers: folly-diffs@, yfeldblum, chalfant
      
      FB internal diff: D2040509
      
      Signature: t1:2040509:1430516624:9db8146b7824c0d09bac418a10a5f54451cdd5db
      4c929bc5
    • Sergey Doroshenko's avatar
      Move FOLLY_DISABLE_ADDRESS_SANITIZER from Fiber::init()'s definition to declaration · e2e4c525
      Sergey Doroshenko authored
      Summary:
      I just had topaggr built from trunk crash with https://phabricator.fb.com/P19825084. It seems that
      placing `FOLLY_DISABLE_ADDRESS_SANITIZER` next to the function definition has no effect. Though
      what's strange, https://phabricator.fb.com/D2036280 test plan says the false-positive crashes
      stopped after that diff. Have we run the tao script on the latest revisions of that diff? Anyway,
      clang/gcc docs clearly say the attributes belong to declarations, not definitions, so let's do that.
      
      Test Plan:
      Compiled, unit tests.
      
      Reviewed By: aap@fb.com
      
      Subscribers: folly-diffs@, yfeldblum, chalfant, soren
      
      FB internal diff: D2042149
      
      Signature: t1:2042149:1430681824:aea21b9a1fcddfd5585180ba7f526c3a6ee0c8bf
      e2e4c525
    • James Sedgwick's avatar
      Telnet client · 589052a6
      James Sedgwick authored
      Summary:
      A client example to match telnet server.
      
      Required a couple additions:
      * future result when socket actually connects, similar to netty
      * clients support IOThreadPoolExecutor groups
      * a pipeline stage to make sure everything runs in the right eventbase thread.
      
      Test Plan:
      fbconfig follg/wangle/example/telnet && fbmake dbg
      telnet_server
      telnet_client
      
      Reviewed By: hans@fb.com
      
      Subscribers: doug, fugalh, folly-diffs@, jsedgwick, yfeldblum, chalfant
      
      FB internal diff: D2010289
      
      Signature: t1:2010289:1430766232:65c6f946e454000f6ea9f41b49197ddbeea5ba3f
      589052a6
    • James Sedgwick's avatar
      telnet server · adba2ec8
      James Sedgwick authored
      Summary: similar to https://github.com/netty/netty/tree/master/example/src/main/java/io/netty/example/telnet
      
      Test Plan:
      fbconfig folly/wangle/example/telnet; fbmake dbg
      _bin/folly/wangle/example/telnet_server --port=8080
      telnet localhost 8080
      
      Still a couple sharp edges:
      * No easy way to wait for ServerBootstrap termination.
      * Pipelines always have to call attachReadCallback
      * a bunch of missing methods in pipeline still, like channelActive
      
      Reviewed By: hans@fb.com
      
      Subscribers: doug, fugalh, folly-diffs@, jsedgwick, yfeldblum, chalfant
      
      FB internal diff: D1959172
      
      Signature: t1:1959172:1427993978:463f237036996451187e3ef3983cf2b4e89685ef
      adba2ec8
    • James Sedgwick's avatar
      Split HandlerContext and Pipeline into inl headers · 45e22567
      James Sedgwick authored
      Summary:
      Leave the important headers visible. Opens the door for decent inline docs.
      
      Test Plan: unit
      
      Reviewed By: hans@fb.com
      
      Subscribers: fugalh, folly-diffs@, jsedgwick, yfeldblum, chalfant
      
      FB internal diff: D2036799
      
      Signature: t1:2036799:1430749004:db5e58655c27b96826549849722fe962b9ae3985
      45e22567
    • James Sedgwick's avatar
      explicit instantiation of common Future types · 8e154453
      James Sedgwick authored
      Summary:
      Compiling folly/futures:futures-test, this saves 15% (dbg) and 7% (opt)
      Compiling all of folly/futures, it's 7% ish for each
      
      Main blocker right now is that this generates a spew of deprecated warnings from calls to core_->(de)activate() from Future::(de)activate(). Can the deprecations be moved up to the Future methods instead?
      
      Also had to fix willEqual for Future<void> which was borked
      
      Test Plan: compiles
      
      Reviewed By: hans@fb.com
      
      Subscribers: trunkagent, folly-diffs@, jsedgwick, yfeldblum, chalfant
      
      FB internal diff: D2021028
      
      Signature: t1:2021028:1430749114:1dd78af47ea91aa5e67929a5884b66ca0c8ae2d8
      8e154453
    • Nicholas Ormrod's avatar
      Updated string.h · 02bb2c34
      Nicholas Ormrod authored
      Summary:
      @markisaa, @ldbrandy: stdarg.h is for ellipses arguments, ##...##, which this file does contain.
      The pull request indicates that this header is required for windows. Given that adding it doesn't hurt, and should be there anyways, I'd say go on this pull request.
      
      Fixed a fatal error when compiling folly for HHVM
      Signed-off-by: default avatarNicholas Ormrod <njormrod@fb.com>
      
      Test Plan: contbuild
      
      Reviewed By: markisaa@fb.com
      
      Subscribers: folly-diffs@, yfeldblum, chalfant, ldbrandy, markisaa
      
      FB internal diff: D1999557
      
      Tasks: 6783581
      
      Signature: t1:1999557:1429220813:0580882b8a55d86f51cdd602d2d152920d368b75
      02bb2c34
    • Andre Pinto's avatar
      Disable ASAN for Fiber::init() · 5cf35278
      Andre Pinto authored
      Summary:
      Fiber::init() method modifies all the bytes in the fiber's stack in
      order to produce a high watermark of stack memory usage. This behavior
      generates ASAN errors, as it modifies stack red zones. For that reason,
      ASAN is disabled for that particular method.
      
      Test Plan:
      Unit tests
      
      Reviewed By: alikhtarov@fb.com
      
      Subscribers: folly-diffs@, yfeldblum, chalfant
      
      FB internal diff: D2036280
      
      Tasks: 6861962
      
      Signature: t1:2036280:1430439550:e156e0e06fae3615d9d9204e99acaf3072bbfafd
      5cf35278
    • Hannes Roth's avatar
      (Wangle) Fix Executor problem · e4e2520a
      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
      e4e2520a
    • Sean Cannella's avatar
      Lazily initialize AsyncSSLSocket EorBioMethod · e9089c4a
      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
      e9089c4a
    • Hannes Roth's avatar
      (Wangle) Chaining reduce · 9a797d91
      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
      9a797d91
    • Hannes Roth's avatar
      (Wangle) Simplify reduce, use the same implementation for func returning T/Future<T> · a9c6c80d
      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
      a9c6c80d
    • Tudor Bosman's avatar
      IOBuf::reserve would return less tailroom than requested under certain circumstances · fe381c8b
      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
      fe381c8b
    • Vladislav Isenbaev's avatar
      Fix race condition in collect(..) · e6029638
      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
      e6029638
    • Hans Fugal's avatar
      Unit::Lift<T> · 0b46bcd5
      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
      0b46bcd5
    • Hans Fugal's avatar
      Do not construct a Future<T> from a Future<Something> value · 5b531cbb
      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
      5b531cbb
    • Marcelo Juchem's avatar
      Convenience functions to wrap a lambda as an AsyncTimeout. · e4c703f0
      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
      e4c703f0
    • James Sedgwick's avatar
      fix return type for map · 7f413ec3
      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
      7f413ec3
    • Hans Fugal's avatar
      Move a little test · 026ec6b1
      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
      026ec6b1
    • Hans Fugal's avatar
      Future<Unit>::Future() · db2eae0e
      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
      db2eae0e
    • Chao Yang's avatar
      Tag dispatch for enqueue/dequeue implementation · 5623085a
      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
      5623085a
    • James Sedgwick's avatar
      unidirectional pipelines · c7138e7c
      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
      c7138e7c
    • James Sedgwick's avatar
      use inbound/outbound handlers in a few more places · fdd8e84b
      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
      fdd8e84b
    • James Sedgwick's avatar
      inbound/outbound handlers · 555213ca
      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
      555213ca
    • James Sedgwick's avatar
      moar CRTP to minimize copypasta for inbound/outbound handlers · dded9096
      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
      dded9096
    • Nicholas Ormrod's avatar
      struct/class consistency · b44cacfd
      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
      b44cacfd
  3. 29 Apr, 2015 2 commits
    • Andrii Grynenko's avatar
      Bump version to 37:0 · 31928396
      Andrii Grynenko authored
      31928396
    • Dave Watson's avatar
      fix unittest break · de6b9a78
      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
      de6b9a78