db_connection v1.1.3 DBConnection.Pool behaviour View Source
A behaviour module for implementing a pool of database connections
using DBConnection
.
Link to this section Summary
Callbacks
Checkin a connection’s state to the pool
Checkout a connection’s state from a pool
Create a supervisor child specification for the pool with module
module
, options opts
and child specification options child_opts
Checkin a connection’s state to the pool and disconnect it with an exception
Ensure all applications necessary to run the pool are started
Start and link to a pool of module
connections with options opts
Stop a connection
Link to this section Callbacks
checkin(pool_ref :: any(), state :: any(), opts :: Keyword.t()) :: :ok
Checkin a connection’s state to the pool.
The pool_ref
is from the return of checkout/2
.
state
is the lastest state of the connection.
checkout(pool :: GenServer.server(), opts :: Keyword.t()) :: {:ok, pool_ref :: any(), module(), state :: any()} | {:error, Exception.t()}
Checkout a connection’s state from a pool.
The returned pool_ref
will be passed to checkin/3
, disconnect/4
and stop/4
.
module
and state
are the module and state of the connection.
child_spec(module(), opts :: Keyword.t(), child_opts :: Keyword.t()) :: Supervisor.Spec.spec()
Create a supervisor child specification for the pool with module
module
, options opts
and child specification options child_opts
.
disconnect(pool_ref :: any(), err :: Exception.t(), state :: any(), opts :: Keyword.t()) :: :ok
Checkin a connection’s state to the pool and disconnect it with an exception.
The pool_ref
is from the return of checkout/2
.
state
is the lastest state of the connection.
ensure_all_started(opts :: Keyword.t(), type :: :application.restart_type()) :: {:ok, [atom()]} | {:error, atom()}
Ensure all applications necessary to run the pool are started.
start_link(module(), opts :: Keyword.t()) :: GenServer.on_start()
Start and link to a pool of module
connections with options opts
.
stop(pool_ref :: any(), err :: Exception.t(), state :: any(), opts :: Keyword.t()) :: :ok
Stop a connection.
The pool_ref
is from the return of checkout/2
.
state
is the lastest state of the connection.