Plasma GitLab Archive
Projects Blog Knowledge

Module Nethttp_client_conncache

module Nethttp_client_conncache: sig .. end

Connection cache


This module allows one to create special connection caches, e.g. by deriving from the official ones

type transport_layer_id = int 
type inactive_data = {
   conn_trans : transport_layer_id;
   tls_stashed_endpoint : exn option;
}
type conn_state = [ `Active of <  > | `Inactive of inactive_data ] 

A TCP connection may be either `Inactive, i.e. it is not used by any pipeline, or `Active obj, i.e. it is in use by the pipeline obj (this is the Nethttp_client.pipeline coerced to < >).

Since Ocamlnet-4, `Inactive connections carry an inactive_data record (was a transport_layer_id before). Since Ocamlnet-3.3, `Inactive connections carry the transport ID as argument. Since 3.8, there is the option of storing an exception value private_data. This may be used by implementations to store private data together with the file descriptor.

type peer = [ `Direct of string * int
| `Direct_name of string * int
| `Http_proxy of string * int
| `Http_proxy_connect of (string * int) * (string * int)
| `Socks5 of (string * int) * (string * int) ]
class type connection_cache = object .. end
class restrictive_cache : unit -> connection_cache

A restrictive cache closes connections as soon as there are no pending requests.

class aggressive_cache : unit -> connection_cache

This type of cache tries to keep connections as long open as possible.

This web site is published by Informatikbüro Gerd Stolpmann
Powered by Caml