common/thrift.git
14 years agoTHRIFT-323. csharp: TJSONProtocol
Bryan Duxbury [Sat, 18 Sep 2010 20:51:25 +0000 (20:51 +0000)] 
THRIFT-323. csharp: TJSONProtocol

This patch adds support for the JSON Protocol to the csharp library.

Patch: Roger Meier

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

14 years agoTHRIFT-885: fix string encoding
T Jake Luciani [Fri, 17 Sep 2010 23:38:25 +0000 (23:38 +0000)] 
THRIFT-885: fix string encoding

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

14 years agoTHRIFT-899. rb: Ruby read timeouts can sometimes be 2x what they should be
Bryan Duxbury [Fri, 17 Sep 2010 20:17:21 +0000 (20:17 +0000)] 
THRIFT-899. rb: Ruby read timeouts can sometimes be 2x what they should be

This patch makes sure that we don't wait longer than necessary for timeouts.

Patch: Ryan King

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

14 years agoTHRIFT-882. java: deep copy of binary fields does not copy ByteBuffer characteristics...
Bryan Duxbury [Fri, 17 Sep 2010 19:27:36 +0000 (19:27 +0000)] 
THRIFT-882. java: deep copy of binary fields does not copy ByteBuffer characteristics (arrayOffset, position)

This patch ensures that binary fields are copied correctly.

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

14 years agoFix enum value lookups in C++
David Reiss [Mon, 13 Sep 2010 17:32:14 +0000 (17:32 +0000)] 
Fix enum value lookups in C++

The recent enum change was causing enums to break if used as constant
values by the C++ generator.  The problem was that we were searching for
the fully-qualified constant name (enum_name.VALUE_NAME) in the enum
values.  This didn't affect Java because it just uses symbolic names in
the generated code.  Fix it by grabbing the base name before doing the
search.

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

14 years agoDon't segfault if t_enum::get_constant_by_name fails
David Reiss [Mon, 13 Sep 2010 17:32:13 +0000 (17:32 +0000)] 
Don't segfault if t_enum::get_constant_by_name fails

The recent enum change was causing t_enum::get_constant_by_name to fail
in t_const_value::get_integer.  This was causing a difficult-to-debug
segfault.  Check for failure and throw an exeception.

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

14 years agoTHRIFT-870. java: Java constants don't get Javadoc comments
Bryan Duxbury [Mon, 13 Sep 2010 16:28:53 +0000 (16:28 +0000)] 
THRIFT-870. java: Java constants don't get Javadoc comments

Fix a trivial oversight.

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

14 years agoTHRIFT-894. java: Make default accessors for binary fields return byte[]; provide...
Bryan Duxbury [Mon, 13 Sep 2010 15:42:36 +0000 (15:42 +0000)] 
THRIFT-894. java: Make default accessors for binary fields return byte[]; provide new accessors to get ByteBuffer version

This patch causes the underlying ByteBuffer that backs a binary field to be hidden behind a default accessor that provides a byte[] interface. This should allow users who skipped 0.4 to update their generated code without breaking any of their other code. A new accessor has been added that allows a way down to the underlying ByteBuffer for those experts who want to take advantage.

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

14 years agojava: tiny improvement to async client manager test, for real this time
Bryan Duxbury [Sun, 12 Sep 2010 15:31:50 +0000 (15:31 +0000)] 
java: tiny improvement to async client manager test, for real this time

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

14 years agojava: tiny improvement to async client manager test
Bryan Duxbury [Sun, 12 Sep 2010 15:30:06 +0000 (15:30 +0000)] 
java: tiny improvement to async client manager test

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

14 years agoTHRIFT-897. compiler: Don't allow unqualified enum constant access
Bryan Duxbury [Sun, 12 Sep 2010 15:29:38 +0000 (15:29 +0000)] 
THRIFT-897. compiler: Don't allow unqualified enum constant access

Fix some confusion in the java generator about adding the class name.

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

