ossp-pkg/sio/BRAINSTORM/IO.MAIL
From fielding@kiwi.ics.uci.edu Sat Apr 17 13:19:21 1999
Path: engelschall.com!mail2news!apache.org!new-httpd-owner-rse+apache=en.muc.de
From: fielding@kiwi.ics.uci.edu ("Roy T. Fielding")
Newsgroups: en.lists.apache-new-httpd
Subject: Re: New idea for apr types.
Date: 17 Apr 1999 07:02:19 +0200
Organization: Mail2News at engelschall.com
Lines: 21
Approved: postmaster@m2ndom
Message-ID: <9904161620.aa25418@paris.ics.uci.edu>
Reply-To: new-httpd@apache.org
NNTP-Posting-Host: en1.engelschall.com
X-Trace: en1.engelschall.com 924325339 88339 141.1.129.1 (17 Apr 1999 05:02:19 GMT)
X-Complaints-To: postmaster@engelschall.com
NNTP-Posting-Date: 17 Apr 1999 05:02:19 GMT
X-Mail2News-Gateway: mail2news.engelschall.com
Xref: engelschall.com en.lists.apache-new-httpd:29882
>The basic idea, is to have apr types implemented as objects. Each type
>has a pointer to every function that is allowed by that type. So,
>connection types (apr_socket_t, apr_corba_t, apr_sna_t, apr_netbeui_t,
>etc) all implement the same basic functions (read, write, create, close,
>shutdown, etc), and each type contains a pointer to those functions.
>
>Then, all connection types could be referred to as void *, and the type
>itself would determine how it should do things under the covers.
>
>This would allow Apache to run over ANY network type, as long as there was
>an apr layer written for it.
Ummm, yeah, it is called stacked disciplines in sfio, stream pipes in
Onions (my Ada95 library that nobody uses), buffer slices in IO-Lite,
streams in W3C-libwww, or layered I/O in the 2.0 wish list.
I'm all for it, though I'd use my bucket brigade from Onions and the
IO-Lite memory stuff (assuming sfio wasn't good enough).
....Roy