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