Are you volunteering?

Tim.

On Thu, Nov 03, 2005 at 01:24:21PM -0600, David Nicol wrote:
> > "'connect.cached.new' => [\&pre, \&post]" syntax so that I could do
> 
> If I understand correctly, the QPSMTPD people have just implemented
> self-registering
> callbacks in modules by standardizing the names of the callbacks and
> letting package
> introspection find them all.  The names are hook_* where * is one of
> the times that
> there is a hook for.
> 
> Using that naming convention, a module would register it callback with the DBI
> framework by merely having a function called something like
> 
>    sub hook_connect_cached_new_pre{ ... }
> 
> Perhaps the import function invoked by
> 
>    use DBI::callback_hooks;
> 
> could inspect the functions defined in its caller()'s package and
> register what it
> finds there with the calling-back mechanism.
> 
> Just an idea -- I do not know if this approach would be better or
> worse than what
> is currently being done, or even if it is the same as what is
> currently being done --
> but in my opinion having multiple levels of naming
> 
> > "'connect.cached.new' => [\&pre, \&post]"
> 
> is going to be a hassle compared with a single level of naming that
> gets as detailed as it needs.
> 
>      connect_cached_new_pre  => \&pre,
>      connect_cached_new_post => \&post;
> 
> In the proposal at the top of this e-mail, presuming you have the pre and post
> subs already written and don't want to touch them, the registration of them
> could be implied with something like
> 
>     INIT{
>      *DBIhook_connect_cached_new_pre  = \⪯
>      *DBIhook_connect_cached_new_post = \&post;
>     }
> 
> if you don't want to just change their names.

Reply via email to