New repository initialized by cvs2svn.

git-svn-id: http://code.sixapart.com/svn/Danga-Socket/trunk@1 67b5c17d-d60f-0410-bf5a-c7009bdd78a1
moving this, so Danga-Socket can have its own Makefile/README/etc later.


git-svn-id: http://code.sixapart.com/svn/Danga-Socket/trunk@2 67b5c17d-d60f-0410-bf5a-c7009bdd78a1
- Removed unnecessary Linux::AIO require.
- Explicitly define constants to squelch warnings from event handler code.
- Cleaned up IO::Poll/IO::Epoll loading code (use inside eval BLOCK is in a
  BEGIN).
- Fixed some comment headers.
- Added a class debug method.


git-svn-id: http://code.sixapart.com/svn/Danga-Socket/trunk@3 67b5c17d-d60f-0410-bf5a-c7009bdd78a1
- Added MakeMaker-compatible VERSION package global.


git-svn-id: http://code.sixapart.com/svn/Danga-Socket/trunk@4 67b5c17d-d60f-0410-bf5a-c7009bdd78a1
Initial checkin.


git-svn-id: http://code.sixapart.com/svn/Danga-Socket/trunk@5 67b5c17d-d60f-0410-bf5a-c7009bdd78a1
- Propagated changes made to Perlbal::Socket here.

- Bugfixes.


git-svn-id: http://code.sixapart.com/svn/Danga-Socket/trunk@6 67b5c17d-d60f-0410-bf5a-c7009bdd78a1
don't use the OO interface to IO::Epoll because it's buggy.


git-svn-id: http://code.sixapart.com/svn/Danga-Socket/trunk@7 67b5c17d-d60f-0410-bf5a-c7009bdd78a1
- Fixes for mogilefs/non-Epoll machines.


git-svn-id: http://code.sixapart.com/svn/Danga-Socket/trunk@8 67b5c17d-d60f-0410-bf5a-c7009bdd78a1
Add as_string method


git-svn-id: http://code.sixapart.com/svn/Danga-Socket/trunk@9 67b5c17d-d60f-0410-bf5a-c7009bdd78a1
remove dependence on IO::Epoll module for epoll.  do it manually.
(which was pretty easy).  also, don't use IO::Epoll presence to mean
"use epoll".  instead, just try it and if it fails, fall back to
IO::Poll.

also changing michael's well-designed debugging infrastructure back
to almost how it was before, since it was the biggest CPU hog.
kept the function, but check the debug level before calling it.


git-svn-id: http://code.sixapart.com/svn/Danga-Socket/trunk@10 67b5c17d-d60f-0410-bf5a-c7009bdd78a1
Add Danga::Socket::peer_ip_string to return just the IP of the peer
without ":port" at end


git-svn-id: http://code.sixapart.com/svn/Danga-Socket/trunk@11 67b5c17d-d60f-0410-bf5a-c7009bdd78a1
lets the event loop be inited without any Danga::Sockets being created
(if caller only has its own listen-able items, like mogilefs)


git-svn-id: http://code.sixapart.com/svn/Danga-Socket/trunk@12 67b5c17d-d60f-0410-bf5a-c7009bdd78a1
- Added POD stuff necessary to make dh-make-perl work.


git-svn-id: http://code.sixapart.com/svn/Danga-Socket/trunk@13 67b5c17d-d60f-0410-bf5a-c7009bdd78a1
- Wrapped epoll/syscall.ph stuff in evals to avoid confusing non-Linux hosts.


git-svn-id: http://code.sixapart.com/svn/Danga-Socket/trunk@14 67b5c17d-d60f-0410-bf5a-c7009bdd78a1
Initial checkin


git-svn-id: http://code.sixapart.com/svn/Danga-Socket/trunk@15 67b5c17d-d60f-0410-bf5a-c7009bdd78a1
respond to POLLNVAL and remove them.


git-svn-id: http://code.sixapart.com/svn/Danga-Socket/trunk@16 67b5c17d-d60f-0410-bf5a-c7009bdd78a1
don't use IO::Poll's object interface.  hours of debugging and reading
source (both Perl and C) lead me to conclude it's buggy.  it kept
sucking CPU and strace showed POLLNVAL always returned in huge sets,
but Perl callers could never get at that value to do anything about
it.

instead, use the core of IO::Poll:  IO::Poll::_poll, implemented in XS at
$PERLSOURCE/ext/IO/IO.xs ... just the interface Danga::Socket would rather
have.  I mean, it still sucks (it's poll), but it's a lot easier to work
with than the object oriented mess, which made us do 4 separate loops, each
implemented with a bunch of loops.

and once i fixed this, i found the POLLNVAL problems went away, so it wasn't
even a bug in our code.... it was IO::Poll's mismanagement of its resources


git-svn-id: http://code.sixapart.com/svn/Danga-Socket/trunk@17 67b5c17d-d60f-0410-bf5a-c7009bdd78a1
nothing else in Danga::Socket uses these fields/method.  instead
pushing it into Perlbal::Socket subclass, where it'll live for
as long as I keep it.  (most the usefulness of it goes away once
we have persistent connections)


git-svn-id: http://code.sixapart.com/svn/Danga-Socket/trunk@18 67b5c17d-d60f-0410-bf5a-c7009bdd78a1
read_push_back and PostEventLoop stuff.


git-svn-id: http://code.sixapart.com/svn/Danga-Socket/trunk@19 67b5c17d-d60f-0410-bf5a-c7009bdd78a1
Update Danga::Socket to support setting a post event loop callback function
that is called at the end of every event loop, if you desire.  If the callback
returns 0/undef, the event loop ends.


git-svn-id: http://code.sixapart.com/svn/Danga-Socket/trunk@20 67b5c17d-d60f-0410-bf5a-c7009bdd78a1