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)
Nothing in evrpc.c was using rpc_compat.h, so it's best to take it
out, especially since it polluted our build process with GCC variadic
macros.
While we're at it, this patch puts an extra restriction on when the
variadic macros in rpc_compat.h are defined. Not only must GCC be the
compiler, but GCC must not be running in -ansi mode.
This patch adds a new set of EVUTIL_IS* functions to replace use of
the ctypes is* functions in all cases where we care about characters'
interpretations in net ascii rather than in the locale. For example,
when we're working with DNS hostnames, we don't want to do the 0x20
hack on non-ascii characters, even if the host thinks they should be
isalpha.
svn:r1114
a) this is 2009
b) niels and nick have been comaintainers for a while
c) saying "all rights reserved" when you then go on to explicitly
disclaim some rights is sheer cargo-cultism.
svn:r1065
Make all rpc and http functions not prototyped in evrpc.h and evhttp.h into static functions. I believe that these functions were meant to be private, yes?
svn:r494
This is one of those patches which will either make matters far
simpler after the bugs shake out, or will get reverted pretty quick
once we realize that it is a stupid idea.
We now post-process the config.h file into a new event-config.h file,
whose macros are prefixed with _EVENT_ and which is thus safe for
headers to include. Using this, we can define replacement timeval
manipulation functions in evutil.h, and use them uniformly through our
code. We can also detect which headers are needful in event.h, and
include them as required.
This is also the perfect time to remove the long-deprecated acconfig.h
file, so that autoheader no longer warns.
Should resolve the following issues:
[ 1826530 ] Header files should have access to autoconf output.
[ 1826545 ] acconfig.h is deprecated.
[ 1826564 ] On some platforms, event.h can't be included alone.
svn:r492
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