Source file persistent.ml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
[@@@ocaml.warning "-27-32-37-60"]
type ro = Capnp.Message.ro
type rw = Capnp.Message.rw
module type S = sig
module MessageWrapper : Capnp.RPC.S
type 'cap message_t = 'cap MessageWrapper.Message.t
type 'a reader_t = 'a MessageWrapper.StructStorage.reader_t
type 'a builder_t = 'a MessageWrapper.StructStorage.builder_t
module Reader : sig
type array_t
type builder_array_t
type pointer_t = ro MessageWrapper.Slice.t option
val of_pointer : pointer_t -> 'a reader_t
module Persistent : sig
type t = [`Persistent_c8cb212fcd9f5691]
module SaveParams : sig
type struct_t = [`SaveParams_f76fba59183073a5]
type t = struct_t reader_t
val seal_for_get : t -> pointer_t
val seal_for_get_interface : t -> 'a MessageWrapper.Capability.t option
val of_message : 'cap message_t -> t
val of_builder : struct_t builder_t -> t
end
module SaveResults : sig
type struct_t = [`SaveResults_b76848c18c40efbf]
type t = struct_t reader_t
val sturdy_ref_get : t -> pointer_t
val sturdy_ref_get_interface : t -> 'a MessageWrapper.Capability.t option
val of_message : 'cap message_t -> t
val of_builder : struct_t builder_t -> t
end
module Save : sig
end
end
end
module Builder : sig
type array_t = Reader.builder_array_t
type reader_array_t = Reader.array_t
type pointer_t = rw MessageWrapper.Slice.t
module Persistent : sig
type t = [`Persistent_c8cb212fcd9f5691]
module SaveParams : sig
type struct_t = [`SaveParams_f76fba59183073a5]
type t = struct_t builder_t
val seal_for_get : t -> pointer_t
val seal_for_get_interface : t -> 'a MessageWrapper.Capability.t option
val seal_for_set : t -> pointer_t -> pointer_t
val seal_for_set_reader : t -> Reader.pointer_t -> pointer_t
val seal_for_set_interface : t -> 'a MessageWrapper.Capability.t option -> unit
val of_message : rw message_t -> t
val to_message : t -> rw message_t
val to_reader : t -> struct_t reader_t
val init_root : ?message_size:int -> unit -> t
val init_pointer : pointer_t -> t
end
module SaveResults : sig
type struct_t = [`SaveResults_b76848c18c40efbf]
type t = struct_t builder_t
val sturdy_ref_get : t -> pointer_t
val sturdy_ref_get_interface : t -> 'a MessageWrapper.Capability.t option
val sturdy_ref_set : t -> pointer_t -> pointer_t
val sturdy_ref_set_reader : t -> Reader.pointer_t -> pointer_t
val sturdy_ref_set_interface : t -> 'a MessageWrapper.Capability.t option -> unit
val of_message : rw message_t -> t
val to_message : t -> rw message_t
val to_reader : t -> struct_t reader_t
val init_root : ?message_size:int -> unit -> t
val init_pointer : pointer_t -> t
end
module Save : sig
end
end
end
end
module MakeRPC(MessageWrapper : Capnp.RPC.S) = struct
type 'a reader_t = 'a MessageWrapper.StructStorage.reader_t
type 'a builder_t = 'a MessageWrapper.StructStorage.builder_t
module CamlBytes = Bytes
module DefaultsMessage_ = Capnp.BytesMessage
let _builder_defaults_message =
let message_segments = [
Bytes.unsafe_of_string "\
";
] in
DefaultsMessage_.Message.readonly
(DefaultsMessage_.Message.of_storage message_segments)
let invalid_msg = Capnp.Message.invalid_msg
include Capnp.Runtime.BuilderInc.Make(MessageWrapper)
type 'cap message_t = 'cap MessageWrapper.Message.t
module DefaultsCopier_ =
Capnp.Runtime.BuilderOps.Make(Capnp.BytesMessage)(MessageWrapper)
let _reader_defaults_message =
MessageWrapper.Message.create
(DefaultsMessage_.Message.total_size _builder_defaults_message)
module Reader = struct
type array_t = ro MessageWrapper.ListStorage.t
type builder_array_t = rw MessageWrapper.ListStorage.t
type pointer_t = ro MessageWrapper.Slice.t option
let of_pointer = RA_.deref_opt_struct_pointer
module Persistent = struct
type t = [`Persistent_c8cb212fcd9f5691]
module SaveParams = struct
type struct_t = [`SaveParams_f76fba59183073a5]
type t = struct_t reader_t
let seal_for_get x =
RA_.get_pointer x 0
let seal_for_get_interface x =
RA_.get_interface x 0
let of_message x = RA_.get_root_struct (RA_.Message.readonly x)
let of_builder x = Some (RA_.StructStorage.readonly x)
end
module SaveResults = struct
type struct_t = [`SaveResults_b76848c18c40efbf]
type t = struct_t reader_t
let sturdy_ref_get x =
RA_.get_pointer x 0
let sturdy_ref_get_interface x =
RA_.get_interface x 0
let of_message x = RA_.get_root_struct (RA_.Message.readonly x)
let of_builder x = Some (RA_.StructStorage.readonly x)
end
module Save = struct
end
end
end
module Builder = struct
type array_t = Reader.builder_array_t
type reader_array_t = Reader.array_t
type pointer_t = rw MessageWrapper.Slice.t
module Persistent = struct
type t = [`Persistent_c8cb212fcd9f5691]
module SaveParams = struct
type struct_t = [`SaveParams_f76fba59183073a5]
type t = struct_t builder_t
let seal_for_get x =
BA_.get_pointer x 0
let seal_for_get_interface x =
BA_.get_interface x 0
let seal_for_set x v =
BA_.set_pointer x 0 (Some v)
let seal_for_set_reader x v =
BA_.set_pointer x 0 v
let seal_for_set_interface x v =
BA_.set_interface x 0 v
let of_message x = BA_.get_root_struct ~data_words:0 ~pointer_words:1 x
let to_message x = x.BA_.NM.StructStorage.data.MessageWrapper.Slice.msg
let to_reader x = Some (RA_.StructStorage.readonly x)
let init_root ?message_size () =
BA_.alloc_root_struct ?message_size ~data_words:0 ~pointer_words:1 ()
let init_pointer ptr =
BA_.init_struct_pointer ptr ~data_words:0 ~pointer_words:1
end
module SaveResults = struct
type struct_t = [`SaveResults_b76848c18c40efbf]
type t = struct_t builder_t
let sturdy_ref_get x =
BA_.get_pointer x 0
let sturdy_ref_get_interface x =
BA_.get_interface x 0
let sturdy_ref_set x v =
BA_.set_pointer x 0 (Some v)
let sturdy_ref_set_reader x v =
BA_.set_pointer x 0 v
let sturdy_ref_set_interface x v =
BA_.set_interface x 0 v
let of_message x = BA_.get_root_struct ~data_words:0 ~pointer_words:1 x
let to_message x = x.BA_.NM.StructStorage.data.MessageWrapper.Slice.msg
let to_reader x = Some (RA_.StructStorage.readonly x)
let init_root ?message_size () =
BA_.alloc_root_struct ?message_size ~data_words:0 ~pointer_words:1 ()
let init_pointer ptr =
BA_.init_struct_pointer ptr ~data_words:0 ~pointer_words:1
end
module Save = struct
end
end
end
module Client = struct
module Persistent = struct
type t = [`Persistent_c8cb212fcd9f5691]
let interface_id = Stdint.Uint64.of_string "0xc8cb212fcd9f5691"
module Save = struct
module Params = Builder.Persistent.SaveParams
module Results = Reader.Persistent.SaveResults
let method_id : (t, Params.t, Results.t) Capnp.RPC.MethodID.t =
Capnp.RPC.MethodID.v ~interface_id ~method_id:0
end
let method_name = function
| 0 -> Some "save"
| _ -> None
let () = Capnp.RPC.Registry.register ~interface_id ~name:"Persistent" method_name
end
end
module Service = struct
module Persistent = struct
type t = [`Persistent_c8cb212fcd9f5691]
let interface_id = Stdint.Uint64.of_string "0xc8cb212fcd9f5691"
module Save = struct
module Params = Reader.Persistent.SaveParams
module Results = Builder.Persistent.SaveResults
end
class virtual service = object (self)
method release = ()
method dispatch ~interface_id:i ~method_id =
if i <> interface_id then MessageWrapper.Untyped.unknown_interface ~interface_id:i
else match method_id with
| 0 -> MessageWrapper.Untyped.abstract_method self#save_impl
| x -> MessageWrapper.Untyped.unknown_method ~interface_id ~method_id
method pp f = Format.pp_print_string f "Persistent"
method virtual save_impl : (Save.Params.t, Save.Results.t) MessageWrapper.Service.method_t
end
let local (service:#service) =
MessageWrapper.Untyped.local service
end
end
module MessageWrapper = MessageWrapper
end
module Make(M:Capnp.MessageSig.S) = MakeRPC(Capnp.RPC.None(M))