Describe database loading.

This commit is contained in:
Mike Quin 2023-08-07 08:39:30 +01:00 committed by Stephen Bennett
parent 28bcd75330
commit 21dbde201c

View file

@ -44,3 +44,15 @@ can be changed at build time if filtering on these fields is required.
The number after the # will be 0 or 1 depending on whether the sending The number after the # will be 0 or 1 depending on whether the sending
client was identified to a NickServ account. client was identified to a NickServ account.
The process for loading filters is as follows:
1. The Hyperscan database is serialized using hs_serialize_database().
2. The serialized data is base64 encoded
3. A 'SETFILTER NEW' command is sent.
4. The base64 data is split into chunks short enough to fit into
a 512 byte IRC line, taking into account space needed for the
command, check field, and server mask, and send using 'SETFILTER +'
commands.
5. Once the entire database has been sent, a 'SETFILTER APPLY' command
is sent to commit it.