-----Ursprüngliche Nachricht----- Von: Stas Bekman [mailto:[EMAIL PROTECTED] Gesendet: Montag, 4. April 2005 18:47 An: Dintelmann, Peter Cc: 'modperl@perl.apache.org' Betreff: Re: APR::BucketType bucket types?
Dintelmann, Peter wrote:
I am looking for a list of the bucket types for APR::BucketType
objects and their meanings. So far I have encountered the types "FLUSH", "EOC" (end of connection?) and "mod_perl SV bucket".
It seems that bucket type (names) are only available as strings. When looking for buckets of a particular type a comparison to an integer constant would be more efficient. Can we have some constants in APR::Const for this purpose and the bucket type name as a dual valued scalar?
Peter, libapr identifies buckets only by their name. How do you suggest that we manage their numerical values? A new bucket type can be added any moment and we won't have an ID for it. APR::Const only provides a glue for the existing libapr's C-level constants. If you want a change of this kind, you will have to ensure that libapr provides that ID first and mp2 will follow.
ok; I didn't think about that...
So what is the most efficient way to determine the "standard" bucket types like EOS/EOC/FLUSH?
with is_foo methods: http://perl.apache.org/docs/2.0/api/APR/Bucket.html though at the moment we expose just two of them. Which ones do you lack?
How is is_eos() doing it?
APU_DECLARE_DATA const apr_bucket_type_t apr_bucket_type_eos = { "EOS", 5, APR_BUCKET_METADATA, apr_bucket_destroy_noop, eos_bucket_read, apr_bucket_setaside_noop, apr_bucket_split_notimpl, apr_bucket_simple_copy };
#define APR_BUCKET_IS_EOS(e) ((e)->type == &apr_bucket_type_eos)
As you can see apr_bucket_type_eos is a struct, not a numerical value. I guess since it checks the address, it's possible to present it as a constant.
-- __________________________________________________________________ Stas Bekman JAm_pH ------> Just Another mod_perl Hacker http://stason.org/ mod_perl Guide ---> http://perl.apache.org mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://ticketmaster.com