package caqti-async

  1. Overview
  2. Docs
Async support for Caqti

Install

Dune Dependency

Authors

Maintainers

Sources

caqti-0.10.0.tbz
sha256=83c80e1b55e0311d9a97b1f591a3f504670c977e7e47f8ed827897ce8d4a05ad
md5=28a2a8f5235662e7a452b786ffdb4a7f

doc/caqti-async.v1/Caqti1_async/Pool/index.html

Module Caqti1_async.Pool

This is an instantiation of Caqti_pool for the chosen thread monad.

type 'a t
val create : ?max_size:int -> ?check:('a -> (bool -> unit) -> unit) -> ?validate:('a -> bool Async.Deferred.Or_error.t) -> (unit -> 'a Async.Deferred.Or_error.t) -> ('a -> unit Async.Deferred.Or_error.t) -> 'a t

(internal) create alloc free is a pool of resources allocated by alloc and freed by free. This is primarily indented for implementing the connect_pool functions.

  • parameter max_size

    Maximum number of resources to allocate at any given time.

  • 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.

val size : 'a t -> int

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

val use : ?priority:float -> ('a -> 'b Async.Deferred.Or_error.t) -> 'a t -> 'b Async.Deferred.Or_error.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 t -> unit Async.Deferred.Or_error.t

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

OCaml

Innovation. Community. Security.