Whats changed in the codebase # $Id: whats-new-code.txt,v 1.2 2003/06/14 13:55:49 tr-ircd Exp $ First, please note one thing - a *LOT* has changed in hybrid-7, and therefore in trircd-5. * Most of the file descriptor and network code has been rewritten. A lot of ideas were borrowed from squid, but they have been simplified in places and extended in others to cover the needs of hybrid-7. The core network routines now sit in src/s_bsd.c. There are some remnants of client/server specific functions which should really be moved. The actual network IO loop lives in src/s_bsd_${type}.c where ${type} is the type of network loop (poll, select, kqueue, etc.) You can select the type of network loop by passing --enable-${type} / --disable-${type} to configure. Note: the code hasn't been rearranged, its been rewritten. We think it is more efficient, but the split-list code in s_bsd_poll.c needs some further research. Please read the documentation available, which will go into more detail. * An event system has been added, again borrowed mainly from squid. This allows periodic events (channel cleanup, server connection retries, etc) to be scheduled without needing to add it to the main loop. * The old dbuf code (send and receive buffering for clients/servers) has been replaced by a new module - linebuf. The linebuf code breaks data into "lines" which allows flood prevention and limiting to be performed before sending the code to the main parser.