)]}'
{
  "log": [
    {
      "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": "c6c6498b0227119abf0fd7b41cf63b12f4c013b8",
      "tree": "657ea01cf0a884947c40e8048e83af242dcee5d8",
      "parents": [
        "1a14091adc3380df570d01849b9b6002f7dc24c6"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Jun 11 01:16:45 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Jun 11 01:16:45 2008 +0000"
      },
      "message": "Allow out-of-source builds.\n\n- Clean up lib/cpp/Makefile.am to use AM_CXXFLAGS etc instead of\n  target-specific so we can take advantage of default flags.\n- Use top_builddir in a few places instead of top_srcdir.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@666489 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": "94058454a043a9d310a6ae027dabad59d5e98e1d",
      "tree": "97e01ca70b37f3874c7d3178a1e581a3ac9846c8",
      "parents": [
        "d80c06a1a1a4692affa620f505b783d3db2aec3c"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Apr 21 18:07:58 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Apr 21 18:07:58 2008 +0000"
      },
      "message": "Add TBase64Utils.h and TJSONProto.h to lib/cpp/Makefile.am.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665663 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"
    },
    {
      "commit": "0c90f6f8af1d64ec9272bb2f6092336f3d0b8df8",
      "tree": "15245f459a76acc769d8fe99179176b4965bf66d",
      "parents": [
        "3160971286aea0d5b28d5a7a87acaa8a12209ef8"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Feb 06 22:18:40 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Feb 06 22:18:40 2008 +0000"
      },
      "message": "Thrift: Whitespace cleanup.\n\nSummary:\n- Expanded tabs to spaces where spaces were the norm.\n- Deleted almost all trailing whitespace.\n- Added newlines to the ends of a few files.\n- Ran dos2unix on one file or two.\n\nReviewed By: mcslee\n\nTest Plan: git diff -b\n\nRevert Plan: ok\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665467 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "f7baf549bcea8793f7882eb7e01cb3affaea97b8",
      "tree": "b09ef9b309f15139699de5a417612121033d97bb",
      "parents": [
        "adb5cad7d32c1dd2f11b18b8d0f14b6955df3606"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Feb 04 21:56:27 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Feb 04 21:56:27 2008 +0000"
      },
      "message": "Thrift: Revamp TMemoryBuffer constructors.\n\nSummary:\nThere were some weird cases where the implicit conversion from\nconst char* to std::string was causing the wrong constructor to be called.\nThere wasn\u0027t really a clean workaround, so we\u0027re dropping the string\nconstructors.\n\nReviewed By: mcslee\n\nTest Plan:\nRan the test.\nGrepped around the /projects tree for uses that had to fixed,\nand fixed them.\n\nRevert Plan: ok\n\nOther Notes:\nThis risk was pointed out by Ben Maurer.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665461 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "20f009d6251af0f838c4ef8799d6b238cd230606",
      "tree": "35b26d27d4c7326e20947ef49c030c512dca4e4f",
      "parents": [
        "46379900138403d9012cc504d9143d971920ec91"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Feb 04 19:24:00 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Mon Feb 04 19:24:00 2008 +0000"
      },
      "message": "Thrift: Forgot to dereference a pointer.\n\nSummary:\nThis didn\u0027t get updated when the interface changed,\nand the cast silenced the warning message.  Stupid C.\n\nReviewed By: mcslee\n\nTest Plan: Trust Chad Walters.\n\nRevert Plan: ok\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665457 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "f495f367c9d7dd89c15b9732a7ac8d0db43596bf",
      "tree": "7d3510adfb14a0b9f45c3281e43d05b53344e711",
      "parents": [
        "d46eb09befca3e43b01a00476611c7a0c0fc0254"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Sat Feb 02 00:54:55 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Sat Feb 02 00:54:55 2008 +0000"
      },
      "message": "Thrift: Make borrow (almost) always succeed for TBufferedTransport.\n\nChad Walters is writing a JSON protocol for Thrift, but he wants\nborrow to always succeed.  That would be a pain to implement,\nbut here is a first step: borrow will almost always work with\nTBufferedTransport.\n\nReviewed by: mcslee\n\nTest Plan: Ran the DenseProtocol test and Zlib test, but more needs to be done.\n\nOther Notes:\nAlso reviewed by Chad Walters, and maybe Ben Maurer.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665455 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "d46eb09befca3e43b01a00476611c7a0c0fc0254",
      "tree": "dfd7091441c87b5a760c56a6bcc2cd9e0789c931",
      "parents": [
        "84e5022bfc9a815ce5f14e6effd980c6672da872"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Sat Feb 02 00:54:48 2008 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Sat Feb 02 00:54:48 2008 +0000"
      },
      "message": "Thrift: Update the interface for TTransport\u0027s \"borrow\" method.\n\nSummary:\nI don\u0027t know what I was thinking when I first wrote this.\nIt makes sense that the transport might not want to allocate its own memory,\nso the protocol is expected to provide a buffer for the data.\nHowever, if the transport already has the data buffered,\nthere is no need to memcpy it; it can just return a pointer into its buffer.\nThe new interface still requires the protocol to provide a buffer,\nbut allows the transport to return a pointer to an interal buffer.\nIn addition, I made len a pass-by-pointer parameter so that\nthe transport can return more than the requested data if it has it\navailable in its buffers.\n\nReviewed By: mcslee\n\nTest Plan: Ran the DenseProtocol test and the Zlib test.\n\nRevert Plan: ok\n\nOther Notes:\nAlso got this reviewed by Chad Walters from Powerset.\nBen Maurer suggested making len a reference parameter.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665454 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "2e8a8d40951ba3708ddb377e90e34b270bfc5446",
      "tree": "1a13a01d6dec6f6b69f40477a193199fd0df9b68",
      "parents": [
        "1c99140ec009fad8e8e03e9896ed078fabee7c98"
      ],
      "author": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Wed Jan 16 00:38:20 2008 +0000"
      },
      "committer": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Wed Jan 16 00:38:20 2008 +0000"
      },
      "message": "Make sure exceptinos in servers are caught\n\nSummary: There was potential for a write exception in close() because it might call flush() internally\n\nReviewed By: dreiss\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665430 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "e8abada6ad63306c38d2107601a5645ff8f1d22c",
      "tree": "22ddba2ae5d0353aeee37a674c011f7154c233a0",
      "parents": [
        "7ab31e4fd1bf3c6389d1743ee0e8554aa8b97ad4"
      ],
      "author": {
        "name": "pfung",
        "email": "dev-null@apache.org",
        "time": "Sat Jan 05 23:23:53 2008 +0000"
      },
      "committer": {
        "name": "pfung",
        "email": "dev-null@apache.org",
        "time": "Sat Jan 05 23:23:53 2008 +0000"
      },
      "message": "[Thrift] disabling catching general type exceptions in Tthreadpoolserver\n\nthe threadpoolserver should just crash if an unknown exception type is thrown.\n\nThis should probably be true for all server types, will put this on the TODO list.\n\nreviewed by jwang\ntest plan: network selector servers in production\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665412 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "832b262acab7656ce5d5541f010c29f060580693",
      "tree": "8fecf364acbfb94a60a1bcf929f8f891e5130510",
      "parents": [
        "65704511459cdfc0f3e7d70b5008ea4e18a6f538"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri Dec 28 18:25:33 2007 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri Dec 28 18:25:33 2007 +0000"
      },
      "message": "Thrift: Revamp build to use a single configure.ac.\n\nSummary:\nBen Maurer suggested that it would make sense for Thrift to build as\na single project, with one configure.ac and multiple Makefile.am.\nHe was also kind enough to do the heavy lifting, and this commit\nis the application of his patch (with minor modifications).\nThe most significant visible change from this diff is that\nin order to buidl one of the thrift sub-projects (i.e.: the compiler,\nthe C++ library, or the Python library) you must run bootstrap.sh\nand configure in the Thrift root, then make in the specific project.\nUsers who want to build and install the Python library but\ncan\u0027t run configure because they don\u0027t have Boost can simply\nrun setup.py directly.\n\nReviewed By: mcslee\n\nTest Plan: Built Thrift from scratch.\n\nRevert Plan: ok\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665409 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "4b6ff2dabcc67b437f9fb9e6930cb4705bd936df",
      "tree": "69506044310a25eca841ac4ddfac9088bcd2d171",
      "parents": [
        "f845b7d3e097097446067b3a0bc96c6dc85008ca"
      ],
      "author": {
        "name": "Aditya Agarwal",
        "email": "aditya@apache.org",
        "time": "Tue Dec 25 22:58:50 2007 +0000"
      },
      "committer": {
        "name": "Aditya Agarwal",
        "email": "aditya@apache.org",
        "time": "Tue Dec 25 22:58:50 2007 +0000"
      },
      "message": "-- Allow ThreadPoolManager tp return immediately from addTask\n\nSummary:\n- it should be possible to specify a zero timeout if the pendingTaskQueue\n  is already full\n\nReviewed By: marc\n\nTest Plan:\n- Tested in search\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665406 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "16cf270283cd08e53467baa765b05c0427a4f5b8",
      "tree": "ffa1212f0dd77b34bea3fd2f2d05d35528e2c258",
      "parents": [
        "eaa61e43630c68ee2e98f7b649047e45c524f9d8"
      ],
      "author": {
        "name": "dweatherford",
        "email": "dev-null@apache.org",
        "time": "Fri Dec 21 07:07:31 2007 +0000"
      },
      "committer": {
        "name": "dweatherford",
        "email": "dev-null@apache.org",
        "time": "Fri Dec 21 07:07:31 2007 +0000"
      },
      "message": "[thrift] Make TTransportException::getType const throw()\n\nSummary: const so that catching via \"catch (const TTransportException\u0026 e)\" works\n  properly, and throw() for good convention.\nReviewed By: mcslee\nTest Plan: still compiles\nRevert: ok\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665403 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "eaa61e43630c68ee2e98f7b649047e45c524f9d8",
      "tree": "c0aac25d067e39e31e0f5e6bcbb5b9ca378e7356",
      "parents": [
        "97264864df4e7c14d8a4323af6ad37e726c52ef9"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Dec 20 21:42:05 2007 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Thu Dec 20 21:42:05 2007 +0000"
      },
      "message": "Thrift: A hack to prevent incorrect usage of Mutex Guards.\n\nReviewed By: boz\n\nTest Plan:\ndreiss@dreiss-vmware:safe_concurrency:thrift/test$ nl -ba guard_test.cc\n     1  #include \"../lib/cpp/src/concurrency/Mutex.h\"\n     2  using facebook::thrift::concurrency::Guard;\n     3  void test() {\n     4    facebook::thrift::concurrency::Mutex m;\n     5    Guard(m);\n     6    Guard g1(m);\n     7\n     8    facebook::thrift::concurrency::ReadWriteMutex rwm;\n     9    facebook::thrift::concurrency::RWGuard(m);\n    10    facebook::thrift::concurrency::RWGuard g2(rwm);\n    11  }\ndreiss@dreiss-vmware:safe_concurrency:thrift/test$ g++ -c guard_test.cc\nguard_test.cc: In function ‘void test()’:\nguard_test.cc:5: error: ‘incorrect_use_of_Guard’ was not declared in this scope\nguard_test.cc:9: error: ‘incorrect_use_of_RWGuard’ is not a member of ‘facebook::thrift::concurrency’\ndreiss@dreiss-vmware:safe_concurrency:thrift/test$\n\nRevert Plan: ok\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665402 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "adad4ab20356d4c16f2df521b205aae7272c105f",
      "tree": "300dfb6d00a841773f2df1876b5d05d971023436",
      "parents": [
        "15457c9b08a75e0b5a8c82936151468bddfd27b8"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri Dec 14 20:56:04 2007 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri Dec 14 20:56:04 2007 +0000"
      },
      "message": "Thrift: Fix dangling pointer errors and make messages a bit more uniform.\n\nReviewed By: mcslee\n\nTest Plan: Honestly, just built the library.\n\nRevert Plan: ok\n\nOther Notes:\nThanks to Ben Maurer.\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665392 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "77a31384b89683f7cb5ae7132ca3961a88886793",
      "tree": "ced9915210d1b920fb93284cf07375b96cad10e5",
      "parents": [
        "78ee85c911891231030f2045cb17f98530abf9d9"
      ],
      "author": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Thu Dec 13 22:47:33 2007 +0000"
      },
      "committer": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Thu Dec 13 22:47:33 2007 +0000"
      },
      "message": "Use HAVE_SYS_TIME_H instead of HAVE_CLOCK_GETTIME\n\nSummary: Still need the right include here\n\nReviewed By: mcslee\n\nTest Plan: Paul Saab used this fix to build on Leopard\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665390 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "78ee85c911891231030f2045cb17f98530abf9d9",
      "tree": "445175e08e8935d897b93163c3bab81698d8ee71",
      "parents": [
        "ae3804f8f7941102d42230a59879dbec8f076223"
      ],
      "author": {
        "name": "pfung",
        "email": "dev-null@apache.org",
        "time": "Thu Dec 13 22:30:47 2007 +0000"
      },
      "committer": {
        "name": "pfung",
        "email": "dev-null@apache.org",
        "time": "Thu Dec 13 22:30:47 2007 +0000"
      },
      "message": "[Thrift] message debugging for std::exceptions\n\nstd::exceptions did not have debug messages printed\n\nreviewed by dreiss\ntest plan: compiles\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665389 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "ae3804f8f7941102d42230a59879dbec8f076223",
      "tree": "c6e391b51b59254e25a8003e0383d277afe00f61",
      "parents": [
        "c31769cceb013d947c2349f21285dfaf90d83fe2"
      ],
      "author": {
        "name": "James Wang",
        "email": "jwang@apache.org",
        "time": "Thu Dec 13 19:46:27 2007 +0000"
      },
      "committer": {
        "name": "James Wang",
        "email": "jwang@apache.org",
        "time": "Thu Dec 13 19:46:27 2007 +0000"
      },
      "message": "Fix to TThriftTransport corruption detection\n\nSummary: O_APPEND means that even if the file pointer is in the middle of the file, the next write will go to the end of the file. So when initializing the TThriftTransport to be written to, we need to truncate the file after the last good event.  I\u0027m pretty sure this was what was causing queuemap log corruption when the multiplexer is restarted.\n\n         The corruption doesn\u0027t necessarily go away at the next chunk boundary because of the offset being recalculated.  I think it\u0027s good to have the offset recalculated, but then we shouldn\u0027t use the old chunk boundary data there, but rather use the newly calculated offset to determine the padding (could be an entire chunk, but that\u0027s okay -- way better than corruption)\n\nReviewed By: mcslee\n\nTest Plan: Wrote to a ThriftFile using local scribe instance. Printed it. Then cat\u0027d garbage to it from the command line. Then wrote to it again. Then printed it again.  Seems to work fine, whereas with old scribe binary the later entries were corrupted.\n\nRevert: OK\n\nDiffCamp Revision: 4683\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665388 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "c31769cceb013d947c2349f21285dfaf90d83fe2",
      "tree": "c44fc12e94898f77a0ba5189e763c9277c91d297",
      "parents": [
        "5d1784a7b41939e2ac09005c688b5d8165e3b323"
      ],
      "author": {
        "name": "Aditya Agarwal",
        "email": "aditya@apache.org",
        "time": "Tue Dec 11 22:23:51 2007 +0000"
      },
      "committer": {
        "name": "Aditya Agarwal",
        "email": "aditya@apache.org",
        "time": "Tue Dec 11 22:23:51 2007 +0000"
      },
      "message": "-- better error checking for setRecvTimeout and setSendTimeout\n\nSummary:\n- could help prevent a 2.6.13 kernel bug\n\nReviewed By: mcslee, dreiss\n\nTest Plan:\n- Testing kernel crashes\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665387 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "5d1784a7b41939e2ac09005c688b5d8165e3b323",
      "tree": "802c0eb8384242e91a09037a01d2e8018fa66cde",
      "parents": [
        "3f14d3ebec2028bbacbeb0991b236152f2912d1b"
      ],
      "author": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Wed Dec 05 23:20:54 2007 +0000"
      },
      "committer": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Wed Dec 05 23:20:54 2007 +0000"
      },
      "message": "Failing to init eventBase_ to NULL in one constructor\n\nReviewed By: dreiss\n\nTest Plan: See if scribe works for powerset\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665386 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "c37b4c5193c344d6827a197bb86c718b42d74e47",
      "tree": "e4abf0f936a4f47a5598aa1992c1ec1dcca72a4a",
      "parents": [
        "2323cf642226468e6363b031fad6d9f64a45cb9f"
      ],
      "author": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Wed Dec 05 23:03:37 2007 +0000"
      },
      "committer": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Wed Dec 05 23:03:37 2007 +0000"
      },
      "message": "Remove unnecessary mutex from C++ socket code\n\nSummary: This is a threadsafe syscall, as it turns out.\n\nReviewed By: hzhao\n\nTest Plan: Thrift Client C++ sockets don\u0027t lock\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665384 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "2323cf642226468e6363b031fad6d9f64a45cb9f",
      "tree": "0a5c012af4174f85a6397cd949b8a3a29cb7f88a",
      "parents": [
        "ef22dc652fbfaa7b7c718f752f2ca5b1fecdf94e"
      ],
      "author": {
        "name": "dweatherford",
        "email": "dev-null@apache.org",
        "time": "Wed Dec 05 03:40:19 2007 +0000"
      },
      "committer": {
        "name": "dweatherford",
        "email": "dev-null@apache.org",
        "time": "Wed Dec 05 03:40:19 2007 +0000"
      },
      "message": "[thrift] Better default TApplicationException messages\n\nSummary: \"Default TApplicationException\" is pretty meaningless; if we have this\n  extra type information, we might as well present it.\n\nReviewed By: mcslee\nTest Plan: caught a couple of INVALID_MESSAGE_TYPE tapplicationexceptions\nRevert: ok\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665383 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "ef22dc652fbfaa7b7c718f752f2ca5b1fecdf94e",
      "tree": "6c2c0d3a89436d4d4c602e9a15993dd6f08c557b",
      "parents": [
        "9860ee2c86971cbbc1d2593ad67f8ea5bbf2aaa5"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri Nov 30 20:38:49 2007 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Fri Nov 30 20:38:49 2007 +0000"
      },
      "message": "Thrift: Make some server methods public.\n\nReviewed By: mcslee\n\nTest Plan: Compiles.\n\nRevert Plan: ok\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665382 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "b16074d53bd7b66d1e34dc6623637d59be717db5",
      "tree": "bbd9d04e144848717897bf23f35bd142ffb13289",
      "parents": [
        "d0f5b28835d80fc9a0f7bdb61e88e32b98a911c0"
      ],
      "author": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Wed Nov 28 05:54:33 2007 +0000"
      },
      "committer": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Wed Nov 28 05:54:33 2007 +0000"
      },
      "message": "Add pkgconfig to Thrift C++ libraries\n\nReviewed By: mcslee\n\nOther Notes: Submitted by Ben Maurer\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665377 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "b4d3e7b052c960a5ab96310f7cb16ba46e6d32b4",
      "tree": "146204125b41bf5ae4f186bd767b21941522eac1",
      "parents": [
        "b45529269934a053b03528e287e66812e1109ad3"
      ],
      "author": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Wed Nov 28 01:51:43 2007 +0000"
      },
      "committer": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Wed Nov 28 01:51:43 2007 +0000"
      },
      "message": "Create a TServerEventHandler interface in TServer\n\nSummary: Such that users can supply an event handler to a server that will be used to signal various events that take place inside the server core.\n\nReviewed By: dreiss\n\nTest Plan: Rebuilt all servers, work by default\n\nOther Notes: Partially submitted and also reviewed by Dave Simpson at Powerset\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665371 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "b45529269934a053b03528e287e66812e1109ad3",
      "tree": "fa7700a9706bd25b1370a3d20954ee47959bd08e",
      "parents": [
        "fe6ed0dff423a405fabd61e4bef3e490506ba2ba"
      ],
      "author": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Wed Nov 28 00:12:11 2007 +0000"
      },
      "committer": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Wed Nov 28 00:12:11 2007 +0000"
      },
      "message": "Add a few utility methods and helpers to Thrift C++ Sockets\n\nSummary: Submitted by Dave Simpson @ Powerset.\n\nReviewed By: mcslee\n\nTest Plan: test/cpp\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665370 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "256bdc444866b90bbdccfb5343e9c9ea8c22603c",
      "tree": "4348ac98f2cf36305bbddfca45686a40e097093d",
      "parents": [
        "844ac12489600d7647f01ab4f9b99d9e1b81e69e"
      ],
      "author": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Tue Nov 27 08:42:19 2007 +0000"
      },
      "committer": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Tue Nov 27 08:42:19 2007 +0000"
      },
      "message": "IPv6 tweaks for Thrift\n\nSummary: Need to pass hints including AI_ADDRCONFIG to getaddrinfo to make sure no IPv6 addresses come back on non-IPv6 enabled systems\n\nReviewed By: mcslee\n\nOther Notes: Submitted by Paul Saab\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665368 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "79b1694043e07a673c343c42ad75d72f3b560539",
      "tree": "617cb13f6ab9b974ded27479c7579b732907bd08",
      "parents": [
        "7962223ce299bbeb20348b3819a423a72efa2335"
      ],
      "author": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Mon Nov 26 19:05:29 2007 +0000"
      },
      "committer": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Mon Nov 26 19:05:29 2007 +0000"
      },
      "message": "Refactor TNonblockingServer to use event_base construct\n\nSummary: This allows the event loop to be shared across different components of a program of for a separate thread in a TNonblockingServer to safely use its own libevent code without conflicts.\n\nReviewed By: mcslee\n\nTest Plan: Updated test/ committed here\n\nOther Notes: submitted by Ben Maurer, patched in by mcslee with slight modifications\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665364 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "fb4b514028ed073302ffa8d3dcbfba3a89b427f0",
      "tree": "2ef7120fc936e0dfd3f78bbdd1ef089e34bc8b62",
      "parents": [
        "b6014f494f41ecee4f8e1c7264e99a883805e99f"
      ],
      "author": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Tue Nov 20 01:27:08 2007 +0000"
      },
      "committer": {
        "name": "Mark Slee",
        "email": "mcslee@apache.org",
        "time": "Tue Nov 20 01:27:08 2007 +0000"
      },
      "message": "IPv6 support for the TNonBlockingServer\n\nSummary: Need to use IPv6 compliant constructs here. Submitted by Paul Saab.\n\nReviewed By: dreiss\n\nTest Plan: Rebuild Thrift TNonblockingServer with this patch and verify behaves just the same\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665353 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "3788038a3564e131372b3e54832d513dcc36917f",
      "tree": "8c48456d8d15b31b21175b8773a8b24c125b66dc",
      "parents": [
        "0502e61fb99d4aab9717e2ba42ac6d9987ea5e2d"
      ],
      "author": {
        "name": "Aditya Agarwal",
        "email": "aditya@apache.org",
        "time": "Tue Nov 06 06:33:06 2007 +0000"
      },
      "committer": {
        "name": "Aditya Agarwal",
        "email": "aditya@apache.org",
        "time": "Tue Nov 06 06:33:06 2007 +0000"
      },
      "message": "-- ensure that flush is called in close() of any wrapper transport\n\nSummary:\n- unflushed data should be flushed when transport is closed\n- this diff calls flush for TBufferedTransport and TFramedTransport\n\nReviewed By: dreiss\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665323 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "14b0ed6fad8fab2a22595f6a2a0407cf1b211763",
      "tree": "82c438f8426124c8d5298373827f9e5c4a172603",
      "parents": [
        "2b9ddab14cf8bc64e50e3f2cf2334b9503b60866"
      ],
      "author": {
        "name": "dweatherford",
        "email": "dev-null@apache.org",
        "time": "Fri Oct 19 01:03:32 2007 +0000"
      },
      "committer": {
        "name": "dweatherford",
        "email": "dev-null@apache.org",
        "time": "Fri Oct 19 01:03:32 2007 +0000"
      },
      "message": "[thrift] TSocket host and port getters\n\nSummary: \"Porting\" this feature from PHP; I find it useful in the Synapse client.\nReviewed By: mcslee\nTest Plan: It compiles, ship it!\nRevert: svn\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665304 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "2b9ddab14cf8bc64e50e3f2cf2334b9503b60866",
      "tree": "3ae2c7dcee501a9efb0e164c276af714af85b8f7",
      "parents": [
        "65e595f54fb188b112ef050fbd56914b509f7b2e"
      ],
      "author": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 17 03:39:55 2007 +0000"
      },
      "committer": {
        "name": "David Reiss",
        "email": "dreiss@apache.org",
        "time": "Wed Oct 17 03:39:55 2007 +0000"
      },
      "message": "Thrift: Kill a warning.\n\nSummary:\nThese should always have been const.\n\nReviewed By: mcslee\n\nTest Plan:\nRe-ran the dense protocol test.\n\nRevert Plan: ok\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665303 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "d1372829e65dcca66ab0ca75a20919e76bbf7fc9",
      "tree": "410e4bd08e9febf46b94a40b0cbb8727b50999d4",
      "parents": [
        "34b2926d5ca9b6068fa863e7d5e0a4055cbbef30"
      ],
      "author": {
        "name": "dweatherford",
        "email": "dev-null@apache.org",
        "time": "Tue Oct 09 22:57:23 2007 +0000"
      },
      "committer": {
        "name": "dweatherford",
        "email": "dev-null@apache.org",
        "time": "Tue Oct 09 22:57:23 2007 +0000"
      },
      "message": "[thrift] TSocketPool::addServer, c++ version\n\nSummary: Same thing as the previous PHP change. Also includes a new constructor for easy building of a TSocketPool with a single host (for later filling in via addServer) without extra std::vector boxing/unboxing.\n\nReviewed By: mcslee\n\nTest Plan: Synapse c++ client at r62896 uses this.\n\nRevert: OK\n\nTracCamp Project: Thrift\n\nDiffCamp Revision: 909\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665297 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "145429602687d1785c485bcd1ea9dcd83f28bda4",
      "tree": "ab61887bb062628587ca928e29bfd33693ff9d15",
      "parents": [
        "73e3dd7d5fdd30301816982d2cd6a961380538ac"
      ],
      "author": {
        "name": "yunfang",
        "email": "dev-null@apache.org",
        "time": "Wed Oct 03 22:59:41 2007 +0000"
      },
      "committer": {
        "name": "yunfang",
        "email": "dev-null@apache.org",
        "time": "Wed Oct 03 22:59:41 2007 +0000"
      },
      "message": "[Explicitly declare shared_ptr]\nSummary:\njust some simple styling changes. moving  using boost::shared_ptr to .cpp\n  and using the full path name in .h\nReviewed by: boz, dreiss\nTest Plan: compiled and tested on the adfinder\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665289 13f79535-47bb-0310-9956-ffa450edef68\n"
    },
    {
      "commit": "19cee90ca41922a4437d547a2298201359bbcdcc",
      "tree": "b39d2712ba039decb838237549fdb846432e0b63",
      "parents": [
        "623096780fa745658e6336390c8e45bfd1f28d24"
      ],
      "author": {
        "name": "boz",
        "email": "dev-null@apache.org",
        "time": "Sat Sep 22 23:08:11 2007 +0000"
      },
      "committer": {
        "name": "boz",
        "email": "dev-null@apache.org",
        "time": "Sat Sep 22 23:08:11 2007 +0000"
      },
      "message": "THRIFT: Make the mutex assignable\n\nSummary: we need to use a shared_ptr instead of an old fashioned one if we\u0027re\ngoing to stick with this PIMPL model\n\nReviewed By: dreiss, marc\n\nTest Plan: test program didn\u0027t fail or leak memory, foreman (fb303 client)\nworked without problem\n\nRevert Plan: just make sure you find some other solution to this problem\n\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665280 13f79535-47bb-0310-9956-ffa450edef68\n"
    }
  ],
  "next": "623096780fa745658e6336390c8e45bfd1f28d24"
}
