gmhive_client/src/gmhive_client.erl

38 lines
881 B
Erlang

-module(gmhive_client).
-vsn("0.6.1").
-export([ connect/1
, disconnect/1
, status/0
, status/1 ]).
-type connect_opts() :: gmhc_connector:connect_opts().
-type id() :: non_neg_integer().
-type status() :: connected | disconnected.
-export_type([ connect_opts/0 ]).
-spec connect(connect_opts()) -> {ok, id()} | {error, any()}.
connect(Opts) when is_map(Opts) ->
Id = gmhc_counters:add_read(connector),
case gmhc_connectors_sup:start_connector(Opts#{id => Id}) of
{ok, _Pid} ->
{ok, Id};
{error, _} = Error ->
Error
end.
%% gmhc_connector:connect(Opts).
-spec disconnect(id()) -> ok.
disconnect(Id) ->
gmhc_connector:disconnect(Id).
-spec status() -> [{id(), status()}].
status() ->
gmhc_connector:status().
-spec status(id()) -> status().
status(Id) ->
gmhc_connector:status(Id).