Module Libp2p_ipc.Build

DSL for building capnp messages.

module type Struct_builder_intf = sig ... end
type 'a op = ( Capnp__MessageSig.rw, 'a ) Capnp.RPC.None(Capnp.BytesMessage).StructStorage.t -> unit
val noop : 'a op
val op : ( ( Capnp__MessageSig.rw, 'a ) Capnp.RPC.None(Capnp.BytesMessage).StructStorage.t -> 'b -> unit ) -> 'b -> 'a op
val list_op : ( ( Capnp__MessageSig.rw, 'a ) Capnp.RPC.None(Capnp.BytesMessage).StructStorage.t -> 'b list -> ( 'cap, 'b, Libp2p_ipc__Libp2p_ipc_capnp.MakeRPC(Capnp.RPC.None(Capnp.BytesMessage)).Reader.builder_array_t ) Capnp.Array.t ) -> 'b list -> 'a op
val reader_op : ( ( Capnp__MessageSig.rw, 'a ) Capnp.RPC.None(Capnp.BytesMessage).StructStorage.t -> ( Capnp__MessageSig.ro, 'b ) Capnp.RPC.None(Capnp.BytesMessage).StructStorage.t option -> ( Capnp__MessageSig.rw, 'b ) Capnp.RPC.None(Capnp.BytesMessage).StructStorage.t ) -> ( Capnp__MessageSig.ro, 'b ) Capnp.RPC.None(Capnp.BytesMessage).StructStorage.t option -> 'a op
val builder_op : ( ( Capnp__MessageSig.rw, 'a ) Capnp.RPC.None(Capnp.BytesMessage).StructStorage.t -> ( Capnp__MessageSig.rw, 'b ) Capnp.RPC.None(Capnp.BytesMessage).StructStorage.t -> ( Capnp__MessageSig.rw, 'b ) Capnp.RPC.None(Capnp.BytesMessage).StructStorage.t ) -> ( Capnp__MessageSig.rw, 'b ) Capnp.RPC.None(Capnp.BytesMessage).StructStorage.t -> 'a op
val optional : ( ( ( Capnp__MessageSig.rw, 'a ) Capnp.RPC.None(Capnp.BytesMessage).StructStorage.t -> 'b -> 'c ) -> 'b -> 'a op ) -> ( ( Capnp__MessageSig.rw, 'a ) Capnp.RPC.None(Capnp.BytesMessage).StructStorage.t -> 'b -> 'c ) -> 'b option -> 'a op
val (*>) : 'a op -> 'a op -> 'a op
val build' : (module Struct_builder_intf with type struct_t = 'a) -> 'a op -> ( Capnp__MessageSig.rw, 'a ) Capnp.RPC.None(Capnp.BytesMessage).StructStorage.t
val build : (module Struct_builder_intf with type struct_t = 'a) -> 'a op -> ( Capnp__MessageSig.ro, 'a ) Capnp.RPC.None(Capnp.BytesMessage).StructStorage.t option