14 years agoTHRIFT-897. compiler: Don't allow unqualified enum constant references
Bryan Duxbury [Sun, 12 Sep 2010 15:22:49 +0000 (15:22 +0000)] 
THRIFT-897. compiler: Don't allow unqualified enum constant references

Missed a spot.

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

14 years agoTHRIFT-897. compiler: Don't allow unqualified enum constant references
Bryan Duxbury [Sun, 12 Sep 2010 15:22:21 +0000 (15:22 +0000)] 
THRIFT-897. compiler: Don't allow unqualified enum constant references

Missed a spot.

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

14 years agoTHRIFT-897. compiler: Don't allow unqualified constant access to enum values
Bryan Duxbury [Sun, 12 Sep 2010 14:38:36 +0000 (14:38 +0000)] 
THRIFT-897. compiler: Don't allow unqualified constant access to enum values

This patch makes it illegal to refer to enum values by just their names in the IDL. Now, you must also provide the enum type's name as well.

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

14 years agoTHRIFT-895. cpp: By default, generate enums as class-scoped enums
David Reiss [Fri, 10 Sep 2010 23:00:40 +0000 (23:00 +0000)] 
THRIFT-895. cpp: By default, generate enums as class-scoped enums

Most of the other Thrift languages either have enum values that are
scoped to the type or emulate enums in that way.  Now C++ does the same
by default.  "enum Foo" in a .thrift file will be generated as Foo::type
so the values can be called Foo::value1, etc.  The "pure_enums" compiler
option restores the old behavior.

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

14 years agoTHRIFT-896. java: TNonblockingSocket.isOpen() returns true even after close()
Bryan Duxbury [Fri, 10 Sep 2010 19:08:00 +0000 (19:08 +0000)] 
THRIFT-896. java: TNonblockingSocket.isOpen() returns true even after close()

This patch makes TNonblockingSocket.isOpen() have more expected behavior.

Patch: Eric Jensen

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

14 years agoTHRIFT-544. erl: multiple enums with the same key generate invalid code
Bryan Duxbury [Fri, 10 Sep 2010 18:49:53 +0000 (18:49 +0000)] 
THRIFT-544. erl: multiple enums with the same key generate invalid code

This adds the enum name to the generated constants to avoid collisions.

Patch: Ben Taitelbaum

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

14 years agoTHRIFT-250. java: ExecutorService as a constructor parameter for TServer
Bryan Duxbury [Fri, 10 Sep 2010 16:16:01 +0000 (16:16 +0000)] 
THRIFT-250. java: ExecutorService as a constructor parameter for TServer

This patch adds a new constructor that accepts an ExecutorService.

Patch: Ed Ceaser

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

14 years agoTHRIFT-888. java: async client should also have nonblocking connect
Bryan Duxbury [Wed, 8 Sep 2010 21:47:45 +0000 (21:47 +0000)] 
THRIFT-888. java: async client should also have nonblocking connect

This patch adds optional nonblocking connect behavior.

Patch: Eric Jensen

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

14 years agoTHRIFT-876. java: Add SASL support
Bryan Duxbury [Wed, 8 Sep 2010 00:06:35 +0000 (00:06 +0000)] 
THRIFT-876. java: Add SASL support

This patch adds support for a SASL-secured transport to the Java library. In its current form, it only works for the blocking-IO servers.

Patch: Aaron T Meyers

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

14 years agoTHRIFT-698 - fix .app file, remove unused parts of build system, updated LICENSE...
Anthony F. Molinaro [Tue, 7 Sep 2010 03:35:30 +0000 (03:35 +0000)] 
THRIFT-698 - fix .app file, remove unused parts of build system, updated LICENSE to reflect changes

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

14 years agosvn ignore and remove php artifacts left by phpize in bootstrap.sh
Anthony F. Molinaro [Tue, 7 Sep 2010 03:25:02 +0000 (03:25 +0000)] 
svn ignore and remove php artifacts left by phpize in bootstrap.sh

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

14 years agoFix to the catch-all namespace commit
Bryan Duxbury [Fri, 3 Sep 2010 20:36:02 +0000 (20:36 +0000)] 
Fix to the catch-all namespace commit

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

