dweatherford [Wed, 5 Dec 2007 03:40:19 +0000 (03:40 +0000)]
[thrift] Better default TApplicationException messages
Summary: "Default TApplicationException" is pretty meaningless; if we have this
extra type information, we might as well present it.
Reviewed By: mcslee
Test Plan: caught a couple of INVALID_MESSAGE_TYPE tapplicationexceptions
Revert: ok
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665383
13f79535-47bb-0310-9956-
ffa450edef68
David Reiss [Fri, 30 Nov 2007 20:38:49 +0000 (20:38 +0000)]
Thrift: Make some server methods public.
Reviewed By: mcslee
Test Plan: Compiles.
Revert Plan: ok
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665382
13f79535-47bb-0310-9956-
ffa450edef68
Mark Slee [Fri, 30 Nov 2007 01:43:36 +0000 (01:43 +0000)]
Fix bug that double-initializes list objects in deserialization.
Reviewed By: jssarma
Test Plan: Regenerate Java code, check list deserializer for no double-object instantiation
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665381
13f79535-47bb-0310-9956-
ffa450edef68
Mark Slee [Thu, 29 Nov 2007 02:57:34 +0000 (02:57 +0000)]
Custom HTTP headers patch from Dave Engberg
Reviewed By: mcslee
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665380
13f79535-47bb-0310-9956-
ffa450edef68
Mark Slee [Wed, 28 Nov 2007 22:28:13 +0000 (22:28 +0000)]
Thrift compiler now enforces uniqueness of field identifiers
Summary: The code would either not generate, or generate code with errors, if you did this beforehand. Now it's a die-fast stop hard error since this is absolultely always a wrong thing to do.
Reviewed By: dreiss
Test Plan: Test compiling a .thrift file with a repeated field identifier in a struct or arglist.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665379
13f79535-47bb-0310-9956-
ffa450edef68
David Reiss [Wed, 28 Nov 2007 20:15:11 +0000 (20:15 +0000)]
Thrift: Fix a backwards change.
Summary:
Got it right in trunk, but wrong in thrift.
Blame Rev: 69504
Reviewed By: mcslee
Test Plan:
Tested in trunk AND did a diff with trunk.
Revert Plan: ok
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665378
13f79535-47bb-0310-9956-
ffa450edef68
Mark Slee [Wed, 28 Nov 2007 05:54:33 +0000 (05:54 +0000)]
Add pkgconfig to Thrift C++ libraries
Reviewed By: mcslee
Other Notes: Submitted by Ben Maurer
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665377
13f79535-47bb-0310-9956-
ffa450edef68
Mark Slee [Wed, 28 Nov 2007 04:29:25 +0000 (04:29 +0000)]
Fix typo in Thrift trunk
Summary: $classl => $class
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665376
13f79535-47bb-0310-9956-
ffa450edef68
Mark Slee [Wed, 28 Nov 2007 04:17:49 +0000 (04:17 +0000)]
Lowercase autoload strings
Summary: PHP is undebatably the worst programming language in the world. Class names are case insensitive, so new $tHiNg = new $THing. Garbase. Now autoload has to deal with the fallout.
Reviewed By: dreiss
Test Plan: autoload enabled falcon code
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665375
13f79535-47bb-0310-9956-
ffa450edef68
Mark Slee [Wed, 28 Nov 2007 02:46:24 +0000 (02:46 +0000)]
Kill fast binary compliance in TBase, it doesn't work
Reviewed By: akhil
Test Plan: Regenerate code
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665374
13f79535-47bb-0310-9956-
ffa450edef68
Mark Slee [Wed, 28 Nov 2007 02:45:13 +0000 (02:45 +0000)]
Complete the proper handling of all special characters in JSON strings for TJSONProtocol
Reviewed By: dreiss
Test Plan: test/java/TestClient
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665373
13f79535-47bb-0310-9956-
ffa450edef68
Mark Slee [Wed, 28 Nov 2007 02:39:59 +0000 (02:39 +0000)]
Make inheriting from TBase and using inherited read method optional in generated Thrift PHP code
Reviewed By: dreiss, akhil
Test Plan: Generate falcon etc. without -phpo and check it out
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665372
13f79535-47bb-0310-9956-
ffa450edef68
Mark Slee [Wed, 28 Nov 2007 01:51:43 +0000 (01:51 +0000)]
Create a TServerEventHandler interface in TServer
Summary: Such that users can supply an event handler to a server that will be used to signal various events that take place inside the server core.
Reviewed By: dreiss
Test Plan: Rebuilt all servers, work by default
Other Notes: Partially submitted and also reviewed by Dave Simpson at Powerset
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665371
13f79535-47bb-0310-9956-
ffa450edef68
Mark Slee [Wed, 28 Nov 2007 00:12:11 +0000 (00:12 +0000)]
Add a few utility methods and helpers to Thrift C++ Sockets
Summary: Submitted by Dave Simpson @ Powerset.
Reviewed By: mcslee
Test Plan: test/cpp
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665370
13f79535-47bb-0310-9956-
ffa450edef68
Mark Slee [Tue, 27 Nov 2007 21:54:38 +0000 (21:54 +0000)]
Clean up the TSerializer
Summary: Nested Transport subclass wasn't necessary, add comments
Reviewed By: dreiss
Test Plan: Same as before, test/java/TestClient
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665369
13f79535-47bb-0310-9956-
ffa450edef68
Mark Slee [Tue, 27 Nov 2007 08:42:19 +0000 (08:42 +0000)]
IPv6 tweaks for Thrift
Summary: Need to pass hints including AI_ADDRCONFIG to getaddrinfo to make sure no IPv6 addresses come back on non-IPv6 enabled systems
Reviewed By: mcslee
Other Notes: Submitted by Paul Saab
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665368
13f79535-47bb-0310-9956-
ffa450edef68
Mark Slee [Tue, 27 Nov 2007 08:38:52 +0000 (08:38 +0000)]
TJSONProtocol writing support in Java
Summary: TJSONProtocol for Java with write support and a TSerializer utility for easier conversion of Thrift objects into byte[] or strings.
Reviewed By: dreiss
Test Plan: Included a basic piece of this in test/ client for Java.
Revert: OK
DiffCamp Revision: 3890
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665367
13f79535-47bb-0310-9956-
ffa450edef68
Mark Slee [Tue, 27 Nov 2007 08:38:16 +0000 (08:38 +0000)]
Fix writeContainerEnd call being inside loop instead of after loop
Summary: Potentailly breaks Java serialization for protocols that care about container termination.
Reviewed By: dreiss
Test Plan: Generate code, veirfy writeListEnd/writeSetEnd is in the apporpriate place
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665366
13f79535-47bb-0310-9956-
ffa450edef68
Mark Slee [Mon, 26 Nov 2007 21:15:40 +0000 (21:15 +0000)]
Merging EOFException changes from Ben Maurer
Summary: Throw a proper EOFError in this case. Long term we want to change this to properly fit into the Thrift TException heirarchy with a good way to handle the original exception as well. For now, Ben is the primary user of this so we'll go ahead with his patch.
Reviewed By: mcslee
Test Plan: Included in test/py/TestEof.py
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665365
13f79535-47bb-0310-9956-
ffa450edef68
Mark Slee [Mon, 26 Nov 2007 19:05:29 +0000 (19:05 +0000)]
Refactor TNonblockingServer to use event_base construct
Summary: This allows the event loop to be shared across different components of a program of for a separate thread in a TNonblockingServer to safely use its own libevent code without conflicts.
Reviewed By: mcslee
Test Plan: Updated test/ committed here
Other Notes: submitted by Ben Maurer, patched in by mcslee with slight modifications
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665364
13f79535-47bb-0310-9956-
ffa450edef68
Mark Slee [Wed, 21 Nov 2007 23:35:52 +0000 (23:35 +0000)]
libtoolize and configure tweaks for Thrift compiler
Summary: Need glibtoolize on OSX.
Reviewed By: mcslee
Other Notes: From Paul Collison
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665363
13f79535-47bb-0310-9956-
ffa450edef68
Mark Slee [Wed, 21 Nov 2007 22:05:50 +0000 (22:05 +0000)]
Double-free Cocoa fix: Redux
Summary: Need get_true_type to evaluate string status
Reviewed By: mcslee
Other Notes: Submission from Andrew McGeachie
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665362
13f79535-47bb-0310-9956-
ffa450edef68
Mark Slee [Wed, 21 Nov 2007 08:43:35 +0000 (08:43 +0000)]
Merging in some Smalltalk changes from Patrick Collison
Reviewed By: mcslee
Test Plan: Rebuild Thrift compiler
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665361
13f79535-47bb-0310-9956-
ffa450edef68
Mark Slee [Tue, 20 Nov 2007 23:55:33 +0000 (23:55 +0000)]
Fix cocoa double-free issue with strings
Reviewed By: mcslee
Other Notes: Submitted by Andrew McGeachie
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665360
13f79535-47bb-0310-9956-
ffa450edef68
Mark Slee [Tue, 20 Nov 2007 05:54:13 +0000 (05:54 +0000)]
Complete rb test server with testEnum and testTypedef
Reviewed by: mcslee
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665359
13f79535-47bb-0310-9956-
ffa450edef68
Mark Slee [Tue, 20 Nov 2007 05:13:09 +0000 (05:13 +0000)]
Add Smalltalk support to Thrift
Summary: Submitted by Patrick Collison
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665358
13f79535-47bb-0310-9956-
ffa450edef68
Mark Slee [Tue, 20 Nov 2007 04:58:16 +0000 (04:58 +0000)]
Make Java TBinaryProtocol default to strictWrite
Summary: About time we did this. Breaks the test suite's defaults
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665357
13f79535-47bb-0310-9956-
ffa450edef68
Mark Slee [Tue, 20 Nov 2007 02:06:47 +0000 (02:06 +0000)]
Add (int) case to Thrift version comparison
Summary: Deals with 32 bit machines doing a weird sign-bit thing here.
Reviewed By: dreiss
Test Plan: For 32 bit AmieStreet partners
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665356
13f79535-47bb-0310-9956-
ffa450edef68
Mark Slee [Tue, 20 Nov 2007 02:05:29 +0000 (02:05 +0000)]
Do not generate constants php files from Thrift when they will be empty
Summary: That's just silly
Reviewed By: peter, dreiss
Test Plan: Generate PHP from a .thrift with no constants. Notice there is no _constants.php generated.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665355
13f79535-47bb-0310-9956-
ffa450edef68
Mark Slee [Tue, 20 Nov 2007 01:39:25 +0000 (01:39 +0000)]
Cocoa Thrift binding patches from Andrew McGeachie
Summary: Latest updates to the Cocoa bindings
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665354
13f79535-47bb-0310-9956-
ffa450edef68
Mark Slee [Tue, 20 Nov 2007 01:27:08 +0000 (01:27 +0000)]
IPv6 support for the TNonBlockingServer
Summary: Need to use IPv6 compliant constructs here. Submitted by Paul Saab.
Reviewed By: dreiss
Test Plan: Rebuild Thrift TNonblockingServer with this patch and verify behaves just the same
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665353
13f79535-47bb-0310-9956-
ffa450edef68
hzhao [Sun, 18 Nov 2007 20:54:30 +0000 (20:54 +0000)]
added trunk
Reviewed By: shire
Test Plan: ape work
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665352
13f79535-47bb-0310-9956-
ffa450edef68
hzhao [Sun, 18 Nov 2007 20:48:56 +0000 (20:48 +0000)]
tagging thrift-protocol-1.0.0
Reviewed By: shire
Test Plan: ape work
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665351
13f79535-47bb-0310-9956-
ffa450edef68
Christopher Piro [Sun, 18 Nov 2007 02:10:20 +0000 (02:10 +0000)]
[thrift] gut Erlang exception handling
Summary: * move type field to tException from subclasses
* add backtrace to tException
* add oop:is_a
* on exit, wrap exceptions in {thrift_exception, E} ... otherwise can't distinguish e.g. exit:{{tBinProtException, {tException, ...}}, Stack} vs. exit:{tBinProtException, {tException, ...} -- I hate erlang
* all throws/exits to tException:throw which does the wrapping described above
Reviewed By: eletuchy
Test Plan: been using this code on my live server ^_^
Revert: OK
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665350
13f79535-47bb-0310-9956-
ffa450edef68
Mark Slee [Sat, 17 Nov 2007 00:32:36 +0000 (00:32 +0000)]
Add __autoload() support to Thrift-generated PHP code
Summary: Include thrift/autoload.php and use -phpa flag to generated code that works with autoload. Good for services with lots of methods that are typically not all invoked.
Reviewed By: dreiss
Test Plan: Falcon, baby, falcon.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665349
13f79535-47bb-0310-9956-
ffa450edef68
Mark Slee [Sat, 17 Nov 2007 00:27:17 +0000 (00:27 +0000)]
Fix PHP TBufferedTransport readAll() to work with TSocket timeouts
Reviewed By: lucas
Test Plan: Invoke Buffered Transport wrapped around socket
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665348
13f79535-47bb-0310-9956-
ffa450edef68
dweatherford [Fri, 16 Nov 2007 03:29:47 +0000 (03:29 +0000)]
[thrift] Fix extension deserialization call with no classname
Summary: The extension expects a classname as a string and does not allow null;
use the empty string instead of null in the absence of a classname to pass.
Reviewed By: mcslee
Test Plan: php -l
Revert: svn
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665347
13f79535-47bb-0310-9956-
ffa450edef68
Mark Slee [Fri, 16 Nov 2007 03:27:22 +0000 (03:27 +0000)]
Make sure to lazily initialize $TSPEC for structs even with no members
Reviewed By: dweatherford
Test Plan: Generate code with no E_ALL for method-less args
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665346
13f79535-47bb-0310-9956-
ffa450edef68
Mark Slee [Fri, 16 Nov 2007 02:48:52 +0000 (02:48 +0000)]
Fix namespacing of included enum types in C++ generated code
Summary: If you reference enum types from an include you need to fully qualify their namespace in the generated C++ code.
Reviewed By: pfung
Test Plan: fbtypes code that pfung is using
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665345
13f79535-47bb-0310-9956-
ffa450edef68
Christopher Piro [Thu, 15 Nov 2007 06:26:32 +0000 (06:26 +0000)]
[thrift] Erlang client calls return value from recv_
Summary: only return `ok' if it's an async, otherwise return the value of recv_
Reviewed By: cvarenhorst
Test Plan: my server works now
Revert Plan: ok
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665344
13f79535-47bb-0310-9956-
ffa450edef68
Christopher Piro [Thu, 15 Nov 2007 06:26:31 +0000 (06:26 +0000)]
[thrift] fix-ups to Erlang thrift_logger
Summary:
* no ?INFO for every oop:call ... way too expensive
* unfactor symbol/1 ... it was that way for a reason apparently
* upped crash report depth to 3
Reviewed By: eletuchy
Test Plan: /much/ less CPU eaten by logging
Revert Plan: ok
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665343
13f79535-47bb-0310-9956-
ffa450edef68
Christopher Piro [Thu, 15 Nov 2007 06:26:30 +0000 (06:26 +0000)]
[thrift] change up Erlang crash reports, cleanups in t{,Binary}Protocol
Summary: crash reports aren't too important so don't be so verbose -- all the pertinent info shows up elsewhere anyway. refactor while we're at it.
Reviewed By: eletuchy
Test Plan: ok
Revert Plan: ok
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665342
13f79535-47bb-0310-9956-
ffa450edef68
Christopher Piro [Thu, 15 Nov 2007 06:26:29 +0000 (06:26 +0000)]
[thrift] remove trailing-whitespace-generating code from t_erl_generator.cc
Summary: meta
Reviewed By: dcorson
Test Plan: M-x delete-trailing-whitespace does nothing
Revert Plan: ok
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665341
13f79535-47bb-0310-9956-
ffa450edef68
Christopher Piro [Thu, 15 Nov 2007 06:26:29 +0000 (06:26 +0000)]
[thrift] remove tabs from t_erl_generator.cc
Summary: ididntdoit
Reviewed By: eletuchy
Test Plan: ok
Revert Plan: ok
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665340
13f79535-47bb-0310-9956-
ffa450edef68
Christopher Piro [Thu, 15 Nov 2007 06:26:28 +0000 (06:26 +0000)]
[thrift] whole ball of whitespace normalizations in Erlang
Summary: ill-formatted comments, trailing whitespace, and (gasp) tabs: all pwned. better now than later.
Reviewed By: eletuchy
Test Plan: ok
Revert Plan: ok
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665339
13f79535-47bb-0310-9956-
ffa450edef68
Christopher Piro [Thu, 15 Nov 2007 06:26:27 +0000 (06:26 +0000)]
[thrift] make open and close `effectful' in Erlang client
Summary: make uniform across all tTransports. god i want `effectful' to go away dead. soon.
Reviewed By: eletuchy
Test Plan: ok
Revert Plan: ok
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665338
13f79535-47bb-0310-9956-
ffa450edef68
Christopher Piro [Thu, 15 Nov 2007 06:26:26 +0000 (06:26 +0000)]
[thrift] Erlang client receive socket options
Summary: we want {active, false}, etc. for client sockets. make it so.
Reviewed By: eletuchy
Test Plan: ok
Revert Plan: ok
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665337
13f79535-47bb-0310-9956-
ffa450edef68
Christopher Piro [Thu, 15 Nov 2007 02:20:59 +0000 (02:20 +0000)]
[thrift] Erlang makefile includes to terse messages
Summary: filter out compiler path and flags and cruft
Reviewed By: eletuchy
Test Plan: ok
Revert Plan: ok
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665336
13f79535-47bb-0310-9956-
ffa450edef68
Christopher Piro [Thu, 15 Nov 2007 02:20:58 +0000 (02:20 +0000)]
[thrift] convert oop.erl errors and infos to macros
Summary: old-style error messages get switched over
Reviewed By: eletuchy
Test Plan: ok
Revert Plan: ok
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665335
13f79535-47bb-0310-9956-
ffa450edef68
Mark Slee [Wed, 14 Nov 2007 00:24:14 +0000 (00:24 +0000)]
Change Thrift to lazily instantiate $_TSPEC objects on first object instantiation
Summary: Apparently adding the static array costs overhead since it must get preinitialized or something? It's unclear exactly what's going on here, but let's test to see if explicit lazy instantiation helps here.
Reviewed By: dreiss
Test Plan: See if this speeds up falcon loading
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665334
13f79535-47bb-0310-9956-
ffa450edef68
David Reiss [Tue, 13 Nov 2007 21:41:29 +0000 (21:41 +0000)]
Thrift: Fix new-style generated PHP code.
Summary:
Fix reading of lists/sets of lists/sets/maps.
Reviewed By: mcslee
Test Plan: Tested in trunk.
Revert Plan: ok
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665333
13f79535-47bb-0310-9956-
ffa450edef68
David Reiss [Tue, 13 Nov 2007 11:55:06 +0000 (11:55 +0000)]
Thrift: Fix new-style generated PHP code.
Summary:
We were generating a fatal when constructing a struct with an argument.
Reviewed By: lucas
Test Plan: None.
Revert Plan: ok
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665332
13f79535-47bb-0310-9956-
ffa450edef68
Mark Slee [Tue, 13 Nov 2007 10:19:08 +0000 (10:19 +0000)]
Merging PHP transport changes from www trunk to thrift trunk
Summary: Some empty() fixes, plus a few other socket helpers
Reviewed By: lucas
Test Plan: Use the transports to make IPC calls!
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665331
13f79535-47bb-0310-9956-
ffa450edef68
Mark Slee [Tue, 13 Nov 2007 05:53:44 +0000 (05:53 +0000)]
Need to properly namespace the php class names in typespec
Reviewed By: aditya
Test Plan: Regenerate ubersearch code
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665330
13f79535-47bb-0310-9956-
ffa450edef68
Mark Slee [Tue, 13 Nov 2007 05:35:34 +0000 (05:35 +0000)]
Fixing typo in Thrift trunk
Summary: xter => xfer
Reviewed By: sgrimm
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665329
13f79535-47bb-0310-9956-
ffa450edef68
Mark Slee [Tue, 13 Nov 2007 04:00:29 +0000 (04:00 +0000)]
Thrift PHP generation Redux
Summary: Chopping the amount of code generated by Thrift for PHP services by two orders of magnitude (approx 25% of the previous size). This is done via putting more logic in a dynamic base class and taking it out of the generated code. Hopefully this wins back the CPU cycles paid just to load code from APC at the cost of a marginal increase in dynamic execution runtime.
Reviewed By: sgrimm, dreiss
Test Plan: Ran all the tests in trunk/test/php, also tested the API generate code and Falcon, etc. in my sandbox
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665328
13f79535-47bb-0310-9956-
ffa450edef68
David Reiss [Thu, 8 Nov 2007 01:05:46 +0000 (01:05 +0000)]
Thrift: Perl HttpClient and fixes.
Summary:
Also updated the CONTRIBUTORS file. Sorry, Boz.
Reviewed By: mcslee
Revert Plan: ok
Other Notes:
Submitted by Igor Afanasyev.
Reviewed by Jake Luciani.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665327
13f79535-47bb-0310-9956-
ffa450edef68
Mark Slee [Wed, 7 Nov 2007 00:48:47 +0000 (00:48 +0000)]
Deal with UnsupportedEncodingException in TBinaryProtocol
Summary: In case you are running on a horrendous JVM that doesn't have UTF-8 support
Reviewed By: dreiss
Test Plan: Compile.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665326
13f79535-47bb-0310-9956-
ffa450edef68
Mark Slee [Tue, 6 Nov 2007 22:11:29 +0000 (22:11 +0000)]
Add include_once statements for generated PHP code that depends upon other types
Reviewed By: root
Test Plan: Generate PHP code for a .thrift file with an include in it
Other Notes: Reviewed by Todd Lipcon from AmieStreet
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665325
13f79535-47bb-0310-9956-
ffa450edef68
Mark Slee [Tue, 6 Nov 2007 22:10:24 +0000 (22:10 +0000)]
Missing configure check for strerror function
Reviewed By: dreiss
Test Plan: Run configure script
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665324
13f79535-47bb-0310-9956-
ffa450edef68
Aditya Agarwal [Tue, 6 Nov 2007 06:33:06 +0000 (06:33 +0000)]
-- ensure that flush is called in close() of any wrapper transport
Summary:
- unflushed data should be flushed when transport is closed
- this diff calls flush for TBufferedTransport and TFramedTransport
Reviewed By: dreiss
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665323
13f79535-47bb-0310-9956-
ffa450edef68
Mark Slee [Sat, 3 Nov 2007 05:30:32 +0000 (05:30 +0000)]
Add programatic shutdown option to Java Thrift servers
Summary: Same paradigm as in C++ model. Allow ServerTransport to be interrupted to block an accept loop and cleanly stop serving client requests.
Reviewed By: dreiss
Test Plan: Invoke shutdown() method on a TServer
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665322
13f79535-47bb-0310-9956-
ffa450edef68
Mark Slee [Sat, 3 Nov 2007 04:48:43 +0000 (04:48 +0000)]
Make Java TbinaryProtocol enfore UTF-8
Summary: Java Strings have to have an encoding, they can't just be binary. The constructor and getBytes() method enforce this, so we are standardizing on UTF-8 to avoid string-mangling.
Reviewed By: dreiss
Test Plan: Code all works the exact same in the normal case, and doesn't mangle characters beyond ASCII or ISO-LATIN-1
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665321
13f79535-47bb-0310-9956-
ffa450edef68
lklots [Fri, 2 Nov 2007 23:01:27 +0000 (23:01 +0000)]
[TMemoryBuffer: an in-memory buffer acting like a transport]
Summary: This is the php equivalent of the cpp TMemoryBuffer.
It is simply a transport that stores read and fetches write
requests to and from a string.
Trac Bug: #
Blame Rev:
Reviewed By: dreiss
Test Plan: Tested using thrift de/serialization. Wrote thrift objeccts
to the buffer and then read them later to resconstruct them.
Tested exceptional cases.
Revert Plan: ok
Database Impact: none
Memcache Impact: none
Other Notes:
EImportant:
- begin *PUBLIC* platform impact section -
Bugzilla: #
- end platform impact -
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665320
13f79535-47bb-0310-9956-
ffa450edef68
hzhao [Fri, 2 Nov 2007 03:18:28 +0000 (03:18 +0000)]
[thrift_protocol] need negative testing for default inclusion
Reviewed By: dweatherford
Test Plan: dev026 build
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665319
13f79535-47bb-0310-9956-
ffa450edef68
dweatherford [Fri, 2 Nov 2007 02:22:25 +0000 (02:22 +0000)]
[thrift] return empty string instead of NULL
Summary: Turns out they're different, oops
Reviewed By: marcel
Test Plan: recompile, reinstall, synapse:tablet.get() on a nonexistent cell (which returns an empty string)
Revert: ok
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665318
13f79535-47bb-0310-9956-
ffa450edef68
David Reiss [Thu, 1 Nov 2007 17:15:35 +0000 (17:15 +0000)]
Thrift: Create directories with more permissive modes.
Summary:
How many times has no one else been able to use your awesome Python script
because the Thrift generated files are in a directory that they can't access?
Never again! We now create directories with mode 0777.
Of course, your process umask will ensure that they are actually created
with mode 0755. (This is how the mkdir command works.)
Reviewed By: mcslee
Test Plan:
Rebuilt thrift, then did this:
dreiss@dreiss-vmware:dir_mode:thrift/test$ rm -rf gen-*
dreiss@dreiss-vmware:dir_mode:thrift/test$ thrift -cpp -java -php -py ThriftTest.thrift
dreiss@dreiss-vmware:dir_mode:thrift/test$ ls -ld gen-*
drwx------ 2 dreiss dreiss 4096 2007-10-18 12:20 gen-cpp
drwx------ 3 dreiss dreiss 4096 2007-10-18 12:20 gen-java
drwx------ 2 dreiss dreiss 4096 2007-10-18 12:20 gen-php
drwx------ 3 dreiss dreiss 4096 2007-10-18 12:20 gen-py
dreiss@dreiss-vmware:dir_mode:thrift/test$ rm -rf gen-*
dreiss@dreiss-vmware:dir_mode:thrift/test$ ../compiler/cpp/thrift -cpp -java -php -py ThriftTest.thrift
dreiss@dreiss-vmware:dir_mode:thrift/test$ ls -ld gen-*
drwxr-xr-x 2 dreiss dreiss 4096 2007-10-18 12:20 gen-cpp
drwxr-xr-x 3 dreiss dreiss 4096 2007-10-18 12:20 gen-java
drwxr-xr-x 2 dreiss dreiss 4096 2007-10-18 12:20 gen-php
drwxr-xr-x 3 dreiss dreiss 4096 2007-10-18 12:20 gen-py
dreiss@dreiss-vmware:dir_mode:thrift/test$
Revert Plan: ok
Other Notes:
With some help from external contributor Ben Maurer.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665317
13f79535-47bb-0310-9956-
ffa450edef68
boz [Thu, 1 Nov 2007 07:37:45 +0000 (07:37 +0000)]
THRIFT: update the thrift extension
Summary: more ZTS stuff
Reviewed By: hzhao
Test Plan: the same tests still pass
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665316
13f79535-47bb-0310-9956-
ffa450edef68
dweatherford [Wed, 31 Oct 2007 23:30:56 +0000 (23:30 +0000)]
[thrift] Merge protocol/transport changes from tfb/www
Summary: Supporting the thrift_protocol extension.
Relevant changesets are r66531, r66700, r66708
Reviewed By: mcslee
Test Plan: same code already runs in tfb trunk, php -l
Revert: svn
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665315
13f79535-47bb-0310-9956-
ffa450edef68
eletuchy [Wed, 31 Oct 2007 13:40:48 +0000 (13:40 +0000)]
[thrift] erlang structs now compile
Summary: if "cond and cond ->" is not valid erlang,
if "cond andalso cond ->" is.
Reviewed By: cpiro
Test Plan: generated erlang from and thrift file with structs ...
generated code compiles
Revert Plan: sure
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665314
13f79535-47bb-0310-9956-
ffa450edef68
dweatherford [Wed, 31 Oct 2007 06:03:54 +0000 (06:03 +0000)]
[thrift] PHP generator: extension support
Summary: Adds php code generation to take advantage of the php
'thrift_protocol' extension (currently for deserialization only)
Requires you to swap your protocol for a TBinaryProtocolAccelerated
(which just inherits TBinaryProtocol without actually adding any
new functionality) and that you use a TFramedTransport or wrap your
transport in a TBufferedTransport.
TBinaryProtocolAccelerated is currently only in tfb/www/lib (or will
be momentarily).
Reviewed By: mcslee
Test Plan: synapse_feed uses this in my sandbox, works fine
Revert: svn
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665313
13f79535-47bb-0310-9956-
ffa450edef68
dweatherford [Wed, 31 Oct 2007 04:22:12 +0000 (04:22 +0000)]
[thrift] PHP thrift_protocol extension
Summary: Implement a deserializer for thrift integral types and containers
in C++ for extra performance. To be combined with compiler support to
generate code that uses the extension + TBinaryProtocolAccelerated to
enable it.
Reviewed By: mcslee
Test Plan: runs fine in my sandbox...
Revert: svn
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665312
13f79535-47bb-0310-9956-
ffa450edef68
dweatherford [Wed, 31 Oct 2007 02:18:14 +0000 (02:18 +0000)]
[thrift] Output dir selection + updated TSCons
Summary: Allows setting the output directory via the new '-o dir' cmdline option.
TSCons is updated to use this to put the output in the right place no matter
the cwd, so doing dependent builds from different directories won't break.
Reviewed By: martin
Test Plan: mkdir /tmp/honk; thrift -cpp -java -javabean -php -phpi -py -rb -xsd -perl -erl -ocaml -hs -cocoa -o /tmp/honk Tablet.thrift
Revert: svn
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665311
13f79535-47bb-0310-9956-
ffa450edef68
Mark Slee [Tue, 30 Oct 2007 16:55:47 +0000 (16:55 +0000)]
Fix handling of ruby write parameters due to nil vs false
Summary: Need to check for != nil, not just boolean expression
Reviewed By: mcslee
Test Plan: Send a boolean "false" value
Other Notes: Patch submitted by Patrick Collison
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665310
13f79535-47bb-0310-9956-
ffa450edef68
David Reiss [Wed, 24 Oct 2007 03:35:36 +0000 (03:35 +0000)]
Thrift: Reorganize Cocoa library.
Summary:
External patch from Andrew McGeachie.
Just shuffle the Cocoa library files around.
Reviewed By: mcslee
Test Plan: In Andrew we trust.
Revert Plan: ok
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665309
13f79535-47bb-0310-9956-
ffa450edef68
Mark Slee [Wed, 24 Oct 2007 02:56:24 +0000 (02:56 +0000)]
Make the Java generator respect the optional keyword in struct writers
Reviewed By: dreiss
Test Plan: Generate Java code. Check functionality and safe compile
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665308
13f79535-47bb-0310-9956-
ffa450edef68
Christopher Piro [Tue, 23 Oct 2007 09:47:15 +0000 (09:47 +0000)]
[thrift] gut Erlang Thrift configuration; start using get_env
Summary: I patterned some config stuff after iserve, but Erlang's built-in stuff is better
Reviewed By: gopher
Test Plan: works with recent ch server
Revert Plan: ok
Other Notes: default config given in thrift.app
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665307
13f79535-47bb-0310-9956-
ffa450edef68
dweatherford [Tue, 23 Oct 2007 00:26:44 +0000 (00:26 +0000)]
[thrift] Updating gen_phpi for new header format
Summary: This was still sending/expecting the old style (no version field); should be fixed now.
Reviewed By: mcslee
Test Plan: build and use Tablemaster and Tablet interfaces with gen-phpi
Revert: svn
DiffCamp Revision: 1435
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665306
13f79535-47bb-0310-9956-
ffa450edef68
Christopher Piro [Fri, 19 Oct 2007 21:34:31 +0000 (21:34 +0000)]
[thrift] clean up error logging in Erlang
Summary: pushed all formatting out of thrift_error_logger.erl, reenable crash logs, standardize
Reviewed By: eletuchy
Test Plan: works with latest ch server
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665305
13f79535-47bb-0310-9956-
ffa450edef68
dweatherford [Fri, 19 Oct 2007 01:03:32 +0000 (01:03 +0000)]
[thrift] TSocket host and port getters
Summary: "Porting" this feature from PHP; I find it useful in the Synapse client.
Reviewed By: mcslee
Test Plan: It compiles, ship it!
Revert: svn
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665304
13f79535-47bb-0310-9956-
ffa450edef68
David Reiss [Wed, 17 Oct 2007 03:39:55 +0000 (03:39 +0000)]
Thrift: Kill a warning.
Summary:
These should always have been const.
Reviewed By: mcslee
Test Plan:
Re-ran the dense protocol test.
Revert Plan: ok
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665303
13f79535-47bb-0310-9956-
ffa450edef68
Mark Slee [Mon, 15 Oct 2007 21:32:12 +0000 (21:32 +0000)]
Generate REST code properly for objects/struct arguments
Reviewed By: hzhao
Test Plan: Data store API
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665302
13f79535-47bb-0310-9956-
ffa450edef68
Christopher Piro [Sat, 13 Oct 2007 05:15:33 +0000 (05:15 +0000)]
[thrift] make thrift_logger.erl more robust against badmatch
Summary: more robust logic theres
Reviewed By: eletuchy
Test Plan: ok
Revert Plan: ok
Other Notes: the precommit hooks should forbid out-of-towners from being cited as reviewers
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665301
13f79535-47bb-0310-9956-
ffa450edef68
Christopher Piro [Sat, 13 Oct 2007 05:10:52 +0000 (05:10 +0000)]
[thrift] Erlang Thrift 'oop:get' -> 'This#'
Summary: the client structures aren't oop objects, they're vanilla records ... adjust accordingly
Reviewed By: eletuchy
Test Plan: ok
Revert Plan: ok
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665300
13f79535-47bb-0310-9956-
ffa450edef68
Christopher Piro [Sat, 13 Oct 2007 01:11:46 +0000 (01:11 +0000)]
[thrift] retool oop.erl, fix tBufferedTransportFactory.erl
Summary: oop.erl used to assume that an undef or function_clause meant a method wasn't defined, but sometimes a method does exist and an undef happens while it's executing.
Case in point, getTransport in tBufferedTransportFactory totally didn't work and instead of exiting, oop.erl fell back silently to tTransportFactory, so everywhere I thought I was talking to tBufferedTransport, I was talking directly to the tSocket. borkborkbork.
Blame: all me baby
Reviewed By: eletuchy
Test Plan: channel server works
Revert Plan: ok
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665299
13f79535-47bb-0310-9956-
ffa450edef68
pkeyani [Wed, 10 Oct 2007 05:22:31 +0000 (05:22 +0000)]
made tutorial.thrift executable
Summary: made tutorial.thrift executable
Trac Bug: #
Blame Rev:
Reviewed By: mcslee
Test Plan: tested locally
Revert Plan: revertable
Notes:
EImportant:
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665298
13f79535-47bb-0310-9956-
ffa450edef68
dweatherford [Tue, 9 Oct 2007 22:57:23 +0000 (22:57 +0000)]
[thrift] TSocketPool::addServer, c++ version
Summary: Same thing as the previous PHP change. Also includes a new constructor for easy building of a TSocketPool with a single host (for later filling in via addServer) without extra std::vector boxing/unboxing.
Reviewed By: mcslee
Test Plan: Synapse c++ client at r62896 uses this.
Revert: OK
TracCamp Project: Thrift
DiffCamp Revision: 909
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665297
13f79535-47bb-0310-9956-
ffa450edef68
Mark Slee [Tue, 9 Oct 2007 20:55:10 +0000 (20:55 +0000)]
Java Thrift objects implement common base interface
Reviewed By: dreiss
Test Plan: Generate java code and run against new library.
Revert: OK
DiffCamp Revision: 900
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665296
13f79535-47bb-0310-9956-
ffa450edef68
Christopher Piro [Tue, 9 Oct 2007 04:41:48 +0000 (04:41 +0000)]
[thrift] don't scope non-service types in Erlang
Summary: kind of funny ... exact same patch as for the Ruby version; both were unexposed until I tried using reflection_limited
Test Plan: thx but nothx
Revert Plan: ok
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665295
13f79535-47bb-0310-9956-
ffa450edef68
Mark Slee [Mon, 8 Oct 2007 22:31:03 +0000 (22:31 +0000)]
Use json encoding logic for <list> and <set> args in Thrift PHP/REST
Reviewed By: hzhao
Test Plan: Data store API interface
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665294
13f79535-47bb-0310-9956-
ffa450edef68
Mark Slee [Fri, 5 Oct 2007 00:13:24 +0000 (00:13 +0000)]
Python automated test patch
Summary: Submitted by Ben Maurer
Reviewed By: dreiss
Test Plan: Automated python testing for Thrift, lovely.
Revert: OK
DiffCamp Revision: 737
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665293
13f79535-47bb-0310-9956-
ffa450edef68
David Reiss [Thu, 4 Oct 2007 23:02:01 +0000 (23:02 +0000)]
Thrift: TNullTransport for PHP.
Summary:
We have this in C++. Adding an implementation for PHP.
Reviewed By: mcslee
Test Plan:
Used it while testing web code.
Revert Plan: ok
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665292
13f79535-47bb-0310-9956-
ffa450edef68
Christopher Piro [Thu, 4 Oct 2007 01:54:11 +0000 (01:54 +0000)]
[thrift] don't scope non-service types in Ruby
Summary: non-service types live in the top-level namespace, so look for them there. example from FacebookService.rb (accessing Service from reflection_limited_types.rb):
FIELDS = {
- 0 => {:type => TType::STRUCT, :name => 'success', :class => reflection_limited_types.Service}
+ 0 => {:type => TType::STRUCT, :name => 'success', :class => Service}
}
preferable to adding a "module honk_types ... end" around honk_types.rb ... non-service types should land in top-level space (or whatever ruby_namespace has been defined). if ruby_namespace even works ... who knows
Reviewed By: mcslee
Test Plan: now reflection_limited works with my simple Ruby client
honestly, there's no test suite for these? TODO:cpiro
Revert: OK
TracCamp Project: Thrift
DiffCamp Revision: 735
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665291
13f79535-47bb-0310-9956-
ffa450edef68
Mark Slee [Thu, 4 Oct 2007 01:19:20 +0000 (01:19 +0000)]
Make REST PHP deserializer generated PHP code support map/list/set
Summary: list/set are comma-separated and explode, map is JSON decoded
Reviewed By: hzhao
Test Plan: Invoke API methods via JSON
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665290
13f79535-47bb-0310-9956-
ffa450edef68
yunfang [Wed, 3 Oct 2007 22:59:41 +0000 (22:59 +0000)]
[Explicitly declare shared_ptr]
Summary:
just some simple styling changes. moving using boost::shared_ptr to .cpp
and using the full path name in .h
Reviewed by: boz, dreiss
Test Plan: compiled and tested on the adfinder
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665289
13f79535-47bb-0310-9956-
ffa450edef68
Christopher Piro [Wed, 3 Oct 2007 07:13:44 +0000 (07:13 +0000)]
[thrift] fix Ruby codegen: capitalize module name for enums
Summary: all module names must be capitalized in Ruby -- if the enum name from the interface isn't capitalized \
then it's a runtime error, e.g. in fb303_types.rb:
-module fb_status
+module Fb_status
Reviewed By: mcslee
Test Plan: fb303 now works with Ruby binding
Revert: OK
TracCamp Project: Thrift
DiffCamp Revision: 692
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665288
13f79535-47bb-0310-9956-
ffa450edef68
Mark Slee [Tue, 2 Oct 2007 04:44:48 +0000 (04:44 +0000)]
Fix 32-bit Python encoding integer issue
Summary: Python on 32-bit platforms 2.4+ wants to keep hexconstants positive, therefore converting 0x800000000 to a (long) type to keep that. This causes issues when performing comparison with a signed negative integer.
Reviewed By: dreiss
Test Plan: Python on 32 bit 2.4+ system making Thrift calls
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665287
13f79535-47bb-0310-9956-
ffa450edef68
Mark Slee [Tue, 2 Oct 2007 04:43:31 +0000 (04:43 +0000)]
Fix missing break statements in Java ProtocolUtil
Summary: Oops. switch statement n00b error.
Reviewed By: jssarma
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665286
13f79535-47bb-0310-9956-
ffa450edef68
Christopher Piro [Tue, 2 Oct 2007 01:33:37 +0000 (01:33 +0000)]
[thrift] Erlang Thrift changes, take 3
Summary: svn ci missed a bunch of paths ... blew away the whole thing and copied from the git repo. this is getting ridiculous.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665285
13f79535-47bb-0310-9956-
ffa450edef68
Christopher Piro [Tue, 2 Oct 2007 00:35:12 +0000 (00:35 +0000)]
[thrift] otpification and sane configuration for Erlang Thrift
Summary: a small victory in the neverending quest of OTPifying this binding -- search for config files in ./conf/ (relative to the cwd of the emulator). for example, when you start the channel server, ./conf/{channel,thrift}.conf should exist. better than having to recompile to change a configuration ... reconfig should take care of that in running code.
Test Plan: works with channel server
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665284
13f79535-47bb-0310-9956-
ffa450edef68