http://issues.apache.org/SpamAssassin/show_bug.cgi?id=5293





------- Additional Comments From [EMAIL PROTECTED]  2007-10-12 10:51 -------
(In reply to comment #2)
> Would you mind posting your hooks and plans as you go along (a full blow spec 
> if
> you feel like it :))?  I'm very keen on this as well.

full-blown spec!  not a hope ;)   here's the hooks I've got so far, though:

sanity_check_bayes_is_untied
learn_message
forget_message
learner_sync
learner_expire_old_training
learner_is_scan_available
learner_dump_database
learner_get_implementation

They match up with the methods in Bayes.pm, pretty much.  So it's a very
high-level pluginization; I figure if different learner backends wind up sharing
code, it'll be easier to refactor and do that "behind the scenes", than try to
design it upfront into the plugin hooks, without having the benefit of writing
an alternative backend to learn from.  

Also, in my experience writing the first few drafts of Bayes.pm, the storage
requirements for different backends were radically different, so code sharing
may just not be possible :(

some notes on those hooks:

'sanity_check_bayes_is_untied': I'm not sure if this should still be exposed as
a hook, to be honest.  it probably needs a better name anyway.

'learner_get_implementation': this is definitely a hack; it's needed for the
test suite to work.  it probably doesn't need to be a public hook, since it can
be kept undocumented ;)

'learner_expire_old_training', 'learner_sync': backends for which this makes no
sense, can of course just "return 1" for these.





------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

Reply via email to