package async_extra

  1. Overview
  2. Docs

This module implements a RPC transport optimized for low-latency.

module Config : sig ... end

All the following create functions take a max_message_size argument in addition to a Config.t. The final max_message_size will be the min of both.

The rationale for this is that max_message_size is more a property of the protocol and should be specified by the programmer, while other configuration parameters are for tuning purposes.

module Reader : sig ... end
module Writer : sig ... end
include module type of struct include Async_rpc_kernel.Rpc.Transport end with module Reader := Async_rpc_kernel.Rpc.Transport.Reader with module Writer := Async_rpc_kernel.Rpc.Transport.Writer

Binary headers containing message lengths. All transports should use this to ensure binary compatibility.

val sexp_of_t : t -> Ppx_sexp_conv_lib.Sexp.t
val close : t -> unit Async_kernel.Deferred.t

Closes both parts of the transport.

val create : ?config:Config.t -> max_message_size:int -> Async_unix.Fd.t -> t