val let* :
('a, 'b) Stdlib.result ->
('a -> ('c, 'b) Stdlib.result) ->
('c, 'b) Stdlib.result
module type Intf = sig ... end
type t =
| Driver : {
driver : (module Intf with type config = 'config and type state = 'state);
config : 'config;
} -> t
type 'ctx state = {
connection_manager_pid : Riot.Pid.t;
driver : t;
requester_pid : Riot.Pid.t;
}
val start_link :
'a state ->
(Riot.Pid.t,
[> `Closed
| `Connection_closed
| `Eof
| `Exn of exn
| `Msg of string
| `No_info
| `Noop
| `Process_down
| `Timeout
| `Unix_error of Unix.error
| `Would_block ])
Stdlib.result
val child_spec : Riot.Pid.t -> Riot.Pid.t -> t -> Riot.Supervisor.child_spec
val deserialize :
t ->
'a Serde.De.t ->
bytes ->
('a0, Serde.error) Stdlib.result