common/thrift.git
18 years agoAdded function name to read/writeMessageBegin args
Marc Slemko [Fri, 11 Aug 2006 23:58:57 +0000 (23:58 +0000)] 
Added function name to read/writeMessageBegin args

Added cpp generator for master server message processor

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664752 13f79535-47bb-0310-9956-ffa450edef68

18 years agoGroundwork for exception support:
Marc Slemko [Fri, 11 Aug 2006 23:33:08 +0000 (23:33 +0000)] 
Groundwork for exception support:

     Auto generate result structs that combine return type and any thrown exceptions
     Add __isset struct to all user defined and auto defined struct to mark fields that are explicilty read
     Modified client and server generation code to marshal result structs

     Added base facebook::thrift::Exception class

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664751 13f79535-47bb-0310-9956-ffa450edef68

18 years agoGroundwork for exception support:
Marc Slemko [Fri, 11 Aug 2006 23:03:42 +0000 (23:03 +0000)] 
Groundwork for exception support:

     Auto generate result structs that combine return type and any thrown exceptions
     Add __isset struct to all user defined and auto defined struct to mark fields that are explicilty read
     Modified client and server generation code to marshal result structs

     Added base facebook::thrift::Exception class

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664750 13f79535-47bb-0310-9956-ffa450edef68

18 years agoAdded read/write I16, U16 and Bool methods to TProtocol
Marc Slemko [Fri, 11 Aug 2006 02:49:29 +0000 (02:49 +0000)] 
Added read/write I16, U16 and Bool methods to TProtocol

Modified code generation to define structs and io methods for function argument lists and server process call implementations

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664749 13f79535-47bb-0310-9956-ffa450edef68

