Platform-independent core of Async RPC library
type 'a t
val write : 'a t -> 'a -> [ `Flushed of unit Async_kernel.Deferred.t | `Closed ]

write t x returns `Closed if t is closed, or `Flushed d if it is open. In the open case, d is determined when the message has been flushed from the underlying Transport.Writer.t.

val write_without_pushback : 'a t -> 'a -> [ `Ok | `Closed ]
val close : _ t -> unit
val closed : _ t -> unit Async_kernel.Deferred.t
val is_closed : _ t -> bool
module Expert : sig ... end
module Group : sig ... end

Group of direct writers. Groups are optimized for sending the same message to multiple clients at once.