Copyright © 2017 Marc Worrell
Behaviours: application.
Authors: Marc Worrell (marc@worrell.nl).
event() = term()
notifier() = atom() | pid()
observer() = pid() | {module(), atom()} | {module(), atom(), list()}
await/1 | |
await/2 | |
await/3 | |
await/4 | |
await_exact/2 | |
await_exact/3 | |
await_exact/4 | |
detach/2 | Unsubscribe an owner from an event. |
detach/3 | Unsubscribe an owner from an event. |
detach_all/1 | Detach all observers owned by the pid. |
detach_all/2 | Detach all observers owned by the pid. |
first/3 | Return the result of the first observer returning something else than 'undefined'. |
first/4 | Return the result of the first observer returning something else than 'undefined'. |
foldl/4 | |
foldl/5 | |
foldr/4 | |
foldr/5 | |
get_observers/1 | Return the list of all observers for a specific event. |
get_observers/2 | |
map/3 | Call all observers, return a list of all return values. |
map/4 | |
notify/3 | Notify observers async. |
notify/4 | Notify observers async. |
notify1/3 | Notify the first observer. |
notify1/4 | Notify the first observer. |
notify_sync/3 | Notify observers. |
notify_sync/4 | Notify observers. |
observe/2 | Register an observer pid. |
observe/3 | Register an observer with an owner pid. |
observe/4 | Register an observer with the default notifier. |
observe/5 | Register an observer. |
start/0 | |
start/2 | |
start_notifier/1 | |
stop/1 | |
stop_notifier/1 |
await(Event::atom() | tuple()) -> {ok, tuple() | atom()} | {ok, {pid(), reference()}, tuple() | atom()} | {error, timeout}
await(Event::term(), Msg::atom() | tuple()) -> {ok, tuple() | atom()} | {ok, {pid(), reference()}, tuple() | atom()} | {error, timeout}
await(Event::term(), Msg::atom() | tuple(), Timeout::pos_integer()) -> {ok, tuple() | atom()} | {ok, {pid(), reference()}, tuple() | atom()} | {error, timeout}
await(Notifier::notifier(), Event::term(), Msg::atom() | tuple(), Timeout::pos_integer()) -> {ok, tuple() | atom()} | {ok, {pid(), reference()}, tuple() | atom()} | {error, timeout}
await_exact(Event::event(), Msg::term()) -> {ok, term()} | {ok, {pid(), reference()}, term()} | {error, timeout}
await_exact(Event::event(), Msg::term(), Timeout::pos_integer()) -> {ok, term()} | {ok, {pid(), reference()}, term()} | {error, timeout}
await_exact(Notifier::notifier(), Event::event(), Msg::term(), Timeout::pos_integer()) -> {ok, term()} | {ok, {pid(), reference()}, term()} | {error, timeout}
detach(Event::event(), OwnerPid::pid()) -> ok | {error, term()}
Unsubscribe an owner from an event
detach(Notifier::notifier(), Event::event(), OwnerPid::pid()) -> ok | {error, term()}
Unsubscribe an owner from an event
detach_all(OwnerPid::pid()) -> ok
Detach all observers owned by the pid
detach_all(Notifier::notifier(), OwnerPid::pid()) -> ok
Detach all observers owned by the pid
first(Event::event(), Msg::term(), ContextArg::term()) -> term() | undefined
Return the result of the first observer returning something else than 'undefined'. Return 'undefined' if none.
first(Notifier::notifier(), Event::event(), Msg::term(), ContextArg::term()) -> term() | undefined
Return the result of the first observer returning something else than 'undefined'. Return 'undefined' if none.
foldl(Event::event(), Msg::term(), Value::term(), ContextArg::term()) -> term()
foldl(Notifier::notifier(), Event::event(), Msg::term(), Value::term(), ContextArg::term()) -> term()
foldr(Event::event(), Msg::term(), Value::term(), ContextArg::term()) -> term()
foldr(Notifier::notifier(), Event::event(), Msg::term(), Value::term(), ContextArg::term()) -> term()
get_observers(Event::event()) -> list()
Return the list of all observers for a specific event
get_observers(Notifier::notifier(), Event::event()) -> list()
map(Event::event(), Msg::term(), ContextArg::term()) -> [term()]
Call all observers, return a list of all return values.
map(Notifier::notifier(), Event::event(), Msg::term(), ContextArg::term()) -> [term()]
notify(Event::event(), Msg::term(), ContextArg::term()) -> ok | {error, term()}
Notify observers async. Start separate process for the notification.
notify(Notifier::notifier(), Event::event(), Msg::term(), ContextArg::term()) -> ok | {error, term()}
Notify observers async. Start separate process for the notification.
notify1(Event::event(), Msg::term(), ContextArg::term()) -> ok | {error, term()}
Notify the first observer. Pids async, M:F sync.
notify1(Notifier::notifier(), Event::event(), Msg::term(), ContextArg::term()) -> ok | {error, term()}
Notify the first observer. Pids async, M:F sync.
notify_sync(Event::event(), Msg::term(), ContextArg::term()) -> ok | {error, term()}
Notify observers. Pids async, M:F sync.
notify_sync(Notifier::notifier(), Event::event(), Msg::term(), ContextArg::term()) -> ok | {error, term()}
Notify observers. Pids async, M:F sync.
observe(Event::event(), ObserverPid::pid()) -> ok | {error, term()}
Register an observer pid.
observe(Event::event(), Observer::observer(), OwnerPid::pid()) -> ok | {error, term()}
Register an observer with an owner pid.
observe(Event::event(), Observer::observer(), OwnerPid::pid(), Prio::integer()) -> ok | {error, term()}
Register an observer with the default notifier. Higher prio (lower nr) gets called earlier.
observe(Notifier::notifier(), Event::event(), Observer::observer(), OwnerPid::pid(), Prio::integer()) -> ok | {error, term()}
Register an observer. Higher prio (lower nr) gets called earlier.
start() -> any()
start(StartType, StartArgs) -> any()
start_notifier(Name::atom()) -> {ok, pid()} | {error, term()}
stop(State) -> any()
stop_notifier(Name::atom()) -> ok
Generated by EDoc