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
typetransport_layer_id =
int
Same as in Nethttp_client.transport_layer_id
type
inactive_data = {
|
conn_trans : |
|
tls_stashed_endpoint : |
typeconn_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.
typepeer =
[ `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.