package caqti

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

Module Switch.MakeSource

Parameters

module Fiber : FIBER

Signature

Sourcetype t
Sourcetype hook
Sourceexception Off

Explicit Construction and Release

These functions are somewhat unsafe, since they don't enforce lifetime by passing a new switch as an argument to the user. They are nevertheless useful for applications which haven't been switch to the EIO-style resource handling discipline, esp. when dealing with connection pools. The caqti-eio package uses Eio.Switch which lacks these functions.

Sourceval eternal : t

A switch which is never released.

Sourceval create : unit -> t

Create a fresh releasable switch which is initially on.

Sourceval release : t -> unit Fiber.t

release sw calls all cleanup handlers on sw in reverse order of registration and marks the switch as being off.

EIO-Compatible Interface

Sourceval run : (t -> 'a Fiber.t) -> 'a Fiber.t

run f calls f with a fresh switch which will be released upon exit or in case of failure.

Sourceval check : t -> unit

check sw raises Off if sw has been turned off.

Sourceval on_release_cancellable : t -> (unit -> unit Fiber.t) -> hook

on_release_cancellable sw f registers f to be called upon the evetual release of sw unless remove_hook is called on the returned hook before that happen.

Sourceval remove_hook : hook -> unit

Given a hook returned by on_release_cancellable, remove_hook hook cancels the cleanup registered by that call.

OCaml

Innovation. Community. Security.