AnyEvent::Blackboard is a simple blackboard database and dispatcher.
SYNOPSIS
my $blackboard = AnyEvent::Blackboard->new();
$blackboard->watch([qw( foo bar )], [ $object, "found_foobar" ]);
$blackboard->watch(foo => [ $object, "found_foo" ]);
$blackboard->put(foo => "First dispatch");
# $object->found_foo("First dispatch") is called
$blackboard->put(bar => "Second dispatch");
# $object->found_foobar("Second dispatch") is called
$blackboard->clear;
$blackboard->put(bar => "Future Dispatch");
# No dispatch is called...
# but $blackboard->get("bar") eq "Future Dispatch"
$blackboard->put(foo => "Another dispatch");
# Order of the following is undefined:
#
# $object->found_foo("Future dispatch") is called
# $object->found_foobar("Another dispatch") is called
$blackboard->hangup;
Product's homepage
Requirements:
· Perl