Iobuf.BlitBlit copies between iobufs and advances neither src nor dst.
Blit.S1_permissions defines the type parameters in reverse order!
include Core_kernel.Blit.S1_permissions with type ('seek, 'rw) t := ('rw, 'seek) tval blit : (([> Core_kernel.Perms.Export.read ], 'a) t, ([> Core_kernel.Perms.Export.write ], 'a) t) Base.Blit.blitval blito : (([> Core_kernel.Perms.Export.read ], 'a) t, ([> Core_kernel.Perms.Export.write ], 'a) t) Base.Blit.blitoval unsafe_blit : (([> Core_kernel.Perms.Export.read ], 'a) t, ([> Core_kernel.Perms.Export.write ], 'a) t) Base.Blit.blitval sub : ([> Core_kernel.read ], _) t -> pos:int -> len:int -> (_, _) tOverride types of sub and subo to allow return type to have seek/no_seek as needed.
val subo : ?pos:int -> ?len:int -> ([> Core_kernel.read ], _) t -> (_, _) tval blit_maximal : src:([> Core_kernel.read ], _) t -> ?src_pos:int -> dst:([> Core_kernel.write ], _) t ->
?dst_pos:int -> unit -> intCopies as much as possible (returning the number of bytes copied) without running out of either buffer's window.