ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/svn/ircd-hybrid/doc/technical/whats-new-code.txt
Revision: 32
Committed: Sun Oct 2 20:41:23 2005 UTC (18 years, 5 months ago) by knight
Content type: text/plain
File size: 1783 byte(s)
Log Message:
- svn:keywords

File Contents

# Content
1
2 Whats changed in the codebase
3
4 # $Id$
5
6 First, please note one thing - a *LOT* has changed in hybrid-7.
7
8 * Most of the file descriptor and network code has been rewritten.
9 A lot of ideas were borrowed from squid, but they have been simplified
10 in places and extended in others to cover the needs of hybrid-7.
11
12 The core network routines now sit in src/s_bsd.c. There are some remnants
13 of client/server specific functions which should really be moved.
14 The actual network IO loop lives in src/s_bsd_${type}.c where ${type}
15 is the type of network loop (poll, select, kqueue, etc.)
16 You can select the type of network loop by passing --enable-${type} /
17 --disable-${type} to configure.
18
19 Note: the code hasn't been rearranged, its been rewritten. We think
20 it is more efficient, but the split-list code in s_bsd_poll.c needs some
21 further research.
22
23 Please read the documentation available, which will go into more detail.
24
25 * An event system has been added, again borrowed mainly from squid. This
26 allows periodic events (channel cleanup, server connection retries, etc)
27 to be scheduled without needing to add it to the main loop.
28
29 * Server to server links are now handled by the 'servlink' program
30 (located in the servlink/ directory). After negotiating a server<->server
31 link, (CAPAB/SERVER/PASS or CAPAB/CRYPTSERV/CRYPTAUTH) hybrid-7 will
32 fork, then exec a servlink process. ircd-hybrid communicates with the
33 program using a control socket (turn on/off crypto/zip, etc), and
34 a data socket (which looks to the rest of the code like a network socket
35 connected to the remote server). The servlink process handles encryption
36 and compression of server links, but is still compatable with ziplinks
37 used in hybrid-6, and the hybrid-6 cryptlinks patch.

Properties

Name Value
svn:eol-style native
svn:keywords Revision