14 years agoTHRIFT-856. cpp: Building cpp library fails on OS X with malloc and free not being...
Bryan Duxbury [Thu, 2 Sep 2010 16:42:18 +0000 (16:42 +0000)] 
THRIFT-856. cpp: Building cpp library fails on OS X with malloc and free not being declared in scope

This patch adds include which seems to fix the problem for some people.

Patch: James Clarke

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

14 years agoAllow "*" as a catch-all namespace.
David Reiss [Thu, 2 Sep 2010 16:41:45 +0000 (16:41 +0000)] 
Allow "*" as a catch-all namespace.

In an IDL file, you can can now declare "namespace * foo",
which will apply to any language not explicitly specified.

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

14 years agoadd some generatd artifacts from lib/cpp/test and lib/php/src/ext/thrift_protocol...
Bryan Duxbury [Thu, 2 Sep 2010 16:33:42 +0000 (16:33 +0000)] 
add some generatd artifacts from lib/cpp/test and lib/php/src/ext/thrift_protocol to svn:ignore

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

14 years agoTHRIFT-257. py: Support validation of required fields
Bryan Duxbury [Thu, 2 Sep 2010 15:37:19 +0000 (15:37 +0000)] 
THRIFT-257. py: Support validation of required fields

Patch: Esteve Fernandez

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

14 years agoTHRIFT-666. python: Allow THttpServer's responses to be overridden
David Reiss [Thu, 2 Sep 2010 15:36:03 +0000 (15:36 +0000)] 
THRIFT-666. python: Allow THttpServer's responses to be overridden

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

14 years agoTHRIFT-596. python: Make the TBufferedTransport read buffer size configurable
David Reiss [Thu, 2 Sep 2010 15:36:00 +0000 (15:36 +0000)] 
THRIFT-596. python: Make the TBufferedTransport read buffer size configurable

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

14 years agoTHRIFT-798. cpp: Reduce resource leakage by TNonblockingServer destructor
David Reiss [Thu, 2 Sep 2010 15:26:28 +0000 (15:26 +0000)] 
THRIFT-798. cpp: Reduce resource leakage by TNonblockingServer destructor

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

14 years agoTHRIFT-567. cpp: Can't immediately stop a TSimpleServer thread that is idle
Bryan Duxbury [Thu, 2 Sep 2010 15:16:56 +0000 (15:16 +0000)] 
THRIFT-567. cpp: Can't immediately stop a TSimpleServer thread that is idle

This interrupts the server in addition to setting the stop flag.

Patch: Rush Manbert

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

14 years agoTHRIFT-597. py: Python THttpServer performance improvements
Bryan Duxbury [Thu, 2 Sep 2010 15:14:27 +0000 (15:14 +0000)] 
THRIFT-597. py: Python THttpServer performance improvements

This enables buffered I/O and ThreadingMixin.

Patch: David Reiss

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

14 years agoTHRIFT-598. py: Allow Python's threading servers to use daemon threads
Bryan Duxbury [Thu, 2 Sep 2010 15:12:06 +0000 (15:12 +0000)] 
THRIFT-598. py: Allow Python's threading servers to use daemon threads

Patch: David Reiss

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

14 years agoTHRIFT-629. cocoa: Unused Field In TSocketServer Appears To Break iPhone Build
Bryan Duxbury [Thu, 2 Sep 2010 15:02:06 +0000 (15:02 +0000)] 
THRIFT-629. cocoa: Unused Field In TSocketServer Appears To Break iPhone Build

Remove the unused field.

Patch: Jon S Akhtar

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

14 years agoTHRIFT-634. csharp: C# Compiler Generates Incorrect Code For Fields which begin with...
Bryan Duxbury [Thu, 2 Sep 2010 14:58:51 +0000 (14:58 +0000)] 
THRIFT-634. csharp: C# Compiler Generates Incorrect Code For Fields which begin with an uppercase letter

Added a '_' to the backing field, and changed all the field references to refer to the property instead.

