50 Commits

Author SHA1 Message Date
Nick Mathewson
e49e289129 Update copyright notices to 2012 2012-02-10 17:29:53 -05:00
Nick Mathewson
f1250eb698 add a requested docstring for event_rpcgen.CommandLine.__init__ 2010-10-25 15:23:41 -04:00
Nick Mathewson
ec347b9225 Move event-config.h to include/event2
This change means that all required include files are in event2, and
all files not in event2/* are optional.
2010-08-06 20:21:27 -04:00
Nick Mathewson
f6ab2a2811 Fix a memory leak when unmarshalling RPC object arrays
The old code would use type_var_add() for its side-effect of expanding the
array, then leak the new object that was added to the array.

The new code adds a static function to handle the array resizing.
2010-04-23 23:55:30 -04:00
Shuo Chen
755fbf16c3 Add void* arguments to request_new and reply_new evrpc hooks
This makes evprc setup more extensible, and helps with Shuo Chen's
work on implementing Google protocol buffers rpc on top of Libevent 2
evrpc.

This patch breaks binary compatibility with previous versions of
Libevent, since it changes struct evrpc and the signature of
evrpc_register_generic().  Since all compliant code should be calling
evrpc_register_generic via EVRPC_REGISTER, it shouldn't break source
compatibility.

(Code by Shuo Chen; commit message by Nick)
2010-04-14 14:27:29 -04:00
Nick Mathewson
91fe23fc08 Tolerate code that returns from a fatal_cb.
Also, replace more abort() calls with EVUTIL_ASSERT() or event_errx.
2009-11-20 15:46:04 -05:00
Nick Mathewson
f9de8670fd Fix a declaration of __func__ in rpcgen.
svn:r1535
2009-11-16 22:23:06 +00:00
Nick Mathewson
a826a75800 Some tweaks to Brodie Thesfield's MSVC patch.
svn:r1386
2009-07-28 19:41:48 +00:00
Nick Mathewson
5d71b25b51 Remove all trailing whitespace from end-of-line.
svn:r1350
2009-07-17 18:38:38 +00:00
Niels Provos
6469598e56 Allow C identifiers as struct names; allow multiple comments in .rpc files; from Zack Weinberg; plus a tiny tweak
svn:r1336
2009-07-03 17:43:26 +00:00
Niels Provos
fbb181d1aa Allow specifying the output filename for rpcgen; based on work by jmansion; patch from Zack Weinberg.
svn:r1335
2009-07-03 17:31:17 +00:00
Niels Provos
bbcc54ef9c fix preamble of rpcgen-generated files to rely on event2 includes; based on work by jmansion; patch from Zack Weinberg.
svn:r1334
2009-07-03 17:25:45 +00:00
Niels Provos
37d3e16ce9 Raise RpcGenError in event_rpcgen.py; from jmanison and Zack Weinberg
svn:r1333
2009-07-03 17:20:56 +00:00
Niels Provos
b228ff91b8 remove vararg macros for accessing evrpc structs
svn:r1243
2009-04-25 00:15:31 +00:00
Nick Mathewson
9516df0e2e Fix c89 bugs reported by Cory Stup.
Others may remain.  I wasn't able to get gcc --std=c89 to build libevent
at all, so I don't know what compiler the original reporter is using here.

Note that this change requires us to disable the part of our rpc code
that uses variadic macros when using a non-gcc compiler.  This is a
problem if we want our rpc api to be portable.

svn:r1231
2009-04-23 05:40:06 +00:00
Nick Mathewson
a8f6d961eb Actually stop using EVBUFFER_LENGTH/DATA, and move them to buffer_compat.h
svn:r1183
2009-04-17 06:56:09 +00:00
Nick Mathewson
9993137cbb Remove all trailing whitespace in all the source files.
svn:r1063
2009-01-27 21:10:31 +00:00
Niels Provos
99a1063e73 support 64-bit integers in rpc structs
svn:r856
2008-06-21 02:21:25 +00:00
Nick Mathewson
bb37fbb22e r19601@catbus: nickm | 2008-05-05 11:45:04 -0400
Make event_rpcgen.py use the new headers.


svn:r775
2008-05-05 15:45:47 +00:00
Niels Provos
812d2fd8fd proxy one more generator
svn:r701
2008-04-03 14:27:01 +00:00
Niels Provos
a7e395512e slight refactoring
svn:r700
2008-04-03 03:33:07 +00:00
Niels Provos
d5c15b2ebb make event_rpcgen.py generate code include event-config.h
svn:r686
2008-03-03 03:36:51 +00:00
Niels Provos
5c70ea4c9d improved code for evbuffer; avoids memcpy
svn:r674
2008-02-28 02:47:43 +00:00
Nick Mathewson
11230f7e16 r18145@catbus: nickm | 2008-02-18 15:02:20 -0500
Stop using deprecated autoconf code to set integer types; detect actual files to include more thoroughly.   This should make us work on solaris 9 again.  This should be a backport candidate, if it works.  Also, make all libevent code use ev_uint32_t etc, rather than uint_32_t.


svn:r649
2008-02-18 20:04:01 +00:00
Niels Provos
616a64c87c additional add argument was missing const qualifier
svn:r615
2007-12-27 20:08:21 +00:00
Niels Provos
7e3a7af7d0 support string arrays in event_rpcgen
svn:r613
2007-12-24 23:59:41 +00:00
Niels Provos
68725dc8bd support integer arrays in rpc structures; this involved some refactoring of the event_rpcgen code, so that other types should be able to get arrays fairly easily
svn:r609
2007-12-23 07:38:11 +00:00
Niels Provos
850534734b fix a bug with event_rpcgen for integers
svn:r588
2007-12-13 06:36:54 +00:00
Niels Provos
3b345f3e2d pull setters/getters out of RPC structures to reduce their memory footprint
svn:r585
2007-12-12 07:02:55 +00:00
Niels Provos
ba48719946 support for 32-bit tag numbers in rpc structures
svn:r583
2007-12-12 04:39:42 +00:00
Niels Provos
3c1a6a68d2 first attempts at refactoring this code to make it more readable;
mostly changing to dictionaries for format strings


svn:r450
2007-09-23 03:49:28 +00:00
Niels Provos
640c61bac9 deal with out of memory situations for realloc
svn:r429
2007-09-15 00:53:47 +00:00
Niels Provos
babd622f7a make allocating array members in event_rpcgen more efficient, but doubling the size of
available slots every time we run out.


svn:r421
2007-09-09 03:10:16 +00:00
Nick Mathewson
35983cd60f r14618@catbus: nickm | 2007-08-16 17:11:47 -0400
In ANSI C, int func() is a function with unspecified arguments, whereas int func(void) is a function that takes no arguments.  Using int func() to mean a function with no arguments is a C++ism, so let's not use or generate it.


svn:r395
2007-08-16 21:12:53 +00:00
Niels Provos
b15d715cbc make event_rpcgen.py use the uint_ types;
make event.h include stdint.h (wonder which OS that will break)


svn:r369
2007-07-06 03:36:31 +00:00
Niels Provos
c1aa5480de support #define in .rpc descriptions
svn:r278
2006-11-26 16:13:17 +00:00
Niels Provos
3a15f7d4e4 make it work with python2.2
svn:r267
2006-11-19 02:03:43 +00:00
Niels Provos
226fd50a99 use more python builtins; dont use reserved keywords
svn:r266
2006-11-18 21:27:42 +00:00
Niels Provos
ebf5333f97 oops. the enums were actually creating symbols
svn:r212
2006-05-17 13:13:31 +00:00
Niels Provos
a3bb4a035f I often need some very simple HTTP functionality, so this is a first stab
at integrating something really simple with HTTP.  The interface is still
evolving as I start messing with it.  Not all the interfaces are properly
exported yet.

I am also trying to figure out how to intelligently hide the details about
the different structures from users, so that that things can be changed
around later.


svn:r196
2006-01-22 05:08:50 +00:00
Niels Provos
50f7aaef6b make it compile on mac os x
svn:r183
2005-09-09 06:56:12 +00:00
Niels Provos
7000fe664d remove dos opportunity
svn:r180
2005-08-30 06:02:09 +00:00
Niels Provos
b4ab56dc04 support for arrays on structs.
svn:r178
2005-08-28 23:48:16 +00:00
Niels Provos
32acc283c8 a few more bug fixes
svn:r177
2005-08-27 06:29:52 +00:00
Niels Provos
2813f1b0f1 constify
svn:r176
2005-08-26 02:15:54 +00:00
Niels Provos
aaf56fb61e fix API problems for get in some types
svn:r175
2005-08-23 07:43:11 +00:00
Niels Provos
6e55da606c typo
svn:r174
2005-08-22 01:39:54 +00:00
Niels Provos
e5ab86a726 make use of the built in warn/err code
svn:r173
2005-08-22 01:38:23 +00:00
Niels Provos
c4e60994a2 including the tagging code that is required by event_rpcgen.py; test the
new functionality.


svn:r172
2005-08-22 01:34:34 +00:00
Niels Provos
949cbd12fa generate marshalling code based on libevent
svn:r171
2005-08-21 16:25:02 +00:00