Neale Pickett
da4d22de5b
Use select() instead of epoll()/poll()
2009-02-08 22:26:27 -07:00
Neale Pickett
488fa6a04c
Convert to be a bot!
2009-02-08 20:25:27 -07:00
Neale Pickett
cf9bdcb93a
Refactor how commands are handled.
...
I may refactor it again.
2008-05-10 21:10:45 -06:00
Neale Pickett
2ff9e84199
Channel PRIVMSG and NOTICE
2008-05-10 14:19:14 -06:00
Neale Pickett
aa2311ead2
add obj.h
2008-05-09 08:02:52 -06:00
Neale Pickett
fce7bc36d5
JOIN
2008-05-09 08:01:11 -06:00
Neale Pickett
68428d8347
Start at channels
2008-03-19 16:19:24 -06:00
Neale Pickett
167105c661
Add AWAY, ERROR, and INFO commands
2008-03-18 22:50:23 -06:00
Neale Pickett
7b80acfbbe
Passing all unit tests again
2008-03-18 21:04:22 -06:00
Neale Pickett
8616bb1f80
Attempt to get QUIT command (rewrites of some stuff)
2008-03-18 17:20:44 -06:00
Neale Pickett
667062bf93
Complete transition to epoll, all unit tests passing
2008-03-18 15:27:03 -06:00
Neale Pickett
9f058248ba
Tweak for timers with no fd activity
...
Turns out the timeout value for select() and friends is an upper boundary.
once was being run as many as 12 times in a tight loop before a timer
expired. I added a fudge factor of 0.001 seconds, and that seems to have
fixed it for most cases.
2008-03-18 10:55:31 -06:00
Neale Pickett
eeab6fc319
Got dispatch unit tests working, not happy about how epoll timeouts work though
2008-03-17 17:22:12 -06:00
Neale Pickett
d26e8bf0d6
Dispatch unit test (doesn't pass though)
2008-03-16 21:43:21 -06:00
Neale Pickett
dd677d5d4e
Dispatch tests don't need their own module
2008-03-15 20:01:53 -06:00
Neale Pickett
27d0137167
Dispatch module working
2008-03-15 19:46:06 -06:00
Neale Pickett
3eb2571769
Start at dispatch module, needs debugging
2008-03-14 21:28:22 -06:00
Neale Pickett
0d4b2e3f92
New dispatch module
2008-03-14 12:16:04 -06:00
Neale Pickett
dd18d6ad48
Some work on poll() compatibility layer.
2008-03-12 23:24:50 -06:00
Neale Pickett
c1d83191fe
Fixed epoll_wrappers.c:event_list_of_int to lists with >1 item
2008-03-11 17:48:16 -06:00
Neale Pickett
b032eef23a
epoll() interface works great
2008-03-10 23:57:07 -06:00
Neale Pickett
cd6a35240a
Move to an epoll() interface
2008-03-10 17:19:59 -06:00
Neale Pickett
d9b83175a2
Experimental work on an OCaml poll() wrapper
2008-03-07 18:19:58 -07:00
Neale Pickett
babb102cd4
Simultaneous connections test
2008-03-07 13:52:13 -07:00
Neale Pickett
8cefe61976
PRIVMSG and NOTICE working between users
2008-03-07 12:00:40 -07:00
Neale Pickett
c89eeb3160
Properly closing client connections, reworked client connection creation
...
Now the test script has two subsequent connections in it, for great justice.
2008-03-06 21:30:49 -07:00
Neale Pickett
36ef378852
ISON
2008-03-06 16:51:35 -07:00
Neale Pickett
4d9ed389a2
PING and PONG
2008-03-06 16:11:57 -07:00
Neale Pickett
ac369d30c2
Skeleton for all IRC commands, implemented a few, add (chat.Regex of string)
2008-03-06 13:54:16 -07:00
Neale Pickett
e417d92995
Merge branch 'master' of git+ssh://neale@fozzie.woozle.org/~neale/src/pgircd
2008-03-06 09:54:00 -07:00
Neale Pickett
c9e91ffe0c
Fixed Iobuf.rebind bug
2008-03-05 17:51:13 -07:00
Neale Pickett
0e8a998293
New iobuf, but there's a problem with login
...
Specifically, rebinding the command handler doesn't take effect until after
all input lines have been handled. This means handle_command_prereg doesn't
get new values when it ought to.
2008-03-04 21:38:19 -07:00
Neale Pickett
1795f5aa37
Made Command.t a tuple
2008-03-03 08:42:30 -07:00
Neale Pickett
ba2f2ef892
Fixed easy input parsing bug
2008-03-02 21:34:27 -07:00
Neale Pickett
b55baf1e92
Setup working, now there's a bug in command parsing (again).
2008-03-02 21:30:37 -07:00
Neale Pickett
4f6ba7f271
Removed a failing unit test, now it all passes
2008-03-01 21:38:05 -07:00
Neale Pickett
1b517745bb
Fixed buf in Client.handle_input
...
F it, I'll just use regular expressions (Str.split). They're easier to code,
the code looks cleaner, and it fixes a buf with a case I hadn't considered.
2008-02-29 17:16:00 -07:00
Neale Pickett
1617dbca19
An attempt to get the first regression test passing
...
I fixed a couple bugs and stubbed in a client state change, so now it's
at least failing closer to where it ought to.
2008-02-28 22:24:52 -07:00
Neale Pickett
4b2a60ec71
More modules, now parsing commands
...
This is where I realized that there's no point in passing around a
"server" object, since it's entirely reasonable to expect one server
per running instance.
2008-02-28 22:00:24 -07:00
Neale Pickett
ef64cd9f8a
Move away from OO, IRC command parser + working test
2008-02-27 22:50:27 -07:00
Neale Pickett
ea2fe1ed1c
Move away from object model.
2008-02-24 21:41:20 -07:00
Neale Pickett
4ff349018d
Start at using records instead of objects
2008-02-18 20:47:32 -07:00
Neale Pickett
9f494e9cca
Got all the underlying socket stuff worked out, ready to code some IRC now.
2008-02-14 18:53:57 -07:00
Neale Pickett
eb07c79700
Test 1 working, but now there are some obuf overrun problems
2008-02-08 18:11:49 -07:00
Neale Pickett
65720b5406
Getting tests working, have some output buffer problems
2008-02-08 17:41:07 -07:00
Neale Pickett
eccaa1b4ff
Accepting connections and line-buffering input
2008-02-08 15:38:31 -07:00