Patch: Jon S Akhtar

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

14 years agoTHRIFT-673. py: Generated Python code has whitespace issues
Bryan Duxbury [Thu, 2 Sep 2010 14:20:01 +0000 (14:20 +0000)] 
THRIFT-673. py: Generated Python code has whitespace issues

This patch trims several forms of trailing whitespace.

Patch: Ian Eure

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

14 years agoTHRIFT-875 : missing dist file
Anthony F. Molinaro [Thu, 2 Sep 2010 05:09:05 +0000 (05:09 +0000)] 
THRIFT-875 : missing dist file

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

14 years agoTHRIFT-721. py: THttpClient ignores url parameters
Bryan Duxbury [Thu, 2 Sep 2010 01:00:19 +0000 (01:00 +0000)] 
THRIFT-721. py: THttpClient ignores url parameters

Respect query string in THttpClient and generated remotes. Also, add an error message on unknown methods.

Patch: Thomas Kho

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

14 years agoTHRIFT-756. cpp: Exposing TSocket(int) constructor to public
Bryan Duxbury [Thu, 2 Sep 2010 00:56:53 +0000 (00:56 +0000)] 
THRIFT-756. cpp: Exposing TSocket(int) constructor to public

This patch changes the raw socket handle constructor from protected to public.

Patch: Rajat Goel

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

14 years agoTHRIFT-758. perl: incorrect deference in exception handling
Bryan Duxbury [Thu, 2 Sep 2010 00:52:46 +0000 (00:52 +0000)] 
THRIFT-758. perl: incorrect deference in exception handling

Patch: Yann Kerherve

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

14 years agoTHRIFT-805. cocoa: Don't generate process_XXXX methods for oneway methods
Bryan Duxbury [Thu, 2 Sep 2010 00:43:16 +0000 (00:43 +0000)] 
THRIFT-805. cocoa: Don't generate process_XXXX methods for oneway methods

Patch: Brad Taylor

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

14 years agoTHRIFT-824. py: TApplicationException.__str__() refers to class constants as globals
Bryan Duxbury [Thu, 2 Sep 2010 00:36:18 +0000 (00:36 +0000)] 
THRIFT-824. py: TApplicationException.__str__() refers to class constants as globals

Refer to constants via 'self'.

Patch: Peter Schuller

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

14 years agoTHRIFT-838. cocoa: Generated Cocoa classes have useless @dynamic declarations
Bryan Duxbury [Thu, 2 Sep 2010 00:29:08 +0000 (00:29 +0000)] 
THRIFT-838. cocoa: Generated Cocoa classes have useless @dynamic declarations

This patch removes the @dynamic properties.

Patch: Kevin Ballard

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

14 years agoTHRIFT-840. perl: Perl protocol handler could be more robust against unrecognised...
Bryan Duxbury [Thu, 2 Sep 2010 00:24:50 +0000 (00:24 +0000)] 
THRIFT-840. perl: Perl protocol handler could be more robust against unrecognised types

This patch causes the protocol to throw an exception when it sees an unrecognized type instead of silently doing nothing.

Patch: Conrad Hughes

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

14 years agoTHRIFT-884. html: HTML Generator: add Key attribute to the Data Types Tables
Bryan Duxbury [Thu, 2 Sep 2010 00:12:22 +0000 (00:12 +0000)] 
THRIFT-884. html: HTML Generator: add Key attribute to the Data Types Tables

This patch adds the Key attribute to the Data Types Tables.

Patch: Roger Meier

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

14 years agoTHRIFT-860. ocaml: copy method and reset method
Bryan Duxbury [Thu, 2 Sep 2010 00:07:20 +0000 (00:07 +0000)] 
THRIFT-860. ocaml: copy method and reset method

The attached patch provides the class copying and reset-to-default values methods.

Patch: Lev Walkin

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

14 years agoTHRIFT-886. erlang: Fix dialyzer warning in thrift_http_transport
David Reiss [Wed, 1 Sep 2010 16:54:05 +0000 (16:54 +0000)] 
THRIFT-886. erlang: Fix dialyzer warning in thrift_http_transport

