Generic broadcasting service. Broadcasts are made using the predicate
broadcast(+Templ). All registered `listeners' will have their goal
called. Success or failure of this is ignored. The listener can not bind
This library is particulary useful for disconnecting modules in an application. Modules can broadcast events such as changes, anticipating other modules need to react on such changes. For example, settings.pl broadcasts changes to settings, allowing dependent modules to react on changes:
:- listen(setting(changed(http:workers, New)), change_workers(New)). change_workers(New) :- setting(http:port, Port), http_workers(Port, New).
- listen(+Listener, +Templ, :Goal) is det
- listen(+Templ, :Goal) is det
- Open a channel for listening for events of the given `Templ'.
The following predicates are exported, but not or incorrectly documented.