Module hayata_node

Behaviours: gen_server.

Data Types

agent_id()

agent_id() = term()

edge_definitions()

edge_definitions() = [term()]

edge_id()

edge_id() = term()

edge_task()

edge_task() = {edge_id(), fun(() -> term())}

local_state()

local_state() = map()

node_id()

node_id() = term()

node_name()

node_name() = atom() | string()

Function Index

cancel_execution/2
code_change/3
get_info/1
get_state/1
handle_call/3
handle_cast/2
handle_info/2
init/1
replace_state/2
set_edges/2
start_edge/4
start_execution/4
start_execution/5
start_link/5
terminate/2
track_edge/3
update_state/2
whereis/2

Function Details

cancel_execution/2

cancel_execution(Node::gen_server:server_ref(), ExecutionId::term()) -> ok | {error, term()}

code_change/3

code_change(OldVersion::term(), Node_state::#node_state{}, Extra::term()) -> {ok, #node_state{}}

get_info/1

get_info(Server::gen_server:server_ref()) -> map()

get_state/1

get_state(Server::gen_server:server_ref()) -> local_state()

handle_call/3

handle_call(Request::term(), From::gen_server:from(), Node_state::#node_state{}) -> {reply, term(), #node_state{}}

handle_cast/2

handle_cast(Request::term(), Node_state::#node_state{}) -> {noreply, #node_state{}}

handle_info/2

handle_info(Info::term(), Node_state::#node_state{}) -> {noreply, #node_state{}}

init/1

init(X1::{agent_id(), node_id(), node_name(), local_state(), edge_definitions()}) -> {ok, #node_state{}}

replace_state/2

replace_state(Server::gen_server:server_ref(), NewState::local_state()) -> ok

set_edges/2

set_edges(Server::gen_server:server_ref(), Edges::edge_definitions()) -> ok

start_edge/4

start_edge(Node::gen_server:server_ref(), EdgeId::edge_id(), ExecutionId::term(), TaskFun::fun(() -> term())) -> {ok, pid()} | {error, term()}

start_execution/4

start_execution(Node::gen_server:server_ref(), ExecutionId::term(), EdgeTasks::[edge_task()], TimeoutMs::non_neg_integer()) -> {ok, term()} | {error, term()}

start_execution/5

start_execution(Node::gen_server:server_ref(), ExecutionId::term(), EdgeTasks::[edge_task()], TimeoutMs::non_neg_integer(), RecipientPid::pid()) -> {ok, term()} | {error, term()}

start_link/5

start_link(AgentId::agent_id(), NodeId::node_id(), Name::node_name(), InitialState::local_state(), Edges::edge_definitions()) -> gen_server:start_ret()

terminate/2

terminate(Reason::term(), Node_state::#node_state{}) -> ok

track_edge/3

track_edge(Server::gen_server:server_ref(), EdgeId::edge_id(), EdgePid::pid()) -> {ok, reference()} | {error, term()}

update_state/2

update_state(Server::gen_server:server_ref(), Updates::local_state()) -> ok

whereis/2

whereis(AgentId::agent_id(), Name::node_name()) -> pid() | undefined


Generated by EDoc