This spec should have been updated in r990996

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

14 years agoTHRIFT-812. contrib: Add a demo of using Thrift over ZeroMQ
David Reiss [Tue, 31 Aug 2010 16:58:41 +0000 (16:58 +0000)] 
THRIFT-812. contrib: Add a demo of using Thrift over ZeroMQ

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

14 years agoTHRIFT-874. Add script to cross-compile the Thrift compiler for Windows
David Reiss [Tue, 31 Aug 2010 16:51:32 +0000 (16:51 +0000)] 
THRIFT-874. Add script to cross-compile the Thrift compiler for Windows

This script cross compiles the Thrift compiler from Ubuntu 10.04 to
Windows using the gcc-mingw32 package.  Run it from a fresh release
tarball.

All of the runtime libraries are disabled.  This is just for building
the compiler.

I set --build and --host to ensure that autoconf knows we are
cross-compiling.

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

14 years agoTHRIFT-874. Disable AX_SIGNED_RIGHT_SHIFT for cross-compiles
David Reiss [Tue, 31 Aug 2010 16:51:31 +0000 (16:51 +0000)] 
THRIFT-874. Disable AX_SIGNED_RIGHT_SHIFT for cross-compiles

When cross-compiling, we cannot run test programs, so
AX_SIGNED_RIGHT_SHIFT won't work.  That macro is only needed for the
runtime library, not the compiler, so we can just skip it if we are
cross-compiling the compiler.

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

14 years agoTHRIFT-874. Include missing time.h in two compiler files
David Reiss [Tue, 31 Aug 2010 16:51:30 +0000 (16:51 +0000)] 
THRIFT-874. Include missing time.h in two compiler files

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

14 years agoTHRIFT-865. Make Thrift buildable without libfl
David Reiss [Tue, 31 Aug 2010 16:51:29 +0000 (16:51 +0000)] 
THRIFT-865. Make Thrift buildable without libfl

yywrap is only needed if we need one lexer context to traverse multiple
input files.  This feature isn't used by Thrift, so we disable it with
"option noyywrap".  With yywrap disabled, there is no need to link to
libfl if flex is the lex implementation used.

With this patch, release tarballs can be built without lex.

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

14 years agoTHRIFT-507. Only use Boost for building the C++ library
David Reiss [Tue, 31 Aug 2010 16:51:28 +0000 (16:51 +0000)] 
THRIFT-507. Only use Boost for building the C++ library

- Make AX_BOOST_BASE warn instead of fataling if Boost is not found.
- If Boost is not found, disable compilation of the C++ library.
- Do not use CPPFLAGS or LDFLAGS from Boost when building the compiler.

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

14 years agoTHRIFT-507. Stop using boost::lexical_cast in the compiler
David Reiss [Tue, 31 Aug 2010 16:51:26 +0000 (16:51 +0000)] 
THRIFT-507. Stop using boost::lexical_cast in the compiler

We were using boost::lexical_cast to convert an integer to a string,
but using a stringstream is only slightly more complicated.

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

14 years agoTHRIFT-507. ruby: Stop using boost::tokenizer
David Reiss [Tue, 31 Aug 2010 16:51:25 +0000 (16:51 +0000)] 
THRIFT-507. ruby: Stop using boost::tokenizer

Previously, the Ruby generated used boost::tokenizer to produce a
vector of namespace components from a dot-delimited namespace string.
We can do this manually with only a slight increase in complexity.

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

14 years agoTHRIFT-507. smalltalk: Remove an unnecessary include (boost/tokenizer)
David Reiss [Tue, 31 Aug 2010 16:51:24 +0000 (16:51 +0000)] 
THRIFT-507. smalltalk: Remove an unnecessary include (boost/tokenizer)

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

14 years agoTHRIFT-850. Use AX_PROG_PERL_MODULES to test for Bit::Vector
David Reiss [Tue, 31 Aug 2010 16:51:22 +0000 (16:51 +0000)] 
THRIFT-850. Use AX_PROG_PERL_MODULES to test for Bit::Vector

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

