this repo has no description
1open Capnp_rpc
2
3let v sr connect =
4 let module X = Raw.Service.User in
5 Capnp_rpc.Persistence.with_sturdy_ref sr X.local
6 @@ object
7 inherit X.service
8
9 method connect_impl params release_param_caps =
10 let open X.Connect in
11 let config =
12 Params.config_get params |> Yojson.Safe.from_string
13 |> Config.of_yojson |> Result.get_ok
14 in
15 release_param_caps ();
16 let cap = connect config in
17 let response, results = Service.Response.create Results.init_pointer in
18 Results.cap_set results (Some cap);
19 Capability.dec_ref cap;
20 Service.return response
21 end
22
23module X = Raw.Client.User
24
25type t = X.t Capability.t
26
27let connect t config =
28 let open X.Connect in
29 let request, params = Capability.Request.create Params.init_pointer in
30 Params.config_set params (Config.to_yojson config |> Yojson.Safe.to_string);
31 Capability.call_for_caps t method_id request Results.cap_get_pipelined