|
1becc4c4
|
2009-04-13T03:08:11
|
|
Refactor new elements of bufferevent into bufferevent_private structure
This way we don't expose more of a bufferevent than we need to. One
motivation is to make it easier to automatically get deferred callbacks
with a bufferevent without exposing the deferred_cb structure.
svn:r1169
|
|
6567ecd4
|
2009-04-13T03:07:37
|
|
Remove if0 code in bufferevent_struct.h
svn:r1168
|
|
8dec59bb
|
2009-04-13T03:07:17
|
|
Use freeze operations to prevent shenanegans on bufferevent pair evbuffers.
svn:r1167
|
|
0e32ba54
|
2009-04-13T03:06:59
|
|
Do not remove an empty chain that we have pinned for reading when we drain the whole buffer.
svn:r1166
|
|
9f1a94ec
|
2009-04-13T03:06:47
|
|
add pin/unpin functions, and a deref-and-free pair.
svn:r1165
|
|
dcda7915
|
2009-04-13T03:06:27
|
|
Add a reference count to evbuffers.
svn:r1164
|
|
b01891fe
|
2009-04-13T03:06:05
|
|
Make evbuffer_commit_space trigger callbacks.
svn:r1163
|
|
829b52b6
|
2009-04-13T03:05:46
|
|
Refactor the code that sets up iovecs for reading into its own function. iocp needs this.
svn:r1162
|
|
0b47b125
|
2009-04-12T22:02:54
|
|
Add a new EVUTIL_UPCAST macro so that I do not need to keep figuring out the right offsetof magic over and over.
svn:r1160
|
|
bbd6a332
|
2009-04-12T22:02:12
|
|
reindent macros in util-internal.h
svn:r1159
|
|
d475fb58
|
2009-04-12T00:38:31
|
|
http benchmark: add a way to change the size of the buffer; also use add_reference
svn:r1158
|
|
d2794e65
|
2009-04-11T15:26:29
|
|
document evhttp_parse_query better
svn:r1157
|
|
382a1587
|
2009-04-11T04:18:49
|
|
previous commit changed the semantics of evhttp_decode_uri; need a test for that
svn:r1156
|
|
b29b875d
|
2009-04-10T20:43:08
|
|
Facility to make evbuffers get their callbacks deferred.
svn:r1154
|
|
decdacfa
|
2009-04-10T20:42:53
|
|
Better explanation for bufferevent_pair
svn:r1153
|
|
23085c92
|
2009-04-10T15:01:31
|
|
Add a linked-pair abstraction to bufferevents.
The new bufferevent_pair abstraction works like a set of buferevent_sockets
connected by a socketpair, except that it doesn't require a socketpair,
and therefore doesn't need to get the kernel involved.
It's also a good way to make sure that deferred callbacks work. It's a good
use case for deferred callbacks: before I implemented them, the recursive
relationship between the evbuffer callback and the read callback would
make the unit tests overflow the stack.
svn:r1152
|
|
81616620
|
2009-04-10T14:58:15
|
|
A couple of tweaks for deferred callbacks.
svn:r1151
|
|
4868f4d2
|
2009-04-10T14:22:33
|
|
Initial support for a lightweight 'deferred callbacks'.
A 'deferred callback' is just a function that we've queued in the
event base. This ability is needed for some mt stuff, and for complex
callback chains. For internal use only.
svn:r1150
|
|
e3d82497
|
2009-04-10T14:21:53
|
|
Don't allow internal events to starve lower-priority events.
This is exceptionally important with multithreaded stuff, where we use
an event to notify the base that other events have been made active.
If the activated events have a prioirty number greater than that of the
notification event, it will starve them, and that's no good.
svn:r1149
|
|
ce146eb1
|
2009-04-10T05:43:45
|
|
Fix parsing of queries where the encoded queries contained \r, \n or +
svn:r1148
|
|
6dece3e9
|
2009-04-10T05:22:15
|
|
revert last commit; git user error
svn:r1147
|
|
f43f1d14
|
2009-04-10T05:18:18
|
|
initial version of query decoding patch
svn:r1146
|
|
f98385a4
|
2009-04-08T16:57:38
|
|
add a missing "static" to timeout_process.
svn:r1145
|
|
72b6ffe8
|
2009-04-08T03:05:42
|
|
Prevent unsupported modifications to bufferevent_sock buffers.
In particular, we don't allow adding any data to end front of inbuf
(we do that when we read), or removing it from the front of outbuf (we
drain data only when we write).
svn:r1144
|
|
747331d1
|
2009-04-08T03:04:39
|
|
Add freeze support to evbuffers.
From the documentation:
Prevent calls that modify an evbuffer from succeeding. A buffer may
frozen at the front, at the back, or at both the front and the back.
If the front of a buffer is frozen, operations that drain data from
the front of the buffer, or that prepend data to the buffer, will
fail until it is unfrozen. If the back a buffer is frozen, operations
that append data from the buffer will fail until it is unfrozen.
We'll use this to ensure correctness on an evbuffer when we're waiting
for an overlapped IO call to finish.
svn:r1143
|
|
d9086fc0
|
2009-04-08T03:03:59
|
|
Add a new facility to "pin" the memory in an evbuffer chain.
For overlapped IO (and possibly other stuff) we need to be able to
label an evbuffer_chain as "pinned", meaning that every byte in it
must remain at the same address as it is now until it unpinned. This
differs from being "immutable": it is okay to add data to the end
of a pinned chain, so long as existing data is not moved.
svn:r1142
|
|
68d0139f
|
2009-04-07T04:49:25
|
|
Refactor the zlib and pthreads tests to appear in the regular tinytest tree structure.
svn:r1141
|
|
684c022a
|
2009-04-06T20:38:42
|
|
Avoid a double event_del() in evdns.c.
The bug could occur when a nameserver was marked as up, but then an
outstanding probe sent to the nameserver failed. Now, evdns_up() cancels
any outstanding probe.
svn:r1140
|
|
d2e9caa6
|
2009-04-06T20:38:19
|
|
Fix evdns_cancel to alert callback and free associated RAM.
Also, we add a test to make sure evdns_cancel is working properly.
svn:r1139
|
|
0f3c0983
|
2009-04-05T17:50:18
|
|
Fix a double-delete on the request timeout event. Port from Tor.
svn:r1138
|
|
28255a26
|
2009-04-05T04:26:46
|
|
Finally, get unit tests to pass with threading turned off again.
svn:r1137
|
|
6a18f4b0
|
2009-04-05T04:15:01
|
|
Munge the read_suspended flag before re-enabling reads on the underlying bufferevent. This makes it so the enabled thing has some idea whether reads are supposed to be suspended or not.
svn:r1136
|
|
661b5eea
|
2009-04-05T04:10:05
|
|
Actually, move EVUTIL_NIL_STMT to util-internal.h
svn:r1135
|
|
60e0d59b
|
2009-04-05T02:44:17
|
|
Add locking to evbuffers.
svn:r1134
|
|
d13b59ce
|
2009-04-05T02:44:04
|
|
Fix build with thread support disabled, and make no-op macros a little more no-oppy.
svn:r1133
|
|
70ee390f
|
2009-04-05T02:43:55
|
|
Add some more utility macros to evthread-internal.h
svn:r1132
|
|
f1b1bad4
|
2009-04-03T14:27:03
|
|
Make the new evbuffer callbacks use a new struct-based interface.
The old interface would fail pretty hard when we had to batch up
multiple adds and drains in a single call.
svn:r1131
|
|
f90500a5
|
2009-04-03T01:21:36
|
|
Add a new improved search function.
The old evbuffer_find didn't allow iterative searching, and forced us
to repack the buffer completely every time we searched in it. The
new evbuffer_search addresses both of these. As a side-effect, the
evbuffer_find implementation is now a little more efficient.
svn:r1130
|
|
0afb1f7f
|
2009-04-01T16:08:34
|
|
Glibc mkstemp requires exactly 6 Xs.
svn:r1129
|
|
994e8578
|
2009-03-30T17:36:22
|
|
correct evbuffer_drain documentation from John Khvatov
svn:r1127
|
|
23655dfb
|
2009-03-12T17:43:43
|
|
include Doxyfile in tar ball; from Jeff Garzik
svn:r1125
|
|
73094d59
|
2009-02-13T13:43:35
|
|
Make tmpfile code compile without warnings
svn:r1123
|
|
79b7799b
|
2009-02-13T01:42:59
|
|
a simple test for evbuffer_add_file
svn:r1122
|
|
ec35eb55
|
2009-02-12T22:19:54
|
|
Make threading functions global, like the mm_ functions. Use the libevent_pthread.la library in regress_pthread.
svn:r1121
|
|
d0a9c90e
|
2009-02-11T17:29:17
|
|
Fix some of the crazier indentation and tabbing choices in evdns.c
svn:r1120
|
|
77c80b8d
|
2009-02-11T17:24:11
|
|
New bind-to option to allow DNS clients to bind to arbitrary ports for their outgoing addresses.
svn:r1119
|
|
acaf65c3
|
2009-02-11T17:23:32
|
|
Make evutil_parse_sockaddr_port give a useful socket-length output.
svn:r1118
|
|
f2a24d6e
|
2009-02-11T17:22:40
|
|
Better comments for some confusing-to-me code.
svn:r1117
|
|
c6f4dc98
|
2009-02-11T17:21:48
|
|
Port some evdns changes over from Tor.
svn:r1116
|
|
ac36f404
|
2009-02-11T05:17:27
|
|
oops; coding too quickly on nil-filter patch. Caught by niels.
svn:r1115
|
|
cd731b77
|
2009-02-10T21:40:12
|
|
Do not use ctypes functions in cases when we need the "net" locale.
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
|
|
1ed27048
|
2009-02-10T21:39:56
|
|
Stop rolling our own offsetof twice.
svn:r1113
|
|
f04b90e5
|
2009-02-10T19:43:19
|
|
Make a couple of newer evdns functions more bulletproof.
svn:r1112
|
|
da49d6a3
|
2009-02-10T19:43:11
|
|
Stop using platform inet_aton/inet_addr; they can behave strangely on certain misformed addresses.
svn:r1111
|
|
01456265
|
2009-02-10T19:39:22
|
|
Explode less badly in the case where we're told to prepend/append/remove a buffer to itself. Note some API/implementation deficiencies.
svn:r1110
|
|
20f809ce
|
2009-02-10T19:39:12
|
|
Make default (nil) filter use evbuffer_remove_buffer to respect the high-water mark of the target buffer.
svn:r1109
|
|
e7fd1034
|
2009-02-10T19:39:03
|
|
Test some formerly untested prepend cases of evbuffer. Now evbuffer coverage is over 80 percent.
svn:r1108
|
|
9e3e7b36
|
2009-02-10T19:38:54
|
|
More unit tests for evbuffer_add_reference to make sure that certain interleaved data patterns work; that free invokes callback; that callbacks are not invoked too early or later; etc.
svn:r1107
|
|
98b7046b
|
2009-02-10T19:38:43
|
|
A few more comments on evbuffer-internal structures.
svn:r1106
|
|
edfdb698
|
2009-02-10T19:38:34
|
|
Add an assertion to evbuffer_chain_align so we can't reuse it in the future.
svn:r1105
|
|
71604d85
|
2009-02-10T19:38:25
|
|
Remove some needless includes
svn:r1104
|
|
deb2a121
|
2009-02-10T19:38:14
|
|
use new evutil_make_listen_socket_reuseable() in http.c
svn:r1103
|
|
c7b2f8fd
|
2009-02-10T19:38:05
|
|
New function to abstract SO_REUSEADDR.
svn:r1102
|
|
f9e4e0f9
|
2009-02-03T18:28:53
|
|
Move bufferevent tests to regress_bufferevent.c file.
svn:r1101
|
|
cc049bfc
|
2009-02-03T05:22:57
|
|
Enable (and debug) WSARecv for evbuffer iovec-like reads.
The two things we were missing: the flags parameter is not optional, and an error can actually indicate a close.
svn:r1100
|
|
ea11f819
|
2009-02-02T22:17:32
|
|
Compile http_connection_retry_test, but mark it skipped on win32.
svn:r1099
|
|
722885fb
|
2009-02-02T21:59:53
|
|
Some mingws have AF_UNIX, which may have prevented our socketpair from working at all on them. Fix that.
svn:r1098
|
|
3502a472
|
2009-02-02T21:24:04
|
|
convert new bufferevent_*.c files to event-config.h only.
svn:r1097
|
|
4d92e426
|
2009-02-02T19:22:27
|
|
forward-port: Make evdns_resolve_reverse args const.
svn:r1096
|
|
ea4b8724
|
2009-02-02T19:22:13
|
|
checkpoint work on big bufferevent refactoring
svn:r1095
|
|
e84c7656
|
2009-02-01T05:26:47
|
|
Allocate callback entries with contents 0d out.
svn:r1093
|
|
2e3f0f68
|
2009-02-01T02:20:16
|
|
Enable the edge-triggered test again
svn:r1092
|
|
8d3a10f8
|
2009-02-01T01:43:58
|
|
Support temporarily suspending an evbuffer callback. This is different from disabling the callback, since we want to process changes, but not just yet.
svn:r1091
|
|
e3e11531
|
2009-02-01T01:07:42
|
|
Unit tests for evbuffer callback manipulation
svn:r1090
|
|
2e50658d
|
2009-02-01T01:07:33
|
|
Fix a typo in buffer.h
svn:r1089
|
|
ca37fef9
|
2009-02-01T01:07:22
|
|
Change evbuffer callbacks to use tinytest natively and never assert.
svn:r1088
|
|
a30c9eb1
|
2009-02-01T01:07:12
|
|
Move evbuffer tests into their own file.
svn:r1087
|
|
ff7a5e12
|
2009-01-31T19:32:20
|
|
slightly more coverage for evutil.
svn:r1086
|
|
12e8db5b
|
2009-01-31T18:36:47
|
|
Convert evtag test.
svn:r1085
|
|
5831d11a
|
2009-01-31T18:36:37
|
|
Move rpc_test to regress_rpc.
svn:r1084
|
|
fa6ae169
|
2009-01-31T18:36:24
|
|
Convert RPC suite. There are still some places it can exit(1), but those always run forked, so no big deal.
svn:r1083
|
|
d9628ef4
|
2009-01-31T18:36:08
|
|
Add missing initializers
svn:r1082
|
|
eac75f91
|
2009-01-31T07:32:14
|
|
Port DNS tests.
svn:r1081
|
|
e6ba208b
|
2009-01-31T07:32:00
|
|
Tinytest update: mostly just to allow test skipping.
svn:r1080
|
|
52eb4951
|
2009-01-31T07:31:47
|
|
Build with the -fno-strict-aliasing flag on GCC.
You do not want to know about the 2 hours I just spent tracking down
an evdns bug that only affected me on some platforms to the way we
were using sockaddr* and sockaddr_in*. Suffice it to say that I do
not think this is the only C99-aliasing-dubiousness in our code, nor
that I am smart enough to keep my code correct with the GCC's strict
aliasing optimizations in place.
svn:r1079
|
|
2546ea66
|
2009-01-31T05:45:26
|
|
Do not attempt to pass a va_args to regular snprintf. Hilarity will ensue. Fortunately, 1.4 does not have this bug.
svn:r1078
|
|
4ec690d3
|
2009-01-31T05:45:16
|
|
Rename a couple of http tests so they all end with _test. This lets us simplify the naming.
svn:r1077
|
|
153093ec
|
2009-01-30T17:44:13
|
|
Port the HTTP unit tests. Most are still legacy (since they use test_ok so much), but at least they no longer exit(1) on failure
svn:r1076
|
|
241690b2
|
2009-01-30T17:43:59
|
|
Move util tests to regress_util.c
svn:r1075
|
|
4e9470b4
|
2009-01-30T17:43:48
|
|
Convert test_evutil_strtoll to new framework.
svn:r1074
|
|
a8203b34
|
2009-01-29T23:19:57
|
|
Refactor unit tests using my spiffy new "tinytest" framework.
The big win here is that we can get process-level isolation.
This has been tested to work okay on at least Linux and Win32. Only
the tests in regress.c have been converted wrapped in the new wrapper
functions; the others are still on the old system.
svn:r1073
|
|
39c8dbe0
|
2009-01-29T20:07:59
|
|
Make ht-internal.h get distributed.
svn:r1072
|
|
cc7a53c1
|
2009-01-29T18:15:36
|
|
fix signed/unsigned warning in unit tests. can we just use "char*" on all new APIs? this void/unsigned char*/char* business is awful.
svn:r1071
|
|
7dd362b1
|
2009-01-29T15:09:24
|
|
Have util-internal.h define socklen_t if we need it, and include it appropriately. This fixes win32 compilation.
svn:r1070
|
|
a0cae310
|
2009-01-29T03:22:47
|
|
make it so that evbuffer_add_file where we read the complete contents of the file can fail without side effects
svn:r1069
|
|
66b2a7ff
|
2009-01-29T03:20:40
|
|
test evbuffer_add_reference
svn:r1068
|
|
f13bede7
|
2009-01-28T20:31:19
|
|
Fix an unlikely degenerate case of evutil_vsnprintf
svn:r1067
|
|
e3e696c8
|
2009-01-28T20:24:12
|
|
Use size_t for name length in DNS requests. Not that it matters much.
svn:r1066
|
|
b85b710c
|
2009-01-27T22:34:36
|
|
Update copyright statements to reflect the facts that:
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
|
|
8889a770
|
2009-01-27T22:30:46
|
|
Replace all use of config.h with event-config.h.
svn:r1064
|