this repo has no description
8
fork

Configure Feed

Select the types of activity you want to include in your feed.

Start to clean-up the client code a bit

+95 -87
+1
mvp/ocaml/bellairs.ml
··· 1 1 include Bellairs_intf 2 + module API = API
+1
mvp/ocaml/bellairs.mli
··· 1 1 include Bellairs_intf.Sigs 2 + module API = API
-84
mvp/ocaml/client/client.ml
··· 1 1 open Capnp_rpc.Std 2 2 open Eio.Std 3 - module API = Schema.Storage.MakeRPC (Capnp_rpc) 4 - 5 - module Storage : 6 - Bellairs.Storage 7 - with type file = API.Client.File.t Capability.t 8 - and type dir = API.Client.Directory.t Capability.t = struct 9 - type file = API.Client.File.t Capability.t 10 - type dir = API.Client.Directory.t Capability.t 11 - type entry = { name : string; file : file } 12 - 13 - let entry r = 14 - let name = API.Reader.Directory.Entry.name_get r in 15 - let file = API.Reader.Directory.Entry.file_get r in 16 - match file with 17 - | Some file -> { name; file } 18 - | None -> failwith "missing entry.file" 19 - 20 - let list t = 21 - let open API.Client.Directory.List in 22 - let request = Capability.Request.create_no_args () in 23 - let results = Capability.call_for_value_exn t method_id request in 24 - let entries = Results.entries_get_list results in 25 - List.map entry entries 26 - 27 - let create t name = 28 - let open API.Client.Directory.Create in 29 - let request, params = Capability.Request.create Params.init_pointer in 30 - Params.name_set params name; 31 - let results = Capability.call_for_value_exn t method_id request in 32 - match Results.file_get results with 33 - | Some file -> file 34 - | None -> failwith "Storage.create: no file returned" 35 - 36 - let open_ t name = 37 - let open API.Client.Directory.Open in 38 - let request, params = Capability.Request.create Params.init_pointer in 39 - Params.name_set params name; 40 - Capability.call_for_caps t method_id request Results.file_get_pipelined 41 - 42 - let delete t name = 43 - let open API.Client.Directory.Delete in 44 - let request, params = Capability.Request.create Params.init_pointer in 45 - Params.name_set params name; 46 - let _ = Capability.call_for_value_exn t method_id request in 47 - () 48 - 49 - let size t = 50 - let open API.Client.File.Size in 51 - let request = Capability.Request.create_no_args () in 52 - let results = Capability.call_for_value_exn t method_id request in 53 - Stdint.Int64.of_uint64 (Results.size_get results) 54 - 55 - let read ?off ?len t = 56 - let open API.Client.File.Read in 57 - let request, params = Capability.Request.create Params.init_pointer in 58 - let () = 59 - match off with 60 - | None -> () 61 - | Some off -> Params.off_set params (Stdint.Int64.to_uint64 off) 62 - in 63 - let () = 64 - match len with 65 - | None -> () 66 - | Some len -> Params.len_set params (Stdint.Int64.to_uint64 len) 67 - in 68 - let results = Capability.call_for_value_exn t method_id request in 69 - Results.data_get results 70 - 71 - let write ?off ?len t d = 72 - let open API.Client.File.Write in 73 - let request, params = Capability.Request.create Params.init_pointer in 74 - let () = 75 - match off with 76 - | None -> () 77 - | Some off -> Params.off_set params (Stdint.Int64.to_uint64 off) 78 - in 79 - let () = 80 - match len with 81 - | None -> () 82 - | Some len -> Params.len_set params (Stdint.Int64.to_uint64 len) 83 - in 84 - Params.data_set params d; 85 - Capability.call_for_unit_exn t method_id request 86 - end 87 3 88 4 let connect net uri f = 89 5 Switch.run @@ fun sw ->
+80
mvp/ocaml/client/storage.ml
··· 1 + open Capnp_rpc 2 + open Bellairs 3 + 4 + type file = API.Client.File.t Capability.t 5 + type dir = API.Client.Directory.t Capability.t 6 + type entry = { name : string; file : file } 7 + 8 + let entry r = 9 + let name = API.Reader.Directory.Entry.name_get r in 10 + let file = API.Reader.Directory.Entry.file_get r in 11 + match file with 12 + | Some file -> { name; file } 13 + | None -> failwith "missing entry.file" 14 + 15 + let list t = 16 + let open API.Client.Directory.List in 17 + let request = Capability.Request.create_no_args () in 18 + let results = Capability.call_for_value_exn t method_id request in 19 + let entries = Results.entries_get_list results in 20 + List.map entry entries 21 + 22 + let create t name = 23 + let open API.Client.Directory.Create in 24 + let request, params = Capability.Request.create Params.init_pointer in 25 + Params.name_set params name; 26 + let results = Capability.call_for_value_exn t method_id request in 27 + match Results.file_get results with 28 + | Some file -> file 29 + | None -> failwith "Storage.create: no file returned" 30 + 31 + let open_ t name = 32 + let open API.Client.Directory.Open in 33 + let request, params = Capability.Request.create Params.init_pointer in 34 + Params.name_set params name; 35 + Capability.call_for_caps t method_id request Results.file_get_pipelined 36 + 37 + let delete t name = 38 + let open API.Client.Directory.Delete in 39 + let request, params = Capability.Request.create Params.init_pointer in 40 + Params.name_set params name; 41 + let _ = Capability.call_for_value_exn t method_id request in 42 + () 43 + 44 + let size t = 45 + let open API.Client.File.Size in 46 + let request = Capability.Request.create_no_args () in 47 + let results = Capability.call_for_value_exn t method_id request in 48 + Stdint.Int64.of_uint64 (Results.size_get results) 49 + 50 + let read ?off ?len t = 51 + let open API.Client.File.Read in 52 + let request, params = Capability.Request.create Params.init_pointer in 53 + let () = 54 + match off with 55 + | None -> () 56 + | Some off -> Params.off_set params (Stdint.Int64.to_uint64 off) 57 + in 58 + let () = 59 + match len with 60 + | None -> () 61 + | Some len -> Params.len_set params (Stdint.Int64.to_uint64 len) 62 + in 63 + let results = Capability.call_for_value_exn t method_id request in 64 + Results.data_get results 65 + 66 + let write ?off ?len t d = 67 + let open API.Client.File.Write in 68 + let request, params = Capability.Request.create Params.init_pointer in 69 + let () = 70 + match off with 71 + | None -> () 72 + | Some off -> Params.off_set params (Stdint.Int64.to_uint64 off) 73 + in 74 + let () = 75 + match len with 76 + | None -> () 77 + | Some len -> Params.len_set params (Stdint.Int64.to_uint64 len) 78 + in 79 + Params.data_set params d; 80 + Capability.call_for_unit_exn t method_id request
+7
mvp/ocaml/client/storage.mli
··· 1 + open Capnp_rpc 2 + open Bellairs.API.Client 3 + 4 + include 5 + Bellairs.Storage 6 + with type file = File.t Capability.t 7 + and type dir = Directory.t Capability.t
+1 -1
mvp/ocaml/dune
··· 1 1 (library 2 2 (name bellairs) 3 - (libraries schema)) 3 + (libraries schema capnp-rpc))
mvp/ocaml/server/API.ml mvp/ocaml/API.ml
+2 -1
mvp/ocaml/server/directory.mli
··· 1 - open Capnp_rpc.Std 1 + open Capnp_rpc 2 + open Bellairs 2 3 3 4 val local : Impl.dir -> API.Service.Directory.t Capability.t
+1
mvp/ocaml/server/file.ml
··· 1 1 open Capnp_rpc.Std 2 + open Bellairs 2 3 3 4 let int64_of_uint64 n = 4 5 match Stdint.Int64.of_uint64 n with -1L -> None | i -> Some i
+2 -1
mvp/ocaml/server/file.mli
··· 1 - open Capnp_rpc.Std 1 + open Capnp_rpc 2 + open Bellairs 2 3 3 4 val local : Impl.file -> API.Service.File.t Capability.t