Module type Pi.WRITE

include Flow.Pi.SINK
type t
val single_write : t -> Cstruct.t list -> int
val copy : t -> src:_ 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.

include READ with type t := t
include Flow.Pi.SOURCE with type t := t
val read_methods : t Flow.read_method list
val single_read : t -> Cstruct.t -> int
val pread : t -> file_offset:Optint.Int63.t -> Cstruct.t list -> int
val stat : t -> Stat.t
val seek : t -> Optint.Int63.t -> [ `Set | `Cur | `End ] -> Optint.Int63.t
val close : t -> unit
val pwrite : t -> file_offset:Optint.Int63.t -> Cstruct.t list -> int
val sync : t -> unit
val truncate : t -> Optint.Int63.t -> unit