You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@thrift.apache.org by je...@apache.org on 2017/01/26 00:44:02 UTC

[7/7] thrift git commit: THRIFT-2945 Add Rust support Client: Rust Patch: Allen George

THRIFT-2945 Add Rust support
Client: Rust
Patch: Allen George <al...@gmail.com>

This closes #1147


Project: http://git-wip-us.apache.org/repos/asf/thrift/repo
Commit: http://git-wip-us.apache.org/repos/asf/thrift/commit/8b96bfbf
Tree: http://git-wip-us.apache.org/repos/asf/thrift/tree/8b96bfbf
Diff: http://git-wip-us.apache.org/repos/asf/thrift/diff/8b96bfbf

Branch: refs/heads/master
Commit: 8b96bfbf1eb058d3c378535e90c1e90280224bb4
Parents: 6fe7fa1
Author: Allen George <al...@gmail.com>
Authored: Wed Nov 2 08:01:08 2016 -0400
Committer: Jens Geyer <je...@apache.org>
Committed: Thu Jan 26 01:34:16 2017 +0100

----------------------------------------------------------------------
 .gitignore                                      |   23 +
 Makefile.am                                     |    2 +-
 compiler/cpp/CMakeLists.txt                     |    1 +
 compiler/cpp/Makefile.am                        |    3 +-
 compiler/cpp/compiler.vcxproj                   |    1 +
 compiler/cpp/compiler.vcxproj.filters           |    5 +-
 .../cpp/src/thrift/generate/t_rs_generator.cc   | 3164 ++++++++++++++++++
 configure.ac                                    |   38 +
 lib/Makefile.am                                 |    4 +
 lib/rs/Cargo.toml                               |   18 +
 lib/rs/Makefile.am                              |   46 +
 lib/rs/README.md                                |   60 +
 lib/rs/src/autogen.rs                           |   45 +
 lib/rs/src/errors.rs                            |  678 ++++
 lib/rs/src/lib.rs                               |   87 +
 lib/rs/src/protocol/binary.rs                   |  817 +++++
 lib/rs/src/protocol/compact.rs                  | 2085 ++++++++++++
 lib/rs/src/protocol/mod.rs                      |  709 ++++
 lib/rs/src/protocol/multiplexed.rs              |  219 ++
 lib/rs/src/protocol/stored.rs                   |  191 ++
 lib/rs/src/server/mod.rs                        |   95 +
 lib/rs/src/server/multiplexed.rs                |   92 +
 lib/rs/src/server/simple.rs                     |  189 ++
 lib/rs/src/transport/buffered.rs                |  400 +++
 lib/rs/src/transport/framed.rs                  |  187 ++
 lib/rs/src/transport/mem.rs                     |  342 ++
 lib/rs/src/transport/mod.rs                     |   51 +
 lib/rs/src/transport/passthru.rs                |   73 +
 lib/rs/src/transport/socket.rs                  |  141 +
 lib/rs/test/Cargo.toml                          |   15 +
 lib/rs/test/Makefile.am                         |   49 +
 lib/rs/test/src/bin/kitchen_sink_client.rs      |  142 +
 lib/rs/test/src/bin/kitchen_sink_server.rs      |  225 ++
 lib/rs/test/src/lib.rs                          |   53 +
 lib/rs/test/thrifts/Base_One.thrift             |   62 +
 lib/rs/test/thrifts/Base_Two.thrift             |   44 +
 lib/rs/test/thrifts/Midlayer.thrift             |   62 +
 lib/rs/test/thrifts/Ultimate.thrift             |   49 +
 test/Makefile.am                                |    6 +
 test/rs/Cargo.toml                              |   15 +
 test/rs/Makefile.am                             |   42 +
 test/rs/src/bin/test_client.rs                  |  500 +++
 test/rs/src/bin/test_server.rs                  |  337 ++
 test/rs/src/lib.rs                              |   23 +
 test/tests.json                                 |   26 +
 tutorial/Makefile.am                            |    4 +
 tutorial/rs/Cargo.toml                          |   16 +
 tutorial/rs/Makefile.am                         |   52 +
 tutorial/rs/README.md                           |  330 ++
 tutorial/rs/src/bin/tutorial_client.rs          |  136 +
 tutorial/rs/src/bin/tutorial_server.rs          |  168 +
 tutorial/rs/src/lib.rs                          |   23 +
 52 files changed, 12142 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/thrift/blob/8b96bfbf/.gitignore
