Module Proto.Rclunk

Rclunk acknowledges a file closure. Most clients will expect a successful Rclunk to indicate that any cached or buffered data has been flushed to persistent storage, analagous to the close(2) system call. If the file was created with the ORCLOSE flag, it is removed.

include module type of Rflush
type t
val size : t -> int

The size of this message in bytes. It is identical to the length of the underlying I/O vector but is also encoded in the first 4 bytes of the message.

val code : int

The op code for this message.

val tag : t -> Tag.t

An identifier for this transaction. All in-flight requests on a given connection must have unique tags.

val of_iovec : Iovec.t -> t

of_iovec verifies a message from an I/O vector. No copying is done, and of_iovec only performs bounds checks. Modifying the underlying I/O vector will change the results when accessing message fields.

val alloc : Iovec.ring -> t
val commit : t -> tag:Tag.t -> int