1 Servlink protocol documentation.
2 $Id: README 1285 2006-05-05 15:03:53Z nenolod $
5 After negotiating an incoming/outgoing server connection, the ircd will
6 fork, then execve servlink, with fd 0 as one end of a control pipe and
7 fd 1 as one end of a data pipe. fd 2 will be the socket connected to
10 The data pipe is used by the ircd to send/receive normal, decrypted,
11 uncompressed IRC commands to/from the remote server. The socket is used to
12 send the (processed) data to the remote server, and receive the data from
15 The control pipe is used to activate encryption/compression and to set the
16 encryption key/algorithm to be used.
18 Format of control messages:
20 <u8 command><optional data>
27 001 - SET_ZIP_OUT_LEVEL
30 set compression level (0 [use default, 6], or 1-9)
35 all data written to the data pipe will be compressed
36 prior to being sent to the remote server.
41 all data not yet read from the slink program will be
42 decompressed before reading
47 Used before INIT to inject any data read from the server fd which
48 should be pre-processed by servlink before being sent back
49 to the LOCAL_FD through the data fd.
54 As above, but sent to remote server without processing.
59 request to send ziplinks statistics reply.
64 data: u32 len/char error[len]
69 data: u32 in/u32 in_wire/u32 out/u32 out_wire
71 ziplinks commpression statistics