Hi!

I would like to start a discussion which will eventually lead
to one of the two proposals listed below (one from Vlad Seryakov
and the other from Stephen Deasey) included in the core-server
distribution.

Both proposals look promising and both allow us to add support
for arbitrary protocols (pop, imap, ftp...) to the AS, augmeting
the existing (built-in) http protocol.

Vlad Seryakov's patch can be found on:
http://sourceforge.net/tracker/index.php?func=detail&aid=726288&group_id=3152&atid=353152

In a nutshell:
Vlad's patch implements entirely new socket-level driver and sticks
the whole add-in functionality in the driver itself, effectively
bypassing the AS socket and/or ssl driver. It is minimaly invasive
in terms of core-server changes as it puts all of the new protocol
parsing logic into the driver itself.


Stephen Deasey's patch can be found on:
http://sourceforge.net/tracker/index.php?func=detail&aid=973010&group_id=3152&atid=353152

In a nutshell:
Stephen's patch integrates into the AS by adding new API call
Ns_RegisterParseProc() which allows module authors to register a
proc which will be called by the driver thread to parse the data
from a connection socket. This way a new protocol connect handling
looks pretty much like regular http. Hence it utilitzes all of the
recent optimizations in the core (read-aead  threads, async-reads)
and runs atop existing sock and ssl drivers.


My personal opinion is that Stephen's patch is more versatile in
the way it integrates with other AS components. It brings more
options to the protocol developer. It is relatively simple, not
too invasive and I would vote we integrate this patch into the
4.1+ dvelopment branch.

So, all of you interested in extending AS to handle non-http
protocols, please go, have a look and give some feedback.

Thanks,
Zoran


--
AOLserver - http://www.aolserver.com/

To Remove yourself from this list, simply send an email to <[EMAIL PROTECTED]> with the
body of "SIGNOFF AOLSERVER" in the email message. You can leave the Subject: field of 
your email blank.

Reply via email to