Plasma GitLab Archive
Projects Blog Knowledge

Module Http_client_conncache

module Http_client_conncache: sig .. end
Connection cache


This module allows one to create special connection caches, e.g. by deriving from the official ones
type channel_binding_id = int 
type inactive_data = {
   conn_cb : channel_binding_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 Http_client.pipeline coerced to < >).

Since Ocamlnet-4, `Inactive connections carry an inactive_data record (was a channel_binding_id before). Since Ocamlnet-3.3, `Inactive connections carry the channel binding 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