You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@thrift.apache.org by ro...@apache.org on 2014/03/19 06:49:20 UTC
[1/2] THRIFT-2407 use markdown (rename README => README.md) Patch:
Roger Meier
Repository: thrift
Updated Branches:
refs/heads/master 706cb4e4c -> 16fcad0b2
http://git-wip-us.apache.org/repos/asf/thrift/blob/16fcad0b/lib/go/README
----------------------------------------------------------------------
diff --git a/lib/go/README b/lib/go/README
deleted file mode 100644
index 87ba6f9..0000000
--- a/lib/go/README
+++ /dev/null
@@ -1,66 +0,0 @@
-Thrift Go Software Library
-
-License
-=======
-
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements. See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership. The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied. See the License for the
-specific language governing permissions and limitations
-under the License.
-
-
-Using Thrift with Go
-====================
-
-In following Go conventions, we reccomend you use the 'go' tool to install
-Thrift for go.
-
- $ go get git.apache.org/thrift.git/lib/go/thrift
-
-Will install the last stable release.
-
-
-A note about optional fields
-============================
-
-The thrift-to-Go compiler tries to represent thrift IDL structs as Go structs.
-We must be able to distinguish between optional fields that are set to their
-default value and optional values which are actually unset, so the generated
-code represents optional fields via pointers.
-
-This is generally intuitive and works well much of the time, but Go does not
-have a syntax for creating a pointer to a constant in a single expression. That
-is, given a struct like
-
- struct SomeIDLType {
- OptionalField *int32
- }
-
-, the following will not compile:
-
- x := &SomeIDLType{
- OptionalField: &(3),
- }
-
-(Nor is there any other syntax that's built in to the language)
-
-As such, we provide some helpers that do just this under lib/go/thrift/. E.g.,
-
- x := &SomeIDLType{
- OptionalField: thrift.Int32Ptr(3),
- }
-
-And so on. The code generator also creates analogous helpers for user-defined
-typedefs and enums.
http://git-wip-us.apache.org/repos/asf/thrift/blob/16fcad0b/lib/go/README.md
----------------------------------------------------------------------
diff --git a/lib/go/README.md b/lib/go/README.md
new file mode 100644
index 0000000..87ba6f9
--- /dev/null
+++ b/lib/go/README.md
@@ -0,0 +1,66 @@
+Thrift Go Software Library
+
+License
+=======
+
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+
+
+Using Thrift with Go
+====================
+
+In following Go conventions, we reccomend you use the 'go' tool to install
+Thrift for go.
+
+ $ go get git.apache.org/thrift.git/lib/go/thrift
+
+Will install the last stable release.
+
+
+A note about optional fields
+============================
+
+The thrift-to-Go compiler tries to represent thrift IDL structs as Go structs.
+We must be able to distinguish between optional fields that are set to their
+default value and optional values which are actually unset, so the generated
+code represents optional fields via pointers.
+
+This is generally intuitive and works well much of the time, but Go does not
+have a syntax for creating a pointer to a constant in a single expression. That
+is, given a struct like
+
+ struct SomeIDLType {
+ OptionalField *int32
+ }
+
+, the following will not compile:
+
+ x := &SomeIDLType{
+ OptionalField: &(3),
+ }
+
+(Nor is there any other syntax that's built in to the language)
+
+As such, we provide some helpers that do just this under lib/go/thrift/. E.g.,
+
+ x := &SomeIDLType{
+ OptionalField: thrift.Int32Ptr(3),
+ }
+
+And so on. The code generator also creates analogous helpers for user-defined
+typedefs and enums.
http://git-wip-us.apache.org/repos/asf/thrift/blob/16fcad0b/lib/hs/Makefile.am
----------------------------------------------------------------------
diff --git a/lib/hs/Makefile.am b/lib/hs/Makefile.am
index 3db1df9..70c51c7 100644
--- a/lib/hs/Makefile.am
+++ b/lib/hs/Makefile.am
@@ -19,7 +19,7 @@
EXTRA_DIST = \
LICENSE \
- README \
+ README.md \
Setup.lhs \
TODO \
Thrift.cabal \
http://git-wip-us.apache.org/repos/asf/thrift/blob/16fcad0b/lib/hs/README
----------------------------------------------------------------------
diff --git a/lib/hs/README b/lib/hs/README
deleted file mode 100644
index fe525bd..0000000
--- a/lib/hs/README
+++ /dev/null
@@ -1,99 +0,0 @@
-Haskell Thrift Bindings
-
-License
-=======
-
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements. See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership. The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied. See the License for the
-specific language governing permissions and limitations
-under the License.
-
-Compile
-=======
-
-Use Cabal to compile and install; ./configure uses Cabal underneath, and that
-path is not yet well tested. Thrift's library and generated code should compile
-with pretty much any GHC extensions or warnings you enable (or disable).
-Please report this not being the case as a bug on
-https://issues.apache.org/jira/secure/CreateIssue!default.jspa
-
-Chances you'll need to muck a bit with Cabal flags to install Thrift:
-
-CABAL_CONFIGURE_FLAGS="--user" ./configure
-
-Base Types
-==========
-
-The mapping from Thrift types to Haskell's is:
-
- * double -> Double
- * byte -> Data.Word.Word8
- * i16 -> Data.Int.Int16
- * i32 -> Data.Int.Int32
- * i64 -> Data.Int.Int64
- * string -> Text
- * binary -> Data.ByteString.Lazy
- * bool -> Boolean
-
-Enums
-=====
-
-Become Haskell 'data' types. Use fromEnum to get out the int value.
-
-Lists
-=====
-
-Become Data.Vector.Vector from the vector package.
-
-Maps and Sets
-=============
-
-Become Data.HashMap.Strict.Map and Data.HashSet.Set from the
-unordered-containers package.
-
-Structs
-=======
-
-Become records. Field labels are ugly, of the form f_STRUCTNAME_FIELDNAME. All
-fields are Maybe types.
-
-Exceptions
-==========
-
-Identical to structs. Use them with throw and catch from Control.Exception.
-
-Client
-======
-
-Just a bunch of functions. You may have to import a bunch of client files to
-deal with inheritance.
-
-Interface
-=========
-
-You should only have to import the last one in the chain of inheritors. To make
-an interface, declare a label:
-
- data MyIface = MyIface
-
-and then declare it an instance of each iface class, starting with the superest
-class and proceding down (all the while defining the methods). Then pass your
-label to process as the handler.
-
-Processor
-=========
-
-Just a function that takes a handler label, protocols. It calls the
-superclasses process if there is a superclass.
http://git-wip-us.apache.org/repos/asf/thrift/blob/16fcad0b/lib/hs/README.md
----------------------------------------------------------------------
diff --git a/lib/hs/README.md b/lib/hs/README.md
new file mode 100644
index 0000000..fe525bd
--- /dev/null
+++ b/lib/hs/README.md
@@ -0,0 +1,99 @@
+Haskell Thrift Bindings
+
+License
+=======
+
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+
+Compile
+=======
+
+Use Cabal to compile and install; ./configure uses Cabal underneath, and that
+path is not yet well tested. Thrift's library and generated code should compile
+with pretty much any GHC extensions or warnings you enable (or disable).
+Please report this not being the case as a bug on
+https://issues.apache.org/jira/secure/CreateIssue!default.jspa
+
+Chances you'll need to muck a bit with Cabal flags to install Thrift:
+
+CABAL_CONFIGURE_FLAGS="--user" ./configure
+
+Base Types
+==========
+
+The mapping from Thrift types to Haskell's is:
+
+ * double -> Double
+ * byte -> Data.Word.Word8
+ * i16 -> Data.Int.Int16
+ * i32 -> Data.Int.Int32
+ * i64 -> Data.Int.Int64
+ * string -> Text
+ * binary -> Data.ByteString.Lazy
+ * bool -> Boolean
+
+Enums
+=====
+
+Become Haskell 'data' types. Use fromEnum to get out the int value.
+
+Lists
+=====
+
+Become Data.Vector.Vector from the vector package.
+
+Maps and Sets
+=============
+
+Become Data.HashMap.Strict.Map and Data.HashSet.Set from the
+unordered-containers package.
+
+Structs
+=======
+
+Become records. Field labels are ugly, of the form f_STRUCTNAME_FIELDNAME. All
+fields are Maybe types.
+
+Exceptions
+==========
+
+Identical to structs. Use them with throw and catch from Control.Exception.
+
+Client
+======
+
+Just a bunch of functions. You may have to import a bunch of client files to
+deal with inheritance.
+
+Interface
+=========
+
+You should only have to import the last one in the chain of inheritors. To make
+an interface, declare a label:
+
+ data MyIface = MyIface
+
+and then declare it an instance of each iface class, starting with the superest
+class and proceding down (all the while defining the methods). Then pass your
+label to process as the handler.
+
+Processor
+=========
+
+Just a function that takes a handler label, protocols. It calls the
+superclasses process if there is a superclass.
http://git-wip-us.apache.org/repos/asf/thrift/blob/16fcad0b/lib/java/README
----------------------------------------------------------------------
diff --git a/lib/java/README b/lib/java/README
deleted file mode 100644
index 12b3afe..0000000
--- a/lib/java/README
+++ /dev/null
@@ -1,53 +0,0 @@
-Thrift Java Software Library
-
-License
-=======
-
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements. See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership. The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied. See the License for the
-specific language governing permissions and limitations
-under the License.
-
-Using Thrift with Java
-======================
-
-The Thrift Java source is not build using the GNU tools, but rather uses
-the Apache Ant build system, which tends to be predominant amongst Java
-developers.
-
-To compile the Java Thrift libraries, simply do the following:
-
-ant
-
-Yep, that's easy. Look for libthrift.jar in the base directory.
-
-To include Thrift in your applications simply add libthrift.jar to your
-classpath, or install if in your default system classpath of choice.
-
-
-Build Thrift behind a proxy:
-
-ant -Dproxy.enabled=1 -Dproxy.host=myproxyhost -Dproxy.user=thriftuser -Dproxy.pass=topsecret
-
-or via
-
-./configure --with-java ANT_FLAGS='-Dproxy.enabled=1 -Dproxy.host=myproxyhost -Dproxy.user=thriftuser -Dproxy.pass=topsecret'
-
-
-Dependencies
-============
-
-Apache Ant
-http://ant.apache.org/
http://git-wip-us.apache.org/repos/asf/thrift/blob/16fcad0b/lib/java/README.md
----------------------------------------------------------------------
diff --git a/lib/java/README.md b/lib/java/README.md
new file mode 100644
index 0000000..12b3afe
--- /dev/null
+++ b/lib/java/README.md
@@ -0,0 +1,53 @@
+Thrift Java Software Library
+
+License
+=======
+
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+
+Using Thrift with Java
+======================
+
+The Thrift Java source is not build using the GNU tools, but rather uses
+the Apache Ant build system, which tends to be predominant amongst Java
+developers.
+
+To compile the Java Thrift libraries, simply do the following:
+
+ant
+
+Yep, that's easy. Look for libthrift.jar in the base directory.
+
+To include Thrift in your applications simply add libthrift.jar to your
+classpath, or install if in your default system classpath of choice.
+
+
+Build Thrift behind a proxy:
+
+ant -Dproxy.enabled=1 -Dproxy.host=myproxyhost -Dproxy.user=thriftuser -Dproxy.pass=topsecret
+
+or via
+
+./configure --with-java ANT_FLAGS='-Dproxy.enabled=1 -Dproxy.host=myproxyhost -Dproxy.user=thriftuser -Dproxy.pass=topsecret'
+
+
+Dependencies
+============
+
+Apache Ant
+http://ant.apache.org/
http://git-wip-us.apache.org/repos/asf/thrift/blob/16fcad0b/lib/js/Gruntfile.js
----------------------------------------------------------------------
diff --git a/lib/js/Gruntfile.js b/lib/js/Gruntfile.js
index 321063f..3298d5c 100644
--- a/lib/js/Gruntfile.js
+++ b/lib/js/Gruntfile.js
@@ -20,7 +20,7 @@ module.exports = function(grunt) {
},
jsdoc : {
dist : {
- src: ['src/*.js', './README'],
+ src: ['src/*.js', './README.md'],
options: {
destination: 'doc'
}
http://git-wip-us.apache.org/repos/asf/thrift/blob/16fcad0b/lib/js/README
----------------------------------------------------------------------
diff --git a/lib/js/README b/lib/js/README
deleted file mode 100644
index bb65050..0000000
--- a/lib/js/README
+++ /dev/null
@@ -1,129 +0,0 @@
-Thrift Javascript Library
-=========================
-This browser based Apache Thrift implementation supports
-RPC clients using the JSON protocol over Http[s] with XHR
-and WebSocket.
-
-License
--------
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements. See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership. The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied. See the License for the
-specific language governing permissions and limitations
-under the License.
-
-Grunt Build
-------------
-This is the base directory for the Apache Thrift JavaScript
-library. This directory contains a Gruntfile.js and a
-package.json. Many of the build and test tools used here
-require a recent version of Node.js to be installed. To
-install the support files for the Grunt build tool execute
-the command:
- $ npm install
-This reads the package.json and pulls in the appropriate
-sources from the internet. To build the JavaScript branch
-of Apache Thrift execute the command:
- $ grunt
-This runs the grunt build tool, linting all of the source
-files, setting up and running the tests, concatenating and
-minifying the main libraries and generating the html
-documentation.
-
-Tree
-----
-The following directories are present (some only after the
-grunt build):
- /src - The JavaScript Apache Thrift source
- /doc - HTML documentation
- /dist - Distribution files (thrift.js and thrift.min.js)
- /test - Various tests, this is a good place to look for
- example code
- /node_modules - Build support files installed by npm
-
-
-Example JavaScript Client and Server
-------------------------------------
-The listing below demonstrates a simple browser based JavaScript
-Thrift client and Node.js JavaScript server for the hello_svc
-service.
-
-### hello.thrift - Service IDL
-### build with: $ thrift -gen js -gen js:node hello.thrift
- service hello_svc {
- string get_message(1: string name)
- }
-
-### hello.html - Browser Client
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="utf-8">
- <title>Hello Thrift</title>
- </head>
- <body>
- Name: <input type="text" id="name_in">
- <input type="button" id="get_msg" value="Get Message" >
- <div id="output"></div>
-
- <script src="thrift.js"></script>
- <script src="gen-js/hello_svc.js"></script>
- <script>
- (function() {
- var transport = new Thrift.TXHRTransport("/hello");
- var protocol = new Thrift.TJSONProtocol(transport);
- var client = new hello_svcClient(protocol);
- var nameElement = document.getElementById("name_in");
- var outputElement = document.getElementById("output");
- document.getElementById("get_msg")
- .addEventListener("click", function(){
- client.get_message(nameElement.value, function(result) {
- outputElement.innerHTML = result;
- });
- });
- })();
- </script>
- </body>
- </html>
-
-### hello.js - Node Server
- var thrift = require('thrift');
- var hello_svc = require('./gen-nodejs/hello_svc.js');
-
- var hello_handler = {
- get_message: function(name, result) {
- var msg = "Hello " + name + "!";
- result(null, msg);
- }
- }
-
- var hello_svc_opt = {
- transport: thrift.TBufferedTransport,
- protocol: thrift.TJSONProtocol,
- processor: hello_svc,
- handler: hello_handler
- };
-
- var server_opt = {
- staticFilePath: ".",
- services: {
- "/hello": hello_svc_opt
- }
- }
-
- var server = Thrift.createWebServer(server_opt);
- var port = 9099;
- server.listen(port);
- console.log("Http/Thrift Server running on port: " + port);
-
http://git-wip-us.apache.org/repos/asf/thrift/blob/16fcad0b/lib/js/README.md
----------------------------------------------------------------------
diff --git a/lib/js/README.md b/lib/js/README.md
new file mode 100644
index 0000000..bb65050
--- /dev/null
+++ b/lib/js/README.md
@@ -0,0 +1,129 @@
+Thrift Javascript Library
+=========================
+This browser based Apache Thrift implementation supports
+RPC clients using the JSON protocol over Http[s] with XHR
+and WebSocket.
+
+License
+-------
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+
+Grunt Build
+------------
+This is the base directory for the Apache Thrift JavaScript
+library. This directory contains a Gruntfile.js and a
+package.json. Many of the build and test tools used here
+require a recent version of Node.js to be installed. To
+install the support files for the Grunt build tool execute
+the command:
+ $ npm install
+This reads the package.json and pulls in the appropriate
+sources from the internet. To build the JavaScript branch
+of Apache Thrift execute the command:
+ $ grunt
+This runs the grunt build tool, linting all of the source
+files, setting up and running the tests, concatenating and
+minifying the main libraries and generating the html
+documentation.
+
+Tree
+----
+The following directories are present (some only after the
+grunt build):
+ /src - The JavaScript Apache Thrift source
+ /doc - HTML documentation
+ /dist - Distribution files (thrift.js and thrift.min.js)
+ /test - Various tests, this is a good place to look for
+ example code
+ /node_modules - Build support files installed by npm
+
+
+Example JavaScript Client and Server
+------------------------------------
+The listing below demonstrates a simple browser based JavaScript
+Thrift client and Node.js JavaScript server for the hello_svc
+service.
+
+### hello.thrift - Service IDL
+### build with: $ thrift -gen js -gen js:node hello.thrift
+ service hello_svc {
+ string get_message(1: string name)
+ }
+
+### hello.html - Browser Client
+ <!DOCTYPE html>
+ <html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <title>Hello Thrift</title>
+ </head>
+ <body>
+ Name: <input type="text" id="name_in">
+ <input type="button" id="get_msg" value="Get Message" >
+ <div id="output"></div>
+
+ <script src="thrift.js"></script>
+ <script src="gen-js/hello_svc.js"></script>
+ <script>
+ (function() {
+ var transport = new Thrift.TXHRTransport("/hello");
+ var protocol = new Thrift.TJSONProtocol(transport);
+ var client = new hello_svcClient(protocol);
+ var nameElement = document.getElementById("name_in");
+ var outputElement = document.getElementById("output");
+ document.getElementById("get_msg")
+ .addEventListener("click", function(){
+ client.get_message(nameElement.value, function(result) {
+ outputElement.innerHTML = result;
+ });
+ });
+ })();
+ </script>
+ </body>
+ </html>
+
+### hello.js - Node Server
+ var thrift = require('thrift');
+ var hello_svc = require('./gen-nodejs/hello_svc.js');
+
+ var hello_handler = {
+ get_message: function(name, result) {
+ var msg = "Hello " + name + "!";
+ result(null, msg);
+ }
+ }
+
+ var hello_svc_opt = {
+ transport: thrift.TBufferedTransport,
+ protocol: thrift.TJSONProtocol,
+ processor: hello_svc,
+ handler: hello_handler
+ };
+
+ var server_opt = {
+ staticFilePath: ".",
+ services: {
+ "/hello": hello_svc_opt
+ }
+ }
+
+ var server = Thrift.createWebServer(server_opt);
+ var port = 9099;
+ server.listen(port);
+ console.log("Http/Thrift Server running on port: " + port);
+
http://git-wip-us.apache.org/repos/asf/thrift/blob/16fcad0b/lib/js/test/README
----------------------------------------------------------------------
diff --git a/lib/js/test/README b/lib/js/test/README
deleted file mode 100644
index 9ad140e..0000000
--- a/lib/js/test/README
+++ /dev/null
@@ -1,68 +0,0 @@
-Thrift Javascript Library
-=========================
-This browser based Apache Thrift implementation supports
-RPC clients using the JSON protocol over Http[s] with XHR
-and WebSocket.
-
-License
--------
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements. See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership. The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied. See the License for the
-specific language governing permissions and limitations
-under the License.
-
-Test Servers
-------------
-drwxr-xr-x 2 randy randy 4096 Feb 8 15:44 sec
--rw-r--r-- 1 randy randy 2183 Feb 9 04:01 server_http.js
--rw-r--r-- 1 randy randy 2386 Feb 9 05:39 server_https.js
-
-server_http.js is a Node.js web server which support the
-standard Apache Thrift test suite (thrift/test/ThriftTest.thrift).
-The server supports Apache Thrift XHR and WebSocket clients.
-
-server_https.js is the same but uses SSL/TLS. The server key
-and cert are pulled from the thrift/test/keys folder.
-
-Both of these servers support WebSocket (the http: supports ws:,
-and the https: support wss:).
-
-To run the client test with the Java test server use:
-$ make check (requires the Apache Thrift Java branch
-and make check must have been run in thrift/lib/java
-previously).
-
-To run the client tests with the Node servers run the grunt
- build in the parent js directory (see README there).
-
-Test Clients
-------------
--rw-r--r-- 1 randy randy 13558 Feb 9 07:18 test-async.js
--rw-r--r-- 1 randy randy 5724 Feb 9 03:45 test_handler.js
--rwxr-xr-x 1 randy randy 2719 Feb 9 06:04 test.html
--rw-r--r-- 1 randy randy 4611 Feb 9 06:05 test-jq.js
--rwxr-xr-x 1 randy randy 12153 Feb 9 06:04 test.js
--rw-r--r-- 1 randy randy 2593 Feb 9 06:16 test-nojq.html
--rw-r--r-- 1 randy randy 1450 Feb 9 06:14 test-nojq.js
--rw-r--r-- 1 randy randy 2847 Feb 9 06:31 testws.html
-
-There are three html test driver files, all of which are
-QUnit based. test.html tests the Apache Thrift jQuery
-generated code (thrift -gen js:jquery). The test-nojq.html
-runs almost identical tests against normal JavaScript builds
-(thrift -gen js). Both of the previous tests use the XHR
-transport. The testws.html runs similar tests using the
-WebSocket transport. The test*.js files are loaded by the
-html drivers and contain the actual Apache Thrift tests.
http://git-wip-us.apache.org/repos/asf/thrift/blob/16fcad0b/lib/js/test/README.md
----------------------------------------------------------------------
diff --git a/lib/js/test/README.md b/lib/js/test/README.md
new file mode 100644
index 0000000..9ad140e
--- /dev/null
+++ b/lib/js/test/README.md
@@ -0,0 +1,68 @@
+Thrift Javascript Library
+=========================
+This browser based Apache Thrift implementation supports
+RPC clients using the JSON protocol over Http[s] with XHR
+and WebSocket.
+
+License
+-------
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+
+Test Servers
+------------
+drwxr-xr-x 2 randy randy 4096 Feb 8 15:44 sec
+-rw-r--r-- 1 randy randy 2183 Feb 9 04:01 server_http.js
+-rw-r--r-- 1 randy randy 2386 Feb 9 05:39 server_https.js
+
+server_http.js is a Node.js web server which support the
+standard Apache Thrift test suite (thrift/test/ThriftTest.thrift).
+The server supports Apache Thrift XHR and WebSocket clients.
+
+server_https.js is the same but uses SSL/TLS. The server key
+and cert are pulled from the thrift/test/keys folder.
+
+Both of these servers support WebSocket (the http: supports ws:,
+and the https: support wss:).
+
+To run the client test with the Java test server use:
+$ make check (requires the Apache Thrift Java branch
+and make check must have been run in thrift/lib/java
+previously).
+
+To run the client tests with the Node servers run the grunt
+ build in the parent js directory (see README there).
+
+Test Clients
+------------
+-rw-r--r-- 1 randy randy 13558 Feb 9 07:18 test-async.js
+-rw-r--r-- 1 randy randy 5724 Feb 9 03:45 test_handler.js
+-rwxr-xr-x 1 randy randy 2719 Feb 9 06:04 test.html
+-rw-r--r-- 1 randy randy 4611 Feb 9 06:05 test-jq.js
+-rwxr-xr-x 1 randy randy 12153 Feb 9 06:04 test.js
+-rw-r--r-- 1 randy randy 2593 Feb 9 06:16 test-nojq.html
+-rw-r--r-- 1 randy randy 1450 Feb 9 06:14 test-nojq.js
+-rw-r--r-- 1 randy randy 2847 Feb 9 06:31 testws.html
+
+There are three html test driver files, all of which are
+QUnit based. test.html tests the Apache Thrift jQuery
+generated code (thrift -gen js:jquery). The test-nojq.html
+runs almost identical tests against normal JavaScript builds
+(thrift -gen js). Both of the previous tests use the XHR
+transport. The testws.html runs similar tests using the
+WebSocket transport. The test*.js files are loaded by the
+html drivers and contain the actual Apache Thrift tests.
http://git-wip-us.apache.org/repos/asf/thrift/blob/16fcad0b/lib/ocaml/README
----------------------------------------------------------------------
diff --git a/lib/ocaml/README b/lib/ocaml/README
deleted file mode 100644
index 5a47a42..0000000
--- a/lib/ocaml/README
+++ /dev/null
@@ -1,119 +0,0 @@
-Thrift OCaml Software Library
-
-License
-=======
-
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements. See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership. The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied. See the License for the
-specific language governing permissions and limitations
-under the License.
-
-
-Library
-=======
-
-The library abstract classes, exceptions, and general use functions
-are mostly jammed in Thrift.ml (an exception being
-TServer).
-
-Generally, classes are used, however they are often put in their own
-module along with other relevant types and functions. The classes
-often called t, exceptions are called E.
-
-Implementations live in their own files. There is TBinaryProtocol,
-TSocket, TThreadedServer, TSimpleServer, and TServerSocket.
-
-A note on making the library: Running make should create native, debug
-code libraries, and a toplevel.
-
-
-Struct format
--------------
-Structs are turned into classes. The fields are all option types and
-are initially None. Write is a method, but reading is done by a
-separate function (since there is no such thing as a static
-class). The class type is t and is in a module with the name of the
-struct.
-
-
-enum format
------------
-Enums are put in their own module along with
-functions to_i and of_i which convert the ocaml types into ints. For
-example:
-
-enum Numberz
-{
- ONE = 1,
- TWO,
- THREE,
- FIVE = 5,
- SIX,
- EIGHT = 8
-}
-
-==>
-
-module Numberz =
-struct
-type t =
-| ONE
-| TWO
-| THREE
-| FIVE
-| SIX
-| EIGHT
-
-let of_i = ...
-let to_i = ...
-end
-
-typedef format
---------------
-Typedef turns into the type declaration:
-typedef i64 UserId
-
-==>
-
-type userid Int64.t
-
-exception format
-----------------
-The same as structs except that the module also has an exception type
-E of t that is raised/caught.
-
-For example, with an exception Xception,
-raise (Xception.E (new Xception.t))
-and
-try
- ...
-with Xception.E e -> ...
-
-list format
------------
-Lists are turned into OCaml native lists.
-
-Map/Set formats
----------------
-These are both turned into Hashtbl.t's. Set values are bool.
-
-Services
---------
-The client is a class "client" parametrized on input and output
-protocols. The processor is a class parametrized on a handler. A
-handler is a class inheriting the iface abstract class. Unlike other
-implementations, client does not implement iface since iface functions
-must take option arguments so as to deal with the case where a client
-does not send all the arguments.
http://git-wip-us.apache.org/repos/asf/thrift/blob/16fcad0b/lib/ocaml/README.md
----------------------------------------------------------------------
diff --git a/lib/ocaml/README.md b/lib/ocaml/README.md
new file mode 100644
index 0000000..5a47a42
--- /dev/null
+++ b/lib/ocaml/README.md
@@ -0,0 +1,119 @@
+Thrift OCaml Software Library
+
+License
+=======
+
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+
+
+Library
+=======
+
+The library abstract classes, exceptions, and general use functions
+are mostly jammed in Thrift.ml (an exception being
+TServer).
+
+Generally, classes are used, however they are often put in their own
+module along with other relevant types and functions. The classes
+often called t, exceptions are called E.
+
+Implementations live in their own files. There is TBinaryProtocol,
+TSocket, TThreadedServer, TSimpleServer, and TServerSocket.
+
+A note on making the library: Running make should create native, debug
+code libraries, and a toplevel.
+
+
+Struct format
+-------------
+Structs are turned into classes. The fields are all option types and
+are initially None. Write is a method, but reading is done by a
+separate function (since there is no such thing as a static
+class). The class type is t and is in a module with the name of the
+struct.
+
+
+enum format
+-----------
+Enums are put in their own module along with
+functions to_i and of_i which convert the ocaml types into ints. For
+example:
+
+enum Numberz
+{
+ ONE = 1,
+ TWO,
+ THREE,
+ FIVE = 5,
+ SIX,
+ EIGHT = 8
+}
+
+==>
+
+module Numberz =
+struct
+type t =
+| ONE
+| TWO
+| THREE
+| FIVE
+| SIX
+| EIGHT
+
+let of_i = ...
+let to_i = ...
+end
+
+typedef format
+--------------
+Typedef turns into the type declaration:
+typedef i64 UserId
+
+==>
+
+type userid Int64.t
+
+exception format
+----------------
+The same as structs except that the module also has an exception type
+E of t that is raised/caught.
+
+For example, with an exception Xception,
+raise (Xception.E (new Xception.t))
+and
+try
+ ...
+with Xception.E e -> ...
+
+list format
+-----------
+Lists are turned into OCaml native lists.
+
+Map/Set formats
+---------------
+These are both turned into Hashtbl.t's. Set values are bool.
+
+Services
+--------
+The client is a class "client" parametrized on input and output
+protocols. The processor is a class parametrized on a handler. A
+handler is a class inheriting the iface abstract class. Unlike other
+implementations, client does not implement iface since iface functions
+must take option arguments so as to deal with the case where a client
+does not send all the arguments.
http://git-wip-us.apache.org/repos/asf/thrift/blob/16fcad0b/lib/perl/README
----------------------------------------------------------------------
diff --git a/lib/perl/README b/lib/perl/README
deleted file mode 100644
index 691488b..0000000
--- a/lib/perl/README
+++ /dev/null
@@ -1,41 +0,0 @@
-Thrift Perl Software Library
-
-License
-=======
-
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements. See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership. The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied. See the License for the
-specific language governing permissions and limitations
-under the License.
-
-Using Thrift with Perl
-=====================
-
-Thrift requires Perl >= 5.6.0
-
-Exceptions are thrown with die so be sure to wrap eval{} statments
-around any code that contains exceptions.
-
-The 64bit Integers work only upto 2^42 on my machine :-?
-Math::BigInt is probably needed.
-
-Please see tutoral and test dirs for examples...
-
-Dependencies
-============
-
-Bit::Vector - comes with modern perl installations.
-Class::Accessor
-
http://git-wip-us.apache.org/repos/asf/thrift/blob/16fcad0b/lib/perl/README.md
----------------------------------------------------------------------
diff --git a/lib/perl/README.md b/lib/perl/README.md
new file mode 100644
index 0000000..691488b
--- /dev/null
+++ b/lib/perl/README.md
@@ -0,0 +1,41 @@
+Thrift Perl Software Library
+
+License
+=======
+
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+
+Using Thrift with Perl
+=====================
+
+Thrift requires Perl >= 5.6.0
+
+Exceptions are thrown with die so be sure to wrap eval{} statments
+around any code that contains exceptions.
+
+The 64bit Integers work only upto 2^42 on my machine :-?
+Math::BigInt is probably needed.
+
+Please see tutoral and test dirs for examples...
+
+Dependencies
+============
+
+Bit::Vector - comes with modern perl installations.
+Class::Accessor
+
http://git-wip-us.apache.org/repos/asf/thrift/blob/16fcad0b/lib/php/Makefile.am
----------------------------------------------------------------------
diff --git a/lib/php/Makefile.am b/lib/php/Makefile.am
index 927de98..2b6b5fa 100755
--- a/lib/php/Makefile.am
+++ b/lib/php/Makefile.am
@@ -119,7 +119,7 @@ EXTRA_DIST = \
src/Thrift.php \
src/TStringUtils.php \
thrift_protocol.ini \
- README.apache
+ README.apache.md
MAINTAINERCLEANFILES = \
Makefile \
http://git-wip-us.apache.org/repos/asf/thrift/blob/16fcad0b/lib/php/README
----------------------------------------------------------------------
diff --git a/lib/php/README b/lib/php/README
deleted file mode 100644
index c24ee2c..0000000
--- a/lib/php/README
+++ /dev/null
@@ -1,53 +0,0 @@
-Thrift PHP Software Library
-
-License
-=======
-
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements. See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership. The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied. See the License for the
-specific language governing permissions and limitations
-under the License.
-
-Using Thrift with PHP
-=====================
-
-Thrift requires PHP 5. Thrift makes as few assumptions about your PHP
-environment as possible while trying to make some more advanced PHP
-features (i.e. APC cacheing using asbolute path URLs) as simple as possible.
-
-To use Thrift in your PHP codebase, take the following steps:
-
-#1) Copy all of thrift/lib/php/lib into your PHP codebase
-#2) Configure Symfony Autoloader (or whatever you usually use)
-
-After that, you have to manually include the Thrift package
-created by the compiler:
-
-require_once 'packages/Service/Service.php';
-require_once 'packages/Service/Types.php';
-
-Dependencies
-============
-
-PHP_INT_SIZE
-
- This built-in signals whether your architecture is 32 or 64 bit and is
- used by the TBinaryProtocol to properly use pack() and unpack() to
- serialize data.
-
-apc_fetch(), apc_store()
-
- APC cache is used by the TSocketPool class. If you do not have APC installed,
- Thrift will fill in null stub function definitions.
http://git-wip-us.apache.org/repos/asf/thrift/blob/16fcad0b/lib/php/README.apache
----------------------------------------------------------------------
diff --git a/lib/php/README.apache b/lib/php/README.apache
deleted file mode 100644
index 5e92589..0000000
--- a/lib/php/README.apache
+++ /dev/null
@@ -1,74 +0,0 @@
-Thrift PHP/Apache Integration
-
-License
-=======
-
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements. See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership. The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied. See the License for the
-specific language governing permissions and limitations
-under the License.
-
-Building PHP Thrift Services with Apache
-========================================
-
-Thrift can be embedded in the Apache webserver with PHP installed. Sample
-code is provided below. Note that to make requests to this type of server
-you must use a THttpClient transport.
-
-Sample Code
-===========
-
-<?php
-
-namespace MyNamespace;
-
-/**
- * Include path
- */
-$THRIFT_ROOT = '/your/thrift/root/lib';
-
-/**
- * Init Autloader
- */
-require_once $THRIFT_ROOT . '/Thrift/ClassLoader/ThriftClassLoader.php';
-
-$loader = new ThriftClassLoader();
-$loader->registerNamespace('Thrift', $THRIFT_ROOT);
-$loader->registerDefinition('Thrift', $THRIFT_ROOT . '/packages');
-$loader->register();
-
-use Thrift\Transport\TPhpStream;
-use Thrift\Protocol\TBinaryProtocol;
-
-/**
- * Example of how to build a Thrift server in Apache/PHP
- */
-
-class ServiceHandler implements ServiceIf {
- // Implement your interface and methods here
-}
-
-header('Content-Type: application/x-thrift');
-
-$handler = new ServiceHandler();
-$processor = new ServiceProcessor($handler);
-
-// Use the TPhpStream transport to read/write directly from HTTP
-$transport = new TPhpStream(TPhpStream::MODE_R | TPhpStream::MODE_W);
-$protocol = new TBinaryProtocol($transport);
-
-$transport->open();
-$processor->process($protocol, $protocol);
-$transport->close();
http://git-wip-us.apache.org/repos/asf/thrift/blob/16fcad0b/lib/php/README.apache.md
----------------------------------------------------------------------
diff --git a/lib/php/README.apache.md b/lib/php/README.apache.md
new file mode 100644
index 0000000..5e92589
--- /dev/null
+++ b/lib/php/README.apache.md
@@ -0,0 +1,74 @@
+Thrift PHP/Apache Integration
+
+License
+=======
+
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+
+Building PHP Thrift Services with Apache
+========================================
+
+Thrift can be embedded in the Apache webserver with PHP installed. Sample
+code is provided below. Note that to make requests to this type of server
+you must use a THttpClient transport.
+
+Sample Code
+===========
+
+<?php
+
+namespace MyNamespace;
+
+/**
+ * Include path
+ */
+$THRIFT_ROOT = '/your/thrift/root/lib';
+
+/**
+ * Init Autloader
+ */
+require_once $THRIFT_ROOT . '/Thrift/ClassLoader/ThriftClassLoader.php';
+
+$loader = new ThriftClassLoader();
+$loader->registerNamespace('Thrift', $THRIFT_ROOT);
+$loader->registerDefinition('Thrift', $THRIFT_ROOT . '/packages');
+$loader->register();
+
+use Thrift\Transport\TPhpStream;
+use Thrift\Protocol\TBinaryProtocol;
+
+/**
+ * Example of how to build a Thrift server in Apache/PHP
+ */
+
+class ServiceHandler implements ServiceIf {
+ // Implement your interface and methods here
+}
+
+header('Content-Type: application/x-thrift');
+
+$handler = new ServiceHandler();
+$processor = new ServiceProcessor($handler);
+
+// Use the TPhpStream transport to read/write directly from HTTP
+$transport = new TPhpStream(TPhpStream::MODE_R | TPhpStream::MODE_W);
+$protocol = new TBinaryProtocol($transport);
+
+$transport->open();
+$processor->process($protocol, $protocol);
+$transport->close();
http://git-wip-us.apache.org/repos/asf/thrift/blob/16fcad0b/lib/php/README.md
----------------------------------------------------------------------
diff --git a/lib/php/README.md b/lib/php/README.md
new file mode 100644
index 0000000..c24ee2c
--- /dev/null
+++ b/lib/php/README.md
@@ -0,0 +1,53 @@
+Thrift PHP Software Library
+
+License
+=======
+
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+
+Using Thrift with PHP
+=====================
+
+Thrift requires PHP 5. Thrift makes as few assumptions about your PHP
+environment as possible while trying to make some more advanced PHP
+features (i.e. APC cacheing using asbolute path URLs) as simple as possible.
+
+To use Thrift in your PHP codebase, take the following steps:
+
+#1) Copy all of thrift/lib/php/lib into your PHP codebase
+#2) Configure Symfony Autoloader (or whatever you usually use)
+
+After that, you have to manually include the Thrift package
+created by the compiler:
+
+require_once 'packages/Service/Service.php';
+require_once 'packages/Service/Types.php';
+
+Dependencies
+============
+
+PHP_INT_SIZE
+
+ This built-in signals whether your architecture is 32 or 64 bit and is
+ used by the TBinaryProtocol to properly use pack() and unpack() to
+ serialize data.
+
+apc_fetch(), apc_store()
+
+ APC cache is used by the TSocketPool class. If you do not have APC installed,
+ Thrift will fill in null stub function definitions.
http://git-wip-us.apache.org/repos/asf/thrift/blob/16fcad0b/lib/py/README
----------------------------------------------------------------------
diff --git a/lib/py/README b/lib/py/README
deleted file mode 100644
index 29b8c73..0000000
--- a/lib/py/README
+++ /dev/null
@@ -1,35 +0,0 @@
-Thrift Python Software Library
-
-License
-=======
-
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements. See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership. The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied. See the License for the
-specific language governing permissions and limitations
-under the License.
-
-Using Thrift with Python
-========================
-
-Thrift is provided as a set of Python packages. The top level package is
-thrift, and there are subpackages for the protocol, transport, and server
-code. Each package contains modules using standard Thrift naming conventions
-(i.e. TProtocol, TTransport) and implementations in corresponding modules
-(i.e. TSocket). There is also a subpackage reflection, which contains
-the generated code for the reflection structures.
-
-The Python libraries can be installed manually using the provided setup.py
-file, or automatically using the install hook provided via autoconf/automake.
-To use the latter, become superuser and do make install.
http://git-wip-us.apache.org/repos/asf/thrift/blob/16fcad0b/lib/py/README.md
----------------------------------------------------------------------
diff --git a/lib/py/README.md b/lib/py/README.md
new file mode 100644
index 0000000..29b8c73
--- /dev/null
+++ b/lib/py/README.md
@@ -0,0 +1,35 @@
+Thrift Python Software Library
+
+License
+=======
+
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+
+Using Thrift with Python
+========================
+
+Thrift is provided as a set of Python packages. The top level package is
+thrift, and there are subpackages for the protocol, transport, and server
+code. Each package contains modules using standard Thrift naming conventions
+(i.e. TProtocol, TTransport) and implementations in corresponding modules
+(i.e. TSocket). There is also a subpackage reflection, which contains
+the generated code for the reflection structures.
+
+The Python libraries can be installed manually using the provided setup.py
+file, or automatically using the install hook provided via autoconf/automake.
+To use the latter, become superuser and do make install.
http://git-wip-us.apache.org/repos/asf/thrift/blob/16fcad0b/lib/rb/README
----------------------------------------------------------------------
diff --git a/lib/rb/README b/lib/rb/README
deleted file mode 100644
index b6e9a07..0000000
--- a/lib/rb/README
+++ /dev/null
@@ -1,43 +0,0 @@
-Thrift Ruby Software Library
- http://thrift.apache.org
-
-== LICENSE:
-
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements. See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership. The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied. See the License for the
-specific language governing permissions and limitations
-under the License.
-
-== DESCRIPTION:
-
-Thrift is a strongly-typed language-agnostic RPC system.
-This library is the ruby implementation for both clients and servers.
-
-== INSTALL:
-
- $ gem install thrift
-
-== CAVEATS:
-
-This library provides the client and server implementations of thrift.
-It does <em>not</em> provide the compiler for the .thrift files. To compile
-.thrift files into language-specific implementations, please download the full
-thrift software package.
-
-== USAGE:
-
-This section should get written by someone with the time and inclination.
-In the meantime, look at existing code, such as the benchmark or the tutorial
-in the full thrift distribution.
http://git-wip-us.apache.org/repos/asf/thrift/blob/16fcad0b/lib/rb/README.md
----------------------------------------------------------------------
diff --git a/lib/rb/README.md b/lib/rb/README.md
new file mode 100644
index 0000000..b6e9a07
--- /dev/null
+++ b/lib/rb/README.md
@@ -0,0 +1,43 @@
+Thrift Ruby Software Library
+ http://thrift.apache.org
+
+== LICENSE:
+
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+
+== DESCRIPTION:
+
+Thrift is a strongly-typed language-agnostic RPC system.
+This library is the ruby implementation for both clients and servers.
+
+== INSTALL:
+
+ $ gem install thrift
+
+== CAVEATS:
+
+This library provides the client and server implementations of thrift.
+It does <em>not</em> provide the compiler for the .thrift files. To compile
+.thrift files into language-specific implementations, please download the full
+thrift software package.
+
+== USAGE:
+
+This section should get written by someone with the time and inclination.
+In the meantime, look at existing code, such as the benchmark or the tutorial
+in the full thrift distribution.
http://git-wip-us.apache.org/repos/asf/thrift/blob/16fcad0b/lib/rb/thrift.gemspec
----------------------------------------------------------------------
diff --git a/lib/rb/thrift.gemspec b/lib/rb/thrift.gemspec
index a91ea07..43e5a7f 100644
--- a/lib/rb/thrift.gemspec
+++ b/lib/rb/thrift.gemspec
@@ -23,7 +23,7 @@ Gem::Specification.new do |s|
s.test_files = Dir.glob("{test,spec,benchmark}/**/*")
s.executables = Dir.glob("{bin}/**/*")
- s.extra_rdoc_files = %w[README] + Dir.glob("{ext,lib}/**/*.{c,h,rb}")
+ s.extra_rdoc_files = %w[README.md] + Dir.glob("{ext,lib}/**/*.{c,h,rb}")
s.require_paths = %w[lib ext]
http://git-wip-us.apache.org/repos/asf/thrift/blob/16fcad0b/lib/st/README
----------------------------------------------------------------------
diff --git a/lib/st/README b/lib/st/README
deleted file mode 100644
index 5b5fdee..0000000
--- a/lib/st/README
+++ /dev/null
@@ -1,39 +0,0 @@
-Thrift SmallTalk Software Library
-
-Last updated Nov 2007
-
-License
-=======
-
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements. See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership. The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied. See the License for the
-specific language governing permissions and limitations
-under the License.
-
-Contains some contributions under the Thrift Software License.
-Please see doc/old-thrift-license.txt in the Thrift distribution for
-details.
-
-Library
-=======
-
-To get started, just file in thrift.st with Squeak, run thrift -st
-on the tutorial .thrift files (and file in the resulting code), and
-then:
-
-calc := CalculatorClient binaryOnHost: 'localhost' port: '9090'
-calc addNum1: 10 num2: 15
-
-Tested in Squeak 3.7, but should work fine with anything later.
http://git-wip-us.apache.org/repos/asf/thrift/blob/16fcad0b/lib/st/README.md
----------------------------------------------------------------------
diff --git a/lib/st/README.md b/lib/st/README.md
new file mode 100644
index 0000000..5b5fdee
--- /dev/null
+++ b/lib/st/README.md
@@ -0,0 +1,39 @@
+Thrift SmallTalk Software Library
+
+Last updated Nov 2007
+
+License
+=======
+
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+
+Contains some contributions under the Thrift Software License.
+Please see doc/old-thrift-license.txt in the Thrift distribution for
+details.
+
+Library
+=======
+
+To get started, just file in thrift.st with Squeak, run thrift -st
+on the tutorial .thrift files (and file in the resulting code), and
+then:
+
+calc := CalculatorClient binaryOnHost: 'localhost' port: '9090'
+calc addNum1: 10 num2: 15
+
+Tested in Squeak 3.7, but should work fine with anything later.
http://git-wip-us.apache.org/repos/asf/thrift/blob/16fcad0b/tutorial/README
----------------------------------------------------------------------
diff --git a/tutorial/README b/tutorial/README
deleted file mode 100644
index a29f977..0000000
--- a/tutorial/README
+++ /dev/null
@@ -1,42 +0,0 @@
-Thrift Tutorial
-
-License
-=======
-
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements. See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership. The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied. See the License for the
-specific language governing permissions and limitations
-under the License.
-
-Tutorial
-========
-
-1) First things first, you'll need to install the Thrift compiler and the
- language libraries. Do that using the instructions in the top level
- README file.
-
-2) Read tutorial.thrift to learn about the syntax of a Thrift file
-
-3) Compile the code for the language of your choice:
-
- $ thrift
- $ thrift -r --gen cpp tutorial.thrift
-
-4) Take a look at the generated code.
-
-5) Look in the language directories for sample client/server code.
-
-6) That's about it for now. This tutorial is intentionally brief. It should be
- just enough to get you started and ready to build your own project.
http://git-wip-us.apache.org/repos/asf/thrift/blob/16fcad0b/tutorial/README.md
----------------------------------------------------------------------
diff --git a/tutorial/README.md b/tutorial/README.md
new file mode 100644
index 0000000..7772bf3
--- /dev/null
+++ b/tutorial/README.md
@@ -0,0 +1,42 @@
+Thrift Tutorial
+
+License
+=======
+
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+
+Tutorial
+========
+
+1) First things first, you'll need to install the Thrift compiler and the
+ language libraries. Do that using the instructions in the top level
+ README.md file.
+
+2) Read tutorial.thrift to learn about the syntax of a Thrift file
+
+3) Compile the code for the language of your choice:
+
+ $ thrift
+ $ thrift -r --gen cpp tutorial.thrift
+
+4) Take a look at the generated code.
+
+5) Look in the language directories for sample client/server code.
+
+6) That's about it for now. This tutorial is intentionally brief. It should be
+ just enough to get you started and ready to build your own project.
http://git-wip-us.apache.org/repos/asf/thrift/blob/16fcad0b/tutorial/erl/README
----------------------------------------------------------------------
diff --git a/tutorial/erl/README b/tutorial/erl/README
deleted file mode 100644
index 9d17cd0..0000000
--- a/tutorial/erl/README
+++ /dev/null
@@ -1,8 +0,0 @@
-To try things out, run
-
-% ./server.sh
-Erlang R14B (erts-5.8.1) [source] [64-bit] [smp:4:4] [rq:4] [async-threads:0] [hipe] [kernel-poll:false]
-
-Eshell V5.8.1 (abort with ^G)
-> server:start().
-> client:t().
http://git-wip-us.apache.org/repos/asf/thrift/blob/16fcad0b/tutorial/erl/README.md
----------------------------------------------------------------------
diff --git a/tutorial/erl/README.md b/tutorial/erl/README.md
new file mode 100644
index 0000000..9d17cd0
--- /dev/null
+++ b/tutorial/erl/README.md
@@ -0,0 +1,8 @@
+To try things out, run
+
+% ./server.sh
+Erlang R14B (erts-5.8.1) [source] [64-bit] [smp:4:4] [rq:4] [async-threads:0] [hipe] [kernel-poll:false]
+
+Eshell V5.8.1 (abort with ^G)
+> server:start().
+> client:t().
http://git-wip-us.apache.org/repos/asf/thrift/blob/16fcad0b/tutorial/java/README
----------------------------------------------------------------------
diff --git a/tutorial/java/README b/tutorial/java/README
deleted file mode 100644
index c0811f7..0000000
--- a/tutorial/java/README
+++ /dev/null
@@ -1,20 +0,0 @@
-Thrift Java Tutorial
-==================================================
-1) Compile the Java library
-
-thrift/lib/java$ make
-or:
-thrift/lib/java$ ant
-
-4) Run the tutorial:
-
-start server and client with one step:
-thrift/tutorial/java$ make tutorial
-
-or:
-thrift/tutorial/java$ make tutorialserver
-thrift/tutorial/java$ make tutorialclient
-
-or:
-thrift/tutorial/java$ ant tutorialserver
-thrift/tutorial/java$ ant tutorialclient
http://git-wip-us.apache.org/repos/asf/thrift/blob/16fcad0b/tutorial/java/README.md
----------------------------------------------------------------------
diff --git a/tutorial/java/README.md b/tutorial/java/README.md
new file mode 100644
index 0000000..c0811f7
--- /dev/null
+++ b/tutorial/java/README.md
@@ -0,0 +1,20 @@
+Thrift Java Tutorial
+==================================================
+1) Compile the Java library
+
+thrift/lib/java$ make
+or:
+thrift/lib/java$ ant
+
+4) Run the tutorial:
+
+start server and client with one step:
+thrift/tutorial/java$ make tutorial
+
+or:
+thrift/tutorial/java$ make tutorialserver
+thrift/tutorial/java$ make tutorialclient
+
+or:
+thrift/tutorial/java$ ant tutorialserver
+thrift/tutorial/java$ ant tutorialclient
http://git-wip-us.apache.org/repos/asf/thrift/blob/16fcad0b/tutorial/ocaml/README
----------------------------------------------------------------------
diff --git a/tutorial/ocaml/README b/tutorial/ocaml/README
deleted file mode 100644
index f68e835..0000000
--- a/tutorial/ocaml/README
+++ /dev/null
@@ -1,15 +0,0 @@
-
-This is the ocaml tutorial example. It assumes that you've already
-built and installed the thrift ocaml runtime libraries in lib/ocaml.
-
-To compile this, you will need to generate the Thrift sources for
-ocaml in this directory (due to limitations in the OASIS build-tool):
-
- % thrift -r --gen ocaml ../tutorial.thrift
- % oasis setup
- % make
-
-This will produce two executables Calc{Server,Client}.<type> where
-<type> is one of "byte" or "native", depending on your ocaml
-installation. Just run the server in the background, then the client
-(as you would do for the C++ example).
http://git-wip-us.apache.org/repos/asf/thrift/blob/16fcad0b/tutorial/ocaml/README.md
----------------------------------------------------------------------
diff --git a/tutorial/ocaml/README.md b/tutorial/ocaml/README.md
new file mode 100644
index 0000000..f68e835
--- /dev/null
+++ b/tutorial/ocaml/README.md
@@ -0,0 +1,15 @@
+
+This is the ocaml tutorial example. It assumes that you've already
+built and installed the thrift ocaml runtime libraries in lib/ocaml.
+
+To compile this, you will need to generate the Thrift sources for
+ocaml in this directory (due to limitations in the OASIS build-tool):
+
+ % thrift -r --gen ocaml ../tutorial.thrift
+ % oasis setup
+ % make
+
+This will produce two executables Calc{Server,Client}.<type> where
+<type> is one of "byte" or "native", depending on your ocaml
+installation. Just run the server in the background, then the client
+(as you would do for the C++ example).
[2/2] git commit: THRIFT-2407 use markdown (rename README =>
README.md) Patch: Roger Meier
Posted by ro...@apache.org.
THRIFT-2407 use markdown (rename README => README.md)
Patch: Roger Meier
Project: http://git-wip-us.apache.org/repos/asf/thrift/repo
Commit: http://git-wip-us.apache.org/repos/asf/thrift/commit/16fcad0b
Tree: http://git-wip-us.apache.org/repos/asf/thrift/tree/16fcad0b
Diff: http://git-wip-us.apache.org/repos/asf/thrift/diff/16fcad0b
Branch: refs/heads/master
Commit: 16fcad0b25f1200db7ec0add08f827c76bf4dd43
Parents: 706cb4e
Author: Roger Meier <ro...@apache.org>
Authored: Sun Mar 16 21:12:11 2014 +0100
Committer: Roger Meier <ro...@apache.org>
Committed: Wed Mar 19 06:47:47 2014 +0100
----------------------------------------------------------------------
Makefile.am | 3 +-
README | 158 ------------------------------
README.md | 159 +++++++++++++++++++++++++++++++
compiler/cpp/Makefile.am | 2 +-
compiler/cpp/README | 0
compiler/cpp/README.md | 0
compiler/cpp/README_Windows.md | 34 +++++++
compiler/cpp/README_Windows.txt | 34 -------
contrib/Rebus/README | 21 ----
contrib/Rebus/README.md | 21 ++++
contrib/Stomp/README | 18 ----
contrib/Stomp/README.md | 18 ++++
contrib/fb303/README | 37 -------
contrib/fb303/README.md | 37 +++++++
contrib/transport-sample/README.md | 61 ++++++++++++
contrib/transport-sample/README.txt | 61 ------------
contrib/zeromq/README | 30 ------
contrib/zeromq/README.md | 30 ++++++
debian/README | 19 ----
debian/README.md | 19 ++++
lib/c_glib/Makefile.am | 2 +-
lib/c_glib/README | 34 -------
lib/c_glib/README.md | 34 +++++++
lib/cocoa/README | 21 ----
lib/cocoa/README.md | 21 ++++
lib/cpp/Makefile.am | 6 +-
lib/cpp/README | 67 -------------
lib/cpp/README.SSL | 135 --------------------------
lib/cpp/README.SSL.md | 135 ++++++++++++++++++++++++++
lib/cpp/README.md | 67 +++++++++++++
lib/cpp/README_WINDOWS | 107 ---------------------
lib/cpp/README_WINDOWS.md | 107 +++++++++++++++++++++
lib/csharp/README | 26 -----
lib/csharp/README.md | 26 +++++
lib/d/Makefile.am | 2 +-
lib/d/README | 58 -----------
lib/d/README.md | 58 +++++++++++
lib/delphi/test/codegen/README.md | 28 ++++++
lib/delphi/test/codegen/README.txt | 28 ------
lib/delphi/test/skip/README.md | 11 +++
lib/delphi/test/skip/README.txt | 11 ---
lib/erl/README | 48 ----------
lib/erl/README.md | 48 ++++++++++
lib/go/Makefile.am | 4 +-
lib/go/README | 66 -------------
lib/go/README.md | 66 +++++++++++++
lib/hs/Makefile.am | 2 +-
lib/hs/README | 99 -------------------
lib/hs/README.md | 99 +++++++++++++++++++
lib/java/README | 53 -----------
lib/java/README.md | 53 +++++++++++
lib/js/Gruntfile.js | 2 +-
lib/js/README | 129 -------------------------
lib/js/README.md | 129 +++++++++++++++++++++++++
lib/js/test/README | 68 -------------
lib/js/test/README.md | 68 +++++++++++++
lib/ocaml/README | 119 -----------------------
lib/ocaml/README.md | 119 +++++++++++++++++++++++
lib/perl/README | 41 --------
lib/perl/README.md | 41 ++++++++
lib/php/Makefile.am | 2 +-
lib/php/README | 53 -----------
lib/php/README.apache | 74 --------------
lib/php/README.apache.md | 74 ++++++++++++++
lib/php/README.md | 53 +++++++++++
lib/py/README | 35 -------
lib/py/README.md | 35 +++++++
lib/rb/README | 43 ---------
lib/rb/README.md | 43 +++++++++
lib/rb/thrift.gemspec | 2 +-
lib/st/README | 39 --------
lib/st/README.md | 39 ++++++++
tutorial/README | 42 --------
tutorial/README.md | 42 ++++++++
tutorial/erl/README | 8 --
tutorial/erl/README.md | 8 ++
tutorial/java/README | 20 ----
tutorial/java/README.md | 20 ++++
tutorial/ocaml/README | 15 ---
tutorial/ocaml/README.md | 15 +++
80 files changed, 1832 insertions(+), 1830 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/thrift/blob/16fcad0b/Makefile.am
----------------------------------------------------------------------
diff --git a/Makefile.am b/Makefile.am
index ec0b319..6bc8754 100755
--- a/Makefile.am
+++ b/Makefile.am
@@ -50,4 +50,5 @@ EXTRA_DIST = \
sonar-project.properties \
LICENSE \
CHANGES \
- NOTICE
+ NOTICE \
+ README.md
http://git-wip-us.apache.org/repos/asf/thrift/blob/16fcad0b/README
----------------------------------------------------------------------
diff --git a/README b/README
deleted file mode 100644
index 4d81081..0000000
--- a/README
+++ /dev/null
@@ -1,158 +0,0 @@
-Apache Thrift
-
-Last Modified: 2013-Dec-17
-
-License
-=======
-
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements. See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership. The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied. See the License for the
-specific language governing permissions and limitations
-under the License.
-
-Introduction
-============
-
-Thrift is a lightweight, language-independent software stack with an
-associated code generation mechanism for RPC. Thrift provides clean
-abstractions for data transport, data serialization, and application
-level processing. The code generation system takes a simple definition
-language as its input and generates code across programming languages that
-uses the abstracted stack to build interoperable RPC clients and servers.
-
-Thrift is specifically designed to support non-atomic version changes
-across client and server code.
-
-For more details on Thrift's design and implementation, take a gander at
-the Thrift whitepaper included in this distribution or at the README files
-in your particular subdirectory of interest.
-
-Hierarchy
-=========
-
-thrift/
-
- compiler/
- Contains the Thrift compiler, implemented in C++.
-
- lib/
- Contains the Thrift software library implementation, subdivided by
- language of implementation.
-
- cpp/
- go/
- java/
- php/
- py/
- rb/
-
- test/
-
- Contains sample Thrift files and test code across the target programming
- languages.
-
- tutorial/
-
- Contains a basic tutorial that will teach you how to develop software
- using Thrift.
-
-Requirements
-============
-
-See http://wiki.apache.org/thrift/ThriftRequirements for
-an up-to-date list of build requirements.
-
-Resources
-=========
-
-More information about Thrift can be obtained on the Thrift webpage at:
-
- http://thrift.apache.org
-
-Acknowledgments
-===============
-
-Thrift was inspired by pillar, a lightweight RPC tool written by Adam D'Angelo,
-and also by Google's protocol buffers.
-
-Installation
-============
-
-If you are building from the first time out of the source repository, you will
-need to generate the configure scripts. (This is not necessary if you
-downloaded a tarball.) From the top directory, do:
-
- ./bootstrap.sh
-
-Once the configure scripts are generated, thrift can be configured.
-From the top directory, do:
-
- ./configure
-
-You may need to specify the location of the boost files explicitly.
-If you installed boost in /usr/local, you would run configure as follows:
-
- ./configure --with-boost=/usr/local
-
-Note that by default the thrift C++ library is typically built with debugging
-symbols included. If you want to customize these options you should use the
-CXXFLAGS option in configure, as such:
-
- ./configure CXXFLAGS='-g -O2'
- ./configure CFLAGS='-g -O2'
- ./configure CPPFLAGS='-DDEBUG_MY_FEATURE'
-
-Run ./configure --help to see other configuration options
-
-Please be aware that the Python library will ignore the --prefix option
-and just install wherever Python's distutils puts it (usually along
-the lines of /usr/lib/pythonX.Y/site-packages/). If you need to control
-where the Python modules are installed, set the PY_PREFIX variable.
-(DESTDIR is respected for Python and C++.)
-
-Make thrift:
-
- make
-
-From the top directory, become superuser and do:
-
- make install
-
-Note that some language packages must be installed manually using build tools
-better suited to those languages (at the time of this writing, this applies
-to Java, Ruby, PHP).
-
-Look for the README file in the lib/<language>/ folder for more details on the
-installation of each language library package.
-
-Testing
-=======
-
-There are a large number of client library tests that can all be run
-from the top-level directory.
-
- make -k check
-
-This will make all of the libraries (as necessary), and run through
-the unit tests defined in each of the client libraries. If a single
-language fails, the make check will continue on and provide a synopsis
-at the end.
-
-To run the cross-language test suite, please run:
-
- make cross
-
-This will run a set of tests that use different language clients and
-servers.
http://git-wip-us.apache.org/repos/asf/thrift/blob/16fcad0b/README.md
----------------------------------------------------------------------
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..3520c01
--- /dev/null
+++ b/README.md
@@ -0,0 +1,159 @@
+Apache Thrift
+=============
+
+Last Modified: 2014-03-16
+
+License
+=======
+
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+
+Introduction
+============
+
+Thrift is a lightweight, language-independent software stack with an
+associated code generation mechanism for RPC. Thrift provides clean
+abstractions for data transport, data serialization, and application
+level processing. The code generation system takes a simple definition
+language as its input and generates code across programming languages that
+uses the abstracted stack to build interoperable RPC clients and servers.
+
+Thrift is specifically designed to support non-atomic version changes
+across client and server code.
+
+For more details on Thrift's design and implementation, take a gander at
+the Thrift whitepaper included in this distribution or at the README.md files
+in your particular subdirectory of interest.
+
+Hierarchy
+=========
+
+thrift/
+
+ compiler/
+ Contains the Thrift compiler, implemented in C++.
+
+ lib/
+ Contains the Thrift software library implementation, subdivided by
+ language of implementation.
+
+ cpp/
+ go/
+ java/
+ php/
+ py/
+ rb/
+
+ test/
+
+ Contains sample Thrift files and test code across the target programming
+ languages.
+
+ tutorial/
+
+ Contains a basic tutorial that will teach you how to develop software
+ using Thrift.
+
+Requirements
+============
+
+See http://wiki.apache.org/thrift/ThriftRequirements for
+an up-to-date list of build requirements.
+
+Resources
+=========
+
+More information about Thrift can be obtained on the Thrift webpage at:
+
+ http://thrift.apache.org
+
+Acknowledgments
+===============
+
+Thrift was inspired by pillar, a lightweight RPC tool written by Adam D'Angelo,
+and also by Google's protocol buffers.
+
+Installation
+============
+
+If you are building from the first time out of the source repository, you will
+need to generate the configure scripts. (This is not necessary if you
+downloaded a tarball.) From the top directory, do:
+
+ ./bootstrap.sh
+
+Once the configure scripts are generated, thrift can be configured.
+From the top directory, do:
+
+ ./configure
+
+You may need to specify the location of the boost files explicitly.
+If you installed boost in /usr/local, you would run configure as follows:
+
+ ./configure --with-boost=/usr/local
+
+Note that by default the thrift C++ library is typically built with debugging
+symbols included. If you want to customize these options you should use the
+CXXFLAGS option in configure, as such:
+
+ ./configure CXXFLAGS='-g -O2'
+ ./configure CFLAGS='-g -O2'
+ ./configure CPPFLAGS='-DDEBUG_MY_FEATURE'
+
+Run ./configure --help to see other configuration options
+
+Please be aware that the Python library will ignore the --prefix option
+and just install wherever Python's distutils puts it (usually along
+the lines of /usr/lib/pythonX.Y/site-packages/). If you need to control
+where the Python modules are installed, set the PY_PREFIX variable.
+(DESTDIR is respected for Python and C++.)
+
+Make thrift:
+
+ make
+
+From the top directory, become superuser and do:
+
+ make install
+
+Note that some language packages must be installed manually using build tools
+better suited to those languages (at the time of this writing, this applies
+to Java, Ruby, PHP).
+
+Look for the README.md file in the lib/<language>/ folder for more details on the
+installation of each language library package.
+
+Testing
+=======
+
+There are a large number of client library tests that can all be run
+from the top-level directory.
+
+ make -k check
+
+This will make all of the libraries (as necessary), and run through
+the unit tests defined in each of the client libraries. If a single
+language fails, the make check will continue on and provide a synopsis
+at the end.
+
+To run the cross-language test suite, please run:
+
+ make cross
+
+This will run a set of tests that use different language clients and
+servers.
http://git-wip-us.apache.org/repos/asf/thrift/blob/16fcad0b/compiler/cpp/Makefile.am
----------------------------------------------------------------------
diff --git a/compiler/cpp/Makefile.am b/compiler/cpp/Makefile.am
index 4c0e71d..95b78ee 100644
--- a/compiler/cpp/Makefile.am
+++ b/compiler/cpp/Makefile.am
@@ -106,7 +106,7 @@ WINDOWS_DIST = \
compiler.sln \
compiler.vcxproj \
compiler.vcxproj.filters \
- README_Windows.txt
+ README_Windows.md
EXTRA_DIST = \
$(WINDOWS_DIST)
http://git-wip-us.apache.org/repos/asf/thrift/blob/16fcad0b/compiler/cpp/README
----------------------------------------------------------------------
diff --git a/compiler/cpp/README b/compiler/cpp/README
deleted file mode 100644
index e69de29..0000000
http://git-wip-us.apache.org/repos/asf/thrift/blob/16fcad0b/compiler/cpp/README.md
----------------------------------------------------------------------
diff --git a/compiler/cpp/README.md b/compiler/cpp/README.md
new file mode 100644
index 0000000..e69de29
http://git-wip-us.apache.org/repos/asf/thrift/blob/16fcad0b/compiler/cpp/README_Windows.md
----------------------------------------------------------------------
diff --git a/compiler/cpp/README_Windows.md b/compiler/cpp/README_Windows.md
new file mode 100644
index 0000000..a19f83d
--- /dev/null
+++ b/compiler/cpp/README_Windows.md
@@ -0,0 +1,34 @@
+Building the Thrift IDL compiler in Windows
+-------------------------------------------
+
+The Visual Studio project contains pre-build commands to generate the
+thriftl.cc, thrifty.cc and thrifty.hh files which are necessary to build
+the compiler. These depend on bison, flex and their dependencies to
+work properly. If this doesn't work on a system, try these manual
+pre-build steps.
+
+Open compiler.sln and remove the Pre-build commands under the project's
+ Properties -> Build Events -> Pre-Build Events.
+
+Download flex & bison from http://jaisantonyk.wordpress.com/2008/03/16/lex-and-yaccbison-in-windows/
+Download bison.simple in addition to bison.exe . This build of bison is easier to use
+than the one on sourceforge which has a myriad of dependencies.
+Place these binaries somewhere in the path.
+
+From a command prompt:
+> cd thrift/compiler/cpp
+> flex -osrc\thriftl.cc src\thriftl.ll
+In the generated thriftl.cc, comment out #include <unistd.h>
+
+Place a copy of bison.simple in thrift/compiler/cpp
+> bison -y -o "src/thrifty.cc" --defines src/thrifty.yy
+> move src\thrifty.cc.hh src\thrifty.hh
+
+Bison might generate the yacc header file "thrifty.cc.h" with just one h ".h" extension; in this case you'll have to rename to "thrifty.h".
+
+> move src\windows\version.h.in src\windows\version.h
+
+Download inttypes.h from the interwebs and place it in an include path
+location (e.g. thrift/compiler/cpp/src).
+
+Build the compiler in Visual Studio.
http://git-wip-us.apache.org/repos/asf/thrift/blob/16fcad0b/compiler/cpp/README_Windows.txt
----------------------------------------------------------------------
diff --git a/compiler/cpp/README_Windows.txt b/compiler/cpp/README_Windows.txt
deleted file mode 100644
index a19f83d..0000000
--- a/compiler/cpp/README_Windows.txt
+++ /dev/null
@@ -1,34 +0,0 @@
-Building the Thrift IDL compiler in Windows
--------------------------------------------
-
-The Visual Studio project contains pre-build commands to generate the
-thriftl.cc, thrifty.cc and thrifty.hh files which are necessary to build
-the compiler. These depend on bison, flex and their dependencies to
-work properly. If this doesn't work on a system, try these manual
-pre-build steps.
-
-Open compiler.sln and remove the Pre-build commands under the project's
- Properties -> Build Events -> Pre-Build Events.
-
-Download flex & bison from http://jaisantonyk.wordpress.com/2008/03/16/lex-and-yaccbison-in-windows/
-Download bison.simple in addition to bison.exe . This build of bison is easier to use
-than the one on sourceforge which has a myriad of dependencies.
-Place these binaries somewhere in the path.
-
-From a command prompt:
-> cd thrift/compiler/cpp
-> flex -osrc\thriftl.cc src\thriftl.ll
-In the generated thriftl.cc, comment out #include <unistd.h>
-
-Place a copy of bison.simple in thrift/compiler/cpp
-> bison -y -o "src/thrifty.cc" --defines src/thrifty.yy
-> move src\thrifty.cc.hh src\thrifty.hh
-
-Bison might generate the yacc header file "thrifty.cc.h" with just one h ".h" extension; in this case you'll have to rename to "thrifty.h".
-
-> move src\windows\version.h.in src\windows\version.h
-
-Download inttypes.h from the interwebs and place it in an include path
-location (e.g. thrift/compiler/cpp/src).
-
-Build the compiler in Visual Studio.
http://git-wip-us.apache.org/repos/asf/thrift/blob/16fcad0b/contrib/Rebus/README
----------------------------------------------------------------------
diff --git a/contrib/Rebus/README b/contrib/Rebus/README
deleted file mode 100644
index bbb9c49..0000000
--- a/contrib/Rebus/README
+++ /dev/null
@@ -1,21 +0,0 @@
-Sample code for the combination of Thrift with Rebus.
-
-Rebus is a .NET service bus, similar to NServiceBus, but more lightweight.
-It ihas been mainly written by Mogens Heller Grabe and is currently hosted
-on GitHub (https://github.com/rebus-org/Rebus)
-
-As with all ServiceBus or MQ scenarios, due to the highly asynchronous
-operations it is recommended to do all calls as "oneway void" calls.
-
-The configuration can be done via App.Config, via code or even mixed from
-both locations. Refer to the Rebus documentation for further details. For
-this example, since we are effectively implementing two queue listeners in
-only one single process, we do configuration of incoming and error queues
-in the code.
-
-If you want to communicate with non-NET languages, you may need a customized
-serializer as well, in order to override Rebus' default wire format. Please
-refer to the Rebus docs on how to do that (it's not that hard, really).
-
-Additional requirements:
-- RabbitMQ .NET client (see nuget)
http://git-wip-us.apache.org/repos/asf/thrift/blob/16fcad0b/contrib/Rebus/README.md
----------------------------------------------------------------------
diff --git a/contrib/Rebus/README.md b/contrib/Rebus/README.md
new file mode 100644
index 0000000..bbb9c49
--- /dev/null
+++ b/contrib/Rebus/README.md
@@ -0,0 +1,21 @@
+Sample code for the combination of Thrift with Rebus.
+
+Rebus is a .NET service bus, similar to NServiceBus, but more lightweight.
+It ihas been mainly written by Mogens Heller Grabe and is currently hosted
+on GitHub (https://github.com/rebus-org/Rebus)
+
+As with all ServiceBus or MQ scenarios, due to the highly asynchronous
+operations it is recommended to do all calls as "oneway void" calls.
+
+The configuration can be done via App.Config, via code or even mixed from
+both locations. Refer to the Rebus documentation for further details. For
+this example, since we are effectively implementing two queue listeners in
+only one single process, we do configuration of incoming and error queues
+in the code.
+
+If you want to communicate with non-NET languages, you may need a customized
+serializer as well, in order to override Rebus' default wire format. Please
+refer to the Rebus docs on how to do that (it's not that hard, really).
+
+Additional requirements:
+- RabbitMQ .NET client (see nuget)
http://git-wip-us.apache.org/repos/asf/thrift/blob/16fcad0b/contrib/Stomp/README
----------------------------------------------------------------------
diff --git a/contrib/Stomp/README b/contrib/Stomp/README
deleted file mode 100644
index 2e5f21c..0000000
--- a/contrib/Stomp/README
+++ /dev/null
@@ -1,18 +0,0 @@
-Sample code for STOMP-based Thrift clients and/or servers.
-
-Although the sample Thrift STOMP Transport is written in
-Delphi/Pascal, it can easily serve as a starting point for
-similar implementations in other languages.
-
-STOMP is a protocol widely supported by many messaging systems,
-such as Apache ActiveMQ, RabbitMQ and many others. In particular,
-it can be used to communicate with Service-Bus products like Rebus
-or NServiceBus, when running against a STOMP-capable MQ system.
-
-A prerequisite for this sample is the Delphi STOMP Adapter written
-by Daniele Teti (http://www.danieleteti.it/stomp-client), currently
-hosted at Google Code (http://code.google.com/p/delphistompclient).
-
-At the time of writing, the STOMP adapter does not fully support
-binary data. Please check whether this has been fixed, otherwise
-you have to use the JSON protocol (or to fix it on your own).
http://git-wip-us.apache.org/repos/asf/thrift/blob/16fcad0b/contrib/Stomp/README.md
----------------------------------------------------------------------
diff --git a/contrib/Stomp/README.md b/contrib/Stomp/README.md
new file mode 100644
index 0000000..2e5f21c
--- /dev/null
+++ b/contrib/Stomp/README.md
@@ -0,0 +1,18 @@
+Sample code for STOMP-based Thrift clients and/or servers.
+
+Although the sample Thrift STOMP Transport is written in
+Delphi/Pascal, it can easily serve as a starting point for
+similar implementations in other languages.
+
+STOMP is a protocol widely supported by many messaging systems,
+such as Apache ActiveMQ, RabbitMQ and many others. In particular,
+it can be used to communicate with Service-Bus products like Rebus
+or NServiceBus, when running against a STOMP-capable MQ system.
+
+A prerequisite for this sample is the Delphi STOMP Adapter written
+by Daniele Teti (http://www.danieleteti.it/stomp-client), currently
+hosted at Google Code (http://code.google.com/p/delphistompclient).
+
+At the time of writing, the STOMP adapter does not fully support
+binary data. Please check whether this has been fixed, otherwise
+you have to use the JSON protocol (or to fix it on your own).
http://git-wip-us.apache.org/repos/asf/thrift/blob/16fcad0b/contrib/fb303/README
----------------------------------------------------------------------
diff --git a/contrib/fb303/README b/contrib/fb303/README
deleted file mode 100644
index 8ade560..0000000
--- a/contrib/fb303/README
+++ /dev/null
@@ -1,37 +0,0 @@
-Project FB303: The Facebook Bassline
-------------------------------------
-
-* Curious about the 303? *
-http://en.wikipedia.org/wiki/Roland_TB-303
-
-* Why the name? *
-The TB303 makes bass lines.
-.Bass is what lies underneath any strong tune.
-..fb303 is the shared root of all thrift services.
-...fb303 => FacebookBase303.
-
-* How do I use this? *
-Take a look at the examples to see how your backend project can
-and should inherit from this service.
-
-* What does it provide? *
-A standard interface to monitoring, dynamic options and configuration,
-uptime reports, activity, etc.
-
-* I want more. *
-Think carefully first about whether the functionality you are going to add
-belongs here or in your application. If it can be abstracted and is generally
-useful, then it probably belongs somewhere in the fb303 tree. Keep in mind,
-not every product has to use ALL the functionality of fb303, but every product
-CANNOT use functionality that is NOT in fb303.
-
-* Is this open source? *
-Yes. fb303 is distributed under the Thrift Software License. See the
-LICENSE file for more details.
-
-* Installation *
-fb303 is configured/built/installed similar to Thrift. See the README
-in the Thrift root directory for more information.
-
-* Who wrote this README? *
-mcslee@facebook.com
http://git-wip-us.apache.org/repos/asf/thrift/blob/16fcad0b/contrib/fb303/README.md
----------------------------------------------------------------------
diff --git a/contrib/fb303/README.md b/contrib/fb303/README.md
new file mode 100644
index 0000000..8ade560
--- /dev/null
+++ b/contrib/fb303/README.md
@@ -0,0 +1,37 @@
+Project FB303: The Facebook Bassline
+------------------------------------
+
+* Curious about the 303? *
+http://en.wikipedia.org/wiki/Roland_TB-303
+
+* Why the name? *
+The TB303 makes bass lines.
+.Bass is what lies underneath any strong tune.
+..fb303 is the shared root of all thrift services.
+...fb303 => FacebookBase303.
+
+* How do I use this? *
+Take a look at the examples to see how your backend project can
+and should inherit from this service.
+
+* What does it provide? *
+A standard interface to monitoring, dynamic options and configuration,
+uptime reports, activity, etc.
+
+* I want more. *
+Think carefully first about whether the functionality you are going to add
+belongs here or in your application. If it can be abstracted and is generally
+useful, then it probably belongs somewhere in the fb303 tree. Keep in mind,
+not every product has to use ALL the functionality of fb303, but every product
+CANNOT use functionality that is NOT in fb303.
+
+* Is this open source? *
+Yes. fb303 is distributed under the Thrift Software License. See the
+LICENSE file for more details.
+
+* Installation *
+fb303 is configured/built/installed similar to Thrift. See the README
+in the Thrift root directory for more information.
+
+* Who wrote this README? *
+mcslee@facebook.com
http://git-wip-us.apache.org/repos/asf/thrift/blob/16fcad0b/contrib/transport-sample/README.md
----------------------------------------------------------------------
diff --git a/contrib/transport-sample/README.md b/contrib/transport-sample/README.md
new file mode 100644
index 0000000..a1dfc0a
--- /dev/null
+++ b/contrib/transport-sample/README.md
@@ -0,0 +1,61 @@
+Thrift transport sample project
+-------------------------------
+
+This cross-platform project has been built with Windows Visual Studio 10 and
+OSX 10.7.1's g++. The client and server support socket and pipe transports
+through command-line switches.
+
+Windows supports both named & anonymous pipes; *NIX gets only named
+'pipes' at this time.
+
+Windows-only at this time:
+The client & server are double-ended. Both sides run a server and client to
+enable full duplex bidirectional event signaling. They are simple command
+line apps. The server runs until it's aborted (Ctl-C). The client connects to
+the server, informs the server of its listening pipe/port, runs some more RPCs
+and exits. The server also makes RPC calls to the client to demonstrate
+bidirectional operation.
+
+Prequisites:
+Boost -- tested with Boost 1.47, other versions may work.
+libthrift library -- build the library under "thrift/lib/cpp/"
+thrift IDL compiler -- download from http://thrift.apache.org/download/
+ or build from "thrift/compiler/cpp". The IDL compiler version should
+ match the thrift source distribution's version. For instance, thrift-0.9.0
+ has a different directory structure than thrift-0.8.0 and the generated
+ files are not compatible.
+
+Note: Bulding the thrift IDL compiler and library are beyond the scope
+of this article. Please refer to the Thrift documentation in the respective
+directories and online.
+
+
+Microsoft Windows with Visual Studio 10
+----------------------------------------
+Copy the IDL compiler 'thrift.exe' to this project folder or to a location in the path.
+Run thriftme.bat to generate the interface source from the thrift files.
+
+Open transport-sample.sln and...
+Adapt the Boost paths for the client and server projects. Right-click on each project, select
+Properties, then:
+Configuration Properties -> C/C++ -> General -> Additional Include Directories
+Configuration Properties -> Linker -> General -> Additional Include Directories
+
+The stock path assumes that Boost is located at the same level as the thrift repo root.
+
+Run the following in separate command prompts from the Release or Debug
+build folder:
+ server.exe -np test
+ client.exe -np test
+
+
+*NIX flavors
+------------
+Build the thrift cpp library.
+Build the IDL compiler and copy it to this project folder.
+Run thriftme.sh to generate the interface source from the thrift files.
+Run 'make'
+
+Run the following in separate shells:
+ server/server -np /tmp/test
+ client/client -np /tmp/test
http://git-wip-us.apache.org/repos/asf/thrift/blob/16fcad0b/contrib/transport-sample/README.txt
----------------------------------------------------------------------
diff --git a/contrib/transport-sample/README.txt b/contrib/transport-sample/README.txt
deleted file mode 100644
index a1dfc0a..0000000
--- a/contrib/transport-sample/README.txt
+++ /dev/null
@@ -1,61 +0,0 @@
-Thrift transport sample project
--------------------------------
-
-This cross-platform project has been built with Windows Visual Studio 10 and
-OSX 10.7.1's g++. The client and server support socket and pipe transports
-through command-line switches.
-
-Windows supports both named & anonymous pipes; *NIX gets only named
-'pipes' at this time.
-
-Windows-only at this time:
-The client & server are double-ended. Both sides run a server and client to
-enable full duplex bidirectional event signaling. They are simple command
-line apps. The server runs until it's aborted (Ctl-C). The client connects to
-the server, informs the server of its listening pipe/port, runs some more RPCs
-and exits. The server also makes RPC calls to the client to demonstrate
-bidirectional operation.
-
-Prequisites:
-Boost -- tested with Boost 1.47, other versions may work.
-libthrift library -- build the library under "thrift/lib/cpp/"
-thrift IDL compiler -- download from http://thrift.apache.org/download/
- or build from "thrift/compiler/cpp". The IDL compiler version should
- match the thrift source distribution's version. For instance, thrift-0.9.0
- has a different directory structure than thrift-0.8.0 and the generated
- files are not compatible.
-
-Note: Bulding the thrift IDL compiler and library are beyond the scope
-of this article. Please refer to the Thrift documentation in the respective
-directories and online.
-
-
-Microsoft Windows with Visual Studio 10
-----------------------------------------
-Copy the IDL compiler 'thrift.exe' to this project folder or to a location in the path.
-Run thriftme.bat to generate the interface source from the thrift files.
-
-Open transport-sample.sln and...
-Adapt the Boost paths for the client and server projects. Right-click on each project, select
-Properties, then:
-Configuration Properties -> C/C++ -> General -> Additional Include Directories
-Configuration Properties -> Linker -> General -> Additional Include Directories
-
-The stock path assumes that Boost is located at the same level as the thrift repo root.
-
-Run the following in separate command prompts from the Release or Debug
-build folder:
- server.exe -np test
- client.exe -np test
-
-
-*NIX flavors
-------------
-Build the thrift cpp library.
-Build the IDL compiler and copy it to this project folder.
-Run thriftme.sh to generate the interface source from the thrift files.
-Run 'make'
-
-Run the following in separate shells:
- server/server -np /tmp/test
- client/client -np /tmp/test
http://git-wip-us.apache.org/repos/asf/thrift/blob/16fcad0b/contrib/zeromq/README
----------------------------------------------------------------------
diff --git a/contrib/zeromq/README b/contrib/zeromq/README
deleted file mode 100644
index 9e0b5bd..0000000
--- a/contrib/zeromq/README
+++ /dev/null
@@ -1,30 +0,0 @@
-This directory contains some glue code to allow Thrift RPCs to be sent over
-ZeroMQ. Included are client and server implementations for Python and C++,
-along with a simple demo interface (with a working client and server for
-each language).
-
-Thrift was designed for stream-based interfaces like TCP, but ZeroMQ is
-message-based, so there is a small impedance mismatch. Most of issues are
-hidden from developers, but one cannot be: oneway methods have to be handled
-differently from normal ones. ZeroMQ requires the messaging pattern to be
-declared at socket creation time, so an application cannot decide on a
-message-by-message basis whether to send a reply. Therefore, this
-implementation makes it the client's responsibility to ensure that ZMQ_REQ
-sockets are used for normal methods and ZMQ_DOWNSTREAM sockets are used for
-oneway methods. In addition, services that expose both types of methods
-have to expose two servers (on two ports), but the TZmqMultiServer makes it
-easy to run the two together in the same thread.
-
-This code was tested with ZeroMQ 2.0.7 and pyzmq afabbb5b9bd3.
-
-To build, simply install Thrift and ZeroMQ, then run "make". If you install
-in a non-standard location, make sure to set THRIFT to the location of the
-Thrift code generator on the make command line and PKG_CONFIG_PATH to a path
-that includes the pkgconfig files for both Thrift and ZeroMQ. The test
-servers take no arguments. Run the test clients with no arguments to
-retrieve the stored value or with an integer argument to increment it by
-that amount.
-
-This code is not quite what I would consider production-ready. It doesn't
-support all of the normal hooks into Thrift, and its performance is
-sub-optimal because it does some unnecessary copying.
http://git-wip-us.apache.org/repos/asf/thrift/blob/16fcad0b/contrib/zeromq/README.md
----------------------------------------------------------------------
diff --git a/contrib/zeromq/README.md b/contrib/zeromq/README.md
new file mode 100644
index 0000000..9e0b5bd
--- /dev/null
+++ b/contrib/zeromq/README.md
@@ -0,0 +1,30 @@
+This directory contains some glue code to allow Thrift RPCs to be sent over
+ZeroMQ. Included are client and server implementations for Python and C++,
+along with a simple demo interface (with a working client and server for
+each language).
+
+Thrift was designed for stream-based interfaces like TCP, but ZeroMQ is
+message-based, so there is a small impedance mismatch. Most of issues are
+hidden from developers, but one cannot be: oneway methods have to be handled
+differently from normal ones. ZeroMQ requires the messaging pattern to be
+declared at socket creation time, so an application cannot decide on a
+message-by-message basis whether to send a reply. Therefore, this
+implementation makes it the client's responsibility to ensure that ZMQ_REQ
+sockets are used for normal methods and ZMQ_DOWNSTREAM sockets are used for
+oneway methods. In addition, services that expose both types of methods
+have to expose two servers (on two ports), but the TZmqMultiServer makes it
+easy to run the two together in the same thread.
+
+This code was tested with ZeroMQ 2.0.7 and pyzmq afabbb5b9bd3.
+
+To build, simply install Thrift and ZeroMQ, then run "make". If you install
+in a non-standard location, make sure to set THRIFT to the location of the
+Thrift code generator on the make command line and PKG_CONFIG_PATH to a path
+that includes the pkgconfig files for both Thrift and ZeroMQ. The test
+servers take no arguments. Run the test clients with no arguments to
+retrieve the stored value or with an integer argument to increment it by
+that amount.
+
+This code is not quite what I would consider production-ready. It doesn't
+support all of the normal hooks into Thrift, and its performance is
+sub-optimal because it does some unnecessary copying.
http://git-wip-us.apache.org/repos/asf/thrift/blob/16fcad0b/debian/README
----------------------------------------------------------------------
diff --git a/debian/README b/debian/README
deleted file mode 100755
index 98d4da0..0000000
--- a/debian/README
+++ /dev/null
@@ -1,19 +0,0 @@
-some tips on Debian Packaging
-- Debian New Maintainers' Guide [http://www.debian.org/doc/debian-policy/]
-- Debian Policy Manual [http://www.debian.org/doc/manuals/maint-guide/]
-- Machine-readable debian/copyright file [http://dep.debian.net/deps/dep5/]
-
-build
-$ dpkg-buildpackage -d -tc
- -d do not check build dependencies and conflicts.
- -tc clean source tree when finished.
-
-update changelog
-$ date -R
-
-check packages
-$ dpkg -c *.deb
-$ lintian *.deb
-
-todo
-make it perfect!
http://git-wip-us.apache.org/repos/asf/thrift/blob/16fcad0b/debian/README.md
----------------------------------------------------------------------
diff --git a/debian/README.md b/debian/README.md
new file mode 100755
index 0000000..98d4da0
--- /dev/null
+++ b/debian/README.md
@@ -0,0 +1,19 @@
+some tips on Debian Packaging
+- Debian New Maintainers' Guide [http://www.debian.org/doc/debian-policy/]
+- Debian Policy Manual [http://www.debian.org/doc/manuals/maint-guide/]
+- Machine-readable debian/copyright file [http://dep.debian.net/deps/dep5/]
+
+build
+$ dpkg-buildpackage -d -tc
+ -d do not check build dependencies and conflicts.
+ -tc clean source tree when finished.
+
+update changelog
+$ date -R
+
+check packages
+$ dpkg -c *.deb
+$ lintian *.deb
+
+todo
+make it perfect!
http://git-wip-us.apache.org/repos/asf/thrift/blob/16fcad0b/lib/c_glib/Makefile.am
----------------------------------------------------------------------
diff --git a/lib/c_glib/Makefile.am b/lib/c_glib/Makefile.am
index 3244f74..35f1114 100755
--- a/lib/c_glib/Makefile.am
+++ b/lib/c_glib/Makefile.am
@@ -85,7 +85,7 @@ include_processor_HEADERS = src/thrift/c_glib/processor/thrift_processor.h
EXTRA_DIST = \
- README \
+ README.md \
test/glib.suppress \
thrift_c_glib.pc.in
http://git-wip-us.apache.org/repos/asf/thrift/blob/16fcad0b/lib/c_glib/README
----------------------------------------------------------------------
diff --git a/lib/c_glib/README b/lib/c_glib/README
deleted file mode 100644
index fd70d08..0000000
--- a/lib/c_glib/README
+++ /dev/null
@@ -1,34 +0,0 @@
-Thrift C Software Library
-
-License
-=======
-
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements. See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership. The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied. See the License for the
-specific language governing permissions and limitations
-under the License.
-
-Using Thrift with C
-===================
-
-The Thrift C libraries are built using the GNU tools. Follow the instructions
-in the top-level README in order to generate the Makefiles.
-
-Dependencies
-============
-
-GLib
-http://www.gtk.org/
-
http://git-wip-us.apache.org/repos/asf/thrift/blob/16fcad0b/lib/c_glib/README.md
----------------------------------------------------------------------
diff --git a/lib/c_glib/README.md b/lib/c_glib/README.md
new file mode 100644
index 0000000..fd70d08
--- /dev/null
+++ b/lib/c_glib/README.md
@@ -0,0 +1,34 @@
+Thrift C Software Library
+
+License
+=======
+
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+
+Using Thrift with C
+===================
+
+The Thrift C libraries are built using the GNU tools. Follow the instructions
+in the top-level README in order to generate the Makefiles.
+
+Dependencies
+============
+
+GLib
+http://www.gtk.org/
+
http://git-wip-us.apache.org/repos/asf/thrift/blob/16fcad0b/lib/cocoa/README
----------------------------------------------------------------------
diff --git a/lib/cocoa/README b/lib/cocoa/README
deleted file mode 100644
index bbe3c93..0000000
--- a/lib/cocoa/README
+++ /dev/null
@@ -1,21 +0,0 @@
-Thrift Cocoa Software Library
-
-License
-=======
-
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements. See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership. The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied. See the License for the
-specific language governing permissions and limitations
-under the License.
http://git-wip-us.apache.org/repos/asf/thrift/blob/16fcad0b/lib/cocoa/README.md
----------------------------------------------------------------------
diff --git a/lib/cocoa/README.md b/lib/cocoa/README.md
new file mode 100644
index 0000000..bbe3c93
--- /dev/null
+++ b/lib/cocoa/README.md
@@ -0,0 +1,21 @@
+Thrift Cocoa Software Library
+
+License
+=======
+
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
http://git-wip-us.apache.org/repos/asf/thrift/blob/16fcad0b/lib/cpp/Makefile.am
----------------------------------------------------------------------
diff --git a/lib/cpp/Makefile.am b/lib/cpp/Makefile.am
index 7b879f3..9810745 100755
--- a/lib/cpp/Makefile.am
+++ b/lib/cpp/Makefile.am
@@ -225,7 +225,7 @@ include_qt_HEADERS = \
THRIFT = $(top_builddir)/compiler/cpp/thrift
WINDOWS_DIST = \
- README_WINDOWS \
+ README_WINDOWS.md \
src/thrift/windows \
thrift.sln \
libthrift.vcxproj \
@@ -234,8 +234,8 @@ WINDOWS_DIST = \
libthriftnb.vcxproj.filters
EXTRA_DIST = \
- README \
- README.SSL \
+ README.md \
+ README.SSL.md \
thrift-nb.pc.in \
thrift.pc.in \
thrift-z.pc.in \
http://git-wip-us.apache.org/repos/asf/thrift/blob/16fcad0b/lib/cpp/README
----------------------------------------------------------------------
diff --git a/lib/cpp/README b/lib/cpp/README
deleted file mode 100644
index 576d017..0000000
--- a/lib/cpp/README
+++ /dev/null
@@ -1,67 +0,0 @@
-Thrift C++ Software Library
-
-License
-=======
-
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements. See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership. The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied. See the License for the
-specific language governing permissions and limitations
-under the License.
-
-Using Thrift with C++
-=====================
-
-The Thrift C++ libraries are built using the GNU tools. Follow the instructions
-in the top-level README, or run bootstrap.sh in this folder to generate the
-Makefiles.
-
-In case you do not want to open another README file, do this:
- ./bootstrap.sh
- ./configure (--with-boost=/usr/local)
- make
- sudo make install
-
-Thrift is divided into two libraries.
-
-libthrift
- The core Thrift library contains all the core Thrift code. It requires
- boost shared pointers, pthreads, and librt.
-
-libthriftnb
- This library contains the Thrift nonblocking server, which uses libevent.
- To link this library you will also need to link libevent.
-
-Linking Against Thrift
-======================
-
-After you build and install Thrift the libraries are installed to
-/usr/local/lib by default. Make sure this is in your LDPATH.
-
-On Linux, the best way to do this is to ensure that /usr/local/lib is in
-your /etc/ld.so.conf and then run /sbin/ldconfig.
-
-Depending upon whether you are linking dynamically or statically and how
-your build environment it set up, you may need to include additional
-libraries when linking against thrift, such as librt and/or libpthread. If
-you are using libthriftnb you will also need libevent.
-
-Dependencies
-============
-
-boost shared pointers
-http://www.boost.org/libs/smart_ptr/smart_ptr.htm
-
-libevent (for libthriftnb only)
-http://monkey.org/~provos/libevent/
http://git-wip-us.apache.org/repos/asf/thrift/blob/16fcad0b/lib/cpp/README.SSL
----------------------------------------------------------------------
diff --git a/lib/cpp/README.SSL b/lib/cpp/README.SSL
deleted file mode 100644
index a928057..0000000
--- a/lib/cpp/README.SSL
+++ /dev/null
@@ -1,135 +0,0 @@
-Notes on Thrift/SSL
-
-Author: Ping Li <pi...@facebook.com>
-
-1. Scope
-
- This SSL only supports blocking mode socket I/O. It can only be used with
- TSimpleServer, TThreadedServer, and TThreadPoolServer.
-
-2. Implementation
-
- There're two main classes TSSLSocketFactory and TSSLSocket. Instances of
- TSSLSocket are always created from TSSLSocketFactory.
-
- PosixSSLThreadFactory creates PosixSSLThread. The only difference from the
- PthreadThread type is that it cleanups OpenSSL error queue upon exiting
- the thread. Ideally, OpenSSL APIs should only be called from PosixSSLThread.
-
-3. How to use SSL APIs
-
- // This is for demo. In real code, typically only one TSSLSocketFactory
- // instance is needed.
- shared_ptr<TSSLSocketFactory> getSSLSocketFactory() {
- shared_ptr<TSSLSocketFactory> factory(new TSSLSocketFactory());
- // client: load trusted certificates
- factory->loadTrustedCertificates("my-trusted-ca-certificates.pem");
- // client: optionally set your own access manager, otherwise,
- // the default client access manager will be loaded.
-
- factory->loadCertificate("my-certificate-signed-by-ca.pem");
- factory->loadPrivateKey("my-private-key.pem");
- // server: optionally setup access manager
- // shared_ptr<AccessManager> accessManager(new MyAccessManager);
- // factory->access(accessManager);
- ...
- }
-
- // client code sample
- shared_ptr<TSSLSocketFactory> factory = getSSLSocketFactory();
- shared_ptr<TSocket> socket = factory.createSocket(host, port);
- shared_ptr<TBufferedTransport> transport(new TBufferedTransport(socket));
- ...
-
- // server code sample
- shared_ptr<TSSLSocketFactory> factory = getSSLSocketFactory();
- shared_ptr<TSSLServerSocket> socket(new TSSLServerSocket(port, factory));
- shared_ptr<TTransportFactory> transportFactory(new TBufferedTransportFactory));
- ...
-
-4. AccessManager
-
- AccessManager defines a callback interface. It has three callback methods:
-
- (a) Decision verify(const sockaddr_storage& sa);
- (b) Decision verify(const string& host, const char* name, int size);
- (c) Decision verify(const sockaddr_storage& sa, const char* data, int size);
-
- After SSL handshake completes, additional checks are conducted. Application
- is given the chance to decide whether or not to continue the conversation
- with the remote. Application is queried through the above three "verify"
- method. They are called at different points of the verification process.
-
- Decisions can be one of ALLOW, DENY, and SKIP. ALLOW and DENY means the
- conversation should be continued or disconnected, respectively. ALLOW and
- DENY decision stops the verification process. SKIP means there's no decision
- based on the given input, continue the verification process.
-
- First, (a) is called with the remote IP. It is called once at the beginning.
- "sa" is the IP address of the remote peer.
-
- Then, the certificate of remote peer is loaded. SubjectAltName extensions
- are extracted and sent to application for verification. When a DNS
- subjectAltName field is extracted, (b) is called. When an IP subjectAltName
- field is extracted, (c) is called.
-
- The "host" in (b) is the value from TSocket::getHost() if this is a client
- side socket, or TSocket::getPeerHost() if this is a server side socket. The
- reason is client side socket initiates the connection. TSocket::getHost()
- is the remote host name. On server side, the remote host name is unknown
- unless it's retrieved through TSocket::getPeerHost(). Either way, "host"
- should be the remote host name. Keep in mind, if TSocket::getPeerHost()
- failed, it would return the remote host name in numeric format.
-
- If all subjectAltName extensions were "skipped", the common name field would
- be checked. It is sent to application through (c), where "sa" is the remote
- IP address. "data" is the IP address extracted from subjectAltName IP
- extension, and "size" is the length of the extension data.
-
- If any of the above "verify" methods returned a decision ALLOW or DENY, the
- verification process would be stopped.
-
- If any of the above "verify" methods returned SKIP, that decision would be
- ignored and the verification process would move on till the last item is
- examined. At that point, if there's still no decision, the connection is
- terminated.
-
- Thread safety, an access manager should not store state information if it's
- to be used by many SSL sockets.
-
-5. SIGPIPE signal
-
- Applications running OpenSSL over network connections may crash if SIGPIPE
- is not ignored. This happens when they receive a connection reset by remote
- peer exception, which somehow triggers a SIGPIPE signal. If not handled,
- this signal would kill the application.
-
-6. How to run test client/server in SSL mode
-
- The server expects the followings from the current working directory,
- - "server-certificate.pem"
- - "server-private-key.pem"
-
- The client loads "trusted-ca-certificate.pem" from current directory.
-
- The file names are hard coded in the source code. You need to create these
- certificates before you can run the test code in SSL mode. Make sure at least
- one of the followings is included in "server-certificate.pem",
- - subjectAltName, DNS localhost
- - subjectAltName, IP 127.0.0.1
- - common name, localhost
-
- Run,
- - "./test_server --ssl" to start server
- - "./test_client --ssl" to run client
-
- If "-h <host>" is used to run client, the above "localhost" in the above
- server-certificate.pem has to be replaced with that host name.
-
-7. TSSLSocketFactory::randomize()
-
- The default implementation of OpenSSLSocketFactory::randomize() simply calls
- OpenSSL's RAND_poll() when OpenSSL library is first initialized.
-
- The PRNG seed is key to the application security. This method should be
- overridden if it's not strong enough for you.
http://git-wip-us.apache.org/repos/asf/thrift/blob/16fcad0b/lib/cpp/README.SSL.md
----------------------------------------------------------------------
diff --git a/lib/cpp/README.SSL.md b/lib/cpp/README.SSL.md
new file mode 100644
index 0000000..a928057
--- /dev/null
+++ b/lib/cpp/README.SSL.md
@@ -0,0 +1,135 @@
+Notes on Thrift/SSL
+
+Author: Ping Li <pi...@facebook.com>
+
+1. Scope
+
+ This SSL only supports blocking mode socket I/O. It can only be used with
+ TSimpleServer, TThreadedServer, and TThreadPoolServer.
+
+2. Implementation
+
+ There're two main classes TSSLSocketFactory and TSSLSocket. Instances of
+ TSSLSocket are always created from TSSLSocketFactory.
+
+ PosixSSLThreadFactory creates PosixSSLThread. The only difference from the
+ PthreadThread type is that it cleanups OpenSSL error queue upon exiting
+ the thread. Ideally, OpenSSL APIs should only be called from PosixSSLThread.
+
+3. How to use SSL APIs
+
+ // This is for demo. In real code, typically only one TSSLSocketFactory
+ // instance is needed.
+ shared_ptr<TSSLSocketFactory> getSSLSocketFactory() {
+ shared_ptr<TSSLSocketFactory> factory(new TSSLSocketFactory());
+ // client: load trusted certificates
+ factory->loadTrustedCertificates("my-trusted-ca-certificates.pem");
+ // client: optionally set your own access manager, otherwise,
+ // the default client access manager will be loaded.
+
+ factory->loadCertificate("my-certificate-signed-by-ca.pem");
+ factory->loadPrivateKey("my-private-key.pem");
+ // server: optionally setup access manager
+ // shared_ptr<AccessManager> accessManager(new MyAccessManager);
+ // factory->access(accessManager);
+ ...
+ }
+
+ // client code sample
+ shared_ptr<TSSLSocketFactory> factory = getSSLSocketFactory();
+ shared_ptr<TSocket> socket = factory.createSocket(host, port);
+ shared_ptr<TBufferedTransport> transport(new TBufferedTransport(socket));
+ ...
+
+ // server code sample
+ shared_ptr<TSSLSocketFactory> factory = getSSLSocketFactory();
+ shared_ptr<TSSLServerSocket> socket(new TSSLServerSocket(port, factory));
+ shared_ptr<TTransportFactory> transportFactory(new TBufferedTransportFactory));
+ ...
+
+4. AccessManager
+
+ AccessManager defines a callback interface. It has three callback methods:
+
+ (a) Decision verify(const sockaddr_storage& sa);
+ (b) Decision verify(const string& host, const char* name, int size);
+ (c) Decision verify(const sockaddr_storage& sa, const char* data, int size);
+
+ After SSL handshake completes, additional checks are conducted. Application
+ is given the chance to decide whether or not to continue the conversation
+ with the remote. Application is queried through the above three "verify"
+ method. They are called at different points of the verification process.
+
+ Decisions can be one of ALLOW, DENY, and SKIP. ALLOW and DENY means the
+ conversation should be continued or disconnected, respectively. ALLOW and
+ DENY decision stops the verification process. SKIP means there's no decision
+ based on the given input, continue the verification process.
+
+ First, (a) is called with the remote IP. It is called once at the beginning.
+ "sa" is the IP address of the remote peer.
+
+ Then, the certificate of remote peer is loaded. SubjectAltName extensions
+ are extracted and sent to application for verification. When a DNS
+ subjectAltName field is extracted, (b) is called. When an IP subjectAltName
+ field is extracted, (c) is called.
+
+ The "host" in (b) is the value from TSocket::getHost() if this is a client
+ side socket, or TSocket::getPeerHost() if this is a server side socket. The
+ reason is client side socket initiates the connection. TSocket::getHost()
+ is the remote host name. On server side, the remote host name is unknown
+ unless it's retrieved through TSocket::getPeerHost(). Either way, "host"
+ should be the remote host name. Keep in mind, if TSocket::getPeerHost()
+ failed, it would return the remote host name in numeric format.
+
+ If all subjectAltName extensions were "skipped", the common name field would
+ be checked. It is sent to application through (c), where "sa" is the remote
+ IP address. "data" is the IP address extracted from subjectAltName IP
+ extension, and "size" is the length of the extension data.
+
+ If any of the above "verify" methods returned a decision ALLOW or DENY, the
+ verification process would be stopped.
+
+ If any of the above "verify" methods returned SKIP, that decision would be
+ ignored and the verification process would move on till the last item is
+ examined. At that point, if there's still no decision, the connection is
+ terminated.
+
+ Thread safety, an access manager should not store state information if it's
+ to be used by many SSL sockets.
+
+5. SIGPIPE signal
+
+ Applications running OpenSSL over network connections may crash if SIGPIPE
+ is not ignored. This happens when they receive a connection reset by remote
+ peer exception, which somehow triggers a SIGPIPE signal. If not handled,
+ this signal would kill the application.
+
+6. How to run test client/server in SSL mode
+
+ The server expects the followings from the current working directory,
+ - "server-certificate.pem"
+ - "server-private-key.pem"
+
+ The client loads "trusted-ca-certificate.pem" from current directory.
+
+ The file names are hard coded in the source code. You need to create these
+ certificates before you can run the test code in SSL mode. Make sure at least
+ one of the followings is included in "server-certificate.pem",
+ - subjectAltName, DNS localhost
+ - subjectAltName, IP 127.0.0.1
+ - common name, localhost
+
+ Run,
+ - "./test_server --ssl" to start server
+ - "./test_client --ssl" to run client
+
+ If "-h <host>" is used to run client, the above "localhost" in the above
+ server-certificate.pem has to be replaced with that host name.
+
+7. TSSLSocketFactory::randomize()
+
+ The default implementation of OpenSSLSocketFactory::randomize() simply calls
+ OpenSSL's RAND_poll() when OpenSSL library is first initialized.
+
+ The PRNG seed is key to the application security. This method should be
+ overridden if it's not strong enough for you.
http://git-wip-us.apache.org/repos/asf/thrift/blob/16fcad0b/lib/cpp/README.md
----------------------------------------------------------------------
diff --git a/lib/cpp/README.md b/lib/cpp/README.md
new file mode 100644
index 0000000..576d017
--- /dev/null
+++ b/lib/cpp/README.md
@@ -0,0 +1,67 @@
+Thrift C++ Software Library
+
+License
+=======
+
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+
+Using Thrift with C++
+=====================
+
+The Thrift C++ libraries are built using the GNU tools. Follow the instructions
+in the top-level README, or run bootstrap.sh in this folder to generate the
+Makefiles.
+
+In case you do not want to open another README file, do this:
+ ./bootstrap.sh
+ ./configure (--with-boost=/usr/local)
+ make
+ sudo make install
+
+Thrift is divided into two libraries.
+
+libthrift
+ The core Thrift library contains all the core Thrift code. It requires
+ boost shared pointers, pthreads, and librt.
+
+libthriftnb
+ This library contains the Thrift nonblocking server, which uses libevent.
+ To link this library you will also need to link libevent.
+
+Linking Against Thrift
+======================
+
+After you build and install Thrift the libraries are installed to
+/usr/local/lib by default. Make sure this is in your LDPATH.
+
+On Linux, the best way to do this is to ensure that /usr/local/lib is in
+your /etc/ld.so.conf and then run /sbin/ldconfig.
+
+Depending upon whether you are linking dynamically or statically and how
+your build environment it set up, you may need to include additional
+libraries when linking against thrift, such as librt and/or libpthread. If
+you are using libthriftnb you will also need libevent.
+
+Dependencies
+============
+
+boost shared pointers
+http://www.boost.org/libs/smart_ptr/smart_ptr.htm
+
+libevent (for libthriftnb only)
+http://monkey.org/~provos/libevent/
http://git-wip-us.apache.org/repos/asf/thrift/blob/16fcad0b/lib/cpp/README_WINDOWS
----------------------------------------------------------------------
diff --git a/lib/cpp/README_WINDOWS b/lib/cpp/README_WINDOWS
deleted file mode 100644
index f4c887c..0000000
--- a/lib/cpp/README_WINDOWS
+++ /dev/null
@@ -1,107 +0,0 @@
-Thrift C++ Software Library
-
-License
-=======
-
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements. See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership. The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied. See the License for the
-specific language governing permissions and limitations
-under the License.
-
-Using Thrift with C++
-=====================
-
-You need to define an enviroment variable called THIRD_PARTY. The project
-assumes that you have extracted the dependancies into their default structure
-into the path defined by THIRD_PARTY.
-
-e.g. $(THIRD_PARTY)/boost/boost_1_47_0/
-
-Thrift is divided into two libraries.
-
-libthrift
- The core Thrift library contains all the core Thrift code. It requires
- boost shared pointers and boost thread.
-
-libthriftnb
- This library contains the Thrift nonblocking server, which uses libevent.
- To link this library you will also need to link libevent.
-
-Linking Against Thrift
-======================
-
-You need to link your project that uses thrift against all the thrift
-dependancies; in the case of libthrift, boost and for
-libthriftnb, libevent.
-
-In the project properties you must also set HAVE_CONFIG_H as force include
-the config header: "windows/confg.h"
-
-Dependencies
-============
-
-boost shared pointers
-http://www.boost.org/libs/smart_ptr/smart_ptr.htm
-
-boost thread
-http://www.boost.org/doc/libs/release/doc/html/thread.html
-
-libevent (for libthriftnb only)
-http://monkey.org/~provos/libevent/
-
-Notes on boost thread (static vs shared):
-=========================================
-
-By default lib/cpp/windows/force_inc.h defines:
-
-#define BOOST_ALL_NO_LIB 1
-#define BOOST_THREAD_NO_LIB 1
-
-This has for effect to have the host application linking against Thrift
-to have to link with boost thread as a static library.
-
-If you wanted instead to link with boost thread as a shared library,
-you'll need to uncomment those two lines, and recompile.
-
-Windows version compatibility
-=============================
-The Thrift library targets Windows XP for broadest compatbility. A notable
-difference is in the Windows-specific implementation of the socket poll
-function. To target Vista, Win7 or other versions, comment out the line
-#define TARGET_WIN_XP.
-
-Named Pipes
-===========
-- Named Pipe transport has been added in the TPipe and TPipeServer classes.
- This is currently Windows-only (see below).
-
-Known issues
-============
-
-- Named pipe transport for *NIX has not been implemented. Domain sockets are
- a better choice for local IPC under non-Windows OS's. *NIX named pipes
- only support 1:1 client-server connection.
-
-TODO
-====
-
-- Port remaining classes in libthrift:
- - TSSLSocket
-
-- Port test cases. (Not even started this. Run test cases in release mode?)
-
-- Autolink libraries depending on debug\release build.
-
-- Auto versioning.
http://git-wip-us.apache.org/repos/asf/thrift/blob/16fcad0b/lib/cpp/README_WINDOWS.md
----------------------------------------------------------------------
diff --git a/lib/cpp/README_WINDOWS.md b/lib/cpp/README_WINDOWS.md
new file mode 100644
index 0000000..f4c887c
--- /dev/null
+++ b/lib/cpp/README_WINDOWS.md
@@ -0,0 +1,107 @@
+Thrift C++ Software Library
+
+License
+=======
+
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+
+Using Thrift with C++
+=====================
+
+You need to define an enviroment variable called THIRD_PARTY. The project
+assumes that you have extracted the dependancies into their default structure
+into the path defined by THIRD_PARTY.
+
+e.g. $(THIRD_PARTY)/boost/boost_1_47_0/
+
+Thrift is divided into two libraries.
+
+libthrift
+ The core Thrift library contains all the core Thrift code. It requires
+ boost shared pointers and boost thread.
+
+libthriftnb
+ This library contains the Thrift nonblocking server, which uses libevent.
+ To link this library you will also need to link libevent.
+
+Linking Against Thrift
+======================
+
+You need to link your project that uses thrift against all the thrift
+dependancies; in the case of libthrift, boost and for
+libthriftnb, libevent.
+
+In the project properties you must also set HAVE_CONFIG_H as force include
+the config header: "windows/confg.h"
+
+Dependencies
+============
+
+boost shared pointers
+http://www.boost.org/libs/smart_ptr/smart_ptr.htm
+
+boost thread
+http://www.boost.org/doc/libs/release/doc/html/thread.html
+
+libevent (for libthriftnb only)
+http://monkey.org/~provos/libevent/
+
+Notes on boost thread (static vs shared):
+=========================================
+
+By default lib/cpp/windows/force_inc.h defines:
+
+#define BOOST_ALL_NO_LIB 1
+#define BOOST_THREAD_NO_LIB 1
+
+This has for effect to have the host application linking against Thrift
+to have to link with boost thread as a static library.
+
+If you wanted instead to link with boost thread as a shared library,
+you'll need to uncomment those two lines, and recompile.
+
+Windows version compatibility
+=============================
+The Thrift library targets Windows XP for broadest compatbility. A notable
+difference is in the Windows-specific implementation of the socket poll
+function. To target Vista, Win7 or other versions, comment out the line
+#define TARGET_WIN_XP.
+
+Named Pipes
+===========
+- Named Pipe transport has been added in the TPipe and TPipeServer classes.
+ This is currently Windows-only (see below).
+
+Known issues
+============
+
+- Named pipe transport for *NIX has not been implemented. Domain sockets are
+ a better choice for local IPC under non-Windows OS's. *NIX named pipes
+ only support 1:1 client-server connection.
+
+TODO
+====
+
+- Port remaining classes in libthrift:
+ - TSSLSocket
+
+- Port test cases. (Not even started this. Run test cases in release mode?)
+
+- Autolink libraries depending on debug\release build.
+
+- Auto versioning.
http://git-wip-us.apache.org/repos/asf/thrift/blob/16fcad0b/lib/csharp/README
----------------------------------------------------------------------
diff --git a/lib/csharp/README b/lib/csharp/README
deleted file mode 100644
index b7dc5de..0000000
--- a/lib/csharp/README
+++ /dev/null
@@ -1,26 +0,0 @@
-Thrift C# Software Library
-
-License
-=======
-
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements. See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership. The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied. See the License for the
-specific language governing permissions and limitations
-under the License.
-
-Using Thrift with C#
-====================
-
-Thrift requires Mono >= 1.2.6 or .NET framework >= 3.5
http://git-wip-us.apache.org/repos/asf/thrift/blob/16fcad0b/lib/csharp/README.md
----------------------------------------------------------------------
diff --git a/lib/csharp/README.md b/lib/csharp/README.md
new file mode 100644
index 0000000..b7dc5de
--- /dev/null
+++ b/lib/csharp/README.md
@@ -0,0 +1,26 @@
+Thrift C# Software Library
+
+License
+=======
+
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+
+Using Thrift with C#
+====================
+
+Thrift requires Mono >= 1.2.6 or .NET framework >= 3.5
http://git-wip-us.apache.org/repos/asf/thrift/blob/16fcad0b/lib/d/Makefile.am
----------------------------------------------------------------------
diff --git a/lib/d/Makefile.am b/lib/d/Makefile.am
index a4e3188..04c0639 100644
--- a/lib/d/Makefile.am
+++ b/lib/d/Makefile.am
@@ -180,4 +180,4 @@ TESTS = $(addprefix unittest/debug/, $(d_test_modules)) \
EXTRA_DIST = \
src \
test \
- README
+ README.md
http://git-wip-us.apache.org/repos/asf/thrift/blob/16fcad0b/lib/d/README
----------------------------------------------------------------------
diff --git a/lib/d/README b/lib/d/README
deleted file mode 100644
index 5d37e4f..0000000
--- a/lib/d/README
+++ /dev/null
@@ -1,58 +0,0 @@
-Thrift D Software Library
-=========================
-
-License
--------
-
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements. See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership. The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied. See the License for the
-specific language governing permissions and limitations
-under the License.
-
-Testing
--------
-
-D support in Thrift is covered by two sets of tests: first,
-the unit test blocks contained in the D source files, and
-second, the more extensive testing applications in the test/
-subdirectory, which also make use of the Thrift compiler.
-Both are built when running "make check", but only the
-unit tests are immediately run, however – the separate test
-cases typically run longer or require manual intervention.
-It might also be prudent to run the independent tests,
-which typically consist of a server and a client part,
-against the other language implementations.
-
-To build the unit tests on Windows, the easiest way might
-be to manually create a file containing an empty main() and
-invoke the compiler by running the following in the src/
-directory (PowerShell syntax):
-
-dmd -ofunittest -unittest -w $(dir -r -filter '*.d' -name)
-
-If you want to run the test clients/servers in OpenSSL
-mode, you have to provide »server-private-key.pem« and
-»server-certificate.pem« files in the directory the server
-executable resides in, and a »trusted-ca-certificate.pem«
-file for the client. The easiest way is to generate a new
-self signed certificate using the provided config file
-(openssl.test.cnf):
-
-openssl req -new -x509 -nodes -config openssl.test.cnf \
- -out server-certificate.pem
-cat server-certificate.pem > trusted-ca-certificate.pem
-
-This steps are also performed automatically by the
-Autotools build system if the files are not present.
http://git-wip-us.apache.org/repos/asf/thrift/blob/16fcad0b/lib/d/README.md
----------------------------------------------------------------------
diff --git a/lib/d/README.md b/lib/d/README.md
new file mode 100644
index 0000000..5d37e4f
--- /dev/null
+++ b/lib/d/README.md
@@ -0,0 +1,58 @@
+Thrift D Software Library
+=========================
+
+License
+-------
+
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+
+Testing
+-------
+
+D support in Thrift is covered by two sets of tests: first,
+the unit test blocks contained in the D source files, and
+second, the more extensive testing applications in the test/
+subdirectory, which also make use of the Thrift compiler.
+Both are built when running "make check", but only the
+unit tests are immediately run, however – the separate test
+cases typically run longer or require manual intervention.
+It might also be prudent to run the independent tests,
+which typically consist of a server and a client part,
+against the other language implementations.
+
+To build the unit tests on Windows, the easiest way might
+be to manually create a file containing an empty main() and
+invoke the compiler by running the following in the src/
+directory (PowerShell syntax):
+
+dmd -ofunittest -unittest -w $(dir -r -filter '*.d' -name)
+
+If you want to run the test clients/servers in OpenSSL
+mode, you have to provide »server-private-key.pem« and
+»server-certificate.pem« files in the directory the server
+executable resides in, and a »trusted-ca-certificate.pem«
+file for the client. The easiest way is to generate a new
+self signed certificate using the provided config file
+(openssl.test.cnf):
+
+openssl req -new -x509 -nodes -config openssl.test.cnf \
+ -out server-certificate.pem
+cat server-certificate.pem > trusted-ca-certificate.pem
+
+This steps are also performed automatically by the
+Autotools build system if the files are not present.
http://git-wip-us.apache.org/repos/asf/thrift/blob/16fcad0b/lib/delphi/test/codegen/README.md
----------------------------------------------------------------------
diff --git a/lib/delphi/test/codegen/README.md b/lib/delphi/test/codegen/README.md
new file mode 100644
index 0000000..d1447a1
--- /dev/null
+++ b/lib/delphi/test/codegen/README.md
@@ -0,0 +1,28 @@
+How to use the test case:
+----------------------------------------------
+- copy and the template batch file
+- open the batch file and adjust configuration as necessary
+- run the batch
+
+
+Configuration:
+----------------------------------------------
+SVNWORKDIR
+should point to the Thrift working copy root
+
+MY_THRIFT_FILES
+can be set to point to a folder with more thrift IDL files.
+If you don't have any such files, just leave the setting blank.
+
+BIN
+Local MSYS binary folder. Your THRIFT.EXE is installed here.
+
+MINGW_BIN
+Local MinGW bin folder. Contains DLL files required by THRIFT.EXE
+
+DCC
+Identifies the Delphi Command Line compiler (dcc32.exe)
+To be configuired only, if the default is not suitable.
+
+----------------------------------------------
+*EOF*
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/thrift/blob/16fcad0b/lib/delphi/test/codegen/README.txt
----------------------------------------------------------------------
diff --git a/lib/delphi/test/codegen/README.txt b/lib/delphi/test/codegen/README.txt
deleted file mode 100644
index d1447a1..0000000
--- a/lib/delphi/test/codegen/README.txt
+++ /dev/null
@@ -1,28 +0,0 @@
-How to use the test case:
-----------------------------------------------
-- copy and the template batch file
-- open the batch file and adjust configuration as necessary
-- run the batch
-
-
-Configuration:
-----------------------------------------------
-SVNWORKDIR
-should point to the Thrift working copy root
-
-MY_THRIFT_FILES
-can be set to point to a folder with more thrift IDL files.
-If you don't have any such files, just leave the setting blank.
-
-BIN
-Local MSYS binary folder. Your THRIFT.EXE is installed here.
-
-MINGW_BIN
-Local MinGW bin folder. Contains DLL files required by THRIFT.EXE
-
-DCC
-Identifies the Delphi Command Line compiler (dcc32.exe)
-To be configuired only, if the default is not suitable.
-
-----------------------------------------------
-*EOF*
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/thrift/blob/16fcad0b/lib/delphi/test/skip/README.md
----------------------------------------------------------------------
diff --git a/lib/delphi/test/skip/README.md b/lib/delphi/test/skip/README.md
new file mode 100644
index 0000000..90d5ff5
--- /dev/null
+++ b/lib/delphi/test/skip/README.md
@@ -0,0 +1,11 @@
+These two projects belong together. Both programs
+simulate server and client for different versions
+of the same protocol.
+
+The intention of this test is to ensure fully
+working compatibilty features of the Delphi Thrift
+implementation.
+
+The expected test result is, that no errors occur
+with both programs, regardless in which order they
+might be started.
http://git-wip-us.apache.org/repos/asf/thrift/blob/16fcad0b/lib/delphi/test/skip/README.txt
----------------------------------------------------------------------
diff --git a/lib/delphi/test/skip/README.txt b/lib/delphi/test/skip/README.txt
deleted file mode 100644
index 90d5ff5..0000000
--- a/lib/delphi/test/skip/README.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-These two projects belong together. Both programs
-simulate server and client for different versions
-of the same protocol.
-
-The intention of this test is to ensure fully
-working compatibilty features of the Delphi Thrift
-implementation.
-
-The expected test result is, that no errors occur
-with both programs, regardless in which order they
-might be started.
http://git-wip-us.apache.org/repos/asf/thrift/blob/16fcad0b/lib/erl/README
----------------------------------------------------------------------
diff --git a/lib/erl/README b/lib/erl/README
deleted file mode 100644
index d7080da..0000000
--- a/lib/erl/README
+++ /dev/null
@@ -1,48 +0,0 @@
-Thrift Erlang Software Library
-
-License
-=======
-
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements. See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership. The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied. See the License for the
-specific language governing permissions and limitations
-under the License.
-
-Example
-=======
-
-Example session using thrift_client:
-
-1> {ok, C0} = thrift_client_util:new("localhost", 9090, thriftTest_thrift, []), ok.
-ok
-2> {C1, R1} = thrift_client:call(C0, testVoid, []), R1.
-{ok,ok}
-3> {C2, R2} = thrift_client:call(C1, testVoid, [asdf]), R2.
-{error,{bad_args,testVoid,[asdf]}}
-4> {C3, R3} = thrift_client:call(C2, testI32, [123]), R3.
-{ok,123}
-5> {C4, R4} = thrift_client:call(C3, testOneway, [1]), R4.
-{ok,ok}
-6> {C5, R5} = thrift_client:call(C4, testXception, ["foo"]), R5.
-{error,{no_function,testXception}}
-7> {C6, R6} = thrift_client:call(C5, testException, ["foo"]), R6.
-{ok,ok}
-8> {C7, R7} = (catch thrift_client:call(C6, testException, ["Xception"])), R7.
-{exception,{xception,1001,<<"Xception">>}}
-
-Notes
-=====
-To use the JSON protocol client, you will need jsx. This will be pulled in
-via rebar for building but not automatically installed by make install.
http://git-wip-us.apache.org/repos/asf/thrift/blob/16fcad0b/lib/erl/README.md
----------------------------------------------------------------------
diff --git a/lib/erl/README.md b/lib/erl/README.md
new file mode 100644
index 0000000..d7080da
--- /dev/null
+++ b/lib/erl/README.md
@@ -0,0 +1,48 @@
+Thrift Erlang Software Library
+
+License
+=======
+
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+
+Example
+=======
+
+Example session using thrift_client:
+
+1> {ok, C0} = thrift_client_util:new("localhost", 9090, thriftTest_thrift, []), ok.
+ok
+2> {C1, R1} = thrift_client:call(C0, testVoid, []), R1.
+{ok,ok}
+3> {C2, R2} = thrift_client:call(C1, testVoid, [asdf]), R2.
+{error,{bad_args,testVoid,[asdf]}}
+4> {C3, R3} = thrift_client:call(C2, testI32, [123]), R3.
+{ok,123}
+5> {C4, R4} = thrift_client:call(C3, testOneway, [1]), R4.
+{ok,ok}
+6> {C5, R5} = thrift_client:call(C4, testXception, ["foo"]), R5.
+{error,{no_function,testXception}}
+7> {C6, R6} = thrift_client:call(C5, testException, ["foo"]), R6.
+{ok,ok}
+8> {C7, R7} = (catch thrift_client:call(C6, testException, ["Xception"])), R7.
+{exception,{xception,1001,<<"Xception">>}}
+
+Notes
+=====
+To use the JSON protocol client, you will need jsx. This will be pulled in
+via rebar for building but not automatically installed by make install.
http://git-wip-us.apache.org/repos/asf/thrift/blob/16fcad0b/lib/go/Makefile.am
----------------------------------------------------------------------
diff --git a/lib/go/Makefile.am b/lib/go/Makefile.am
index efb58be..bb386cf 100644
--- a/lib/go/Makefile.am
+++ b/lib/go/Makefile.am
@@ -24,7 +24,7 @@ endif
install:
@echo '##############################################################'
@echo '##############################################################'
- @echo 'The Go client library should be installed via "go get", please see /lib/go/README'
+ @echo 'The Go client library should be installed via "go get", please see /lib/go/README.md'
@echo '##############################################################'
@echo '##############################################################'
@@ -34,4 +34,4 @@ check-local:
all-local: check-local
EXTRA_DIST = \
- thrift
\ No newline at end of file
+ thrift