)]}'
{
  "commit": "0e22c362b967bd3765ee3da349faa789904a0707",
  "tree": "cf7271e15659c1181abb6ed8c57b599d79d026f3",
  "parents": [
    "9db23b7be330f47037b4e3e5e374eda5e38b0dfd"
  ],
  "author": {
    "name": "Allen George",
    "email": "allen.george@gmail.com",
    "time": "Mon Jan 30 07:15:00 2017 -0500"
  },
  "committer": {
    "name": "James E. King, III",
    "email": "jking@apache.org",
    "time": "Thu Apr 27 08:46:02 2017 -0400"
  },
  "message": "THRIFT-4176: Implement threaded server for Rust\nClient: rs\n\n* Create a TIoChannel construct\n* Separate TTransport into TReadTransport and TWriteTransport\n* Restructure types to avoid shared ownership\n* Remove user-visible boxing and ref-counting\n* Replace TSimpleServer with a thread-pool based TServer\n\nThis closes #1255\n",
  "tree_diff": [
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "2962d47aaec384f737fd3563321a8ace8580de7e",
      "new_mode": 33188,
      "new_path": ".rustfmt.toml"
    },
    {
      "type": "modify",
      "old_id": "c34ed173fbeb1025c212971d5b03434e68934f14",
      "old_mode": 33188,
      "old_path": "compiler/cpp/src/thrift/generate/t_rs_generator.cc",
      "new_id": "30f46f2277e680703375996cdbbf8c293300f3f6",
      "new_mode": 33188,
      "new_path": "compiler/cpp/src/thrift/generate/t_rs_generator.cc"
    },
    {
      "type": "modify",
      "old_id": "07c5e6754d53b1c2e7202bdfeb5e96b79bdb7987",
      "old_mode": 33188,
      "old_path": "lib/rs/Cargo.toml",
      "new_id": "be34785afbb57904f05e02237f741ff10594a6ca",
      "new_mode": 33188,
      "new_path": "lib/rs/Cargo.toml"
    },
    {
      "type": "modify",
      "old_id": "289c7be9a655cb4af2e5c84740ea790d8f1e70bc",
      "old_mode": 33188,
      "old_path": "lib/rs/src/autogen.rs",
      "new_id": "54d4080e82b1b18590a8ed838aabc478ac2f7c6c",
      "new_mode": 33188,
      "new_path": "lib/rs/src/autogen.rs"
    },
    {
      "type": "modify",
      "old_id": "a6049d5a0304c1af61a0b79a7e8afa743658dcf0",
      "old_mode": 33188,
      "old_path": "lib/rs/src/errors.rs",
      "new_id": "e36cb3b608eaef38d3fb9e0f78012c3776a34800",
      "new_mode": 33188,
      "new_path": "lib/rs/src/errors.rs"
    },
    {
      "type": "modify",
      "old_id": "ad187214603bb84d96804d36729f8ec7efc1d5cd",
      "old_mode": 33188,
      "old_path": "lib/rs/src/lib.rs",
      "new_id": "7ebb10cc42d977a09a32c22332e53514083d5355",
      "new_mode": 33188,
      "new_path": "lib/rs/src/lib.rs"
    },
    {
      "type": "modify",
      "old_id": "54613a532115220409f70fcbc7159f726d50d649",
      "old_mode": 33188,
      "old_path": "lib/rs/src/protocol/binary.rs",
      "new_id": "e03ec943788d523ee9c6f3dbc292f4e35a84af7a",
      "new_mode": 33188,
      "new_path": "lib/rs/src/protocol/binary.rs"
    },
    {
      "type": "modify",
      "old_id": "353514d30d49d63dcd6691e16f02a71be9cc86be",
      "old_mode": 33188,
      "old_path": "lib/rs/src/protocol/compact.rs",
      "new_id": "dfe11f8523960a2c1a05af030d385d2ceacb209e",
      "new_mode": 33188,
      "new_path": "lib/rs/src/protocol/compact.rs"
    },
    {
      "type": "modify",
      "old_id": "b230d636388b15da98060d7ccaac91127acaf366",
      "old_mode": 33188,
      "old_path": "lib/rs/src/protocol/mod.rs",
      "new_id": "4f139147c9ebc9c1c41e280381ee16ab87b34184",
      "new_mode": 33188,
      "new_path": "lib/rs/src/protocol/mod.rs"
    },
    {
      "type": "modify",
      "old_id": "a30aca80a8b958f08397645f74158e4f917bc4bc",
      "old_mode": 33188,
      "old_path": "lib/rs/src/protocol/multiplexed.rs",
      "new_id": "db08027f2bd997fb139671b363246c83e95ddc76",
      "new_mode": 33188,
      "new_path": "lib/rs/src/protocol/multiplexed.rs"
    },
    {
      "type": "modify",
      "old_id": "6826c00a8744a5e0ba5d949523c4847920dcce92",
      "old_mode": 33188,
      "old_path": "lib/rs/src/protocol/stored.rs",
      "new_id": "b3f305f031aa6b3e9a4dff1099c8449e4faaf485",
      "new_mode": 33188,
      "new_path": "lib/rs/src/protocol/stored.rs"
    },
    {
      "type": "modify",
      "old_id": "ceac18a6238b94fa79c148ed3ccf4d7d648a0e87",
      "old_mode": 33188,
      "old_path": "lib/rs/src/server/mod.rs",
      "new_id": "21c392c45196c9b307b0fd710123614f7c69150b",
      "new_mode": 33188,
      "new_path": "lib/rs/src/server/mod.rs"
    },
    {
      "type": "modify",
      "old_id": "d2314a12afa5f37701a97812dcf1e89b46e74156",
      "old_mode": 33188,
      "old_path": "lib/rs/src/server/multiplexed.rs",
      "new_id": "b1243a86fc88ba39cfa29f00ef4520198885c646",
      "new_mode": 33188,
      "new_path": "lib/rs/src/server/multiplexed.rs"
    },
    {
      "type": "delete",
      "old_id": "89ed9778e52e6de32a46e5dfe71bf1034348fc86",
      "old_mode": 33188,
      "old_path": "lib/rs/src/server/simple.rs",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a486c5aad8a21221dbd5e0055161248c1b5c289e",
      "new_mode": 33188,
      "new_path": "lib/rs/src/server/threaded.rs"
    },
    {
      "type": "modify",
      "old_id": "3f240d82a1aabbf1e9268ac9068c02ee06137f4a",
      "old_mode": 33188,
      "old_path": "lib/rs/src/transport/buffered.rs",
      "new_id": "b588ec1a7e640aa9328168fb0b823820aa95d5c1",
      "new_mode": 33188,
      "new_path": "lib/rs/src/transport/buffered.rs"
    },
    {
      "type": "modify",
      "old_id": "75c12f4358f0cf1cda10f721c384db7a42bcfa13",
      "old_mode": 33188,
      "old_path": "lib/rs/src/transport/framed.rs",
      "new_id": "d78d2f7a195c7461cbfafe47a31eff581fb8fb17",
      "new_mode": 33188,
      "new_path": "lib/rs/src/transport/framed.rs"
    },
    {
      "type": "modify",
      "old_id": "97ec50345d06cac28110bdab65e52dff4bdd3837",
      "old_mode": 33188,
      "old_path": "lib/rs/src/transport/mem.rs",
      "new_id": "86ac6bb25f288d3beec2ad893eb0e7928785f1dd",
      "new_mode": 33188,
      "new_path": "lib/rs/src/transport/mem.rs"
    },
    {
      "type": "modify",
      "old_id": "1c39f50878a32060e752d06256c0a26aa8762382",
      "old_mode": 33188,
      "old_path": "lib/rs/src/transport/mod.rs",
      "new_id": "939278643b413aa54cacab10f8354ccb63f7c1a7",
      "new_mode": 33188,
      "new_path": "lib/rs/src/transport/mod.rs"
    },
    {
      "type": "delete",
      "old_id": "60dc3a63fc9150c7ba0028a2636987957a32d62a",
      "old_mode": 33188,
      "old_path": "lib/rs/src/transport/passthru.rs",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "9f2b8ba31e71c24027d19bbec484574a2c3a439c",
      "old_mode": 33188,
      "old_path": "lib/rs/src/transport/socket.rs",
      "new_id": "16b59ef216a3670db0354ab2c2faf12ff7ff12fc",
      "new_mode": 33188,
      "new_path": "lib/rs/src/transport/socket.rs"
    },
    {
      "type": "modify",
      "old_id": "27171beffde13c7fc9574ffc286fbb4526b628be",
      "old_mode": 33188,
      "old_path": "lib/rs/test/src/bin/kitchen_sink_client.rs",
      "new_id": "9738298cb04e0cd994fb3cdadbb73f89319397fa",
      "new_mode": 33188,
      "new_path": "lib/rs/test/src/bin/kitchen_sink_client.rs"
    },
    {
      "type": "modify",
      "old_id": "4ce4fa3770f043bf602d3076f9b8b92b67fad2ea",
      "old_mode": 33188,
      "old_path": "lib/rs/test/src/bin/kitchen_sink_server.rs",
      "new_id": "19112cdbbffc069c0be82cadd3ffb51a42eb28dd",
      "new_mode": 33188,
      "new_path": "lib/rs/test/src/bin/kitchen_sink_server.rs"
    },
    {
      "type": "modify",
      "old_id": "8a7ccd0ae4fd05c407d38a6adad940a433fb5d0a",
      "old_mode": 33188,
      "old_path": "lib/rs/test/src/lib.rs",
      "new_id": "53f48734094e78202c857f495b07e295dd3b1217",
      "new_mode": 33188,
      "new_path": "lib/rs/test/src/lib.rs"
    },
    {
      "type": "modify",
      "old_id": "a2ea832040faefcf7a7263de87019389334ab8e6",
      "old_mode": 33188,
      "old_path": "test/rs/src/bin/test_client.rs",
      "new_id": "aad78a05862d909ba8762fa04ecd865d38d65078",
      "new_mode": 33188,
      "new_path": "test/rs/src/bin/test_client.rs"
    },
    {
      "type": "modify",
      "old_id": "613cd55592e967e297ae7f645be0becda6c39a06",
      "old_mode": 33188,
      "old_path": "test/rs/src/bin/test_server.rs",
      "new_id": "9c738ab01e3754615eecc386d2e58b34de08d6e6",
      "new_mode": 33188,
      "new_path": "test/rs/src/bin/test_server.rs"
    },
    {
      "type": "modify",
      "old_id": "4d0d7c8af40909c260334968953294b8a0196e9d",
      "old_mode": 33188,
      "old_path": "tutorial/rs/README.md",
      "new_id": "384e9f8bb3031a81490d3356a641ac86ee65a847",
      "new_mode": 33188,
      "new_path": "tutorial/rs/README.md"
    },
    {
      "type": "modify",
      "old_id": "2b0d4f9084acd22645fdcda02f16f6d36357596a",
      "old_mode": 33188,
      "old_path": "tutorial/rs/src/bin/tutorial_client.rs",
      "new_id": "24ab4be060396bbc8a1f670b7927eaf816172692",
      "new_mode": 33188,
      "new_path": "tutorial/rs/src/bin/tutorial_client.rs"
    },
    {
      "type": "modify",
      "old_id": "9cc186649b659a2e77527162c2a0f740550c8ad5",
      "old_mode": 33188,
      "old_path": "tutorial/rs/src/bin/tutorial_server.rs",
      "new_id": "8db8eed26d5627151cd15f2ddc2651db032a420a",
      "new_mode": 33188,
      "new_path": "tutorial/rs/src/bin/tutorial_server.rs"
    }
  ]
}
