Copyright © 2013-2015 Zuse Institute Berlin
Version: $Id:$
Behaviours: gen_component.
Authors: Florian Schintke (schintke@zib.de).
anypid() = pid() | comm:mypid()
callback_on_msg() =
fun((Src :: comm:mypid(),
Dest :: comm:mypid(),
Msg :: comm:message()) ->
ok)
delay_queue_key() = {Dest :: anypid()}
erlang_timestamp() =
{MegaSecs :: non_neg_integer(),
Secs :: 0..999999,
MicroSecs :: 0..999999}
gc_mpath_msg() =
{'$gen_component',
trace_mpath,
passed_state(),
Src :: anypid(),
Dest :: anypid(),
comm:message()}
info_event() =
{log_info,
Time :: '_',
trace_id(),
Source :: anypid(),
Info :: comm:message()}
logger() = {proto_sched, comm:mypid()}
msg_delay_queues() = [delay_queue_key()]
msg_queues() = [queue_key()]
passed_state() = {trace_id(), logger()}
queue_key() = {Src :: anypid(), Dest :: anypid()}
send_event() =
{log_send,
Time :: '_',
trace_id(),
Source :: anypid(),
Dest :: anypid(),
comm:message(),
local | global,
comm:send_options()}
state() = [{trace_id(), state_t()}]
state_t() =
#state{msg_queues = msg_queues(),
msg_delay_queues = msg_delay_queues(),
status =
new |
stopped |
running |
{delivered,
comm:mypid(),
reference(),
erlang_timestamp()},
to_be_cleaned = false | {to_be_cleaned, pid()},
passed_state = none | passed_state(),
num_possible_executions = pos_integer(),
num_delivered_msgs = non_neg_integer(),
delivered_msgs =
[{Source :: anypid(),
Dest :: anypid(),
comm:message(),
local | global} |
{Source :: anypid(), info, comm:message()}],
nums_chosen_from = [pos_integer()],
callback_on_send = callback_on_msg(),
callback_on_deliver = callback_on_msg(),
thread_num = non_neg_integer(),
threads_registered = non_neg_integer(),
inform_on_end = pid() | none}
trace_id() = term()
start_gen_component(Module :: module(),
Handler :: gen_component:handler(),
Args :: term(),
Options :: [gen_component:option()],
Self :: pid()) ->
no_return() | ok
thread_num(N :: pos_integer()) -> ok
thread_num(N :: pos_integer(), TraceId :: trace_id()) -> ok
thread_begin() -> ok
thread_begin(TraceId :: trace_id()) -> ok
thread_yield() -> ok
thread_end() -> ok
thread_end(TraceId :: trace_id()) -> ok
wait_for_end() -> ok
wait_for_end(TraceId :: trace_id()) -> ok
start(TraceId :: trace_id(), Logger :: logger()) -> ok
register_callback(CallbackFun :: callback_on_msg(), OnX :: on_send | on_deliver) -> ok | failed
register_callback(CallbackFun :: callback_on_msg(), OnX :: on_send | on_deliver, TraceId :: trace_id()) -> ok | failed
info_shorten_messages(Infos, CharsPerMsg :: pos_integer()) ->
Infos
Infos = [tuple()]
get_infos() -> [tuple()]
get_infos(TraceId :: trace_id()) -> [tuple()]
infected() -> boolean()
clear_infection() -> ok
restore_infection() -> ok
cleanup() -> ok
cleanup(TraceId :: trace_id()) -> ok
epidemic_reply_msg(PState :: passed_state(), FromPid :: anypid(), ToPid :: anypid(), Msg :: comm:message()) -> gc_mpath_msg()
log_send(PState :: passed_state(), FromPid :: anypid(), ToPid :: anypid(), Msg :: comm:message(), LocalOrGlobal :: local | global | local_after, SendOptions :: comm:send_options()) -> ok
log_info(PState :: passed_state(), FromPid :: anypid(), Info :: comm:message()) -> ok
start_link(ServiceGroup :: pid_groups:groupname()) -> {ok, pid()}
init(Arg :: any()) -> state()
on(ShepherdMsg :: send_event() | info_event() | comm:message(), State :: state()) -> state()
Generated by EDoc, Feb 29 2016, 16:12:21.