Browse Source

Improve docs.

Roberto Ostinelli 3 years ago
parent
commit
72562d6e8e
4 changed files with 19 additions and 12 deletions
  1. 1 1
      README.md
  2. 1 1
      src/syn.app.src
  3. 11 4
      src/syn.erl
  4. 6 6
      src/syn_registry.erl

+ 1 - 1
README.md

@@ -1,5 +1,5 @@
 # Syn
-**Syn** (short for _synonym_) is a highly-scalable global Process Registry and Process Group manager for Erlang and Elixir.
+**Syn** (short for _synonym_) is a scalable global Process Registry and Process Group manager for Erlang and Elixir.
 Syn automatically manages dynamic clusters (addition / removal of nodes), and is also able to recover from net splits.
 
 [Documentation](https://hexdocs.pm/telemetry/)

+ 1 - 1
src/syn.app.src

@@ -1,6 +1,6 @@
 {application, syn,
     [
-        {description, "A highly-scalable global Process Registry and Process Group manager."},
+        {description, "A scalable global Process Registry and Process Group manager."},
         {vsn, "3.0.0-rc.1"},
         {registered, [
             syn_backbone,

+ 11 - 4
src/syn.erl

@@ -214,7 +214,7 @@ add_node_to_scopes(Scopes) when is_list(Scopes) ->
     end, Scopes).
 
 %% @doc Returns the nodes of the subcluster for the specified `Scope'.
--spec subcluster_nodes(registry | pg, Scope :: atom()) -> [node()].
+-spec subcluster_nodes(RegistryOrPg :: registry | pg, Scope :: atom()) -> [node()].
 subcluster_nodes(registry, Scope) ->
     syn_registry:subcluster_nodes(Scope);
 subcluster_nodes(pg, Scope) ->
@@ -301,6 +301,13 @@ register(Scope, Name, Pid) ->
 %% iex> :syn.lookup(:devices, "SN-123-456789")
 %% {#PID<0.105.0>, [meta: :one]}
 %% '''
+%% <h3>Erlang</h3>
+%% ```
+%% 1> syn:register(devices, "SN-123-456789", self(), [{meta, one}]).
+%% ok
+%% 2> syn:lookup(devices, "SN-123-456789")
+%% {<0.105.0>,[{meta, one}]}
+%% '''
 %%
 %% Processes can also be registered as `gen_server' names, by usage of via-tuples. This way, you can use the `gen_server'
 %% API with these tuples without referring to the Pid directly. If you do so, you MUST use a `gen_server' name
@@ -497,12 +504,12 @@ leave(Scope, GroupName, Pid) ->
 %% <h2>Examples</h2>
 %% <h3>Elixir</h3>
 %% ```
-%% iex> :syn.group_count("area-1")
+%% iex> :syn.group_count(:users)
 %% 321778
 %% '''
 %% <h3>Erlang</h3>
 %% ```
-%% 1> syn:group_count("area-1").
+%% 1> syn:group_count(users).
 %% 321778
 %% '''
 -spec group_count(Scope :: atom()) -> non_neg_integer().
@@ -563,7 +570,7 @@ local_group_names(Scope) ->
 %% :ok
 %% iex> :syn.publish(:users, "area-1", :my_message)
 %% {:ok,1}
-%% iex> flush().
+%% iex> flush()
 %% Shell got :my_message
 %% :ok
 %% '''

+ 6 - 6
src/syn_registry.erl

@@ -205,6 +205,9 @@ handle_call({'3.0', unregister_on_node, RequesterNode, Name, Pid}, _From, #state
     table_by_pid = TableByPid
 } = State) ->
     case find_registry_entry_by_name(Name, TableByName) of
+        undefined ->
+            {reply, {{error, undefined}, undefined}, State};
+
         {Name, Pid, Meta, _, _, _} ->
             %% demonitor if the process is not registered under other names
             maybe_demonitor(Pid, TableByPid),
@@ -217,12 +220,9 @@ handle_call({'3.0', unregister_on_node, RequesterNode, Name, Pid}, _From, #state
             %% return
             {reply, {ok, TableByPid}, State};
 
-        {Name, _, _, _, _, _} ->
+        _ ->
             %% process is registered locally with another pid: race condition, wait for sync to happen & return error
-            {reply, {{error, race_condition}, undefined}, State};
-
-        undefined ->
-            {reply, {{error, undefined}, undefined}, State}
+            {reply, {{error, race_condition}, undefined}, State}
     end;
 
 handle_call(Request, From, #state{scope = Scope} = State) ->
@@ -534,7 +534,7 @@ handle_registry_sync(Name, Pid, Meta, Time, Reason, #state{
             syn_event_handler:call_event_handler(on_process_unregistered, [Scope, Name, TablePid, TableMeta, Reason]),
             syn_event_handler:call_event_handler(on_process_registered, [Scope, Name, Pid, Meta, Reason]);
 
-        {_, _, _, _, _, _} ->
+        _ ->
             %% race condition: incoming data is older, ignore
             ok
     end.