----------------------------------------------------------------------
diff --git a/.gitignore b/.gitignore
index 9d2463e..0a98a13 100644
--- a/.gitignore
+++ b/.gitignore
@@ -261,6 +261,17 @@ project.lock.json
 /lib/erl/logs/
 /lib/go/test/gopath/
 /lib/go/test/ThriftTest.thrift
+/lib/rs/target/
+/lib/rs/Cargo.lock
+/lib/rs/test/Cargo.lock
+/lib/rs/test/target/
+/lib/rs/test/bin/
+/lib/rs/test/src/base_one.rs
+/lib/rs/test/src/base_two.rs
+/lib/rs/test/src/midlayer.rs
+/lib/rs/test/src/ultimate.rs
+/lib/rs/*.iml
+/lib/rs/**/*.iml
 /libtool
 /ltmain.sh
 /missing
@@ -300,6 +311,12 @@ project.lock.json
 /test/netcore/**/obj
 /test/netcore/**/gen-*
 /test/netcore/Thrift
+/test/rs/Cargo.lock
+/test/rs/src/thrift_test.rs
+/test/rs/bin/
+/test/rs/target/
+/test/rs/*.iml
+/test/rs/**/*.iml
 /tutorial/cpp/TutorialClient
 /tutorial/cpp/TutorialServer
 /tutorial/c_glib/tutorial_client
@@ -338,4 +355,10 @@ project.lock.json
 /tutorial/netcore/**/obj
 /tutorial/netcore/**/gen-*
 /tutorial/netcore/Thrift
