Module type Pi.STREAM_SOCKET

include Eio.Net.Pi.STREAM_SOCKET
type tag
include Eio.Flow.Pi.SHUTDOWN
type t
val shutdown : t -> Eio.Flow.shutdown_command -> unit
include Eio.Flow.Pi.SOURCE with type t := t
val read_methods : t Eio.Flow.read_method list
val single_read : t -> Cstruct.t -> int
include Eio.Flow.Pi.SINK with type t := t
val single_write : t -> Cstruct.t list -> int
val copy : t -> src:_ Eio.Flow.source -> unit

copy t ~src allows for optimising copy operations.

If you have no optimisations, you can use simple_copy to implement this using single_write.

val close : t -> unit
val send_msg : t -> fds:Fd.t list -> Cstruct.t list -> int
val recv_msg_with_fds : t -> sw:Eio.Std.Switch.t -> max_fds:int -> Cstruct.t list -> int * Fd.t list
val fd : t -> Fd.t