Broadcaster design pattern.
Any process may elect to subscribe or unsubscribe from a broadcaster. Each message sent to a broadcaster is sent to all of the broadcaster's subscribers.
broadcast/2 | Broadcasts a message. |
loop/2 | Drives the broadcasting. |
start/0 | Starts a broadcasting service. |
subscribe/1 | Equivalent to subscribe(Broadcaster, self()). |
subscribe/2 | Subscribes to a broadcasting service. |
unsubscribe/1 | Equivalent to unsubscribe(Broadcaster, self()). |
unsubscribe/2 | Cancels subscription to a broadcasting service. |
broadcast(Broadcaster::pid(), Message::term()) -> ok
Broadcasts a message.
loop(Parent::pid(), Subscribers::[pid()]) -> never_returns()
Drives the broadcasting. This function is spawned by start/0
and should not be used by external callers.
start() -> {ok, pid()} | {error, Reason}
Starts a broadcasting service.
subscribe(Broadcaster::pid()) -> ok | {error, Reason}
Equivalent to subscribe(Broadcaster, self()).
subscribe(Broadcaster::pid(), Subscriber::pid()) -> ok | {error, Reason}
Subscribes to a broadcasting service.
unsubscribe(Broadcaster::pid()) -> ok | {error, Reason}
Equivalent to unsubscribe(Broadcaster, self()).
unsubscribe(Broadcaster::pid(), Unsubscriber::pid()) -> ok | {error, Reason}
Cancels subscription to a broadcasting service.
Generated by EDoc, Dec 25 2007, 02:37:16.