Wampex.Client (wampex_client v0.2.0)

Documentation for Wampex.

Summary

Functions

add(name, pid)

@spec add(name :: module(), pid :: module() | pid()) ::
  {:ok, pid()} | {:error, term()}

call(name, call, timeout \\ 5000)

@spec call(
  name :: module(),
  call :: Wampex.Roles.Caller.Call.t(),
  timeout :: integer()
) ::
  Wampex.Roles.Dealer.Result.t() | Wampex.Roles.Peer.Error.t()

callee_registry_name(name)

@spec callee_registry_name(module()) :: module()

cast(name, request)

@spec cast(name :: module(), Wampex.message()) :: :ok

child_spec(init_arg)

Returns a specification to start this module under a supervisor.

See Supervisor.

dependent_registry_name(name)

@spec dependent_registry_name(module()) :: module()

error(name, error)

@spec error(name :: module(), error :: Wampex.Roles.Peer.Error.t()) :: :ok

init(arg)

@spec init({atom(), Wampex.Client.Session.t(), boolean()}) ::
  {:ok, {:supervisor.sup_flags(), [:supervisor.child_spec()]}} | :ignore

Callback implementation for Supervisor.init/1.

publish(name, event)

@spec publish(name :: module(), event :: Wampex.Roles.Publisher.Publish.t()) :: :ok

register(name, reg, timeout \\ 5000)

@spec register(
  name :: module(),
  register :: Wampex.Roles.Callee.Register.t(),
  timeout :: integer()
) ::
  {:ok, integer()}

remove(name, pid)

@spec remove(name :: module(), pid :: module() | pid()) :: :ok

session_name(name)

@spec session_name(module()) :: module()

start_link(list)

@spec start_link(
  name: atom(),
  session_data: Wampex.Client.Session.t(),
  reconnect: boolean()
) ::
  {:ok, pid()}
  | {:error, {:already_started, pid()} | {:shutdown, term()} | term()}

subscribe(name, sub, timeout \\ 5000)

@spec subscribe(
  name :: module(),
  subscription :: Wampex.Roles.Subscriber.Subscribe.t(),
  timeout :: integer()
) :: {:ok, integer()}

subscriber_registry_name(name)

@spec subscriber_registry_name(module()) :: module()

sync(name, request, timeout \\ 5000)

@spec sync(name :: module(), request :: Wampex.message(), timeout :: integer()) ::
  term()

unregister(name, unreg, timeout \\ 5000)

@spec unregister(
  name :: module(),
  registration :: Wampex.Roles.Callee.Unregister.t(),
  timeout :: integer()
) :: :ok

unsubscribe(name, unsub, timeout \\ 5000)

@spec unsubscribe(
  name :: module(),
  subscription :: Wampex.Roles.Subscriber.Unsubscribe.t(),
  timeout :: integer()
) :: :ok

yield(name, yield)

@spec yield(name :: module(), yield :: Wampex.Roles.Callee.Yield.t()) :: :ok