Log of /trunk/event
Directory Listing
Revision
477 -
Directory Listing
Modified
Wed Aug 18 20:52:28 2010 UTC
(2 weeks, 5 days ago)
by
juli
Remove whitespace at end-of-line.
Revision
458 -
Directory Listing
Modified
Mon Aug 9 10:21:23 2010 UTC
(4 weeks, 1 day ago)
by
juli
Do not blow up if we get EOF from a write filter and document what that means.
Revision
441 -
Directory Listing
Modified
Mon May 31 10:41:00 2010 UTC
(3 months, 1 week ago)
by
juli
o) Add a CallbackQueue drain() method which drains a queue atomically.
o) Use said method for stop() (to prevent infinite loops from badly-written
code) and to make reloading work properly.
Revision
440 -
Directory Listing
Modified
Mon May 31 10:39:13 2010 UTC
(3 months, 1 week ago)
by
juli
Add a simple example of reloading.
Revision
439 -
Directory Listing
Modified
Mon May 31 10:12:18 2010 UTC
(3 months, 1 week ago)
by
juli
Generalize EventCallback into TypedCallback, which takes a typed parameter
specified by the caller-back.
Revision
431 -
Directory Listing
Modified
Thu Feb 25 09:38:59 2010 UTC
(6 months, 1 week ago)
by
juli
o) Don't require an errno when constructing an Event.
Revision
430 -
Directory Listing
Modified
Fri Feb 19 08:41:32 2010 UTC
(6 months, 2 weeks ago)
by
juli
o) Add a reload handler mechanism, but it needs a little work.
Revision
428 -
Directory Listing
Modified
Thu Feb 18 19:21:33 2010 UTC
(6 months, 2 weeks ago)
by
juli
Assert that we are only generating EOS messages for read filters.
Revision
426 -
Directory Listing
Modified
Thu Feb 18 05:15:55 2010 UTC
(6 months, 2 weeks ago)
by
juli
Add an Event that has both a Buffer and auxillary data.
Revision
415 -
Directory Listing
Modified
Thu Dec 10 18:06:02 2009 UTC
(8 months, 3 weeks ago)
by
juli
Whitespace between VPATH+= and the content.
Revision
409 -
Directory Listing
Modified
Thu Dec 10 17:49:25 2009 UTC
(8 months, 3 weeks ago)
by
juli
Switch to GNU Make in the interest of portability.
Revision
407 -
Directory Listing
Modified
Sun Nov 22 20:24:52 2009 UTC
(9 months, 2 weeks ago)
by
juli
Clean up empty-body expression style.
Revision
383 -
Directory Listing
Modified
Tue Nov 10 08:22:01 2009 UTC
(9 months, 3 weeks ago)
by
juli
Mark some fields const.
Revision
340 -
Directory Listing
Modified
Fri Sep 25 23:47:48 2009 UTC
(11 months, 1 week ago)
by
juli
Use kqueue on OpenBSD.
Revision
339 -
Directory Listing
Modified
Fri Sep 25 23:35:38 2009 UTC
(11 months, 1 week ago)
by
juli
Add <unistd.h> for usleep(3).
Revision
330 -
Directory Listing
Modified
Thu Sep 17 01:29:11 2009 UTC
(11 months, 3 weeks ago)
by
juli
Add a note about the gratuitous polling we do, especially since we're not
edge-triggered.
Revision
289 -
Directory Listing
Modified
Mon Sep 7 08:28:25 2009 UTC
(12 months ago)
by
juli
o) Remove an old XXX about a decision long made and enjoyed.
o) Explain a bit about why Events are as they are.
Revision
287 -
Directory Listing
Modified
Mon Sep 7 06:13:02 2009 UTC
(12 months ago)
by
juli
o) Add Solaris port(3C)-based polling that uses /dev/poll on the backend.
Revision
285 -
Directory Listing
Modified
Sun Sep 6 07:14:36 2009 UTC
(12 months ago)
by
juli
o) Handle modification of events not just add/delete.
o) Handle EPOLLIN and EPOLLOUT at the same time.
Revision
284 -
Directory Listing
Modified
Sun Sep 6 07:04:13 2009 UTC
(12 months ago)
by
juli
Add barely-tested epoll support and turn it on on Linux.
Revision
281 -
Directory Listing
Modified
Sun Sep 6 00:26:43 2009 UTC
(12 months ago)
by
juli
Use select, not poll, on Interix.
Revision
250 -
Directory Listing
Modified
Thu Aug 20 07:05:25 2009 UTC
(12 months, 2 weeks ago)
by
juli
Include <errno.h> for extern int errno on Slowlaris.
Revision
225 -
Directory Listing
Modified
Sat Aug 15 00:46:35 2009 UTC
(12 months, 3 weeks ago)
by
juli
o) Do not allow passing a Buffer pointer to an Event(). Prevents accidentally
passing the Buffer * via data_ instead of buffer_.
Revision
189 -
Directory Listing
Modified
Thu Jul 30 09:52:08 2009 UTC
(13 months, 1 week ago)
by
juli
Stop using FreeBSD-like PROG_CXX variable and call it PROGRAM instead.
Revision
180 -
Directory Listing
Modified
Sat Jun 27 19:35:46 2009 UTC
(14 months, 1 week ago)
by
juli
Unify duplicated code from the various poll implementations into poll.h.
Revision
179 -
Directory Listing
Modified
Sat Jun 27 09:21:33 2009 UTC
(14 months, 1 week ago)
by
juli
Move program.mk into common/ to make tab-completion of programs/ less ugly and
to hide implementation details from the top-level file list.
Revision
129 -
Directory Listing
Modified
Sat Apr 18 04:05:51 2009 UTC
(16 months, 2 weeks ago)
by
juli
o) Set OSNAME in program.mk rather than in each library that needs it.
o) If running OpenBSD, disable -Werror, since OpenBSD has an ancient compiler
that bogusly warns about private destructors without any defined friends.
Revision
128 -
Directory Listing
Modified
Sat Apr 18 01:23:26 2009 UTC
(16 months, 2 weeks ago)
by
juli
Make everything build on OpenSolaris.
o) Include <errno.h> in cases where the extern definition of errno may be
needed, in addition to <sys/errno.h>.
o) Remove serial interface support code, it has not been needed and will not
likely be needed in the WANProxy repository.
o) On SunOS, add -lnsl and -lsocket when using IO routines as networking
support requires them.
o) On SunOS, like on Linux, do not populate a 'len' field of a socket address.
o) Mark a bad assertion with a comment.
o) Don't use gethostbyname2(3) on SunOS, sigh. Would be good to write a
simple non-blocking resolver anyway...
o) Attempt to use the SunOS method of endianness-determination at compile
time. Hopefully I got that right.
Revision
127 -
Directory Listing
Modified
Wed Apr 15 08:48:31 2009 UTC
(16 months, 3 weeks ago)
by
juli
Add missing includes of unistd.h for close and usleep.
Revision
125 -
Directory Listing
Modified
Tue Apr 7 07:58:30 2009 UTC
(17 months ago)
by
juli
Move the Timer class to the common module from the event module. It is a more
logical fit there with other general facilities like logging and buffers than
with the event system, which it has no direct relation to. This also means that
in the future the test code can do timing tests (since test support is in
common as well) and that tack now builds no gratuitous code.
Revision
121 -
Directory Listing
Modified
Tue Mar 31 06:09:53 2009 UTC
(17 months, 1 week ago)
by
juli
Change the stop-handling API to a general register_interest API that can
register interest in all sorts of one-shot events. For now, just support the
EventInterestStop interest type. Others that are likely include
EventInterestIdle for when there's no events pending, EventInterestLowMemory for
when memory is becoming scarce, etc.
Revision
118 -
Directory Listing
Modified
Tue Mar 31 05:28:24 2009 UTC
(17 months, 1 week ago)
by
juli
Make poll and select EventPoll implementations friendly to EINTR like kqueue.
Revision
117 -
Directory Listing
Modified
Tue Mar 31 05:26:07 2009 UTC
(17 months, 1 week ago)
by
juli
o) When deleting a CallbackQueue, make sure it's empty.
o) Make CallbackQueue::empty() const.
o) Add a SIGINT handler and a mechanism to stop and register for callback on
stop of the Event System.
o) The TimeoutQueue::perform function should always drain and remove its
CallbackQueue if it executes one at all. No need for all the back and forth
if there are multiple timeouts that expire at the same time.
o) Make it okay for kqueue to return EINTR.
o) Only claim that a TimeoutQueue is not empty if at least one of its
CallbackQueues is empty. The comment that used to be here was right --
since items can be removed from those queues by a cancel, it's important to
actually check.
Revision
109 -
Directory Listing
Modified
Sun Mar 22 10:31:37 2009 UTC
(17 months, 2 weeks ago)
by
juli
Add a hackish EventPoll implementation using select(2). I hate select(2).
Revision
100 -
Directory Listing
Modified
Fri Mar 20 10:54:09 2009 UTC
(17 months, 2 weeks ago)
by
juli
Update TODO and *really* fix clock_gettime detection.
Revision
98 -
Directory Listing
Modified
Fri Mar 20 10:46:04 2009 UTC
(17 months, 2 weeks ago)
by
juli
Use the correct scheme to detect presence of clock_gettime(3).
XXX Does not try to detect available monotonic clock feature.
Revision
97 -
Directory Listing
Modified
Fri Mar 20 10:45:27 2009 UTC
(17 months, 2 weeks ago)
by
juli
On Linux use librt for clock_gettime.
Revision
90 -
Directory Listing
Modified
Thu Mar 19 08:47:29 2009 UTC
(17 months, 2 weeks ago)
by
juli
Explicitly construct timeout_queue_.
Revision
64 -
Directory Listing
Modified
Sun Mar 15 02:51:49 2009 UTC
(17 months, 3 weeks ago)
by
juli
o) Don't use bsd.prog.mk where bsd.subdir.mk is desired.
o) Make TCPClient just give the user a Socket. There's no reason they
would want to have to go through some silly wrapper class.
o) Get rid of a warning in file.cc by returning NULL if HALT()<< for
some incomprehensible reason doesn't return. I hate GCC.
o) Make TCPClient::connect ASSERT that it can get a Socket rather than
having it return NULL, since nobody checks its return value anyway.
o) Make program.mk not rely on bsd.prog.mk (just bsd.obj.mk.)
o) Crank up warnings a bit.
Revision
62 -
Directory Listing
Modified
Sun Mar 15 02:24:37 2009 UTC
(17 months, 3 weeks ago)
by
juli
Default to kqueue(2) on FreeBSD and Darwin, poll(2) elsewhere.
Revision
55 -
Directory Listing
Modified
Thu Mar 12 04:09:25 2009 UTC
(17 months, 3 weeks ago)
by
juli
o) Make the Event callback system no longer require a void * user data argument.
Instead, provide two callback classes, one with a user-specified argument, one
with none and one with an argument type specified by a template parameter.
For now the only consumer of user-specified arguments still uses a void *.
Revision
47 -
Directory Listing
Modified
Thu Mar 5 20:14:26 2009 UTC
(18 months ago)
by
juli
Use gettimeofday if clock_gettime / CLOCK_MONOTONIC is not available.
Revision
43 -
Directory Listing
Modified
Thu Mar 5 05:43:59 2009 UTC
(18 months ago)
by
juli
o) In polling code, if idle sleep using usleep/nanosleep if a wait is
okay, rather than spinning.
o) Whitespace cleanup.
o) Add an example program for timeout usage.
o) Fix timeout interval calculation.
o) Fix NanoTime conditionals.
Revision
42 -
Directory Listing
Modified
Thu Mar 5 04:15:05 2009 UTC
(18 months ago)
by
juli
o) Use millisecond waits and timeouts.
o) Internally use a monotonic nanosecond clock for TimeoutQueues.
Revision
30 -
Directory Listing
Modified
Tue Mar 3 05:31:57 2009 UTC
(18 months ago)
by
juli
Add a microsecond-sampling mechanism and use it to instrument tack.
Revision
1 -
Directory Listing
Added
Mon Feb 16 08:26:47 2009 UTC
(18 months, 2 weeks ago)
by
juli
Initial import of public WANProxy codebase.
Based on r238 in the Marvelous Proof repository.