Table of Contents
v1.1, January 2003
As of Cyclone 2.0, -fastfilter is an option that enables
a shared memory API to filter articles. Traditionally, a SPAM
filter that used the -program option would bind STDIN and
STDOUT to send articles to and from Cyclone (and all &Highwinds; products).
Since that method of article transfer involved memory copying for articles
already in memory, the shared memory API was developed to speed
article transfer from Cyclone to the SPAM filter and back again.
The shared memory API is similar to the traditional
API, in that the server forks
and executes a filter program, communicating with it through
STDIN/STDOUT. The difference is that instead of
sending the entire article to the
filter, the server only sends the messageID of the article, plus the
offset to the shared memory location where the full article text can
be found.
The other major difference is that instead of simply
returning <response_code>\r\n to the server, the filter must now
return <response_code> <message-id>\r\n.
A Perl Module, Openwave::FilterAPI, is available to
encapsulate many of the details of implementing
this protocol in Perl.