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/modules/standard mod_include.c
Date Sat, 14 Oct 2000 07:01:30 GMT
> From: Jeff Trawick []
> Sent: Saturday, October 14, 2000 12:48 AM
> > I like the thought of being able to extend -what- filters 
> can do, and
> > -how- they can do them.  Extending into the vast unknown 
> future bucket
> > types seems useful in ways we can't predict yet.  I'm just 
> making certain
> > that your performance issue is really the issue, or did we 
> jam things up
> > somewhere else?
> Nobody is speaking against such an extension; I'm definitely for it.
> What I'm speaking about is more code in the path which we don't need.

Then that would be solved with the macros Ryan is offering up - I don't
disagree though that he wants to see the code work first.

here's what I think Ryan and I worked out...

the table is soley for reserving a numerical offset
  the bucket itself will have a pointer straight to the bucket fn list
  structure.  The table lets us walk valid bucket types later on, but
  not on a regular basis.

the fn ptr structure will include a char* bucketname
  it won't be used often, but it will help in debugging and will be
  the helper for a mod_dav_fs type module that -must- have an intimate
  knowledge of bucket type installed by a mod_dav type parent module.
  It can query by name against the table, but this would be done
  once and cached for the life of the server.

the fn ptr structure will include a 'feature count' - number of
  supported Apache bucket functions.  We haven't worked that whole
  thought out (who can define new fns - Apache core - mod authors?).

the fn ptr structures are 8 statics for the 8 core types, and they are
  always in the enumeration's order.

all fn ptrs are initialized - worst is fn returning APR_NOTIMPL.
  We have to test that the read/setaside/whatever actually succeeds,
  so we drop a null ptr test for an extra error to be resolved 
  (the exception case instead of the rule).

Jeff - if a new bucket type queries apr -only once- for it's structure,
 and gets it's assignment for the entire life of the server, and buckets 
know their bucket type by a pointer to their fn ptrs structure, and you 
can query the type of the bucket by name --- will that solve your issues?

View raw message