with_conn
opens a connection to the TCP service on host
port
and
if successful calls f
with In_channel.t and Out_channel.t as arguments.
The return value of f
will be returned by with_conn
.
with_conn
raises Connect_timeout if the connection attempt times out.
Unix_error will be raised if there are any other connect errors.
Any exceptions raised by f
will be re-raised, which may include
Unix_errors raised by underlying channel read/write calls.
The In_channel.t
, Out_channel.t
, and underlying socket
will be closed by with_conn before it returns.
val with_connection : ?timeout:Core.Time.Span.t ‑> host:string ‑> port:int ‑> f:(Core.In_channel.t ‑> Core.Out_channel.t ‑> 'a) ‑> unit ‑> 'a