14 years agoTHRIFT-506. Allow Thrift to be built without the C++ library
David Reiss [Tue, 31 Aug 2010 16:51:21 +0000 (16:51 +0000)] 
THRIFT-506. Allow Thrift to be built without the C++ library

Currently, this is only possible by explicitly passing --without-cpp.
It might be better to name it --without-cxx, but it is probably more
important to keep consistency with the "cpp" generator and "lib/cpp".

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

14 years agoTHRIFT-505. Make configure give a summary of the enabled components
David Reiss [Tue, 31 Aug 2010 16:51:20 +0000 (16:51 +0000)] 
THRIFT-505. Make configure give a summary of the enabled components

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

14 years agoTHRIFT-503. cpp: Move the tests built by "make check" under lib/cpp
David Reiss [Tue, 31 Aug 2010 16:51:19 +0000 (16:51 +0000)] 
THRIFT-503. cpp: Move the tests built by "make check" under lib/cpp

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

14 years agoTHRIFT-503. Use our standard include style in a few tests
David Reiss [Tue, 31 Aug 2010 16:51:14 +0000 (16:51 +0000)] 
THRIFT-503. Use our standard include style in a few tests

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

14 years agoTHRIFT-500. Remove nonexistent files from .gitignore (/test/java/)
David Reiss [Tue, 31 Aug 2010 16:51:13 +0000 (16:51 +0000)] 
THRIFT-500. Remove nonexistent files from .gitignore (/test/java/)

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

14 years agoTHRIFT-500. Ignore and clean some new generated files
David Reiss [Tue, 31 Aug 2010 16:51:12 +0000 (16:51 +0000)] 
THRIFT-500. Ignore and clean some new generated files

r772440 caused libtoolize to dump some extra files into aclocal.
This change adds them to gitignore and removes them in cleanup.sh.

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

14 years agoTHRIFT-500. Remove unnecessary "ACLOCAL_AMFLAGS" line from lib/cpp/Makefile.am
David Reiss [Tue, 31 Aug 2010 16:51:11 +0000 (16:51 +0000)] 
THRIFT-500. Remove unnecessary "ACLOCAL_AMFLAGS" line from lib/cpp/Makefile.am

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

14 years agoTHRIFT-500. A bunch of small changes to bootstrap.sh
David Reiss [Tue, 31 Aug 2010 16:51:10 +0000 (16:51 +0000)] 
THRIFT-500. A bunch of small changes to bootstrap.sh

- Use "set -e" instead of exit 1
- Separate libtoolize detection and execution
- Reorder some programs to prevent spurious warnings

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

14 years agoTHRIFT-785. erlang: Eliminate log spew with framed transport
David Reiss [Mon, 30 Aug 2010 22:11:58 +0000 (22:11 +0000)] 
THRIFT-785. erlang: Eliminate log spew with framed transport

If we get an error when reading from the underlying transport, propagate
it out instead of dying and generating error logs.

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

14 years agoerlang: Un-revert r988722
David Reiss [Mon, 30 Aug 2010 22:06:03 +0000 (22:06 +0000)] 
erlang: Un-revert r988722

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

14 years agoerlang: Eliminate "behaviour undefined" warnings
David Reiss [Mon, 30 Aug 2010 22:06:01 +0000 (22:06 +0000)] 
erlang: Eliminate "behaviour undefined" warnings

Build behaviour modules first and include the ebin directory in
the Erlang code path during the rest of the build.

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

14 years agoerlang: Parse multiple options properly in disk_log_transport
David Reiss [Mon, 30 Aug 2010 22:06:00 +0000 (22:06 +0000)] 
erlang: Parse multiple options properly in disk_log_transport

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

14 years agoerlang: Verify elt/key/val when reading list/set/map
David Reiss [Mon, 30 Aug 2010 22:05:58 +0000 (22:05 +0000)] 
erlang: Verify elt/key/val when reading list/set/map

For now, exit on a badmatch if one is wrong.

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

