Module Rpc.Implementation
A 'connection_state Implementation.t
is something that knows how to respond to one query, given a 'connection_state
. That is, you can create a 'connection_state
Implementation.t
by providing a function which takes a query *and* a 'connection_state
and provides a response.
The reason for this is that RPCs often do something like look something up in a master structure. This way, Implementation.t
s can be created without having the master structure in your hands.
type 'connection_state t
val description : _ t -> Async_rpc_kernel__Rpc.Description.t
val lift : 'a t -> f:('b -> 'a ) -> 'b t
We may want to use an 'a t
implementation (perhaps provided by someone else) in a 'b t
context. We can do this as long as we can map our state into the state expected by the original implementer.