httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "William A. Rowe, Jr." <>
Subject RE: cvs commit: apache-2.0/src/os/win32 mod_isapi.c
Date Sun, 15 Oct 2000 05:32:42 GMT
> From: William A. Rowe, Jr. []
> Sent: Saturday, October 14, 2000 8:41 PM
> > From: []
> > Sent: Saturday, October 14, 2000 7:36 PM
> > 
> > On 14 Oct 2000 wrote:
> > 
> > > wrowe       00/10/14 16:18:52
> > > 
> > >   Modified:    src/os/win32 mod_isapi.c
> > >   Log:
> > >     Change to buckets for isapi output.  Still requires 
> > emulation of IO
> > >     Completion/Async behavior, but a non-async 
> > >     now implemented.
> > 
> > This is really cool!  How hard was it to figure this out?  I am asking
> > because if you had a hard time figuring it all out, then other people will
> > too, and we probably have to think about that.  If it wasn't that hard,
> > then we probably have the right design.

To answer your question (I didn't address it already) this was not hard to 
follow.  In fact, it was trivial to implement, I had to restructure because
the TRANSMIT_FILE semantics were really passing headers, plus leading string,
plus the file, plus the trailer string.  I didn't want to close and push the
leading string in the SendResponseHeadersEx I implemented before, so I pushed
data following any headers back to the caller.  This allowed me to make a
single optimized call to ap_pass_brigade().  It still seems more natural to
call a fuction called ap_send_brigade(), but that's the 1.3.x hacker talking.

> First off ... this needs thorough testing (single stepping to be sure
> I'm happy with the flow) 

Ryan, do you have that bucket identification patch worked up yet?
It will (as Jeff noted) make tracing this a bit easier.

> As I dig into the actual body filtering and headers on the next few 
> uses of buckets, I'll get a better handle for whether they work or not.

Sorry if this came out wrong - of course they -work- ... the question is
how effectively compared to what I'm used to.  Hopefully if I find any
issues I can offer them up as a patch, but I don't expect to now that
I've dug my heels into the bucket brigade sources.

> I choose transient since we don't know how persistant the isapi's data
> really is, and assume this is the best choice in this case.
Actually, isapi might become one of the first users of the 'custom' bucket
type, depending on requirements and my results ;-)  Although I really don't
expect that it's all that necessary so far.  Perhaps when I get to isapi's
ideas of 'filters' it will be.

View raw message