Subject: Re: New idea for apr types.

From: [email-masked] ("Roy T. Fielding")
Date: 17 Apr 1999 07:02:19 +0200

>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