httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
Subject Re: mod_proxy port process
Date Mon, 01 May 2000 02:54:31 GMT
On Mon, May 01, 2000 at 02:18:58AM -0400, Sam Tregar wrote:
> On Tue, 18 Apr 2000, Sam Magnuson wrote:
> > The major motivation for this was other proxies can use this caching
> > mechanism as is, however it also buys apache the ability to plug in
> > new caching backends, and just have to hook the initialization call,
> > this means I'm submitting changes to mod_proxy (the port to 2.0 and
> > incorporating the new caching facilities), a new modules file_cache
> > which is basically chopped up file caching from mod_proxy to work with
> > the new cache interface, and finally a caching interface (attached),
> > and routines to bind the caching modules and the interface together.
> Very interesting.  I recently did some work with shared memory caching,
> producing the Perl module IPC::SharedCache.  Do you think there would be
> value in a shared memory caching interface?  If so I think this would be a
> project I would be interested in pursuing.  I'll take a look at your patch
> the next chance I get.

In a word... YES!  This is precisely the piece that I need for any
sort of functionality in 1.3.x .  Or for any setup that is using
process seperations..., I'm not sure about how Apache 2.0 handles
stuff (excuse my naivety).  In any event..., I for one would be
interested in such a mechanism because that is the precise quandry
that I'm in right now with setting up async i/o.  I need to pass full
requests either out of cache, or "one time deals" into other
processes, which means either "shared memory" or file i/o (mmaped)
based..., which is just "not good".  I was planning on doing this
myself, but if you're planning to implement anything along these lines
please contact me and we'll get together on this.

As an aside, if anyone else has any ideas to my present quandry...,
how to transmit data between processes, I'd be more than happy to hear
your suggestions.  Obviously it would be silly to socket the whole
thing from one process to the other... very inefficient, but shared
memory pages seem to be what I see as an acceptable solution.
(Obviously in the case of threads, this doesn't really matter)

Something really abstract..., so the other modules don't have to know
anything about it.  Something like mod_async_send_data(someptr*,
int typeofstorage, blah), that would take care of the transfer
mechanism (shmget's or whatever), notify the thread there is another
"client" to take care of, and do whatever preprocessing necessary.  (Via
some utility functions, not all that stuff just globbed into that one
function)  Oh yes, and set the ownership of the fd..., duh.


> -sam tregar

View raw message