14 years agoerlang: Fix several compilation warnings
David Reiss [Mon, 30 Aug 2010 22:05:57 +0000 (22:05 +0000)] 
erlang: Fix several compilation warnings

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

14 years agoerlang: Rename _impl headers to _behaviour
David Reiss [Mon, 30 Aug 2010 22:05:55 +0000 (22:05 +0000)] 
erlang: Rename _impl headers to _behaviour

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

14 years agoerlang: Fix a few spelling errors
David Reiss [Mon, 30 Aug 2010 22:05:53 +0000 (22:05 +0000)] 
erlang: Fix a few spelling errors

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

14 years agoerlang: Don't use a separate process for http_transport
David Reiss [Mon, 30 Aug 2010 22:05:51 +0000 (22:05 +0000)] 
erlang: Don't use a separate process for http_transport

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

14 years agoerlang: Don't use a separate process memory_buffer
David Reiss [Mon, 30 Aug 2010 22:05:50 +0000 (22:05 +0000)] 
erlang: Don't use a separate process memory_buffer

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

14 years agoerlang: Update test_disklog to use the new API
David Reiss [Mon, 30 Aug 2010 22:05:49 +0000 (22:05 +0000)] 
erlang: Update test_disklog to use the new API

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

14 years agoerlang: Update test_membuffer to use the new API
David Reiss [Mon, 30 Aug 2010 22:05:48 +0000 (22:05 +0000)] 
erlang: Update test_membuffer to use the new API

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

14 years agoerlang: Don't use a separate process for framed_transport
David Reiss [Mon, 30 Aug 2010 22:05:47 +0000 (22:05 +0000)] 
erlang: Don't use a separate process for framed_transport

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

14 years agoerlang: Don't use a separate process for buffered_transport
David Reiss [Mon, 30 Aug 2010 22:05:46 +0000 (22:05 +0000)] 
erlang: Don't use a separate process for buffered_transport

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

14 years agoerlang: Add a state-propagation-testing transport
David Reiss [Mon, 30 Aug 2010 22:05:44 +0000 (22:05 +0000)] 
erlang: Add a state-propagation-testing transport

Add a transport implementation that forwards all read and write (and
flush and close) requests directly to a wrapped transport.  In addition,
it keeps a small amount of state: a version number that is incremented
on each operation and the PID of a process that stores another copy of
the version number.  Every operation compares the version numbers and
increments both.  If some part of the Thrift stack doesn't propagate
state updates properly, the two versions will not match.

Also add some (compiled-off by default) code to thrift_transport to
auto-wrap every transport in a state checker.

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

14 years agoerlang: Refactor thrift_transport and all transport implementations
David Reiss [Mon, 30 Aug 2010 22:05:43 +0000 (22:05 +0000)] 
erlang: Refactor thrift_transport and all transport implementations

Note that the buffering transports still use a separate process to
maintain their state.  This change just changes them to use a
"return-the-new-version"-style API.

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

14 years agoerlang: test_{client,server}: Allow framed_transport to be used
David Reiss [Mon, 30 Aug 2010 22:05:41 +0000 (22:05 +0000)] 
erlang: test_{client,server}: Allow framed_transport to be used

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

14 years agoerlang: Create a test client
David Reiss [Mon, 30 Aug 2010 22:05:39 +0000 (22:05 +0000)] 
erlang: Create a test client

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

14 years agoerlang: Refactor the processor
David Reiss [Mon, 30 Aug 2010 22:05:38 +0000 (22:05 +0000)] 
erlang: Refactor the processor

Now the server works.

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

14 years agoerlang: Get rid of after_reply from thrift_processor
David Reiss [Mon, 30 Aug 2010 22:05:37 +0000 (22:05 +0000)] 
erlang: Get rid of after_reply from thrift_processor

We are always flushing the response after we write it.

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

14 years agoerlang: Don't catch exits in thrift_processor
David Reiss [Mon, 30 Aug 2010 22:05:36 +0000 (22:05 +0000)] 
erlang: Don't catch exits in thrift_processor

