Module Async_extra.Tcp.Where_to_connect

A Where_to_connect describes the socket that a tcp client should connect to.

type 'a t constraint 'a = [< Async_extra__.Import.Socket.Address.t ]
include sig ... end
val sexp_of_t : ('a ‑> Base.Sexp.t) ‑> 'a t ‑> Base.Sexp.t
type inet = Async_extra__.Import.Socket.Address.Inet.t t
include sig ... end
val sexp_of_inet : inet ‑> Base.Sexp.t
type unix = Async_extra__.Import.Socket.Address.Unix.t t
include sig ... end
val sexp_of_unix : unix ‑> Base.Sexp.t
val remote_address : 'a t ‑> 'a Async_extra__.Import.Deferred.t
val of_host_and_port : ?⁠bind_to_address:Async_extra__.Import.Unix.Inet_addr.t ‑> ?⁠bind_to_port:int ‑> Core.Host_and_port.t ‑> inet

bind_to_address and bind_to_port can be used to bind the source IP and port of the underlying socket. This does not necessarily alter the interface used to send the data. In particular, the commonly used destination-based routing is unaffected by binding to a different address.

val of_inet_address : ?⁠bind_to_address:Async_extra__.Import.Unix.Inet_addr.t ‑> ?⁠bind_to_port:int ‑> Async_extra__.Import.Socket.Address.Inet.t ‑> inet
val of_file : string ‑> unix
val of_unix_address : Async_extra__.Import.Socket.Address.Unix.t ‑> unix