package caqti

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

Registration and Loading of Drivers

This interface is unstable and may change between minor versions. If you are developing an external driver, please open an issue to sort out requirements and to announce you need for a stable driver API.

module type DRIVER = sig ... end

This is the signature implemented by drivers, given the system dependencies. More precisely, drivers implement either DRIVER_FUNCTOR or Caqti_platform_unix.Driver_loader.DRIVER_FUNCTOR depending on requirements.

Registration

module type DRIVER_FUNCTOR = functor (System : System_sig.S) -> DRIVER with type 'a fiber := 'a System.Fiber.t and type ('a, 'err) stream := ('a, 'err) System.Stream.t and type switch := System.Switch.t and type stdenv := System.stdenv

The functor implemented by drivers independent from the unix library.

val register : string -> (module DRIVER_FUNCTOR) -> unit

register scheme driver_functor registers driver_functor as the driver implementation for handling the URI scheme scheme.

Usage

module type S = sig ... end

The the interface used internally to load drivers.

module Make (System : System_sig.S) : S with type 'a fiber := 'a System.Fiber.t and type ('a, 'e) stream := ('a, 'e) System.Stream.t and type switch := System.Switch.t and type stdenv := System.stdenv

Instantiation of the loader interface for give system dependencies.