Upgrading dependency to Thrift 0.12.0

This commit is contained in:
Renan DelValle 2018-11-27 18:03:50 -08:00
parent 3e4590dcc0
commit 356978cb42
No known key found for this signature in database
GPG key ID: C240AD6D6F443EC9
1302 changed files with 101701 additions and 26784 deletions

BIN
vendor/git.apache.org/thrift.git/doc/images/cgrn.png generated vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
vendor/git.apache.org/thrift.git/doc/images/cred.png generated vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1 KiB

BIN
vendor/git.apache.org/thrift.git/doc/images/cyel.png generated vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 946 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

View file

@ -1,7 +1,7 @@
## Debian/Ubuntu install
The following command will install tools and libraries required to build and install the Apache Thrift compiler and C++ libraries on a Debian/Ubuntu Linux based system.
sudo apt-get install automake bison flex g++ git libboost1.55-all-dev libevent-dev libssl-dev libtool make pkg-config
sudo apt-get install automake bison flex g++ git libboost-all-dev libevent-dev libssl-dev libtool make pkg-config
Debian 7/Ubuntu 12 users need to manually install a more recent version of automake and (for C++ library and test support) boost:
@ -18,9 +18,10 @@ Debian 7/Ubuntu 12 users need to manually install a more recent version of autom
If you would like to build Apache Thrift libraries for other programming languages you may need to install additional packages. The following languages require the specified additional packages:
* Java
* To build Apache Thrift support for Java you will need to install the ant package and Java JDK v1.7 or higher. Type **javac** to see a list of available packages, pick the one you prefer and **apt-get install** it (e.g. openjdk-7-jdk).
* packages: ant
* You will also need Java JDK v1.7 or higher. Type **javac** to see a list of available packages, pick the one you prefer and **apt-get install** it (e.g. default-jdk).
* Ruby
* ruby-full ruby-dev ruby-rspec rake rubygems libdaemons-ruby libgemplugin-ruby mongrel
* ruby-full ruby-dev ruby-rspec rake rubygems bundler
* Python
* python-all python-all-dev python-all-dbg
* Perl
@ -30,14 +31,29 @@ If you would like to build Apache Thrift libraries for other programming languag
* C_glib
* libglib2.0-dev
* Erlang
* erlang-base erlang-eunit erlang-dev
* erlang-base erlang-eunit erlang-dev rebar
* Csharp
* mono-gmcs mono-devel libmono-system-web2.0-cil nunit nunit-console
* Haskell
* ghc6 cabal-install libghc6-binary-dev libghc6-network-dev libghc6-http-dev
* ghc cabal-install libghc-binary-dev libghc-network-dev libghc-http-dev
* Thrift Compiler for Windows
* mingw32 mingw32-binutils mingw32-runtime nsis
* mingw-w64 mingw-w64-x86-64-dev nsis
* Rust
* rustc cargo
* Haxe
* haxe
* Lua
* lua5.3 liblua5.3-dev
* NodeJs
* nodejs npm
* dotnetcore
* https://www.microsoft.com/net/learn/get-started/linuxubuntu
* d-lang
* curl -fsS https://dlang.org/install.sh | bash -s dmd
* dart & pub
* https://www.dartlang.org/install/linux
* https://www.dartlang.org/tools/pub/installing
## Additional reading

View file

@ -156,7 +156,7 @@ Most language implementations use the recommended pratice of so-called "isset" f
- Read: Like optional, the field may, or may not be part of the input stream.
- Default values: may not be written (see next section)
Default requiredess is a good starting point. The desired behaviour is a mix of optional and required, hence the internal name "opt-in, req-out". Although in theory these fields are supposed to be written ("req-out"), in reality unset fields are not always written. This is especially the case, when the field contains a <null> value, which by definition cannot be transported through thrift. The only way to achieve this is by not writing that field at all, and that's what most languages do.
Default requiredness is a good starting point. The desired behaviour is a mix of optional and required, hence the internal name "opt-in, req-out". Although in theory these fields are supposed to be written ("req-out"), in reality unset fields are not always written. This is especially the case, when the field contains a <null> value, which by definition cannot be transported through thrift. The only way to achieve this is by not writing that field at all, and that's what most languages do.
#### Semantics of Default Values

View file

@ -151,7 +151,7 @@ determine how to decode the field value.
Note that the field name is not encoded so field renames in the IDL do not affect forward and backward compatibility.
The default Java implementation (Apache Thrift 0.9.1) has undefined behavior when it tries to decode a field that has
another field-type then what is expected. Theoretically this could be detected at the cost of some additional checking.
another field-type than what is expected. Theoretically this could be detected at the cost of some additional checking.
Other implementation may perform this check and then either ignore the field, or return a protocol exception.
A *Union* is encoded exactly the same as a struct with the additional restriction that at most 1 field may be encoded.