protocol-9p

An implementation of the 9P protocol in pure OCaml
Library protocol_9p
Module Protocol_9p . Server . Make

Parameters

module Log : sig ... end
module Filesystem : sig ... end

Signature

type t

An established connection to a 9P client

val connect : Filesystem.t -> FLOW.flow -> ?msize:int32 -> ?exn_converter:exn_converter -> unit -> ( t, [ `Msg of string ] ) Result.result Lwt.t

Establish a fresh connection to a 9P client. msize gives the maximum message size we support: the client may request a lower value. receive_cb will be called with every 9P request.

val get_info : t -> Protocol_9p__Protocol_9p_info.t

Return information about the current connection

val disconnect : t -> unit Lwt.t

disconnect connection causes the connection connection to close after the next message is processed. Once the connection has been disconnected, the returned thread will resolve.

val after_disconnect : t -> unit Lwt.t

after_disconnect connection resolves after connection has disconnected.