Important stuff: - our I/O operates on raw fds. we should use fde_t's everywhere so that lookups are less necessary and so that I/O is done using the virtual functors, IOFuncRead and IOFuncWrite. - implement comm_get_io_direction(fde_t *) and use it to determine how to reschedule I/O direction when needed. Some of this may not be possible to do in 2.3... - go TS6 only? [partially done; TS6 is always enabled now] - client.c, channel.c is very 2.8 style still. it'd be nice to pack them into their own namespace and such. moreover, the other 2.8 code needs similar rewriting/reworking too... - internally split out +o/+v "ranks" into a series of permissions. this could allow for configure-defined special access levels, halfops, etc. (would need to match globally, somehow. extra SVINFO param?) - somehow hide channel operators like ircnet can do? - SASL opering? - link failover? -- $Id: IDEAS 3552 2007-08-09 06:50:13Z nenolod $