)]}'
{
  "log": [
    {
      "commit": "9b90344445d0a753e8a4a8a926c67d6a6c051c5e",
      "tree": "0592ac49bbbee220c31b3bd9a952d8f13e44ccc2",
      "parents": [
        "72fd472476a68dc55ca8cbfb05452d6c69fb0d19"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 21 05:51:28 2009 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 21 05:51:28 2009 +0000"
      },
      "message": "THRIFT-606. cpp: Fix build on Solaris Nevada\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@827890 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "3e7fca421efe0c76bc493a4058d3667c540bcca4",
      "tree": "44809cd68dc6383bfaa37f95a793f1665169274e",
      "parents": [
        "0e8e6099e215f3a6adcb6e5c75e9dc8ad53a7a21"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Sat Sep 19 01:59:13 2009 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Sat Sep 19 01:59:13 2009 +0000"
      },
      "message": "THRIFT-587. cpp: Properly set addrLen before accept calls\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@816850 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "ffff2b35763e47667c63df903fe6e59b5ada4d22",
      "tree": "88a954b0aab4f3d4cce5b9ed8d376ad9d3bc95e4",
      "parents": [
        "af81de0123c8d9920a25a27d28da66f9d00748cc"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Sep 01 18:03:07 2009 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Sep 01 18:03:07 2009 +0000"
      },
      "message": "THRIFT-214. cpp: Qualify another cast\n\nr722337 only fixed one occurrence of this issue.\nNot sure why this one hasn\u0027t been a problem before,\nbut it is breaking compilation on Mac OS 10.6.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@810150 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "3029786ce1dda4bb625e72ebb5202c0b89e233a2",
      "tree": "c7f97b24b8f009c3ebd6395e816b706e1a4df1c5",
      "parents": [
        "3efce2336983ae9cb91e70d73827fa377ca3a3a7"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Aug 05 16:42:59 2009 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Aug 05 16:42:59 2009 +0000"
      },
      "message": "THRIFT-555. cpp: Fix macro defintions for TCompact on non-GNU big endian\n\nWe were defining ntolell and letonll, but we were only using\nhtolell and letohll.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@801293 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "52687eb3b9aa8982cab5e11fae2ae879c6bc1b69",
      "tree": "7b19bd2e1e4a3eadbc379f9a0d4b4b79b1997123",
      "parents": [
        "9fcacc8ff6e856bd55929763b5026181413806f1"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Jun 04 00:32:57 2009 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Jun 04 00:32:57 2009 +0000"
      },
      "message": "THRIFT-469. cpp: Fix a bug in TimerManager::add\n\nThe old code didn\u0027t notify waiters when the inserted task\u0027s timeout\nwas less than the current timeout because it didn\u0027t check the task map\nto find the lowest timeout until after the new task was inserted.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@781630 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "9fcacc8ff6e856bd55929763b5026181413806f1",
      "tree": "944af206140c734bdeac2b3107bd075268053c2e",
      "parents": [
        "8584b6ffe799c19e0b843be4ded394934112c01b"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Jun 04 00:32:54 2009 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Jun 04 00:32:54 2009 +0000"
      },
      "message": "THRIFT-466. cpp: Make the concurrency library test more thorough\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@781629 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "8584b6ffe799c19e0b843be4ded394934112c01b",
      "tree": "b80817e55c47b43b690bb4c3f84ad7341da2036e",
      "parents": [
        "5fa20da4a5a21a90cdf4ee7000c56d254d77f066"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Jun 04 00:32:50 2009 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Jun 04 00:32:50 2009 +0000"
      },
      "message": "THRIFT-465. cpp: Fix some STL misuse in the concurrency library test\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@781628 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "5fa20da4a5a21a90cdf4ee7000c56d254d77f066",
      "tree": "fa352ec8f342ce4d8004ed59efae99bee4b63d9e",
      "parents": [
        "840e75205bf4c7da635bd40dd10867073ca1d51e"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Jun 04 00:32:47 2009 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Jun 04 00:32:47 2009 +0000"
      },
      "message": "THRIFT-464. cpp: Fix some STL misuse in the concurrency library\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@781627 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "840e75205bf4c7da635bd40dd10867073ca1d51e",
      "tree": "119644b07390d4a0cb84fac61327d90e2805a0be",
      "parents": [
        "2fb877a794ce3df3eb488926f991e210f419ebf6"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Jun 04 00:10:50 2009 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Jun 04 00:10:50 2009 +0000"
      },
      "message": "THRIFT-497. cpp: Fix TSocket::read and peek on Max OS\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@781626 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "08d2f11cbec8147e8fb13c06a1b1a91317a8272d",
      "tree": "c7d91b6f914002c8bdfb73098d89b59c76018f12",
      "parents": [
        "e5eef13e6f509ad60cd2076d37f9ddfe54df7785"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu May 21 02:28:36 2009 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu May 21 02:28:36 2009 +0000"
      },
      "message": "cpp: Fix compilation on OpenBSD by including sys/types.h\n\nsocket(2) says that this might be required on some Unixes.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@776931 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "5105b2e79d21204d13f2351dc6b973061e66b215",
      "tree": "7f1127a8f5198bf94b13fbb05b084c4f79e96136",
      "parents": [
        "2ff956c605561d70a3e9a2748ab44b259234eb7f"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu May 21 02:28:27 2009 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu May 21 02:28:27 2009 +0000"
      },
      "message": "cpp: Add some missing includes to fix OpenBSD compilation\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@776929 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "2ff956c605561d70a3e9a2748ab44b259234eb7f",
      "tree": "38ea1a953d188a5867a3ec3c32f0e2fcb54fe51e",
      "parents": [
        "e4ca1795ead89b5ae79557775163bee6b505ffcc"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu May 21 02:28:23 2009 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu May 21 02:28:23 2009 +0000"
      },
      "message": "cpp: Fix an OpenBSD compilation bug by moving a typedef\n\nThe typedef was aliasing a private type, which is apparently illegal.\nMoving it into the class definition fixed it.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@776928 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "e4ca1795ead89b5ae79557775163bee6b505ffcc",
      "tree": "1fa753acfce9e02b101bfa15dc9aa78be2f981e0",
      "parents": [
        "85a8f7b4c22344da3f8e4d259b2cdf591e31d048"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu May 21 02:28:19 2009 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu May 21 02:28:19 2009 +0000"
      },
      "message": "cpp: Deal with systems without sched_get_priority_{min,max} (OpenBSD)\n\nAlso make a few tweaks to configure.ac:\n- Check for clock_gettime in librt since it seems to be more\n  widely available.\n- Make it clear which AC_CHECK_FUNCS are optional.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@776927 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "d28ce1035b6880f73a39e993280c7358e114d88f",
      "tree": "949f4ada54eb54838b07858c065d1713b53875e6",
      "parents": [
        "32194ab4425c5db1a6406427df0251ebd96186d6"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu May 21 02:28:14 2009 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu May 21 02:28:14 2009 +0000"
      },
      "message": "cpp: Fix an OpenBSD compilation error that appears to be a real bug\n\nThe (Linux) man page for ctime_r states pretty clearly that\nthe buffer it uses must have space for at least 26 characters.\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@776925 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "be378f232b3b4ea5007a6665d3815a63a10ece65",
      "tree": "0afcc2e213147f41ebaa051caa090c7cb33e02ca",
      "parents": [
        "8db8980fa106d585bad706e503f7d9baa89cf7cb"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu May 07 00:41:18 2009 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu May 07 00:41:18 2009 +0000"
      },
      "message": "THRIFT-490. Clarify the comment for the Guard macro\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@772478 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "141eab41474c18dd5509446a71f63b62d4b4035c",
      "tree": "0d64ad1f2c765126e591f14bdaf2f233ad137336",
      "parents": [
        "260fa93aaa50e8e6431de682f2d172515a4c8d58"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Fri Apr 03 15:05:28 2009 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Fri Apr 03 15:05:28 2009 +0000"
      },
      "message": "THRIFT-425. cpp: numeric_limits is declared in \u003climits\u003e\n\nTCompactProtocol.cpp doesn\u0027t compile without including limits.\n\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@761705 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "260fa93aaa50e8e6431de682f2d172515a4c8d58",
      "tree": "ddc7944090948f79d1f4bb3c7ac0d72f31f9194a",
      "parents": [
        "d0251dd85281c018f7667083436b5d6aa204c814"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Apr 02 23:51:39 2009 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Apr 02 23:51:39 2009 +0000"
      },
      "message": "THRIFT-411. cpp: Make TNonblockingServer::connectionStackLimit_ accessors use the right type\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@761481 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "7247b8cfd63147287f613f4af56339db89d879b7",
      "tree": "3d6aa173faf51c3ef6ee4ba1c304a272d04085e2",
      "parents": [
        "e4d4ea0e834ed4d022bb38e53daae4985c04ee04"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Apr 02 23:05:40 2009 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Apr 02 23:05:40 2009 +0000"
      },
      "message": "cpp: Fix compiler and library compilation with newer glibc\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@761464 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "e4d4ea0e834ed4d022bb38e53daae4985c04ee04",
      "tree": "1fc0cfa600e97f81bbb995a98ed5a4340cdca6b1",
      "parents": [
        "a7d63f5f7013ab90999d715b1f9c311296fa2d19"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Apr 02 21:37:17 2009 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Apr 02 21:37:17 2009 +0000"
      },
      "message": "THRIFT-333. cpp: Initial TCompactProtocol implementation\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@761438 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "deda141392d0b242e1fce0c0682ceedb45642a18",
      "tree": "b3341930bc7cc0965fa6d725f728774fae8c361c",
      "parents": [
        "b5714ef91ec7210c65e07c8d635c224795f22919"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Apr 02 19:22:31 2009 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Apr 02 19:22:31 2009 +0000"
      },
      "message": "THRIFT-388. Create a \"ONEWAY\" message type that is an alias for \"CALL\"\n\nPave the way for a new message type for oneway function calls.\nFor now, just define the constant in all languages and make\nserver implementations treat it the same way as a normal call.\nOnly C++ and Erlang currently check the message type (on the\nserver side).\n\nThere is a little bit of redundancy in the Erlang code, but\nthe alternative is a bit gross, and this split-up will be\nnecessary eventually when we start handling one-way calls\ndifferently.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@761389 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "ea2cba8ba8484a8d4e669c02dd97b3b2445ef322",
      "tree": "6be4a3bf2d069a006c9a15f5ee47a1893a176f4d",
      "parents": [
        "4bc4231040186d9e0c35ff4d8211ce7b7e43aab5"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Mar 30 21:35:00 2009 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Mar 30 21:35:00 2009 +0000"
      },
      "message": "THRIFT-387. Add license headers to a bunch of files\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@760189 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "abb56a4a0dbeaedf0e71cf206db8e7e16932ab6b",
      "tree": "cd110d0baff80afea51007897b170a272cd3d941",
      "parents": [
        "2aa289072b0ca427b2afc79793310c910596a8b5"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 26 06:23:57 2009 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Mar 26 06:23:57 2009 +0000"
      },
      "message": "THRIFT-255. cpp: Add TSimpleFileTransport, a wrapper around TFDTransport\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@758533 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "c51986f43897a64531935653cb4a2462f6cd7e11",
      "tree": "da8728080bf9265c2aa6eb8d72877b384ea94c80",
      "parents": [
        "473292500dc553e537aad0544f9fbb31d0fbf3d0"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Mar 24 20:01:25 2009 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Mar 24 20:01:25 2009 +0000"
      },
      "message": "THRIFT-136. s/async/oneway/ in comments\n\nThis is an internal-only change.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@757990 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "13083d6d52d2b5bd3d5a9368a04503c5b21eabab",
      "tree": "dfc912718c5f9dbacfd395d1e5f8dd59e9fd9de6",
      "parents": [
        "afa1b47e60c4ffba554f6187d84fd20cd514f51d"
      ],
      "author": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Fri Mar 20 02:19:46 2009 +0000"
      },
      "committer": {
        "name": "Bryan Duxbury",
        "email": "bryanduxbury@apache.org",
        "time": "Fri Mar 20 02:19:46 2009 +0000"
      },
      "message": "THRIFT-294. Remove @author tags\n\nThey\u0027re gone. Don\u0027t add any new ones!\n\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@756307 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "cbcd63ab4984336ecebae485bd8b3186a0444d39",
      "tree": "906c46c3efb954ac56fe083d74358124ea38ce22",
      "parents": [
        "48141bf5a686453b7a1b5b5b506617669b7cc748"
      ],
      "author": {
        "name": "Kevin Clark",
        "email": "kclark@apache.org",
        "time": "Thu Mar 19 03:50:05 2009 +0000"
      },
      "committer": {
        "name": "Kevin Clark",
        "email": "kclark@apache.org",
        "time": "Thu Mar 19 03:50:05 2009 +0000"
      },
      "message": "Thrift-357. cpp: Fix buffer and connection bloat in TNonBlockingServer\n\nAuthor: Anthony Giardullo\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@755824 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "45d56965c29850ae8d86b7d822ee8f3169ab57f1",
      "tree": "edc3f492d8d059e01ebc89c1816894202ce661e7",
      "parents": [
        "e0a11c44ab44eab3d4662716a70bfc5f9d272b77"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Sat Mar 14 23:35:16 2009 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Sat Mar 14 23:35:16 2009 +0000"
      },
      "message": "THRIFT-351. cpp: Allow a custom ThreadFactory in TThreadedServer\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@754551 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "022b224ebdd932bb8e4fe54beea02589c3661b8b",
      "tree": "c18d8854fb93897d8a29e9d2d83bcfe2f46bd59e",
      "parents": [
        "586f0a0f01458f5691382249d2899dbd7da84dd3"
      ],
      "author": {
        "name": "Kevin Clark",
        "email": "kclark@apache.org",
        "time": "Thu Mar 05 21:05:37 2009 +0000"
      },
      "committer": {
        "name": "Kevin Clark",
        "email": "kclark@apache.org",
        "time": "Thu Mar 05 21:05:37 2009 +0000"
      },
      "message": "THRIFT-96. cpp: TSocket.peek fails on FreeBSD\n\nAuthor: Alexander Shigin\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@750585 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "5ace1780abe8f62e6e6be789ae53637f3a35b195",
      "tree": "9e3cf1f8120efe561c92ac8356b91d659320efc6",
      "parents": [
        "e8d3c47944139364d0573fa82c3d5ba877df13e9"
      ],
      "author": {
        "name": "Kevin Clark",
        "email": "kclark@apache.org",
        "time": "Wed Mar 04 21:10:58 2009 +0000"
      },
      "committer": {
        "name": "Kevin Clark",
        "email": "kclark@apache.org",
        "time": "Wed Mar 04 21:10:58 2009 +0000"
      },
      "message": "THRIFT-265. cpp: Reset buffers every 512 calls in TNonblockingServer\n\nAuthor: Erik Frey\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@750153 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "57b500610f34d15e7261c6460144ec88f710af85",
      "tree": "65cedde9f783f26df06cdd194c4d8dac97307114",
      "parents": [
        "f4c71c73d0d3438d5eb8c72dc889fb292bc23cc8"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Feb 25 00:59:55 2009 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Feb 25 00:59:55 2009 +0000"
      },
      "message": "THRIFT-348. cpp: Fix readBool for vectors of bools (again)\n\nThis bug only affected the returned number bytes read\n(which is not currently used), not the actual bool value.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@747635 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "035aed90c0a7e54cd9e0f2ac70dc7c1bb303a4b0",
      "tree": "19d48f30b2c1937c378a230445fbf16732d220ef",
      "parents": [
        "7d3df42bb5eefc740724537d802597668ab1a955"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Feb 10 21:38:48 2009 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Feb 10 21:38:48 2009 +0000"
      },
      "message": "cpp: Fix implementations of \"list\u003cbool\u003e\"\n\nTProtocol::readBool expects a \"bool\u0026\" as its argument, but \"list\u003cbool\u003e\"\nis implemented as \"vector\u003cbool\u003e\", which is a specialization of vector\nthat uses a custom structure as its reference type.  Therefore, we need\nto overload TProtocol::readBool for std::vector\u003cbool\u003e::reference.\nThis function is provided as a non-virtual for efficiency since it is\nhighly unlikely that any subclass will want to override it.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@743112 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "0b7d6fa5ee27dcfe60ed946c99fbc1c664bb4057",
      "tree": "8a8d7fded45f797c0155f0a16d08371839c3c287",
      "parents": [
        "d20a1d3619efa9edef51364d927bc9a78b37217f"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Sat Feb 07 02:36:35 2009 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Sat Feb 07 02:36:35 2009 +0000"
      },
      "message": "THRIFT-314. Purge reflection.limited\n\nThis was a feature designed to allow a Thrift server to report\ninformation about its interface.  However, the feature has\nsignificant design problems, and is presence is currently causing\nconfusion without doing any good.  Therefore, it is being removed.\nIt will always be in source control if and when we are ready to\ncome back to it.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@741824 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "b5e6221eb5cbabab25d5c9badb7262b15c42cfdd",
      "tree": "b215dc9387b4b9e7cb454e0306fbe66ac0b2d42e",
      "parents": [
        "3fa89e33f3e7e76a2f79546c72d1728492f12bef"
      ],
      "author": {
        "name": "T Jake Luciani",
        "email": "jake@apache.org",
        "time": "Sat Jan 31 22:36:20 2009 +0000"
      },
      "committer": {
        "name": "T Jake Luciani",
        "email": "jake@apache.org",
        "time": "Sat Jan 31 22:36:20 2009 +0000"
      },
      "message": "THRIFT-270: change cpp namespaces from facebook::thrift to apache::thrift\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@739644 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "4c266ccc2cd6598891dfd8955cf0dc8ff4b97976",
      "tree": "af4188c44514f6f8c0f32b62c7eacc7180872fae",
      "parents": [
        "6713e1b126c8734ae9daafb4a63f76f26ca7fb7b"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Jan 15 23:56:24 2009 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Jan 15 23:56:24 2009 +0000"
      },
      "message": "THRIFT-244. cpp: Make TJSONProtocolFactor inherit from TProtocolFactory\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@734863 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "6713e1b126c8734ae9daafb4a63f76f26ca7fb7b",
      "tree": "41428eef0cabfd059ede77d7ecb3bd52e622e9ff",
      "parents": [
        "afa80ea73d4cbf83afee807e5d9f9034fa177ade"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Jan 15 23:56:19 2009 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Jan 15 23:56:19 2009 +0000"
      },
      "message": "THRIFT-244. cpp: Fix TJSONProtocol::writeMessageBegin\n\nuint8_t is a character type, so lexical_cast doesn\u0027t convert it\nto an integer representation.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@734862 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "322e595c2ac8a7ff4ef53cc472882d85e36000a0",
      "tree": "62b7512e2549ccf03fb825683c0f14d05427d8e5",
      "parents": [
        "fbb14ef1b33db23cb0862975af58bbba957d2378"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri Dec 05 02:54:09 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri Dec 05 02:54:09 2008 +0000"
      },
      "message": "THRIFT-203. cpp: Make library headers compile under g++ -pedantic\n\nIt turns out that trailing commas in enum definitions are\nnot actually valid C++.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@723562 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "fbb14ef1b33db23cb0862975af58bbba957d2378",
      "tree": "ccd152e2b70aa5c54e648eba6b30355f88d15b63",
      "parents": [
        "428d5695ab6dd8a598b1be5bb29cfb7c90aa9414"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Dec 02 02:32:25 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Dec 02 02:32:25 2008 +0000"
      },
      "message": "THRIFT-214. cpp: Qualify a cast to fix OSX compilation\n\nid_t is defined in some OSX header, and the id_t in this function\nresolved to that one instead of Thread::id_t.  This change fully\nqualifies the type to make sure it resolves properly.\n\nAlso remove a comment about eliminating the C-style cast, since it\nis actually quite appropriate in this case.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@722337 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "428d5695ab6dd8a598b1be5bb29cfb7c90aa9414",
      "tree": "b6fe8237a268aee32a16406f7aeb027b08479546",
      "parents": [
        "0c87ad41ee8dc669f8e1cbe0b17f8382844a0497"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Dec 02 02:22:01 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Dec 02 02:22:01 2008 +0000"
      },
      "message": "THRIFT-215. cpp: Disable an assertion that fails on various platforms\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@722336 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "d90cd1f539f5837858aa64256d187b4444560b81",
      "tree": "d8de41e092bed047cf12db66f902ecfce06c9def",
      "parents": [
        "f33e03c6fad10465ac4867b27c63a35cb2de0cbe"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 29 22:50:34 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 29 22:50:34 2008 +0000"
      },
      "message": "THRIFT-168. cpp: Clear transport buffers before a flush\n\nPreviously, TBufferedTransport and TFramedTransport could\nleave data in their buffers if a flush threw an exception.\nThis patch makes them reset their internal pointers before\nflushing to the underlying transport.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@709037 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "826e648354c4e2e37abe5d8dda04e6497d76e16a",
      "tree": "0f9a3f43e3da5e0732bc05d007861b3a18c6ffad",
      "parents": [
        "1cc0c5e6d6088849cca2987af39f0d9a965c0d60"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Oct 20 21:29:07 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Oct 20 21:29:07 2008 +0000"
      },
      "message": "THRIFT-177. cpp: Add a missing \"std::\"\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@706418 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "c53a5944eda576d1920cf44359e310b1205361cb",
      "tree": "06e9bda6ceff532b2f6466abb8da0f8071d4f832",
      "parents": [
        "9837aaf097729beb2d3c656bb68c9c373faa84e9"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Oct 07 23:55:24 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Oct 07 23:55:24 2008 +0000"
      },
      "message": "Fix a compile bug introduced by r702644\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@702672 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "e11f3073f7411e7b0508047850fcb42b331a2e5e",
      "tree": "0f3345c7c166f284b8a7a87e71fe21714cdedf17",
      "parents": [
        "58434e698865101096e28fb2ea98282133d55e2c"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Oct 07 21:39:19 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Oct 07 21:39:19 2008 +0000"
      },
      "message": "THRIFT-149. cpp: Make TNonblockingServer handle a shut-down ThreadManager\n\nThis is a step toward implementing a graceful shutdown.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@702644 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "5317b1ecd23bc6ba29905cff6f8e411fbfe287f8",
      "tree": "a49c45aecf8cab4133d58ae243680a26beb67177",
      "parents": [
        "46e8d0b8fb18e25baf45a51715d7e3129a17fdb6"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Jul 24 19:10:16 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Jul 24 19:10:16 2008 +0000"
      },
      "message": "THRIFT-95. cpp: Fix write buffer initialization in TBufferedTransport\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@679500 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "01e55c1c28547eaac74636790bb86617c890c4c2",
      "tree": "ccf24cb13626196702d177e2266e62cb9287e468",
      "parents": [
        "2be87f3ab036183d49ad7a9af274c797839ef342"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Sun Jul 13 22:18:51 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Sun Jul 13 22:18:51 2008 +0000"
      },
      "message": "cpp: Eliminate the use of fprintf [THRIFT-77]\n\nAdd printf and perror methods to TOutput and use them to\nreplace uses of fprintf in the C++ library.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@676448 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "2be87f3ab036183d49ad7a9af274c797839ef342",
      "tree": "34f05e595d0b2136f7e4a7d7eec0895d6b61737c",
      "parents": [
        "8d07e1d1524ce548bcd3b9b792af6f0af218a8bb"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri Jul 11 21:39:58 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri Jul 11 21:39:58 2008 +0000"
      },
      "message": "(THRIFT-37) Add some missing newlines to fprintfs.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@676087 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "53f18f01bea79d373d0bb1138b67c03e42f4143c",
      "tree": "6b4445e45da6575046dde340ee010d4abb5f3cd5",
      "parents": [
        "615da249957987b39887eb12abe887ad6c883114"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri Jul 11 00:45:29 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri Jul 11 00:45:29 2008 +0000"
      },
      "message": "(THRIFT-69) Fix Util::currentTime for use in applications.\n\nThis function didn\u0027t work properly when used outside of the Thrift library\nbecause config.h isn\u0027t available.  This patch fixes the issue by moving\nthe function definition into the library.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@675819 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "af78778acd7fb551a84aaf63e604d969123bf85d",
      "tree": "db279121d2fdebf27cced752a46ab0898848c0b3",
      "parents": [
        "03b574feada3862d460c7fc15dd1fb90687ff428"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Jul 03 20:29:34 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Jul 03 20:29:34 2008 +0000"
      },
      "message": "(THRIFT-54) Remove \"frameResponses\" from TNonblockingServer\n\nTNonblockingServer and TFramedTransport used to have the option to only\nframe messages on one side of the communication.  This capability was\nremoved from TFramedTransport because it was poorly implemented and not\nuseful.  This change removes it from TNonblockingServer as well, and\nremoves references to it in some of the C++ test code.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@673791 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "52cb7a7413a33a86079cf8e9b3561e33339aeb9d",
      "tree": "809000e9a27f54182eea3982d5ad7e54b7e98dc0",
      "parents": [
        "f14541626d1c49cb1439d65e81fa3609c23b7cf0"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Jun 30 21:40:35 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Jun 30 21:40:35 2008 +0000"
      },
      "message": "(THRIFT-45) TNonblockingServer (C++): only do one write in responses.\n\nInstead of doing one 4-byte write for the frame length before the write\nof the actual message, prepend the frame length to the message buffer\nso we can send them both at once.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@672937 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "c88eb8c9dda2bd5100216458779f8bff7b1a9275",
      "tree": "216f0d3ed1ec88bb2b275654ed47ca8ab5c670a6",
      "parents": [
        "a27c3cd0c92371a5d9a604a9a088bf53acd01f49"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Jun 11 01:18:54 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Jun 11 01:18:54 2008 +0000"
      },
      "message": "Include \u003ccstring\u003e and use \"std::\" for memset in T[Server]Socket.cpp.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@666498 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "a27c3cd0c92371a5d9a604a9a088bf53acd01f49",
      "tree": "b8a6b1d489e8dfa07feebdfd9c292706913c0625",
      "parents": [
        "32e95f8bb9e124720beae6d4fe1897328dda5f83"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Jun 11 01:18:44 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Jun 11 01:18:44 2008 +0000"
      },
      "message": "Include \u003ccstring\u003e and use \"std::\" for memcpy in TBufferTransports.h.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@666497 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "32e95f8bb9e124720beae6d4fe1897328dda5f83",
      "tree": "8199737619b7e401c2c5a50a06bc888b4bbf0de8",
      "parents": [
        "fb1c5ace0afa13d91d744080abd2dac1fbaf2911"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Jun 11 01:18:36 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Jun 11 01:18:36 2008 +0000"
      },
      "message": "Include \u003climits\u003e in TBinaryProtocol.cpp for numeric_limits.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@666496 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "fb1c5ace0afa13d91d744080abd2dac1fbaf2911",
      "tree": "9020ffe4be322ab09efc0c88b81771680fbe48ec",
      "parents": [
        "a4d7eef5cd5e946f30c386e1f4fe790f6d5574ad"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Jun 11 01:18:28 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Jun 11 01:18:28 2008 +0000"
      },
      "message": "Declare special mutex initializers unconditionally.\n\nWe don\u0027t want to include pthread.h in Mutex.h, so we can\u0027t detect whether\nthe non-portable mutex initializers are defined.  Instead, we just declare\nthem unconditionally and only define them if they are available.\nUnfortunately, this means that users will get a link error instead of a\ncompile error if they try to use them when they are not available.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@666495 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "a4d7eef5cd5e946f30c386e1f4fe790f6d5574ad",
      "tree": "2365bb6d1b98e8e4de254613ae55d50aab46fa4e",
      "parents": [
        "77bb9167664b39ea8656aadf64537f6c4f109219"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Jun 11 01:18:20 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Jun 11 01:18:20 2008 +0000"
      },
      "message": "Fix some includes in Thrift.{h,cpp}.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@666494 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "77bb9167664b39ea8656aadf64537f6c4f109219",
      "tree": "fcccaf897478147f6168c6991bc51c8edf67acd5",
      "parents": [
        "4d1c712ad173a66faafa2844bad9504e5f7bdfec"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Jun 11 01:18:11 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Jun 11 01:18:11 2008 +0000"
      },
      "message": "Regenerate reflection_limited to pick up some compiler improvements.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@666493 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "1a2f2187cd9891634080d4aa53a76f50849a1ed1",
      "tree": "a41264a0816247a430e0c3623a30a177a1b0b46e",
      "parents": [
        "61eec8f95c679078f5f5c3f91edc2178e59bfe34"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Jun 11 01:14:01 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Jun 11 01:14:01 2008 +0000"
      },
      "message": "Another whitespace rampage\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@666477 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "13aea4600c7e170a0f178d72d7d68d3bddd7ef9a",
      "tree": "241b7993b4aa3d9009be6405952d1e30cd98de77",
      "parents": [
        "d14f4f86d4a521dd2327789f9230ab239b1c342b"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:56:04 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:56:04 2008 +0000"
      },
      "message": "Fix IPv6 on FreeBSD.\n\nOn FreeBSD (and possibly other BSDs), binding to ipv6 is restricted unless the\nsysctl net.inet6.ip6.v6only\u003d0 or the socket option IPV6_V6ONLY is turned off.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@666367 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "c6dab613003c704f072542f39214f7af64fc0412",
      "tree": "6cf0c32408e229af01a44f79023d29747ba6fde7",
      "parents": [
        "e3a64923e9620ebf99ff51ed5bfcb366e503c79e"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:55:13 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:55:13 2008 +0000"
      },
      "message": "Thrift: Allow for alternative Mutex initializers.\n\nSummary:\nAdd an argument to the Mutex constructor.\nIt takes a pointer to a function that initializes the internal pthread_mutex_t.\nWe provide initializers for default pthread_mutex_t (which is our default),\nadaptive mutexes, and recursive mutexes.\n\nReviewed By: hzhao, psaab, mcslee\n\nTest Plan: Built libthrift.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@666362 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "e3a64923e9620ebf99ff51ed5bfcb366e503c79e",
      "tree": "2d7212edec32b8f46d3451ed6a0dc8c3fa5173f8",
      "parents": [
        "791a57f528e12829acd6d2950d50e65139080f49"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:55:04 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:55:04 2008 +0000"
      },
      "message": "Fix locking bug in ThreadManager.\n\nIt looks like the scheduler waits on monitor_, but the worker notifies\nworkerMonitor_. Also, it does so out of critical section.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@666361 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "791a57f528e12829acd6d2950d50e65139080f49",
      "tree": "b675279ceb1ff2397453e38b573b8e49bea4ba03",
      "parents": [
        "665365490f3e14cf3e40205f16d9dc9b5a833f1e"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:54:56 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:54:56 2008 +0000"
      },
      "message": "FunctionRunner Utility Class.\n\nRuns arbitrary functions of form \u0027void(void)\u0027 and \u0027void*(void*)\u0027\nwithout need to create custom Runnable classes.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@666360 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "af296954ea59369129b4129633e263fd65b503de",
      "tree": "b70c053a513508b8b8708d37622c79260744d2fc",
      "parents": [
        "c89e4de50947b91b658a952da4671033e333c9df"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:54:40 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Jun 10 22:54:40 2008 +0000"
      },
      "message": "Add ProfilerRegisterThead() to PosixThread.\n\nAdds an #ifdef\u0027d block that calls ProfilerRegisterThread() if\n\"REGISTER_THREAD_GOOGLE_PERFTOOLS\" is set.  Apparently, this makes the\nGoogle perftools CPU profiler work much better on x86-64.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@666358 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "7dab93e23790f6a2d647ad5d4a7a34f24a464778",
      "tree": "1d496585a4a4b720e0fca148e7d4dac395f1ffe5",
      "parents": [
        "f9b5b12f4d7e86e9834dd39ae4393383cab809af"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri May 09 19:18:29 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri May 09 19:18:29 2008 +0000"
      },
      "message": "Fix a few copy-paste errors in TBufferTransports (not code).\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665684 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "80097936bd1258f074a226396f9546d98d060964",
      "tree": "be8903db3543110e45d9ad056a19cb1bbff10d6c",
      "parents": [
        "47714584327a9a8240f28e8ef4493534a1d047ba"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri May 09 07:14:10 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri May 09 07:14:10 2008 +0000"
      },
      "message": "C++/TFramedTransport: Don\u0027t write an empty frame on flush.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665681 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "47714584327a9a8240f28e8ef4493534a1d047ba",
      "tree": "24bb6dd7e13bc8bf12964f0ee059ce0805c9e321",
      "parents": [
        "8df6c82aa751f65100b6b283dee205e251753aa8"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri May 09 00:40:26 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri May 09 00:40:26 2008 +0000"
      },
      "message": "Fix a small logic error in TBufferedTransport::borrowSlow.\n\nWas using an unsigned int for a value that could be negative.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665680 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "f233e46a2dc705f017d5980baa6ad97922b72291",
      "tree": "1ace8edd19a260f76b55e117ce615da8b1e200b9",
      "parents": [
        "28f298dd5d9b68c9c0dbaefa95c88d51ed8e430a"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu May 01 06:21:04 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu May 01 06:21:04 2008 +0000"
      },
      "message": "Throw a transport exception if fstat fails.\n\nThis was failing on an NFS mount that was dying.\nBetter to fail hard then return uninitialized data.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665677 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "28f298dd5d9b68c9c0dbaefa95c88d51ed8e430a",
      "tree": "4c089343bfd96f8eddb653ec2f746a27d7a8ec9a",
      "parents": [
        "9a4edfa07fe0c09865015a15d26695823cd4a5fd"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu May 01 06:17:36 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu May 01 06:17:36 2008 +0000"
      },
      "message": "Memory-based transport rewrite.\n\nThe old implementations of the memory-based transports (TBufferedTransport,\nTFramedTransport, and TMemoryBuffer) shared very little code and all worked\na bit differently.  This change unifies them all as subclasses of a single\nbase (TBufferBase) which handles the fast-path operations (when requests\ncan be satisfied by the buffer) with inline methods (that will eventually\nbe made nonvirtual in the template branch) and calls out to pure-virutal\nmethods to handle full/empty buffers.  All of the buffer-management is now\ndone in terms of \"base and bound\" pointers rather than \"pos\" integers.\n\nThese classes were moved to TBufferTransports.{h,cpp}.  The .h is included\nin TTransportUtils for backwards compatibility.\n\nAlso added a \"TShortReadTransport\" to assist testing transports.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665676 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "e39e9379119b99c2bad7613b8cd32c11482b9558",
      "tree": "9247055d9281c2092c68306010ee529bc9022e52",
      "parents": [
        "64120001437477569524be5cfc1f5054b27ee807"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu May 01 05:52:48 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu May 01 05:52:48 2008 +0000"
      },
      "message": "Remove a few unnecessary includes to speed up compiles.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665673 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "64120001437477569524be5cfc1f5054b27ee807",
      "tree": "8efc3e3b991173c848e2332fa4b04890bd920191",
      "parents": [
        "74672b6719903332c0b5969fa0bffd12c13cf121"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Apr 29 23:12:24 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Apr 29 23:12:24 2008 +0000"
      },
      "message": "C++: Make write{Struct,Field}Begin take \"name\" as a const char*.\n\nSummary:\nThese methods previously took name as a const string\u0026.  While that way\nis more idiomatic, it requires a temporary string to be constructed\nwhen we pass a string literal (which is always).  This was significantly\nslowing down the serialization of field-heavy structures.  This change\nwill break ABI compatibility, but the serialization speed boost with\nno external API changes is too important to pass up.\n\nReviewed By: mcslee, aditya\n\nTest Plan: make check\n\nTracCamp Project: Thrift\n\nRevert Plan: ok\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665672 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "c17fe6b918015166d145936414a411589f03255c",
      "tree": "0e3dcbd7c09377239ac4fc1d89efe674f4a22054",
      "parents": [
        "1997f10e282e5d188b65b45190ceb5a7e1f95072"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Apr 29 00:29:43 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Apr 29 00:29:43 2008 +0000"
      },
      "message": "THRIFT: Nonblcoking bug fix\n\ncalling decrement with -1 even though param is an integer. Just made it clean by adding a decrement function\n\nreviewed by: mcslee\nrevertable\ntest plan: ran on a test server\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665669 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "1997f10e282e5d188b65b45190ceb5a7e1f95072",
      "tree": "cc11c24b4e175c91b2c806a5da35b374a1d3fbf5",
      "parents": [
        "81c7fc01bf4c8a832626dc711b0b35c086f018cb"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Apr 29 00:29:41 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Apr 29 00:29:41 2008 +0000"
      },
      "message": "Persistent conns in TSocketPool\n\nSummary: Added support for persistent conns in TSocketPool\n         Also, added some util functions in TNonblockingServer\n\nReviewed By: mcslee\n\nTest Plan: Ran a test search cluster with these changes - open was only called once (I put fprintfs in open and close), after which the socket was reused\n\nRevert: OK\n\nTracCamp Project: Thrift\n\nDiffCamp Revision: 11425\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665668 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "bd3b168e633cedf903aebf106651dbccf7423089",
      "tree": "8fc1bcda2f5fa3227598d1d1ed80adb505d15a06",
      "parents": [
        "10a22bf1f66f4851fffc45ce5c377e5c9df13eed"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Apr 28 02:42:28 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Apr 28 02:42:28 2008 +0000"
      },
      "message": "Silence a valgrind complaint by matching \"delete[]\" with \"new[]\".\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665666 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "2724c7a311dcab7422fd410444d89946ef759c0d",
      "tree": "e87b6c1976cd1e2206db3a28ee3a2dc0db5dabc5",
      "parents": [
        "739cbe2b86c8b4a50f3305f7edefd142cad423f8"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri Apr 18 17:48:03 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri Apr 18 17:48:03 2008 +0000"
      },
      "message": "Thrift: bug fix for interrupting server socket\n\nSummary: TServerSocket uses a socket pair to signal interruption to the select() call on its main server socket.  A bug in the code prevented the select() from listening for events on the internal socket pair; in fact, it was accidentally listening to file descriptor 1.\n\nReviewed By: aditya\n\nTest Plan: Use a server that supports a call to shutdown, which should signal an interrupt to the internal socket, and should result in an immediate and clean termination of the server socket thread.\n\nRevert: OK\n\nTracCamp Project: Thrift\n\nDiffCamp Revision: 11932\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665658 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "739cbe2b86c8b4a50f3305f7edefd142cad423f8",
      "tree": "3c1a93c3326e66bfaf5cad0e74f32e4abafee4a5",
      "parents": [
        "a1771097520d57cd84dcd5e06df6e5e4fae5e5c1"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Apr 15 05:44:00 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Apr 15 05:44:00 2008 +0000"
      },
      "message": "Add a few missing includes.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665657 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "a1771097520d57cd84dcd5e06df6e5e4fae5e5c1",
      "tree": "f312bda2ff051b2bd42706a157b9f357422cb7ca",
      "parents": [
        "1d106ae6f00b25684d701cb38bd6e51e5220ddcb"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri Apr 11 22:36:31 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri Apr 11 22:36:31 2008 +0000"
      },
      "message": "Fix Thrift.cpp for non-Linux systems.\n\n- Add some missing namespace qualifiers that are not used in the glibc case.\n- Move an include from Thrift.h to Thrift.cpp.\n- Include boost/lexical_cast.hpp in TJSONProtocol, in case we ever eliminate\n  it from our header files.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665656 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "b54deb1ca538b2f244225801408637aa8921d5db",
      "tree": "cc00c1782380639b01a010a3127f94e40a8f368a",
      "parents": [
        "1677ac9cc7550ea3eb4a4e46fbcf16790c2cb70c"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Apr 08 19:38:49 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Apr 08 19:38:49 2008 +0000"
      },
      "message": "Fix a minor bug in TDebugProtocol and remove dead code.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665650 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "1677ac9cc7550ea3eb4a4e46fbcf16790c2cb70c",
      "tree": "0f9a9b18be398554c5d2a9096f475306e336a773",
      "parents": [
        "9b20955b2d4f651eaaec63736cb8aeaaed011be7"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Apr 08 06:26:27 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Apr 08 06:26:27 2008 +0000"
      },
      "message": "Use poll instead of select in TServerSocket\n\nSummary: - select has a restricted max fd set size. While this should not be an issue in the normal case for\n           TServerSocket because it is started when the process starts, it could be a problem if someone wanted\n           to start a new server socket at a later point in time when socket values could be greater than max.\n\nReviewed By: dreiss\n\nTest Plan: - Compiled.\n           - Deployed search tier and made sure it could serve queries.\n\nRevert: OK\n\nTracCamp Project: Thrift\n\nDiffCamp Revision: 11076\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665649 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "9b20955b2d4f651eaaec63736cb8aeaaed011be7",
      "tree": "3bc7f4fda44427162df055907322093616dc11f4",
      "parents": [
        "22b1886dc7e4069e8cf838ebf7816a7ab697d091"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Apr 08 06:26:05 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Apr 08 06:26:05 2008 +0000"
      },
      "message": "Thrift error logging improvements\n\nSummary: - Move strerror_s to Thrift.h (was previously in TTransportException.h)\n         - Capture errno as soon as syscall returns failure and make it part of error message.\n         - Cleaned up several instances of the wrong error value being printed.\n         - More consistently pass the errno in the TTransport Exception\n         - Add more consistent error logging for the various transport failure modes\n\nReviewed By: dreiss\n\nTest Plan: - compile everything.\n           - test on search tier\n\nRevert: OK\n\nTracCamp Project: Thrift\n\nDiffCamp Revision: 11077\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665648 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "22b1886dc7e4069e8cf838ebf7816a7ab697d091",
      "tree": "ebb1b2f7cf9861536ad836ee647253651247cf9f",
      "parents": [
        "1ffb61beaafedb160a971732e599d5c6aa67a646"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Apr 08 06:25:45 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Apr 08 06:25:45 2008 +0000"
      },
      "message": "use poll instead of select in TSocket\n\nSummary: fd_set, which we pass into select only supports  fds with values \u003c 1024.\n         fds can be \u003e\u003d 1024.\n         this can cause memory corruption\n\n         learning this stuff over 2 weeks of examining crazy core dumps is way more fun that reading it up somewhere.\n\n         poll takes an array of fds insetad, so your fd can be any int\n\nReviewed By: dreiss\n\nTest Plan: ran inside a test search cluster\n\nRevert: OK\n\nDiffCamp Revision: 10731\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665647 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "1ffb61beaafedb160a971732e599d5c6aa67a646",
      "tree": "94838cab5fbde46ecb309827676b2c5c7fa14053",
      "parents": [
        "bbdb06eb24c3144d6f32f86c21910904013b89d9"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Apr 08 05:07:26 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Apr 08 05:07:26 2008 +0000"
      },
      "message": "Fix a bug in TPipedTransport that broke pipelining.\n\nPreviously, TPipedTransport wrote it\u0027s full buffer to the \"pipe\" and\nfully reset its buffer on a readEnd.  This assumed that the buffer was\nfully read at that point.  This is not the case if requests are pipelined.\nThis change makes it only pipe out the portion that has been read and\ncopy the unread portion to the beginning of the buffer.\n\nAlso add a test that verifies the new functionality.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665646 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "e4db03d1106a3bb381942471be9fdce72f9e88b9",
      "tree": "a8634b7c89831cfe5e54e9bb297244974972b2c3",
      "parents": [
        "e0e3d1b232558bb0951a636a158ead8ec6773234"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Apr 08 05:06:59 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Apr 08 05:06:59 2008 +0000"
      },
      "message": "Add TFDTransport: a dead-simple wrapper around a file-descriptor.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665644 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "e0e3d1b232558bb0951a636a158ead8ec6773234",
      "tree": "9e0979eb99e3226f73530ac9938e499521e049ea",
      "parents": [
        "642f2d3fbec475de8dac8a70cfd972982ed3267f"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Apr 08 05:06:45 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Apr 08 05:06:45 2008 +0000"
      },
      "message": "Add TProtocolTap: a meta-protocol for \"wiretapping\".\n\nTProtocolTap is a protocol that passes reads through to a \"source\" protocol,\nbut mirrors them as writes to a \"sink\" protocol.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665643 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "642f2d3fbec475de8dac8a70cfd972982ed3267f",
      "tree": "c92dbfbf41c6b5e26494dbe76ab7778253293f13",
      "parents": [
        "a80f0fb47a43c83438150717a8246760642666f5"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Apr 08 05:06:32 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Apr 08 05:06:32 2008 +0000"
      },
      "message": "TDebugProtocol: Add support for messages.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665642 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "a80f0fb47a43c83438150717a8246760642666f5",
      "tree": "d1e5e7be0c95ada53a2546fbdeaaa5ea77e21cd7",
      "parents": [
        "2a4bfd6d0cdd32c9ade36a5c481b952f522f4fb2"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Apr 08 05:06:15 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Apr 08 05:06:15 2008 +0000"
      },
      "message": "TDebugProtocol: Support a limit on string length.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665641 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "58b4fa7e26648cf5251029f6ebb73a4c86129354",
      "tree": "e34d752b8f4a8b0bd5eba0eacfcfe297e125b5b0",
      "parents": [
        "3000b5b1f1fe44cc8a23ca34540c1de4381ada83"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Apr 01 04:17:58 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Apr 01 04:17:58 2008 +0000"
      },
      "message": "Fix a memory leak in TBinaryProtocol.\n\nSummary:\nrealloc doesn\u0027t free the original pointer when it returns null.\n\nReviewed By: cpiro\n\nTest Plan: make check\n\nTracCamp Project: Thrift\n\nRevert Plan: ok\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665626 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "9cc63b53ef0ed88ee96cb5584504ff1b38d62288",
      "tree": "4e5d949667bcbb7b6354e8c7d879d24bc495b11f",
      "parents": [
        "dcdf25b003ea0caedcbeda5c700144416faaee52"
      ],
      "author": {
        "name": "Christopher Piro",
        "email": "cpiro@apache.org",
        "time": "Fri Mar 21 00:40:42 2008 +0000"
      },
      "committer": {
        "name": "Christopher Piro",
        "email": "cpiro@apache.org",
        "time": "Fri Mar 21 00:40:42 2008 +0000"
      },
      "message": "[thrift] add setTcp{Send,Recv}Buffer to C++ TSocketServer\n\nSummary: needs moar BDPs\n\nReviewed By: mcslee\n\nTest Plan: now using in our service\n\nRevert Plan: ok\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665579 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "8f3bce4153a17dbf6a188bb80f589eadbd0de5e2",
      "tree": "4c06cbb3291eb861bb044c0f9bfeeeddacc4d4c3",
      "parents": [
        "6d94390375e865e0c774df1dc072ea1774eba7b1"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Mar 18 18:21:52 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Mar 18 18:21:52 2008 +0000"
      },
      "message": "TSocketPool changes\n\nSummary: 1] Added empty constructor\n         2] Added function to set server list\n         3] Made getServers return by ref\n         4] Made list of servers be a list of pointers\n\n         The last change is so that someone can pass in the list of servers and rely on TSocketPool to change the failure time directly on the TSocketServer object\n\nReviewed By: aditya\n\nTest Plan: Ran with a test search server\n\nRevert: OK\n\nDiffCamp Revision: 9529\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665571 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "84e63abf2ef29725b45a0266a94abffe27046ed7",
      "tree": "a0de7fec4922ce4b34a4f7ac8a119cea705f19af",
      "parents": [
        "2c2dc67fd87eb7d293eb689199cd5b631bd67523"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri Mar 07 20:12:28 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri Mar 07 20:12:28 2008 +0000"
      },
      "message": "Remove some trailing whitespace.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665564 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "a79e48874bfe03cf7195474719a85f4633931050",
      "tree": "f215238894835c47c604a1a3d6ee4871cf154818",
      "parents": [
        "edde04804b3cf6196a6f19d5c08a8df619d7a0e2"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Mar 05 07:51:47 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Mar 05 07:51:47 2008 +0000"
      },
      "message": "TNonblockingServer: Fix wrong exception names\n\nReviewed By: dreiss\n\nTest Plan: trivial :)\n\nRevert: OK\n\nDiffCamp Revision: 8789\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665556 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "edde04804b3cf6196a6f19d5c08a8df619d7a0e2",
      "tree": "88138f5ef3dce759331bc0018063f3a322ada51e",
      "parents": [
        "631dcb42d1be0896c14e7830a45a5db4e3ee5ef6"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Mar 05 07:51:44 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Mar 05 07:51:44 2008 +0000"
      },
      "message": "Thrift: Add writePtr(), wroteBytes() to TMemoryBuffer\n\nSummary: This adds the discussed interface to TMemoryBuffer, as follows:\n\n         - writePtr(size) returns a ptr you can write (size) bytes to\n         - wroteBytes() lets it know you wrote that many bytes\n\n         To do this, I refactored an:\n         - ensureCanWrite(size) private func\n\nReviewed By: dreiss\n\nTest Plan: works in my test environment\n\nRevert: OK\n\nTracCamp Project: Thrift\n\nDiffCamp Revision: 8739\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665555 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "631dcb42d1be0896c14e7830a45a5db4e3ee5ef6",
      "tree": "acb419cc4700851be4ba223068c6aea7a076b512",
      "parents": [
        "6987535d65529be108f36a51f8a603d675c89e16"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Mar 05 07:51:40 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Mar 05 07:51:40 2008 +0000"
      },
      "message": "Thrift: concurrency/Util.h: Add converters for \u0027struct timeval\u0027, cleanup\n\nSummary: - Added \u0027struct timeval\u0027 toMilliseconds and toTimeval converters modeled on the timespec ones\n         - Added constants for microsecs, and got rid of the 500000 and 500 magic #\u0027s :)\n\nReviewed By: dreiss\n\nTest Plan: works in my test env\n\nRevert: OK\n\nDiffCamp Revision: 8742\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665554 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "907ad76c2db1ae834ea8d09a0aca86da008c261f",
      "tree": "6f11dc1f53508763c46c0f8a39d2f52ed407d406",
      "parents": [
        "2c9824c5bdd3d9aefa0c1edb4538c996e4d513dd"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Sun Mar 02 00:25:58 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Sun Mar 02 00:25:58 2008 +0000"
      },
      "message": "Adding a few integration points to the C++ TSocketPool.\n\n- Adding ability to use a vector of TSocketPoolServers to construct a TSocketPool\n- Ability to get back the list of TSocketPoolServers\n\nThis is especially useful in multithreaded client code that\nwill just keep around the list of servers, and create the pool\non every request. Since TSocketPool updates the failure stuff,\nwe need a way to get back the updated TSocketPoolServers\n\nReviewed By: aditya\n\nTest Plan: just compiling the code\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665537 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "2c9824c5bdd3d9aefa0c1edb4538c996e4d513dd",
      "tree": "4c993889000fd0250ed28dbd1e22c986bdb08645",
      "parents": [
        "f50021af668da8a143a5dfd764c5380c0a330a39"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Sun Mar 02 00:20:47 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Sun Mar 02 00:20:47 2008 +0000"
      },
      "message": "Fix potential out of bounds read issue with getTypeIDForTypeName().\n\nMake sure type name is at least 2 characters long.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665536 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "f50021af668da8a143a5dfd764c5380c0a330a39",
      "tree": "d0de3891c8db97304b9fa09e15635a0350073f03",
      "parents": [
        "6d0cccd64000ae35ce1e648020f852ba333a5ba2"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri Feb 29 07:33:47 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri Feb 29 07:33:47 2008 +0000"
      },
      "message": "Bug fix for C++ TSocketPool\n\nWasn\u0027t setting the host or port for each server in the pool on open.\n\nReviewed By: dbraginsky\n\nTest Plan: Just compiled.  Will test with dbraginsky\u0027s server.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665535 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "6d0cccd64000ae35ce1e648020f852ba333a5ba2",
      "tree": "2f72e1d4a8b2b9c7e1101133bbaeacdace3ec630",
      "parents": [
        "9163073ca120478733602d42e344f14c241ad2d1"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Feb 28 21:20:12 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Feb 28 21:20:12 2008 +0000"
      },
      "message": "Fail and retry logic for TSocketPool\n\nSummary: Replicating php logic: If opening fails enough times, mark server as down for some amount of time\n\nReviewed By: aditya\n\nTest Plan: compiling thrift - any good test ideas?\n\nRevert: OK\n\nDiffCamp Revision: 8381\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665534 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "9163073ca120478733602d42e344f14c241ad2d1",
      "tree": "4b534e4884bca8816381a6301020dfd515dcee11",
      "parents": [
        "1a3546464dcbb4ff59fae50c6463a4ea78d4df74"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Feb 28 21:11:39 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Feb 28 21:11:39 2008 +0000"
      },
      "message": "Fix for JSON Protocol string-reading methods.\n\nClear return-by-reference strings before appending to them\nin the JSON Protocol reading methods.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665533 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "1a3546464dcbb4ff59fae50c6463a4ea78d4df74",
      "tree": "8aa8810cb9b7269b73a74cfb155ed53b5aa5d18f",
      "parents": [
        "6f3507c42574a6e8a58e10e07c58c3ba434b4e7a"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Feb 28 21:11:34 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Feb 28 21:11:34 2008 +0000"
      },
      "message": "Fix for Base64 decoding.\n\nPreviously, the Base64 decoding table only covered ASCII characters,\nbut the decoding function looked up any character in the table.\nThis change extends the table.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665532 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "01d187cb801a3c0462af337a8f0b6f0e2b1f2ec3",
      "tree": "89fbf9e6293880ddb7134900f95490ec29f9352d",
      "parents": [
        "3de1c4e4d33cc5c32809771f2bbec746501d1f94"
      ],
      "author": {
        "name": "veeve",
        "email": "dev-null@apache.org",
        "time": "Tue Feb 26 05:12:08 2008 +0000"
      },
      "committer": {
        "name": "veeve",
        "email": "dev-null@apache.org",
        "time": "Tue Feb 26 05:12:08 2008 +0000"
      },
      "message": "add increase_max_fds to the new TServer.cpp\n\nSummary: - added TServer.cpp\n         - increase_max_fds() defaults to 2^24.\n\nReviewed By: dreiss\n\nTest Plan: - Linked this code into chatloggerd and verified the return value.\n\nRevert: OK\n\nTracCamp Project: Chirp\n\nDiffCamp Revision: 8275\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665500 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "1e62ab468cda132ae29b849d7c1ea4eac141140b",
      "tree": "f5bda6d453d2d0c45702199ed0f57a857434a887",
      "parents": [
        "215ba5c310dd82b56805982634b346e3f99c6a49"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Feb 21 22:37:45 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Feb 21 22:37:45 2008 +0000"
      },
      "message": "TJSONProtocol no longer uses borrow, and miscellaneous fixes.\n\nSummary:\nAdded a LookaheadReader to the TJSONProtocol so it doesn\u0027t have to\nrely on the transport to borrow.\nAlso added a check to a corner case and fixed up some comments and whitespace.\n\nReviewed By: mcslee\n\nTest Plan: make check\n\nRevert Plan: ok\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665491 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "d7a16f4c111599f8b78905df70f0f60af0721e08",
      "tree": "4cc509319fdbaac889dca4205ca34aba274ad12c",
      "parents": [
        "2845b52f47a361d89434b3234545811e082f7716"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Feb 19 22:47:29 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Tue Feb 19 22:47:29 2008 +0000"
      },
      "message": "Thrift: Add \"#include \u003ccstdlib\u003e\" in a few places and s/malloc/std::malloc/\n\nSummary:\nThere were a few places where we were calling malloc/reallaoc/free without\nincluding cstdlib (or stdlib.h).  This is broken, but it worked because\nother headers that we were including included stdlib.h.  However, on a\nplatform where this wasn\u0027t true, it broke the Thrift build.  This change\nadds the proper includes.  It also changes malloc to std::malloc (same\nwith realloc and free) in a few places, because that is the correct way\nof doing it when you include cstdlib.\n\nReviewed By: mcslee\n\nTest Plan: Compiled Thrift.\n\nRevert Plan: ok\n\nOther Notes:\nThis bug was noticed by a Thrudb user, and the patch was sent in by\nRoss McFarland.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665487 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "db0ea15310339c504f37128e49421bba58051933",
      "tree": "50e25907ca864ba90804ca3754238fdd514dc722",
      "parents": [
        "c005b1b65ed24bba18e843c85b9a2a281bfec265"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Feb 18 01:49:37 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Feb 18 01:49:37 2008 +0000"
      },
      "message": "Thrift: Add a full-featured JSON protocol for C++.\n\nSummary:\nThis change adds a new and exciting protocol to Thrift.  It uses\nRFC-compliant JSON as the wire protocol and is fully human readable.\n(once a little whitespace has been inserted.)  Unlike the existing\nJSON protocol for Java, which is intended to allow Thrift data to be\ntransferred to scripting languages, this protocol is lossless and fully\nread-write.  It was written by Chad Walters of Powerset and reviewed\nby David Reiss.\n\nTested by running make check.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665482 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "c005b1b65ed24bba18e843c85b9a2a281bfec265",
      "tree": "94f0ec3d3776882ec3364bbfca09183798324890",
      "parents": [
        "9ff3b9d5fc823fdc0d25cb3e034b00d098ebbdda"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri Feb 15 01:38:18 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri Feb 15 01:38:18 2008 +0000"
      },
      "message": "Thrift: Distinguish between string and binary types in C++ and Java.\n\nSummary:\nThe upcoming TJSONProtocol handles string and binary types quite differently.\nThis change makes that distinction in all parts of the C++ binding.\n\nJava already distinguished between string and binary, but this change\nalso updates the Java skip method to skip over strings as binary\nso we don\u0027t get encoding errors when skipping binary data.\n\nReviewed By: mcslee\n\nTest Plan: make check\n\nRevert Plan: ok\n\nOther Notes:\nI just pulled this out of Chad Walters\u0027 JSON patch.\nThe only other change was adding readBinary (or was it writeBinary)\nto TDenseProtocol.  Maybe inheriting from TBinaryProtocol wasn\u0027t a good idea.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665481 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "a8de4895f61196d6bf139c3becbad5800b977e1c",
      "tree": "f72134854794ffffcc3de95164dee0705b54c650",
      "parents": [
        "3c5d2fd9a87f3bdb07aac7afa2c50e5e90d88fa8"
      ],
      "author": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Sat Feb 09 00:02:26 2008 +0000"
      },
      "committer": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Sat Feb 09 00:02:26 2008 +0000"
      },
      "message": "Patch from Ross McFarland to compile with strict warnings\n\nSummary: Use comment trick in params that are unused to prevent warnings\n\nReviewed By: dreiss\n\nTest Plan: Generate C++ code and compile -W -Wall\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665469 13f79535-47bb-0310-9956-ffa450edef68\n"
    }
  ],
  "next": "0c90f6f8af1d64ec9272bb2f6092336f3d0b8df8"
}
