Wayfarer.Target.ActiveConnections (wayfarer v0.6.4)

View Source

A simple ETS table that tracks active connections to a given target.

Summary

Functions

Returns a specification to start this module under a supervisor.

Track a new active connection.

Remove an inactive connection.

Return the most recent request time for the named targets.

Return the request count for each of the named targets.

Types

state()

@type state() :: %{table: :ets.tid(), timer: :timer.tref()}

Functions

child_spec(init_arg)

Returns a specification to start this module under a supervisor.

See Supervisor.

connect(target)

@spec connect(Wayfarer.Router.target()) :: :ok

Track a new active connection.

disconnect(target)

@spec disconnect(Wayfarer.Router.target()) :: :ok

Remove an inactive connection.

last_request_time(targets)

@spec last_request_time([Wayfarer.Router.target()]) :: %{
  required(Wayfarer.Router.target()) => non_neg_integer()
}

Return the most recent request time for the named targets.

request_count(targets)

@spec request_count(Wayfarer.Router.target() | [Wayfarer.Router.target()]) :: %{
  required(Wayfarer.Router.target()) => non_neg_integer()
}

Return the request count for each of the named targets.