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 write : Iovec.t -> tag:Tag.t -> msize:int -> version:string -> int
write iov
writes a Tversion message into iov
, and returns the remaining space.