Library
Module
Module type
Parameter
Class
Class type
val servers : unit -> Conf.serverid list
val server_exists : Conf.serverid -> bool
remove
marks a given server as removed from the pool. HOWEVER, a number of attempts (corresponding to the number of connections to that server) to use that server might still occur. These are NOT connection attempts, so this does not come with substantial costs.
val remove : Conf.serverid -> unit
remove
marks a given server as removed from the pool. HOWEVER, a number of attempts (corresponding to the number of connections to that server) to use that server might still occur. These are NOT connection attempts, so this does not come with substantial costs.
val add_one :
?essential:bool ->
?connect_immediately:bool ->
num_conn:int ->
Conf.serverid ->
Conf.server ->
unit
Adds a server to the pool, permitting a maximum number num_conn
of concurrent connections to that server. If connect_immediately
is true
(default: false
then num_conn
are immediately opened to the server. If the given server exists already no action is taken. If essential
is true
(default: true
) then the added server is protected from being suspended.
val add_many :
?essential:bool ->
?connect_immediately:bool ->
num_conn:int ->
(Conf.serverid * Conf.server) list ->
unit
val add_existing :
?essential:bool ->
?check_server:(unit -> bool Lwt.t) ->
num_conn:int ->
Conf.serverid ->
Conf.connection Resource_pool.t ->
unit
val use : ?usage_attempts:int -> (Conf.connection -> 'a Lwt.t) -> 'a Lwt.t