18 years agoFixed parser to ensure that map key-type and set value-type are comparable (ie primiv...
Marc Slemko [Thu, 10 Aug 2006 20:45:55 +0000 (20:45 +0000)] 
Fixed parser to ensure that map key-type and set value-type are comparable (ie primivitive or a typedef that resolves to a primitive) at parse-time
to avoid unsightly errors at stub/skel compilation time.

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664748 13f79535-47bb-0310-9956-ffa450edef68

18 years agoRationalized include-directory schema
Marc Slemko [Thu, 10 Aug 2006 03:30:18 +0000 (03:30 +0000)] 
Rationalized include-directory schema

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664747 13f79535-47bb-0310-9956-ffa450edef68

18 years agoFixed serialization logic for collections containing typedefs or enums
Marc Slemko [Thu, 10 Aug 2006 03:29:29 +0000 (03:29 +0000)] 
Fixed serialization logic for collections containing typedefs or enums

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664746 13f79535-47bb-0310-9956-ffa450edef68

18 years agoModified cpp code generation to build read/write methods for each non-primitive type...
Marc Slemko [Wed, 9 Aug 2006 23:36:18 +0000 (23:36 +0000)] 
Modified cpp code generation to build read/write methods for each non-primitive type rather than inlining all serialization in client/server function handlers

Modified parser to assign negative numbers to autogenerated struct fields and function args.

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664745 13f79535-47bb-0310-9956-ffa450edef68

18 years agoModified cpp code generation to build read/write methods for each non-primitive type...
Marc Slemko [Wed, 9 Aug 2006 23:34:57 +0000 (23:34 +0000)] 
Modified cpp code generation to build read/write methods for each non-primitive type rather than inlining all serialization in client/server function handlers

Modified parser to assign negative numbers to autogenerated struct fields and function args.

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664744 13f79535-47bb-0310-9956-ffa450edef68

18 years agofixed test build
Marc Slemko [Wed, 9 Aug 2006 01:20:16 +0000 (01:20 +0000)] 
fixed test build

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664743 13f79535-47bb-0310-9956-ffa450edef68

18 years agopython parser for thrift using ply lalr generator
Marc Slemko [Wed, 9 Aug 2006 01:00:17 +0000 (01:00 +0000)] 
python parser for thrift using ply lalr generator

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664742 13f79535-47bb-0310-9956-ffa450edef68

18 years agoJava Thrift libraries no longer use specially defined UInt32 etc. classes
Mark Slee [Wed, 9 Aug 2006 00:05:18 +0000 (00:05 +0000)] 
Java Thrift libraries no longer use specially defined UInt32 etc. classes

Summary: There was really no need for these now that we are getting rid of unsigned, they should all just use the builtin int and long types

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664741 13f79535-47bb-0310-9956-ffa450edef68

18 years agoThrift compiler support for inline PHP client code
Mark Slee [Wed, 9 Aug 2006 00:03:43 +0000 (00:03 +0000)] 
Thrift compiler support for inline PHP client code

Summary: Option to generate inline PHP code, as well as support for the async modifier keyword and the abstraction of function calls into a send and recv component

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664740 13f79535-47bb-0310-9956-ffa450edef68

18 years agoMore boosification of thrift driver, server, transport and protocol code
Marc Slemko [Fri, 4 Aug 2006 03:16:46 +0000 (03:16 +0000)] 
More boosification of thrift driver, server, transport and protocol code

Modified TestServer to use thread-pool manager

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664739 13f79535-47bb-0310-9956-ffa450edef68

18 years agoMore boosification of thrift driver, server, transport and protocol code
Marc Slemko [Fri, 4 Aug 2006 03:16:25 +0000 (03:16 +0000)] 
More boosification of thrift driver, server, transport and protocol code

Modified TestServer to use thread-pool manager

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664738 13f79535-47bb-0310-9956-ffa450edef68

18 years agoMore boosification of thrift driver, server, transport and protocol code
Marc Slemko [Fri, 4 Aug 2006 03:16:10 +0000 (03:16 +0000)] 
More boosification of thrift driver, server, transport and protocol code

Modified TestServer to use thread-pool manager

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664737 13f79535-47bb-0310-9956-ffa450edef68

18 years agoConverted concurrency classes to use boost::shared_ptr and boost::weak_ptr:
Marc Slemko [Thu, 3 Aug 2006 19:01:37 +0000 (19:01 +0000)] 
Converted concurrency classes to use boost::shared_ptr and boost::weak_ptr:

Wrapped all thrift code in facebook::thrift:: namespace

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664736 13f79535-47bb-0310-9956-ffa450edef68

18 years agoConverted concurrency classes to use boost::shared_ptr and boost::weak_ptr:
Marc Slemko [Thu, 3 Aug 2006 18:58:09 +0000 (18:58 +0000)] 
Converted concurrency classes to use boost::shared_ptr and boost::weak_ptr:

Wrapped all thrift code in facebook::thrift:: namespace

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664735 13f79535-47bb-0310-9956-ffa450edef68

18 years agoAdded BNF describing proposed logical wire format for Thrift message streams
Marc Slemko [Wed, 2 Aug 2006 20:01:22 +0000 (20:01 +0000)] 
Added BNF describing proposed logical wire format for Thrift message streams

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664734 13f79535-47bb-0310-9956-ffa450edef68

18 years agoautoconf/automake/libtool-ized thrift cpp bits:
Marc Slemko [Tue, 25 Jul 2006 02:26:35 +0000 (02:26 +0000)] 
autoconf/automake/libtool-ized thrift cpp bits:
    Fixed to build on solaris.
    Used clock_gettime() where available
    Fixed rounding of time to ms

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664733 13f79535-47bb-0310-9956-ffa450edef68

18 years agoautoconf/automake:
Marc Slemko [Fri, 21 Jul 2006 21:32:36 +0000 (21:32 +0000)] 
autoconf/automake:
Fixed handling of bits/socket.h MSG_NODELAY

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664732 13f79535-47bb-0310-9956-ffa450edef68

18 years agoautoconf/automake/libtool-ized thrift cpp bits:
Marc Slemko [Fri, 21 Jul 2006 19:53:48 +0000 (19:53 +0000)] 
autoconf/automake/libtool-ized thrift cpp bits:
    Moved the original Makefile => Makefile.slee

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664731 13f79535-47bb-0310-9956-ffa450edef68

18 years agoautoconf/automake line noise for linux/osx builds
Marc Slemko [Fri, 21 Jul 2006 03:53:13 +0000 (03:53 +0000)] 
autoconf/automake line noise for linux/osx builds

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664730 13f79535-47bb-0310-9956-ffa450edef68

18 years agoMore test code added...
Marc Slemko [Thu, 20 Jul 2006 21:16:27 +0000 (21:16 +0000)] 
More test code added...
     more bugs found

facebook::thrift::concurrency::ThreadManager::add
Fixed dispatch error that resulted in only one of N worker threads ever getting notified of work

facebook::thrift::concurrency::ThreadManager
Cleaned up addWorker/removeWorker and stop logic so that adding/removing workers doesn't wake up
all blocked workers.

facebook::thrift::concurrency::Thread
facebook::thrift::concurrency::Runnable
Fixed initialization logic so that runnable can return the thread that runs it

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664729 13f79535-47bb-0310-9956-ffa450edef68

18 years agoFixed a few problems found on linux x86_64 version
Marc Slemko [Thu, 20 Jul 2006 00:58:47 +0000 (00:58 +0000)] 
Fixed a few problems found on linux x86_64 version

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664728 13f79535-47bb-0310-9956-ffa450edef68

18 years agoForgot this one
Marc Slemko [Thu, 20 Jul 2006 00:31:02 +0000 (00:31 +0000)] 
Forgot this one

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664727 13f79535-47bb-0310-9956-ffa450edef68

18 years agoForgot this one
Marc Slemko [Thu, 20 Jul 2006 00:29:35 +0000 (00:29 +0000)] 
Forgot this one

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664726 13f79535-47bb-0310-9956-ffa450edef68

18 years agoBring up of thread manager
Marc Slemko [Thu, 20 Jul 2006 00:04:18 +0000 (00:04 +0000)] 
Bring up of thread manager

facebook::thrift::concurrency::test.ThreadManagerTest::test00
Launch N tasks that block for time T, verify they all complete and that the thread manager cleans up properly
when it goes out of scope

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664725 13f79535-47bb-0310-9956-ffa450edef68

18 years agoMore bullet proofing of timer manager
Marc Slemko [Wed, 19 Jul 2006 20:02:22 +0000 (20:02 +0000)] 
More bullet proofing of timer manager

facebook::thrift::concurrency::TimerManager::stop
Added proper cleanup of unprocessed tasks and shutdown of dispatcher thread to stop

facebook::thrift::concurrency::TimerManager::~TimerManager
Call stop if manager wasn't explicitly stopped

facebook::thrift::concurrency::test.TimerManagerTest
Calculate error margin for timeout expiration and verify it's within bounds
Verify manager stops properly when it goes out of scope

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664724 13f79535-47bb-0310-9956-ffa450edef68

18 years agoAdded thread factory test - problems in thread
Marc Slemko [Wed, 19 Jul 2006 17:46:50 +0000 (17:46 +0000)] 
Added thread factory test - problems in thread

Fixed stupid typo in  TimerManager::start

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664723 13f79535-47bb-0310-9956-ffa450edef68

18 years agoAnother checkpoint of initial cut at thread pool manager for thrift and related concu...
Marc Slemko [Mon, 17 Jul 2006 23:51:05 +0000 (23:51 +0000)] 
Another checkpoint of initial cut at thread pool manager for thrift and related concurrency classes.

Added TimerManager -  I can't live without one after all.

Added Util - handy place for common time operations et al.

Initial test code

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664722 13f79535-47bb-0310-9956-ffa450edef68

18 years agoCheckpoint of initial cut at thread pool manager for thrift and related concurrency...
Marc Slemko [Sat, 15 Jul 2006 01:52:39 +0000 (01:52 +0000)] 
Checkpoint of initial cut at thread pool manager for thrift and related concurrency classes.

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664721 13f79535-47bb-0310-9956-ffa450edef68

18 years agoThrift now works in PHP, hot stuff
Mark Slee [Fri, 30 Jun 2006 18:28:50 +0000 (18:28 +0000)] 
Thrift now works in PHP, hot stuff

Summary: End to end communication working in Thrift with PHP

Problem: It's a bit slower than pillar still. Need to find out why.

Reviewed By: aditya

Test Plan: Unit tests are in the test directory. Get lucas on the PHP case...

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664720 13f79535-47bb-0310-9956-ffa450edef68

18 years agoThrift: move /lib/cpp code into /lib/cpp/src
Mark Slee [Mon, 26 Jun 2006 23:56:08 +0000 (23:56 +0000)] 
Thrift: move /lib/cpp code into /lib/cpp/src

Summary: Clean separation of src and buildfiles etc. is key

Reviewed By: aditya

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664719 13f79535-47bb-0310-9956-ffa450edef68

18 years agoThrift: getting rid of U32s for map/list/set/string lengths and field ids etc.
Mark Slee [Mon, 26 Jun 2006 23:52:22 +0000 (23:52 +0000)] 
Thrift: getting rid of U32s for map/list/set/string lengths and field ids etc.

Summary: U32s are on the out. Make way for the I32.

Reviewed By: aditya

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664718 13f79535-47bb-0310-9956-ffa450edef68

18 years agoAdjust the Thrift compiler makefile to clean up after the obj/ folder that it builds...
Mark Slee [Wed, 7 Jun 2006 06:57:01 +0000 (06:57 +0000)] 
Adjust the Thrift compiler makefile to clean up after the obj/ folder that it builds into

Summary: I am super nitpicky, and after make clean I don't like seeing:
$ svn st
?   obj/

Problem: make clean didn't remove the generated obj/ dir

Solution: Kill it!

Reviewed By: aditya

Test Plan: Do make clean in compiler directory followed by svn st. You should see nothing!

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664717 13f79535-47bb-0310-9956-ffa450edef68

18 years agoThrift test code
Mark Slee [Wed, 7 Jun 2006 06:53:25 +0000 (06:53 +0000)] 
Thrift test code

Summary: Did I promise you this or what?! Interoperable test servers and clients in both C++ and Java that you can use to check that they all work, all perform well, and that they all actually talk to each other!

Problem: How we gon' test this Thrift bizniss?

Solution: Write some test scenarios in each language.

Reviewed By: aditya

Test Plan: This IS the test plan.

Notes: These tools are actually pretty easy to use, so long as you remember to type 'ant' in the java directory instead of 'make'.

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664716 13f79535-47bb-0310-9956-ffa450edef68

18 years agoJava libraries for Thrift
Mark Slee [Wed, 7 Jun 2006 06:51:18 +0000 (06:51 +0000)] 
Java libraries for Thrift

Summary: The basic Thrift stack implemented in Java, still in need of a lot of work but fully functional.

Reviewed By: aditya

Test Plan: Unit tests are the NEXT checkin, I swear

Notes: Perf on the Java stuff actually isn't that bad, and it's far from optimized at the moment. Barely any tweaking has been done. Testing shows that a Java server with the C++ client has RPC performance within 2x of the pure C++ implementations. This is pretty sweet, since this cost will be eclipsed by the cost of whatever processing is being done on an actual server doing real work.

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664715 13f79535-47bb-0310-9956-ffa450edef68

18 years agoUpdate Thrift CPP libraries to work with new generated source, change underlying...
Mark Slee [Wed, 7 Jun 2006 06:48:56 +0000 (06:48 +0000)] 
Update Thrift CPP libraries to work with new generated source, change underlying buffers to use uint8_t* instead of std::string

Summary: Major overhaul to the CPP libraries.

Reviewed By: aditya

Test Plan: Again, keep an eye out for the unit tests commit

Notes: Initial perf tests show that Thrift is not only more robust than Pillar, but its implementation is actually around 10-20% faster. We can do about 10 RPC function calls with small data payloads in under 2ms. THAT IS FAST. THAT IS THRIFTY.

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664714 13f79535-47bb-0310-9956-ffa450edef68

18 years agoThrift compiler now compiles both native Java and C++ code
Mark Slee [Wed, 7 Jun 2006 06:46:24 +0000 (06:46 +0000)] 
Thrift compiler now compiles both native Java and C++ code

Summary: Compiles to both C++ and Java, plus a host of other cool options like command line control over which languages to output code in

Reviewed By: aditya

Test Plan: The unit test checkins are coming momentarily...

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664713 13f79535-47bb-0310-9956-ffa450edef68

18 years agoRev 2 of Thrift, the Pillar successor
Mark Slee [Tue, 30 May 2006 09:24:40 +0000 (09:24 +0000)] 
Rev 2 of Thrift, the Pillar successor

Summary: End-to-end communications and serialization in C++ is working

Reviewed By: aditya

Test Plan: See the new top-level test/ folder. It vaguely resembles a unit test, though it could be more automated.

Revert Plan: Revertible

Notes: Still a LOT of optimization work to be done on the generated C++ code, which should be using dynamic memory in a number of places. Next major task is writing the PHP/Java/Python generators.

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664712 13f79535-47bb-0310-9956-ffa450edef68

18 years agoBaseline commit for thrift, which is pillar v2
Mark Slee [Wed, 24 May 2006 21:45:31 +0000 (21:45 +0000)] 
Baseline commit for thrift, which is pillar v2

Reviewed By: aditya

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664711 13f79535-47bb-0310-9956-ffa450edef68

17 years agoAdding dummy thrift and trunk directories.
David Reiss [Sun, 11 May 2008 20:54:23 +0000 (20:54 +0000)] 
Adding dummy thrift and trunk directories.

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664710 13f79535-47bb-0310-9956-ffa450edef68

17 years agoinitialize thrift repo
Doug Cutting [Fri, 16 May 2008 20:33:47 +0000 (20:33 +0000)] 
initialize thrift repo

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@657196 13f79535-47bb-0310-9956-ffa450edef68