package caqti

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type

Parameters

Signature

include Caqti_pool_sig.S with type 'a fiber := 'a System.Fiber.t
type ('a, +'e) t
val size : ('a, 'e) t -> int

size pool is the current number of open resources in pool.

val use : ?priority:float -> ('a -> ('b, 'e) Stdlib.result System.Fiber.t) -> ('a, 'e) t -> ('b, 'e) Stdlib.result System.Fiber.t

use f pool calls f on a resource drawn from pool, handing back the resource to the pool when f exits.

  • parameter priority

    Requests for the resource are handled in decreasing order of priority. The default priority is 0.0.

val drain : ('a, 'e) t -> unit System.Fiber.t

drain pool closes all resources in pool. The pool is still usable, as new resources will be created on demand.

val create : ?config:Caqti_pool_config.t -> ?check:('a -> (bool -> unit) -> unit) -> ?validate:('a -> bool System.Fiber.t) -> ?log_src:Logs.Src.t -> sw:System.Switch.t -> stdenv:System.stdenv -> (unit -> ('a, 'e) Stdlib.result System.Fiber.t) -> ('a -> unit System.Fiber.t) -> ('a, 'e) t

Internal: create alloc free is a pool of resources allocated by alloc and freed by free. This is primarily intended for implementing the connect_pool functions.

  • parameter max_size

    The maximum number of allocated resources.

  • parameter max_idle_size

    The maximum number of resources to pool for later use. Defaults to max_size.

  • parameter max_use_count

    The maximum number of times to use a connection, or None for no limit.

  • parameter check

    A function used to check a resource after use.

  • parameter validate

    A function to check before use that a resource is still valid.