Stas Bekman wrote:
> 
>> It's done now. The core Registry packages all compile the scripts into 
>> ModPerl::RegistryROOT:: namespace and cache them in 
>> %ModPerl::RegistryCache. Both overridable by the sub-classes.
> 
> 
> What I don't like about this change is that it's now impossible to use 
> two different registry modules to cache the same script. (of course 
> unless these modules override the default cache symbol table)
> e.g. I try to use RegistryLoader on the same script with different 
> registry modules and of course the second load will be skipped given 
> that the two compile to the same package name.

As I was afraid a single namespace for all compiled packaged proved to 
be a bad idea when using more than one registry handler on the same 
filename, since all sort of collissions started to happen. Therefore 
I've resorted to the following solution:

- all packages are compiled into:

join '::', 'ModPerl::ROOT', ref($self), $path_to_string

so now the same script /home/httpd/cgi-bin/env.pl gets compiled into:

ModPerl::ROOT::ModPerl::RegistryBB::home_httpd_cgi_2dbin_env_2epl
ModPerl::ROOT::ModPerl::Registry::home_httpd_cgi_2dbin_env_2epl
ModPerl::ROOT::ModPerl::RegistryFoo::home_httpd_cgi_2dbin_env_2epl

Should we kill the extra :: to make things a bit faster? As in

ModPerl::ROOT::ModPerl__RegistryBB_home_httpd_cgi_2dbin_env_2epl
ModPerl::ROOT::ModPerl__Registry_home_httpd_cgi_2dbin_env_2epl
ModPerl::ROOT::ModPerl__RegistryFoo_home_httpd_cgi_2dbin_env_2epl

I suppose that keeping the distinction between the registry handler and 
the script's path, will allow us to group the scripts by their registry 
handler in Apache::Status, so may be we should keep :: after all.

__________________________________________________________________
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


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to