barrel_p2p_registry (barrel_p2p v0.1.0)

View Source

Summary

Functions

ensure_proxy(Name, TargetNode)

-spec ensure_proxy(atom() | binary(), node()) -> {ok, pid()} | {error, term()}.

get_all_local()

-spec get_all_local() ->
                       [#service_entry{name :: atom() | binary(),
                                       pid :: pid(),
                                       node :: node(),
                                       meta :: map()}].

get_local_ormap()

-spec get_local_ormap() -> barrel_p2p_ormap:ormap().

get_proxy(Name)

-spec get_proxy(atom() | binary()) -> {ok, pid()} | not_found.

handle_call(Request, From, State)

handle_cast(Msg, State)

handle_info(Info, State)

init(_)

list_services()

-spec list_services() -> [atom() | binary()].

lookup(Name)

-spec lookup(atom() | binary()) ->
                {ok,
                 [#service_entry{name :: atom() | binary(), pid :: pid(), node :: node(), meta :: map()}]} |
                {error, not_found}.

lookup_local(Name)

-spec lookup_local(atom() | binary()) -> {ok, pid()} | {error, not_found}.

merge_remote(DeltaMap)

-spec merge_remote(barrel_p2p_ormap:ormap()) -> ok.

overlay_lookup(Name)

-spec overlay_lookup(atom() | binary()) -> {ok, node(), pid()} | {error, not_found}.

register_service(Name, Meta)

-spec register_service(atom() | binary(), map()) -> ok | {error, term()}.

register_service(Name, Pid, Meta)

-spec register_service(atom() | binary(), pid(), map()) -> ok | {error, term()}.

Register a service with a specific pid (for via callbacks)

remove_entry(Name, Node)

-spec remove_entry(atom() | binary(), node()) -> ok.

remove_node_entries(Node)

-spec remove_node_entries(node()) -> ok.

replica_apply_full_sync(Name, RemoteORMap)

replica_full_sync_snapshot(Name)

replica_merge_delta(Name, Delta)

replica_remove_node(Name, Node)

start_link()

terminate(Reason, State)

unregister_service(Name)

-spec unregister_service(atom() | binary()) -> ok.