They are not handled properly, so the exit backtrace gets lost.
Just ignore them and let them kill the process naturally.

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

14 years agoerlang: Refactor the binary protocol
David Reiss [Mon, 30 Aug 2010 22:05:34 +0000 (22:05 +0000)] 
erlang: Refactor the binary protocol

At this point, everything passes dialyzer except for the processor,
and the client works.

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

14 years agoerlang: Refactor the read path of the protocol
David Reiss [Mon, 30 Aug 2010 22:05:33 +0000 (22:05 +0000)] 
erlang: Refactor the read path of the protocol

TODO: squash this

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

14 years agoerlang: Refactor the read path of the client
David Reiss [Mon, 30 Aug 2010 22:05:32 +0000 (22:05 +0000)] 
erlang: Refactor the read path of the client

TODO: squash this

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

14 years agoerlang: Refactor the write paths of the client and protocol
David Reiss [Mon, 30 Aug 2010 22:05:31 +0000 (22:05 +0000)] 
erlang: Refactor the write paths of the client and protocol

TODO: squash this

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

14 years agoerlang: Client refactor, part 1
David Reiss [Mon, 30 Aug 2010 22:05:29 +0000 (22:05 +0000)] 
erlang: Client refactor, part 1

- Client is no longer a separate process.
- Simplified constructors moved into another module.
- All functions and exceptions return the new client,
  to allow for future statefulness in the client.

NOTE: With the new library and old gen-code, attempting to call a
nonexistent function will result in an exit.

TODO: fix docs and tests (tether test is not meaningful)

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

14 years agoerlang: Make the gen-code return a special value for bogus functions
David Reiss [Mon, 30 Aug 2010 22:05:27 +0000 (22:05 +0000)] 
erlang: Make the gen-code return a special value for bogus functions

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

14 years agoerlang: Separate out thrift_protocol:read_specific
David Reiss [Mon, 30 Aug 2010 22:05:26 +0000 (22:05 +0000)] 
erlang: Separate out thrift_protocol:read_specific

By giving a different name to the function that reads from the
protocol implementation, we can get a slightly more enforcible spec.

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

14 years agoerlang: Add a more detailed spec for thrift_protocol:read
David Reiss [Mon, 30 Aug 2010 22:05:25 +0000 (22:05 +0000)] 
erlang: Add a more detailed spec for thrift_protocol:read

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

14 years agoerlang: Separate out thrift_binary_protocol:read_data
David Reiss [Mon, 30 Aug 2010 22:05:23 +0000 (22:05 +0000)] 
erlang: Separate out thrift_binary_protocol:read_data

By giving a different name to the function that reads bytes from the
transport, we can get a slightly more detailed spec.

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

14 years agoerlang: Add some more detailed specs for protocol implementations
David Reiss [Mon, 30 Aug 2010 22:05:22 +0000 (22:05 +0000)] 
erlang: Add some more detailed specs for protocol implementations

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

14 years agoerlang: Add some initial specs for thrift_transport and its implementations
David Reiss [Mon, 30 Aug 2010 22:05:20 +0000 (22:05 +0000)] 
erlang: Add some initial specs for thrift_transport and its implementations

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

14 years agoerlang: Add some initial specs to thrift_client and thrift_protocol
David Reiss [Mon, 30 Aug 2010 22:05:18 +0000 (22:05 +0000)] 
erlang: Add some initial specs to thrift_client and thrift_protocol

Also add a special header for use in thrift_protocol implementations
that gives specs for the callbacks.

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

14 years agoerlang: Make the test_server use thrift_socket_server
David Reiss [Mon, 30 Aug 2010 22:05:17 +0000 (22:05 +0000)] 
erlang: Make the test_server use thrift_socket_server

thrift_server is deprecated, it seems.

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

14 years agoerlang: Make the test server compatible with the Python test client
David Reiss [Mon, 30 Aug 2010 22:05:16 +0000 (22:05 +0000)] 
erlang: Make the test server compatible with the Python test client

The Python test client expects a specific value in some responses.

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