Module Proto.Rversion

An Rversion response indicates the 9P version and max message size the server will use. The client must abide by these values.

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 version : t -> Iovec.t

The 9P protocol version. Must start with the string 9P2000. This implementation supports both 9P2000 and the 9P2000.u extensions for Unix.

val msize : t -> int

The maximum supported message size. The server's response must be less than or equal to the client's proposed msize.

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