datawire_mdk 2.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/lib/datawire-quark-core.rb +1213 -0
- data/lib/datawire_mdk_md.rb +54752 -0
- data/lib/mdk.rb +962 -0
- data/lib/mdk_discovery.rb +1518 -0
- data/lib/mdk_discovery/protocol.rb +818 -0
- data/lib/mdk_discovery/synapse.rb +267 -0
- data/lib/mdk_introspection.rb +281 -0
- data/lib/mdk_introspection/aws.rb +101 -0
- data/lib/mdk_introspection/kubernetes.rb +125 -0
- data/lib/mdk_protocol.rb +1255 -0
- data/lib/mdk_runtime.rb +2135 -0
- data/lib/mdk_runtime/actors.rb +457 -0
- data/lib/mdk_runtime/files.rb +575 -0
- data/lib/mdk_runtime/promise.rb +814 -0
- data/lib/mdk_tracing.rb +369 -0
- data/lib/mdk_tracing/api.rb +188 -0
- data/lib/mdk_tracing/protocol.rb +850 -0
- data/lib/mdk_util.rb +141 -0
- data/lib/quark.rb +3684 -0
- data/lib/quark/behaviors.rb +494 -0
- data/lib/quark/concurrent.rb +1250 -0
- data/lib/quark/error.rb +84 -0
- data/lib/quark/logging.rb +278 -0
- data/lib/quark/mock.rb +1223 -0
- data/lib/quark/os.rb +286 -0
- data/lib/quark/reflect.rb +489 -0
- data/lib/quark/spi.rb +130 -0
- data/lib/quark/spi_api.rb +489 -0
- data/lib/quark/spi_api_tracing.rb +1426 -0
- data/lib/quark/test.rb +766 -0
- metadata +142 -0
@@ -0,0 +1,818 @@
|
|
1
|
+
# Quark 1.0.406 run at 2016-08-31 13:21:53.028839
|
2
|
+
module Quark
|
3
|
+
require "quark"
|
4
|
+
def self.mdk_discovery; MdkDiscovery; end
|
5
|
+
module MdkDiscovery
|
6
|
+
def self.protocol; Protocol; end
|
7
|
+
module Protocol
|
8
|
+
require "datawire-quark-core"
|
9
|
+
require_relative '../quark/reflect' # 0 ('quark',) ('mdk_discovery',)
|
10
|
+
require_relative '../mdk_discovery' # 0 () ('mdk_discovery',)
|
11
|
+
require_relative '../mdk_runtime/actors' # 0 ('mdk_runtime',) ('mdk_discovery',)
|
12
|
+
require_relative '../mdk_runtime' # 0 () ('mdk_discovery',)
|
13
|
+
require_relative '../datawire_mdk_md' # 0 () ('mdk_discovery',)
|
14
|
+
require_relative '../mdk_protocol' # 0 () ('mdk_discovery',)
|
15
|
+
require_relative '../quark' # 0 () ('mdk_discovery',)
|
16
|
+
|
17
|
+
|
18
|
+
def self.DiscoClientFactory; DiscoClientFactory; end
|
19
|
+
##
|
20
|
+
# Create a Discovery service client using standard MDK env variables and
|
21
|
+
# register it with the MDK.
|
22
|
+
#
|
23
|
+
|
24
|
+
class DiscoClientFactory < ::DatawireQuarkCore::QuarkObject
|
25
|
+
attr_accessor :token
|
26
|
+
extend ::DatawireQuarkCore::Static
|
27
|
+
|
28
|
+
static mdk_discovery_protocol_DiscoClientFactory_ref: -> { nil }
|
29
|
+
|
30
|
+
|
31
|
+
|
32
|
+
def initialize(token)
|
33
|
+
|
34
|
+
self.__init_fields__
|
35
|
+
(self).token = token
|
36
|
+
|
37
|
+
nil
|
38
|
+
end
|
39
|
+
|
40
|
+
|
41
|
+
|
42
|
+
|
43
|
+
def create(subscriber, runtime)
|
44
|
+
|
45
|
+
ddu = runtime.getEnvVarsService().var("MDK_DISCOVERY_URL")
|
46
|
+
url = ddu.orElseGet("wss://discovery.datawire.io/ws/v1")
|
47
|
+
return ::Quark.mdk_discovery.protocol.DiscoClient.new(subscriber, @token, url, runtime)
|
48
|
+
|
49
|
+
nil
|
50
|
+
end
|
51
|
+
|
52
|
+
def isRegistrar()
|
53
|
+
|
54
|
+
return true
|
55
|
+
|
56
|
+
nil
|
57
|
+
end
|
58
|
+
|
59
|
+
def _getClass()
|
60
|
+
|
61
|
+
return "mdk_discovery.protocol.DiscoClientFactory"
|
62
|
+
|
63
|
+
nil
|
64
|
+
end
|
65
|
+
|
66
|
+
def _getField(name)
|
67
|
+
|
68
|
+
if ((name) == ("token"))
|
69
|
+
return (self).token
|
70
|
+
end
|
71
|
+
return nil
|
72
|
+
|
73
|
+
nil
|
74
|
+
end
|
75
|
+
|
76
|
+
def _setField(name, value)
|
77
|
+
|
78
|
+
if ((name) == ("token"))
|
79
|
+
(self).token = ::DatawireQuarkCore.cast(value) { ::String }
|
80
|
+
end
|
81
|
+
|
82
|
+
nil
|
83
|
+
end
|
84
|
+
|
85
|
+
def __init_fields__()
|
86
|
+
|
87
|
+
self.token = nil
|
88
|
+
|
89
|
+
nil
|
90
|
+
end
|
91
|
+
|
92
|
+
|
93
|
+
end
|
94
|
+
DiscoClientFactory.unlazy_statics
|
95
|
+
|
96
|
+
def self.DiscoClient; DiscoClient; end
|
97
|
+
##
|
98
|
+
# A source of discovery information that talks to Datawire Discovery server.
|
99
|
+
#
|
100
|
+
# Also supports registering discovery information with the server.
|
101
|
+
#
|
102
|
+
|
103
|
+
class DiscoClient < ::Quark.mdk_protocol.WSClient
|
104
|
+
attr_accessor :_started, :_token, :_url, :_failurePolicyFactory, :_dispatcher, :_subscriber, :registered, :dlog
|
105
|
+
extend ::DatawireQuarkCore::Static
|
106
|
+
|
107
|
+
static mdk_discovery_protocol_DiscoClient_ref: -> { nil }
|
108
|
+
|
109
|
+
|
110
|
+
|
111
|
+
def initialize(subscriber, token, url, runtime)
|
112
|
+
|
113
|
+
super(runtime)
|
114
|
+
(self)._subscriber = subscriber
|
115
|
+
(self)._failurePolicyFactory = ::DatawireQuarkCore.cast((runtime).dependencies.getService("failurepolicy_factory")) { ::Quark.mdk_discovery.FailurePolicyFactory }
|
116
|
+
(self)._token = token
|
117
|
+
(self)._url = url
|
118
|
+
|
119
|
+
nil
|
120
|
+
end
|
121
|
+
|
122
|
+
|
123
|
+
|
124
|
+
|
125
|
+
def onStart(dispatcher)
|
126
|
+
|
127
|
+
(self)._dispatcher = dispatcher
|
128
|
+
(self)._started = true
|
129
|
+
method(:onStart).super_method.call(dispatcher)
|
130
|
+
|
131
|
+
nil
|
132
|
+
end
|
133
|
+
|
134
|
+
def onStop()
|
135
|
+
|
136
|
+
(self)._started = false
|
137
|
+
method(:onStop).super_method.call()
|
138
|
+
|
139
|
+
nil
|
140
|
+
end
|
141
|
+
|
142
|
+
def onMessage(origin, message)
|
143
|
+
|
144
|
+
if (((::Quark.quark.reflect.QuarkClass.get(::DatawireQuarkCore._getClass(message))).id) == ("mdk_discovery.RegisterNode"))
|
145
|
+
register = ::DatawireQuarkCore.cast(message) { ::Quark.mdk_discovery.RegisterNode }
|
146
|
+
self._register((register).node)
|
147
|
+
return
|
148
|
+
end
|
149
|
+
method(:onMessage).super_method.call(origin, message)
|
150
|
+
|
151
|
+
nil
|
152
|
+
end
|
153
|
+
|
154
|
+
def url()
|
155
|
+
|
156
|
+
return (self)._url
|
157
|
+
|
158
|
+
nil
|
159
|
+
end
|
160
|
+
|
161
|
+
def token()
|
162
|
+
|
163
|
+
return (self)._token
|
164
|
+
|
165
|
+
nil
|
166
|
+
end
|
167
|
+
|
168
|
+
def isStarted()
|
169
|
+
|
170
|
+
return (self)._started
|
171
|
+
|
172
|
+
nil
|
173
|
+
end
|
174
|
+
|
175
|
+
##
|
176
|
+
# Register a node with the remote Discovery server.
|
177
|
+
|
178
|
+
def _register(node)
|
179
|
+
|
180
|
+
service = (node).service
|
181
|
+
if (!((@registered).key?(service)))
|
182
|
+
(@registered)[service] = (::Quark.mdk_discovery.Cluster.new((self)._failurePolicyFactory))
|
183
|
+
end
|
184
|
+
(@registered)[service].add(node)
|
185
|
+
if (self.isConnected())
|
186
|
+
self.active(node)
|
187
|
+
end
|
188
|
+
|
189
|
+
nil
|
190
|
+
end
|
191
|
+
|
192
|
+
def active(node)
|
193
|
+
|
194
|
+
active = ::Quark.mdk_discovery.protocol.Active.new()
|
195
|
+
(active).node = node
|
196
|
+
(active).ttl = (self).ttl
|
197
|
+
(self).dispatcher.tell(self, active.encode(), (self).sock)
|
198
|
+
@dlog.info(("active ") + (node.toString()))
|
199
|
+
|
200
|
+
nil
|
201
|
+
end
|
202
|
+
|
203
|
+
def expire(node)
|
204
|
+
|
205
|
+
expire = ::Quark.mdk_discovery.protocol.Expire.new()
|
206
|
+
(expire).node = node
|
207
|
+
(self).dispatcher.tell(self, expire.encode(), (self).sock)
|
208
|
+
@dlog.info(("expire ") + (node.toString()))
|
209
|
+
|
210
|
+
nil
|
211
|
+
end
|
212
|
+
|
213
|
+
def resolve(node)
|
214
|
+
|
215
|
+
nil
|
216
|
+
|
217
|
+
nil
|
218
|
+
end
|
219
|
+
|
220
|
+
def onActive(active)
|
221
|
+
|
222
|
+
(self)._dispatcher.tell(self, ::Quark.mdk_discovery.NodeActive.new((active).node), (self)._subscriber)
|
223
|
+
|
224
|
+
nil
|
225
|
+
end
|
226
|
+
|
227
|
+
def onExpire(expire)
|
228
|
+
|
229
|
+
(self)._dispatcher.tell(self, ::Quark.mdk_discovery.NodeExpired.new((expire).node), (self)._subscriber)
|
230
|
+
|
231
|
+
nil
|
232
|
+
end
|
233
|
+
|
234
|
+
def onClear(reset)
|
235
|
+
|
236
|
+
nil
|
237
|
+
|
238
|
+
nil
|
239
|
+
end
|
240
|
+
|
241
|
+
def startup()
|
242
|
+
|
243
|
+
self.heartbeat()
|
244
|
+
|
245
|
+
nil
|
246
|
+
end
|
247
|
+
|
248
|
+
def heartbeat()
|
249
|
+
|
250
|
+
services = ::DatawireQuarkCore::List.new(((self).registered).keys)
|
251
|
+
idx = 0
|
252
|
+
while ((idx) < ((services).size)) do
|
253
|
+
jdx = 0
|
254
|
+
nodes = (((self).registered)[(services)[idx]]).nodes
|
255
|
+
while ((jdx) < ((nodes).size)) do
|
256
|
+
self.active((nodes)[jdx])
|
257
|
+
jdx = (jdx) + (1)
|
258
|
+
end
|
259
|
+
idx = (idx) + (1)
|
260
|
+
end
|
261
|
+
|
262
|
+
nil
|
263
|
+
end
|
264
|
+
|
265
|
+
def shutdown()
|
266
|
+
|
267
|
+
services = ::DatawireQuarkCore::List.new(((self).registered).keys)
|
268
|
+
idx = 0
|
269
|
+
while ((idx) < ((services).size)) do
|
270
|
+
jdx = 0
|
271
|
+
nodes = (((self).registered)[(services)[idx]]).nodes
|
272
|
+
while ((jdx) < ((nodes).size)) do
|
273
|
+
self.expire((nodes)[jdx])
|
274
|
+
jdx = (jdx) + (1)
|
275
|
+
end
|
276
|
+
idx = (idx) + (1)
|
277
|
+
end
|
278
|
+
|
279
|
+
nil
|
280
|
+
end
|
281
|
+
|
282
|
+
def onWSMessage(message)
|
283
|
+
|
284
|
+
event = ::Quark.mdk_discovery.protocol.DiscoveryEvent.decode(message)
|
285
|
+
if ((event) == (nil))
|
286
|
+
return
|
287
|
+
end
|
288
|
+
event.dispatch(self)
|
289
|
+
|
290
|
+
nil
|
291
|
+
end
|
292
|
+
|
293
|
+
def _getClass()
|
294
|
+
|
295
|
+
return "mdk_discovery.protocol.DiscoClient"
|
296
|
+
|
297
|
+
nil
|
298
|
+
end
|
299
|
+
|
300
|
+
def _getField(name)
|
301
|
+
|
302
|
+
if ((name) == ("logger"))
|
303
|
+
return (self).logger
|
304
|
+
end
|
305
|
+
if ((name) == ("firstDelay"))
|
306
|
+
return (self).firstDelay
|
307
|
+
end
|
308
|
+
if ((name) == ("maxDelay"))
|
309
|
+
return (self).maxDelay
|
310
|
+
end
|
311
|
+
if ((name) == ("reconnectDelay"))
|
312
|
+
return (self).reconnectDelay
|
313
|
+
end
|
314
|
+
if ((name) == ("ttl"))
|
315
|
+
return (self).ttl
|
316
|
+
end
|
317
|
+
if ((name) == ("tick"))
|
318
|
+
return (self).tick
|
319
|
+
end
|
320
|
+
if ((name) == ("sock"))
|
321
|
+
return (self).sock
|
322
|
+
end
|
323
|
+
if ((name) == ("sockUrl"))
|
324
|
+
return (self).sockUrl
|
325
|
+
end
|
326
|
+
if ((name) == ("lastConnectAttempt"))
|
327
|
+
return (self).lastConnectAttempt
|
328
|
+
end
|
329
|
+
if ((name) == ("lastHeartbeat"))
|
330
|
+
return (self).lastHeartbeat
|
331
|
+
end
|
332
|
+
if ((name) == ("timeService"))
|
333
|
+
return (self).timeService
|
334
|
+
end
|
335
|
+
if ((name) == ("schedulingActor"))
|
336
|
+
return (self).schedulingActor
|
337
|
+
end
|
338
|
+
if ((name) == ("websockets"))
|
339
|
+
return (self).websockets
|
340
|
+
end
|
341
|
+
if ((name) == ("dispatcher"))
|
342
|
+
return (self).dispatcher
|
343
|
+
end
|
344
|
+
if ((name) == ("_started"))
|
345
|
+
return (self)._started
|
346
|
+
end
|
347
|
+
if ((name) == ("_token"))
|
348
|
+
return (self)._token
|
349
|
+
end
|
350
|
+
if ((name) == ("_url"))
|
351
|
+
return (self)._url
|
352
|
+
end
|
353
|
+
if ((name) == ("_failurePolicyFactory"))
|
354
|
+
return (self)._failurePolicyFactory
|
355
|
+
end
|
356
|
+
if ((name) == ("_dispatcher"))
|
357
|
+
return (self)._dispatcher
|
358
|
+
end
|
359
|
+
if ((name) == ("_subscriber"))
|
360
|
+
return (self)._subscriber
|
361
|
+
end
|
362
|
+
if ((name) == ("registered"))
|
363
|
+
return (self).registered
|
364
|
+
end
|
365
|
+
if ((name) == ("dlog"))
|
366
|
+
return (self).dlog
|
367
|
+
end
|
368
|
+
return nil
|
369
|
+
|
370
|
+
nil
|
371
|
+
end
|
372
|
+
|
373
|
+
def _setField(name, value)
|
374
|
+
|
375
|
+
if ((name) == ("logger"))
|
376
|
+
(self).logger = value
|
377
|
+
end
|
378
|
+
if ((name) == ("firstDelay"))
|
379
|
+
(self).firstDelay = ::DatawireQuarkCore.cast(value) { ::Float }
|
380
|
+
end
|
381
|
+
if ((name) == ("maxDelay"))
|
382
|
+
(self).maxDelay = ::DatawireQuarkCore.cast(value) { ::Float }
|
383
|
+
end
|
384
|
+
if ((name) == ("reconnectDelay"))
|
385
|
+
(self).reconnectDelay = ::DatawireQuarkCore.cast(value) { ::Float }
|
386
|
+
end
|
387
|
+
if ((name) == ("ttl"))
|
388
|
+
(self).ttl = ::DatawireQuarkCore.cast(value) { ::Float }
|
389
|
+
end
|
390
|
+
if ((name) == ("tick"))
|
391
|
+
(self).tick = ::DatawireQuarkCore.cast(value) { ::Float }
|
392
|
+
end
|
393
|
+
if ((name) == ("sock"))
|
394
|
+
(self).sock = ::DatawireQuarkCore.cast(value) { ::Quark.mdk_runtime.WSActor }
|
395
|
+
end
|
396
|
+
if ((name) == ("sockUrl"))
|
397
|
+
(self).sockUrl = ::DatawireQuarkCore.cast(value) { ::String }
|
398
|
+
end
|
399
|
+
if ((name) == ("lastConnectAttempt"))
|
400
|
+
(self).lastConnectAttempt = ::DatawireQuarkCore.cast(value) { ::Integer }
|
401
|
+
end
|
402
|
+
if ((name) == ("lastHeartbeat"))
|
403
|
+
(self).lastHeartbeat = ::DatawireQuarkCore.cast(value) { ::Integer }
|
404
|
+
end
|
405
|
+
if ((name) == ("timeService"))
|
406
|
+
(self).timeService = ::DatawireQuarkCore.cast(value) { ::Quark.mdk_runtime.Time }
|
407
|
+
end
|
408
|
+
if ((name) == ("schedulingActor"))
|
409
|
+
(self).schedulingActor = ::DatawireQuarkCore.cast(value) { ::Quark.mdk_runtime.actors.Actor }
|
410
|
+
end
|
411
|
+
if ((name) == ("websockets"))
|
412
|
+
(self).websockets = ::DatawireQuarkCore.cast(value) { ::Quark.mdk_runtime.WebSockets }
|
413
|
+
end
|
414
|
+
if ((name) == ("dispatcher"))
|
415
|
+
(self).dispatcher = ::DatawireQuarkCore.cast(value) { ::Quark.mdk_runtime.actors.MessageDispatcher }
|
416
|
+
end
|
417
|
+
if ((name) == ("_started"))
|
418
|
+
(self)._started = ::DatawireQuarkCore.cast(value) { ::Object }
|
419
|
+
end
|
420
|
+
if ((name) == ("_token"))
|
421
|
+
(self)._token = ::DatawireQuarkCore.cast(value) { ::String }
|
422
|
+
end
|
423
|
+
if ((name) == ("_url"))
|
424
|
+
(self)._url = ::DatawireQuarkCore.cast(value) { ::String }
|
425
|
+
end
|
426
|
+
if ((name) == ("_failurePolicyFactory"))
|
427
|
+
(self)._failurePolicyFactory = ::DatawireQuarkCore.cast(value) { ::Quark.mdk_discovery.FailurePolicyFactory }
|
428
|
+
end
|
429
|
+
if ((name) == ("_dispatcher"))
|
430
|
+
(self)._dispatcher = ::DatawireQuarkCore.cast(value) { ::Quark.mdk_runtime.actors.MessageDispatcher }
|
431
|
+
end
|
432
|
+
if ((name) == ("_subscriber"))
|
433
|
+
(self)._subscriber = ::DatawireQuarkCore.cast(value) { ::Quark.mdk_runtime.actors.Actor }
|
434
|
+
end
|
435
|
+
if ((name) == ("registered"))
|
436
|
+
(self).registered = ::DatawireQuarkCore.cast(value) { ::Hash }
|
437
|
+
end
|
438
|
+
if ((name) == ("dlog"))
|
439
|
+
(self).dlog = value
|
440
|
+
end
|
441
|
+
|
442
|
+
nil
|
443
|
+
end
|
444
|
+
|
445
|
+
def __init_fields__()
|
446
|
+
|
447
|
+
super
|
448
|
+
self._started = false
|
449
|
+
self._token = nil
|
450
|
+
self._url = nil
|
451
|
+
self._failurePolicyFactory = nil
|
452
|
+
self._dispatcher = nil
|
453
|
+
self._subscriber = nil
|
454
|
+
self.registered = ::Hash.new()
|
455
|
+
self.dlog = ::Quark.quark._getLogger("discovery")
|
456
|
+
|
457
|
+
nil
|
458
|
+
end
|
459
|
+
|
460
|
+
|
461
|
+
end
|
462
|
+
DiscoClient.unlazy_statics
|
463
|
+
|
464
|
+
def self.DiscoHandler; DiscoHandler; end
|
465
|
+
class DiscoHandler < ::DatawireQuarkCore::QuarkObject
|
466
|
+
extend ::DatawireQuarkCore::Static
|
467
|
+
|
468
|
+
static mdk_discovery_protocol_DiscoHandler_ref: -> { nil }
|
469
|
+
|
470
|
+
|
471
|
+
|
472
|
+
def initialize()
|
473
|
+
self.__init_fields__
|
474
|
+
|
475
|
+
nil
|
476
|
+
end
|
477
|
+
|
478
|
+
|
479
|
+
|
480
|
+
|
481
|
+
def onActive(active)
|
482
|
+
raise NotImplementedError, '`DiscoHandler.onActive` is an abstract method'
|
483
|
+
|
484
|
+
nil
|
485
|
+
end
|
486
|
+
|
487
|
+
def onExpire(expire)
|
488
|
+
raise NotImplementedError, '`DiscoHandler.onExpire` is an abstract method'
|
489
|
+
|
490
|
+
nil
|
491
|
+
end
|
492
|
+
|
493
|
+
def onClear(reset)
|
494
|
+
raise NotImplementedError, '`DiscoHandler.onClear` is an abstract method'
|
495
|
+
|
496
|
+
nil
|
497
|
+
end
|
498
|
+
|
499
|
+
def __init_fields__()
|
500
|
+
|
501
|
+
|
502
|
+
nil
|
503
|
+
end
|
504
|
+
|
505
|
+
|
506
|
+
end
|
507
|
+
DiscoHandler.unlazy_statics
|
508
|
+
|
509
|
+
def self.DiscoveryEvent; DiscoveryEvent; end
|
510
|
+
class DiscoveryEvent < ::Quark.mdk_protocol.ProtocolEvent
|
511
|
+
extend ::DatawireQuarkCore::Static
|
512
|
+
|
513
|
+
static mdk_discovery_protocol_DiscoveryEvent_ref: -> { nil }
|
514
|
+
|
515
|
+
|
516
|
+
|
517
|
+
def initialize()
|
518
|
+
|
519
|
+
super()
|
520
|
+
|
521
|
+
nil
|
522
|
+
end
|
523
|
+
|
524
|
+
|
525
|
+
|
526
|
+
|
527
|
+
def self.construct(type)
|
528
|
+
|
529
|
+
result = ::Quark.mdk_protocol.ProtocolEvent.construct(type)
|
530
|
+
if ((result) != (nil))
|
531
|
+
return result
|
532
|
+
end
|
533
|
+
if (::Quark.mdk_discovery.protocol.Active._discriminator.matches(type))
|
534
|
+
return ::Quark.mdk_discovery.protocol.Active.new()
|
535
|
+
end
|
536
|
+
if (::Quark.mdk_discovery.protocol.Expire._discriminator.matches(type))
|
537
|
+
return ::Quark.mdk_discovery.protocol.Expire.new()
|
538
|
+
end
|
539
|
+
if (::Quark.mdk_discovery.protocol.Clear._discriminator.matches(type))
|
540
|
+
return ::Quark.mdk_discovery.protocol.Clear.new()
|
541
|
+
end
|
542
|
+
return ::DatawireQuarkCore.cast(nil) { ::Quark.mdk_protocol.ProtocolEvent }
|
543
|
+
|
544
|
+
nil
|
545
|
+
end
|
546
|
+
|
547
|
+
def self.decode(message)
|
548
|
+
|
549
|
+
return ::DatawireQuarkCore.cast(::Quark.mdk_protocol.Serializable.decodeClassName("mdk_discovery.protocol.DiscoveryEvent", message)) { ::Quark.mdk_protocol.ProtocolEvent }
|
550
|
+
|
551
|
+
nil
|
552
|
+
end
|
553
|
+
|
554
|
+
def dispatch(handler)
|
555
|
+
|
556
|
+
self.dispatchDiscoveryEvent(::DatawireQuarkCore.cast(handler) { ::Quark.mdk_discovery.protocol.DiscoHandler })
|
557
|
+
|
558
|
+
nil
|
559
|
+
end
|
560
|
+
|
561
|
+
def dispatchDiscoveryEvent(handler)
|
562
|
+
raise NotImplementedError, '`DiscoveryEvent.dispatchDiscoveryEvent` is an abstract method'
|
563
|
+
|
564
|
+
nil
|
565
|
+
end
|
566
|
+
|
567
|
+
def _getClass()
|
568
|
+
|
569
|
+
return "mdk_discovery.protocol.DiscoveryEvent"
|
570
|
+
|
571
|
+
nil
|
572
|
+
end
|
573
|
+
|
574
|
+
def _getField(name)
|
575
|
+
|
576
|
+
return nil
|
577
|
+
|
578
|
+
nil
|
579
|
+
end
|
580
|
+
|
581
|
+
def _setField(name, value)
|
582
|
+
|
583
|
+
nil
|
584
|
+
|
585
|
+
nil
|
586
|
+
end
|
587
|
+
|
588
|
+
def __init_fields__()
|
589
|
+
|
590
|
+
super
|
591
|
+
|
592
|
+
nil
|
593
|
+
end
|
594
|
+
|
595
|
+
|
596
|
+
end
|
597
|
+
DiscoveryEvent.unlazy_statics
|
598
|
+
|
599
|
+
def self.Active; Active; end
|
600
|
+
class Active < ::Quark.mdk_discovery.protocol.DiscoveryEvent
|
601
|
+
attr_accessor :node, :ttl
|
602
|
+
extend ::DatawireQuarkCore::Static
|
603
|
+
|
604
|
+
static _discriminator: -> { ::Quark.mdk_protocol.anyof(::DatawireQuarkCore::List.new(["active", "discovery.protocol.Active"])) }
|
605
|
+
static mdk_discovery_protocol_Active_ref: -> { nil }
|
606
|
+
|
607
|
+
|
608
|
+
|
609
|
+
def initialize()
|
610
|
+
|
611
|
+
super()
|
612
|
+
|
613
|
+
nil
|
614
|
+
end
|
615
|
+
|
616
|
+
|
617
|
+
|
618
|
+
|
619
|
+
def dispatchDiscoveryEvent(handler)
|
620
|
+
|
621
|
+
handler.onActive(self)
|
622
|
+
|
623
|
+
nil
|
624
|
+
end
|
625
|
+
|
626
|
+
def _getClass()
|
627
|
+
|
628
|
+
return "mdk_discovery.protocol.Active"
|
629
|
+
|
630
|
+
nil
|
631
|
+
end
|
632
|
+
|
633
|
+
def _getField(name)
|
634
|
+
|
635
|
+
if ((name) == ("_discriminator"))
|
636
|
+
return ::Quark.mdk_discovery.protocol.Active._discriminator
|
637
|
+
end
|
638
|
+
if ((name) == ("node"))
|
639
|
+
return (self).node
|
640
|
+
end
|
641
|
+
if ((name) == ("ttl"))
|
642
|
+
return (self).ttl
|
643
|
+
end
|
644
|
+
return nil
|
645
|
+
|
646
|
+
nil
|
647
|
+
end
|
648
|
+
|
649
|
+
def _setField(name, value)
|
650
|
+
|
651
|
+
if ((name) == ("_discriminator"))
|
652
|
+
::Quark.mdk_discovery.protocol.Active._discriminator = ::DatawireQuarkCore.cast(value) { ::Quark.mdk_protocol.Discriminator }
|
653
|
+
end
|
654
|
+
if ((name) == ("node"))
|
655
|
+
(self).node = ::DatawireQuarkCore.cast(value) { ::Quark.mdk_discovery.Node }
|
656
|
+
end
|
657
|
+
if ((name) == ("ttl"))
|
658
|
+
(self).ttl = ::DatawireQuarkCore.cast(value) { ::Float }
|
659
|
+
end
|
660
|
+
|
661
|
+
nil
|
662
|
+
end
|
663
|
+
|
664
|
+
def __init_fields__()
|
665
|
+
|
666
|
+
super
|
667
|
+
self.node = nil
|
668
|
+
self.ttl = nil
|
669
|
+
|
670
|
+
nil
|
671
|
+
end
|
672
|
+
|
673
|
+
|
674
|
+
end
|
675
|
+
Active.unlazy_statics
|
676
|
+
|
677
|
+
def self.Expire; Expire; end
|
678
|
+
##
|
679
|
+
# Expire a node.
|
680
|
+
|
681
|
+
class Expire < ::Quark.mdk_discovery.protocol.DiscoveryEvent
|
682
|
+
attr_accessor :node
|
683
|
+
extend ::DatawireQuarkCore::Static
|
684
|
+
|
685
|
+
static _discriminator: -> { ::Quark.mdk_protocol.anyof(::DatawireQuarkCore::List.new(["expire", "discovery.protocol.Expire"])) }
|
686
|
+
static mdk_discovery_protocol_Expire_ref: -> { nil }
|
687
|
+
|
688
|
+
|
689
|
+
|
690
|
+
def initialize()
|
691
|
+
|
692
|
+
super()
|
693
|
+
|
694
|
+
nil
|
695
|
+
end
|
696
|
+
|
697
|
+
|
698
|
+
|
699
|
+
|
700
|
+
def dispatchDiscoveryEvent(handler)
|
701
|
+
|
702
|
+
handler.onExpire(self)
|
703
|
+
|
704
|
+
nil
|
705
|
+
end
|
706
|
+
|
707
|
+
def _getClass()
|
708
|
+
|
709
|
+
return "mdk_discovery.protocol.Expire"
|
710
|
+
|
711
|
+
nil
|
712
|
+
end
|
713
|
+
|
714
|
+
def _getField(name)
|
715
|
+
|
716
|
+
if ((name) == ("_discriminator"))
|
717
|
+
return ::Quark.mdk_discovery.protocol.Expire._discriminator
|
718
|
+
end
|
719
|
+
if ((name) == ("node"))
|
720
|
+
return (self).node
|
721
|
+
end
|
722
|
+
return nil
|
723
|
+
|
724
|
+
nil
|
725
|
+
end
|
726
|
+
|
727
|
+
def _setField(name, value)
|
728
|
+
|
729
|
+
if ((name) == ("_discriminator"))
|
730
|
+
::Quark.mdk_discovery.protocol.Expire._discriminator = ::DatawireQuarkCore.cast(value) { ::Quark.mdk_protocol.Discriminator }
|
731
|
+
end
|
732
|
+
if ((name) == ("node"))
|
733
|
+
(self).node = ::DatawireQuarkCore.cast(value) { ::Quark.mdk_discovery.Node }
|
734
|
+
end
|
735
|
+
|
736
|
+
nil
|
737
|
+
end
|
738
|
+
|
739
|
+
def __init_fields__()
|
740
|
+
|
741
|
+
super
|
742
|
+
self.node = nil
|
743
|
+
|
744
|
+
nil
|
745
|
+
end
|
746
|
+
|
747
|
+
|
748
|
+
end
|
749
|
+
Expire.unlazy_statics
|
750
|
+
|
751
|
+
def self.Clear; Clear; end
|
752
|
+
##
|
753
|
+
# Expire all nodes.
|
754
|
+
|
755
|
+
class Clear < ::Quark.mdk_discovery.protocol.DiscoveryEvent
|
756
|
+
extend ::DatawireQuarkCore::Static
|
757
|
+
|
758
|
+
static _discriminator: -> { ::Quark.mdk_protocol.anyof(::DatawireQuarkCore::List.new(["clear", "discovery.protocol.Clear"])) }
|
759
|
+
static mdk_discovery_protocol_Clear_ref: -> { nil }
|
760
|
+
|
761
|
+
|
762
|
+
|
763
|
+
def initialize()
|
764
|
+
|
765
|
+
super()
|
766
|
+
|
767
|
+
nil
|
768
|
+
end
|
769
|
+
|
770
|
+
|
771
|
+
|
772
|
+
|
773
|
+
def dispatchDiscoveryEvent(handler)
|
774
|
+
|
775
|
+
handler.onClear(self)
|
776
|
+
|
777
|
+
nil
|
778
|
+
end
|
779
|
+
|
780
|
+
def _getClass()
|
781
|
+
|
782
|
+
return "mdk_discovery.protocol.Clear"
|
783
|
+
|
784
|
+
nil
|
785
|
+
end
|
786
|
+
|
787
|
+
def _getField(name)
|
788
|
+
|
789
|
+
if ((name) == ("_discriminator"))
|
790
|
+
return ::Quark.mdk_discovery.protocol.Clear._discriminator
|
791
|
+
end
|
792
|
+
return nil
|
793
|
+
|
794
|
+
nil
|
795
|
+
end
|
796
|
+
|
797
|
+
def _setField(name, value)
|
798
|
+
|
799
|
+
if ((name) == ("_discriminator"))
|
800
|
+
::Quark.mdk_discovery.protocol.Clear._discriminator = ::DatawireQuarkCore.cast(value) { ::Quark.mdk_protocol.Discriminator }
|
801
|
+
end
|
802
|
+
|
803
|
+
nil
|
804
|
+
end
|
805
|
+
|
806
|
+
def __init_fields__()
|
807
|
+
|
808
|
+
super
|
809
|
+
|
810
|
+
nil
|
811
|
+
end
|
812
|
+
|
813
|
+
|
814
|
+
end
|
815
|
+
Clear.unlazy_statics
|
816
|
+
end # module Protocol
|
817
|
+
end # module MdkDiscovery
|
818
|
+
end # module Quark
|