Protocol_9p.Request
Parsers and printers for all 9P request messages.
module Version : sig ... end
module Auth : sig ... end
module Flush : sig ... end
module Attach : sig ... end
module Walk : sig ... end
module Open : sig ... end
module Create : sig ... end
module Read : sig ... end
module Write : sig ... end
module Clunk : sig ... end
module Remove : sig ... end
module Stat : sig ... end
module Wstat : sig ... end
type payload =
| Version of Version.t |
| Auth of Auth.t |
| Flush of Flush.t |
| Attach of Attach.t |
| Walk of Walk.t |
| Open of Open.t |
| Create of Create.t |
| Read of Read.t |
| Write of Write.t |
| Clunk of Clunk.t |
| Remove of Remove.t |
| Stat of Stat.t |
| Wstat of Wstat.t |
A variant type containing all possible request payloads
val sexp_of_payload : payload -> Ppx_sexp_conv_lib.Sexp.t
val payload_of_sexp : Ppx_sexp_conv_lib.Sexp.t -> payload
type t = {
tag : Protocol_9p__Protocol_9p_types.Tag.t; | (* The tag used to match the response with the original request *) |
payload : payload; |
}
A 9P protocol request
val sizeof : t -> int
The size of a buffer needed to hold t
val read : Cstruct.t -> (t * Cstruct.t, [ `Msg of string ]) Stdlib.result
Read a t
from the given buffer and return it, along with the unused remainder of the buffer. If the buffer cannot be parsed then return an error.
val write : t -> Cstruct.t -> (Cstruct.t, [ `Msg of string ]) Stdlib.result
Write a t
into the given buffer. If the buffer is too small, then return an error. Return the unused remainder of the buffer.
val pp : t Fmt.t
pp
formats request.