Module ce_broadcaster

Broadcaster design pattern.

Description

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.

Function Index

broadcast/2Broadcasts a message.
loop/2Drives the broadcasting.
start/0Starts a broadcasting service.
subscribe/1Equivalent to subscribe(Broadcaster, self()).
subscribe/2Subscribes to a broadcasting service.
unsubscribe/1Equivalent to unsubscribe(Broadcaster, self()).
unsubscribe/2Cancels subscription to a broadcasting service.

Function Details

broadcast/2

broadcast(Broadcaster::pid(), Message::term()) -> ok

Broadcasts a message.

loop/2

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/0

start() -> {ok, pid()} | {error, Reason}

Starts a broadcasting service.

subscribe/1

subscribe(Broadcaster::pid()) -> ok | {error, Reason}

Equivalent to subscribe(Broadcaster, self()).

subscribe/2

subscribe(Broadcaster::pid(), Subscriber::pid()) -> ok | {error, Reason}

Subscribes to a broadcasting service.

unsubscribe/1

unsubscribe(Broadcaster::pid()) -> ok | {error, Reason}

Equivalent to unsubscribe(Broadcaster, self()).

unsubscribe/2

unsubscribe(Broadcaster::pid(), Unsubscriber::pid()) -> ok | {error, Reason}

Cancels subscription to a broadcasting service.


Generated by EDoc, Feb 18 2008, 06:47:40.