+/tutorial/rs/*.iml
+/tutorial/rs/src/shared.rs
+/tutorial/rs/src/tutorial.rs
+/tutorial/rs/bin
+/tutorial/rs/target
+/tutorial/rs/Cargo.lock
 /ylwrap

http://git-wip-us.apache.org/repos/asf/thrift/blob/8b96bfbf/Makefile.am
----------------------------------------------------------------------
diff --git a/Makefile.am b/Makefile.am
index ed58265..89a0adc 100755
--- a/Makefile.am
+++ b/Makefile.am
@@ -54,7 +54,7 @@ empty :=
 space := $(empty) $(empty)
 comma := ,
 
-CROSS_LANGS = @MAYBE_CPP@ @MAYBE_C_GLIB@ @MAYBE_D@ @MAYBE_JAVA@ @MAYBE_CSHARP@ @MAYBE_PYTHON@ @MAYBE_PY3@ @MAYBE_RUBY@ @MAYBE_HASKELL@ @MAYBE_PERL@ @MAYBE_PHP@ @MAYBE_GO@ @MAYBE_NODEJS@ @MAYBE_DART@ @MAYBE_ERLANG@ @MAYBE_LUA@
+CROSS_LANGS = @MAYBE_CPP@ @MAYBE_C_GLIB@ @MAYBE_D@ @MAYBE_JAVA@ @MAYBE_CSHARP@ @MAYBE_PYTHON@ @MAYBE_PY3@ @MAYBE_RUBY@ @MAYBE_HASKELL@ @MAYBE_PERL@ @MAYBE_PHP@ @MAYBE_GO@ @MAYBE_NODEJS@ @MAYBE_DART@ @MAYBE_ERLANG@ @MAYBE_LUA@ @MAYBE_RS@
 CROSS_LANGS_COMMA_SEPARATED = $(subst $(space),$(comma),$(CROSS_LANGS))
 
 if WITH_PY3

http://git-wip-us.apache.org/repos/asf/thrift/blob/8b96bfbf/compiler/cpp/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/compiler/cpp/CMakeLists.txt b/compiler/cpp/CMakeLists.txt
index 9f7585d..8e861e4 100644
--- a/compiler/cpp/CMakeLists.txt
+++ b/compiler/cpp/CMakeLists.txt
@@ -101,6 +101,7 @@ THRIFT_ADD_COMPILER(go      "Enable compiler for Go" ON)
 THRIFT_ADD_COMPILER(d       "Enable compiler for D" ON)
 THRIFT_ADD_COMPILER(lua     "Enable compiler for Lua" ON)
 THRIFT_ADD_COMPILER(gv      "Enable compiler for GraphViz" ON)
+THRIFT_ADD_COMPILER(rs      "Enable compiler for Rust" ON)
 THRIFT_ADD_COMPILER(xml     "Enable compiler for XML" ON)
 
 # Thrift is looking for include files in the src directory

http://git-wip-us.apache.org/repos/asf/thrift/blob/8b96bfbf/compiler/cpp/Makefile.am
----------------------------------------------------------------------
diff --git a/compiler/cpp/Makefile.am b/compiler/cpp/Makefile.am
index 5d424b4..5082033 100644
--- a/compiler/cpp/Makefile.am
+++ b/compiler/cpp/Makefile.am
@@ -107,7 +107,8 @@ thrift_SOURCES += src/thrift/generate/t_c_glib_generator.cc \
                   src/thrift/generate/t_go_generator.cc \
                   src/thrift/generate/t_gv_generator.cc \
                   src/thrift/generate/t_d_generator.cc \
-                  src/thrift/generate/t_lua_generator.cc
+                  src/thrift/generate/t_lua_generator.cc \
+                  src/thrift/generate/t_rs_generator.cc
 
 thrift_CPPFLAGS = -I$(srcdir)/src
 thrift_CXXFLAGS = -Wall -Wextra -pedantic

http://git-wip-us.apache.org/repos/asf/thrift/blob/8b96bfbf/compiler/cpp/compiler.vcxproj
----------------------------------------------------------------------
diff --git a/compiler/cpp/compiler.vcxproj b/compiler/cpp/compiler.vcxproj
index 1e86360..4b03253 100644
--- a/compiler/cpp/compiler.vcxproj
+++ b/compiler/cpp/compiler.vcxproj
@@ -79,6 +79,7 @@
     <ClCompile Include="src\thrift\generate\t_php_generator.cc" />
     <ClCompile Include="src\thrift\generate\t_py_generator.cc" />
     <ClCompile Include="src\thrift\generate\t_rb_generator.cc" />
+    <ClCompile Include="src\thrift\generate\t_rs_generator.cc" />
     <ClCompile Include="src\thrift\generate\t_st_generator.cc" />
     <ClCompile Include="src\thrift\generate\t_swift_generator.cc" />
     <ClCompile Include="src\thrift\generate\t_xml_generator.cc" />

http://git-wip-us.apache.org/repos/asf/thrift/blob/8b96bfbf/compiler/cpp/compiler.vcxproj.filters
----------------------------------------------------------------------
diff --git a/compiler/cpp/compiler.vcxproj.filters b/compiler/cpp/compiler.vcxproj.filters
index 9b14bbf..b96865b 100644
--- a/compiler/cpp/compiler.vcxproj.filters
+++ b/compiler/cpp/compiler.vcxproj.filters
@@ -161,6 +161,9 @@
     <ClCompile Include="src\generate\t_rb_generator.cc">
       <Filter>generate</Filter>
     </ClCompile>
+    <ClCompile Include="src\generate\t_rs_generator.cc">
+      <Filter>generate</Filter>
+    </ClCompile>
     <ClCompile Include="src\generate\t_st_generator.cc">
       <Filter>generate</Filter>
     </ClCompile>
@@ -193,4 +196,4 @@
     <None Include="src\thriftl.ll" />
     <None Include="src\thrifty.yy" />
   </ItemGroup>
-</Project>
\ No newline at end of file
+</Project>