datawire_mdk 2.0.23 → 2.0.25
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/datawire_mdk_md.rb +216 -92
- data/lib/mdk.rb +34 -8
- data/lib/mdk_discovery/protocol.rb +1 -1
- data/lib/mdk_discovery/synapse.rb +23 -7
- data/lib/mdk_discovery.rb +58 -67
- data/lib/mdk_introspection/aws.rb +1 -1
- data/lib/mdk_introspection/kubernetes.rb +1 -1
- data/lib/mdk_introspection.rb +1 -1
- data/lib/mdk_metrics.rb +1 -1
- data/lib/mdk_protocol.rb +36 -6
- data/lib/mdk_rtp.rb +1 -1
- data/lib/mdk_runtime/actors.rb +1 -1
- data/lib/mdk_runtime/files.rb +1 -1
- data/lib/mdk_runtime/promise.rb +1 -1
- data/lib/mdk_runtime.rb +1 -1
- data/lib/mdk_tracing/api.rb +1 -1
- data/lib/mdk_tracing/protocol.rb +1 -1
- data/lib/mdk_tracing.rb +1 -1
- data/lib/mdk_util.rb +1 -1
- data/lib/quark/behaviors.rb +1 -1
- data/lib/quark/concurrent.rb +1 -1
- data/lib/quark/error.rb +1 -1
- data/lib/quark/logging.rb +1 -1
- data/lib/quark/mock.rb +1 -1
- data/lib/quark/os.rb +1 -1
- data/lib/quark/reflect.rb +1 -1
- data/lib/quark/spi.rb +1 -1
- data/lib/quark/spi_api.rb +1 -1
- data/lib/quark/spi_api_tracing.rb +1 -1
- data/lib/quark/test.rb +1 -1
- data/lib/quark.rb +1 -1
- metadata +2 -2
data/lib/mdk.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Quark 1.0.452 run at 2016-10-
|
1
|
+
# Quark 1.0.452 run at 2016-10-27 16:23:20.395751
|
2
2
|
module Quark
|
3
3
|
require "quark"
|
4
4
|
def self.mdk; Mdk; end
|
@@ -538,6 +538,15 @@ class Session < ::DatawireQuarkCore::QuarkObject
|
|
538
538
|
nil
|
539
539
|
end
|
540
540
|
|
541
|
+
##
|
542
|
+
# Return the session's Environment.
|
543
|
+
|
544
|
+
def getEnvironment()
|
545
|
+
raise NotImplementedError, '`Session.getEnvironment` is an abstract method'
|
546
|
+
|
547
|
+
nil
|
548
|
+
end
|
549
|
+
|
541
550
|
def __init_fields__()
|
542
551
|
|
543
552
|
|
@@ -550,7 +559,7 @@ Session.unlazy_statics
|
|
550
559
|
|
551
560
|
def self.MDKImpl; MDKImpl; end
|
552
561
|
class MDKImpl < ::DatawireQuarkCore::QuarkObject
|
553
|
-
attr_accessor :logger, :_reflection_hack, :_runtime, :_wsclient, :_openclose, :_disco, :_discoSource, :_tracer, :_metrics, :procUUID, :_running, :_defaultTimeout
|
562
|
+
attr_accessor :logger, :_reflection_hack, :_runtime, :_wsclient, :_openclose, :_disco, :_discoSource, :_tracer, :_metrics, :procUUID, :_running, :_defaultTimeout, :_environment
|
554
563
|
extend ::DatawireQuarkCore::Static
|
555
564
|
|
556
565
|
static mdk_MDKImpl_ref: -> { nil }
|
@@ -564,6 +573,7 @@ class MDKImpl < ::DatawireQuarkCore::QuarkObject
|
|
564
573
|
self.__init_fields__
|
565
574
|
@_reflection_hack = ::Hash.new()
|
566
575
|
@_runtime = runtime
|
576
|
+
@_environment = runtime.getEnvVarsService().var("MDK_ENVIRONMENT").orElseGet("sandbox")
|
567
577
|
if (!((runtime).dependencies.hasService("failurepolicy_factory")))
|
568
578
|
(runtime).dependencies.registerService("failurepolicy_factory", self.getFailurePolicy(runtime))
|
569
579
|
end
|
@@ -573,7 +583,7 @@ class MDKImpl < ::DatawireQuarkCore::QuarkObject
|
|
573
583
|
@_disco = ::Quark.mdk_discovery.Discovery.new(runtime)
|
574
584
|
@_wsclient = self.getWSClient(runtime)
|
575
585
|
if ((@_wsclient) != (nil))
|
576
|
-
@_openclose = ::Quark.mdk_protocol.OpenCloseSubscriber.new(@_wsclient, @procUUID)
|
586
|
+
@_openclose = ::Quark.mdk_protocol.OpenCloseSubscriber.new(@_wsclient, @procUUID, @_environment)
|
577
587
|
end
|
578
588
|
env = runtime.getEnvVarsService()
|
579
589
|
discoFactory = self.getDiscoveryFactory(env)
|
@@ -608,7 +618,7 @@ class MDKImpl < ::DatawireQuarkCore::QuarkObject
|
|
608
618
|
result = ::Quark.mdk_discovery.protocol.DiscoClientFactory.new(@_wsclient)
|
609
619
|
else
|
610
620
|
if ((config).start_with?("synapse:path="))
|
611
|
-
result = ::Quark.mdk_discovery.synapse.Synapse.new((config)[(13)...((config).size)])
|
621
|
+
result = ::Quark.mdk_discovery.synapse.Synapse.new((config)[(13)...((config).size)], (self)._environment)
|
612
622
|
else
|
613
623
|
if ((config).start_with?("static:nodes="))
|
614
624
|
json = (config)[(13)...((config).size)]
|
@@ -703,6 +713,7 @@ class MDKImpl < ::DatawireQuarkCore::QuarkObject
|
|
703
713
|
(node).service = service
|
704
714
|
(node).version = version
|
705
715
|
(node).address = address
|
716
|
+
(node).environment = (self)._environment
|
706
717
|
(node).properties = {"datawire_nodeId" => @procUUID}
|
707
718
|
@_disco.register(node)
|
708
719
|
|
@@ -725,7 +736,7 @@ class MDKImpl < ::DatawireQuarkCore::QuarkObject
|
|
725
736
|
|
726
737
|
def session()
|
727
738
|
|
728
|
-
session = ::Quark.mdk.SessionImpl.new(self, nil)
|
739
|
+
session = ::Quark.mdk.SessionImpl.new(self, nil, (self)._environment)
|
729
740
|
if ((@_defaultTimeout) != (nil))
|
730
741
|
session.setDeadline(@_defaultTimeout)
|
731
742
|
end
|
@@ -750,7 +761,7 @@ class MDKImpl < ::DatawireQuarkCore::QuarkObject
|
|
750
761
|
|
751
762
|
def join(encodedContext)
|
752
763
|
|
753
|
-
session = ::Quark.mdk.SessionImpl.new(self, encodedContext)
|
764
|
+
session = ::Quark.mdk.SessionImpl.new(self, encodedContext, (self)._environment)
|
754
765
|
if ((@_defaultTimeout) != (nil))
|
755
766
|
session.setDeadline(@_defaultTimeout)
|
756
767
|
end
|
@@ -807,6 +818,9 @@ class MDKImpl < ::DatawireQuarkCore::QuarkObject
|
|
807
818
|
if ((name) == ("_defaultTimeout"))
|
808
819
|
return (self)._defaultTimeout
|
809
820
|
end
|
821
|
+
if ((name) == ("_environment"))
|
822
|
+
return (self)._environment
|
823
|
+
end
|
810
824
|
return nil
|
811
825
|
|
812
826
|
nil
|
@@ -850,6 +864,9 @@ class MDKImpl < ::DatawireQuarkCore::QuarkObject
|
|
850
864
|
if ((name) == ("_defaultTimeout"))
|
851
865
|
(self)._defaultTimeout = ::DatawireQuarkCore.cast(value) { ::Float }
|
852
866
|
end
|
867
|
+
if ((name) == ("_environment"))
|
868
|
+
(self)._environment = ::DatawireQuarkCore.cast(value) { ::String }
|
869
|
+
end
|
853
870
|
|
854
871
|
nil
|
855
872
|
end
|
@@ -868,6 +885,7 @@ class MDKImpl < ::DatawireQuarkCore::QuarkObject
|
|
868
885
|
self.procUUID = ::Quark.quark.concurrent.Context.runtime().uuid()
|
869
886
|
self._running = false
|
870
887
|
self._defaultTimeout = nil
|
888
|
+
self._environment = nil
|
871
889
|
|
872
890
|
nil
|
873
891
|
end
|
@@ -950,7 +968,7 @@ class SessionImpl < ::DatawireQuarkCore::QuarkObject
|
|
950
968
|
|
951
969
|
|
952
970
|
|
953
|
-
def initialize(mdk, encodedContext)
|
971
|
+
def initialize(mdk, encodedContext, localEnvironment)
|
954
972
|
|
955
973
|
self.__init_fields__
|
956
974
|
@_experimental = ((mdk)._runtime.getEnvVarsService().var("MDK_EXPERIMENTAL").orElseGet("")) != ("")
|
@@ -958,6 +976,7 @@ class SessionImpl < ::DatawireQuarkCore::QuarkObject
|
|
958
976
|
encodedContext = ::DatawireQuarkCore.cast(encodedContext) { ::String }
|
959
977
|
if (((encodedContext) == (nil)) || ((encodedContext) == ("")))
|
960
978
|
@_context = ::Quark.mdk_protocol.SharedContext.new()
|
979
|
+
(@_context).environment = localEnvironment
|
961
980
|
else
|
962
981
|
ctx = ::Quark.mdk_protocol.SharedContext.decode(encodedContext)
|
963
982
|
@_context = ctx.start_span()
|
@@ -970,6 +989,13 @@ class SessionImpl < ::DatawireQuarkCore::QuarkObject
|
|
970
989
|
|
971
990
|
|
972
991
|
|
992
|
+
def getEnvironment()
|
993
|
+
|
994
|
+
return ((self)._context).environment
|
995
|
+
|
996
|
+
nil
|
997
|
+
end
|
998
|
+
|
973
999
|
def getProperty(property)
|
974
1000
|
|
975
1001
|
return ((@_context).properties)[property]
|
@@ -1150,7 +1176,7 @@ class SessionImpl < ::DatawireQuarkCore::QuarkObject
|
|
1150
1176
|
end
|
1151
1177
|
end
|
1152
1178
|
end
|
1153
|
-
return (@_mdk)._disco.
|
1179
|
+
return (@_mdk)._disco.resolve(service, version, self.getEnvironment()).andThen(::Quark.quark._BoundMethod.new(self, "_resolvedCallback", ::DatawireQuarkCore::List.new([])))
|
1154
1180
|
|
1155
1181
|
nil
|
1156
1182
|
end
|
@@ -1,4 +1,4 @@
|
|
1
|
-
# Quark 1.0.452 run at 2016-10-
|
1
|
+
# Quark 1.0.452 run at 2016-10-27 16:23:20.395751
|
2
2
|
module Quark
|
3
3
|
require "quark"
|
4
4
|
def self.mdk_discovery; MdkDiscovery; end
|
@@ -33,17 +33,18 @@ def self.Synapse; Synapse; end
|
|
33
33
|
#
|
34
34
|
|
35
35
|
class Synapse < ::DatawireQuarkCore::QuarkObject
|
36
|
-
attr_accessor :_directory_path
|
36
|
+
attr_accessor :_directory_path, :_environment
|
37
37
|
extend ::DatawireQuarkCore::Static
|
38
38
|
|
39
39
|
static mdk_discovery_synapse_Synapse_ref: -> { nil }
|
40
40
|
|
41
41
|
|
42
42
|
|
43
|
-
def initialize(directory_path)
|
43
|
+
def initialize(directory_path, environment)
|
44
44
|
|
45
45
|
self.__init_fields__
|
46
46
|
(self)._directory_path = directory_path
|
47
|
+
(self)._environment = environment
|
47
48
|
|
48
49
|
nil
|
49
50
|
end
|
@@ -53,7 +54,7 @@ class Synapse < ::DatawireQuarkCore::QuarkObject
|
|
53
54
|
|
54
55
|
def create(subscriber, runtime)
|
55
56
|
|
56
|
-
return ::Quark.mdk_discovery.synapse._SynapseSource.new(subscriber, (self)._directory_path, runtime)
|
57
|
+
return ::Quark.mdk_discovery.synapse._SynapseSource.new(subscriber, (self)._directory_path, runtime, (self)._environment)
|
57
58
|
|
58
59
|
nil
|
59
60
|
end
|
@@ -77,6 +78,9 @@ class Synapse < ::DatawireQuarkCore::QuarkObject
|
|
77
78
|
if ((name) == ("_directory_path"))
|
78
79
|
return (self)._directory_path
|
79
80
|
end
|
81
|
+
if ((name) == ("_environment"))
|
82
|
+
return (self)._environment
|
83
|
+
end
|
80
84
|
return nil
|
81
85
|
|
82
86
|
nil
|
@@ -87,6 +91,9 @@ class Synapse < ::DatawireQuarkCore::QuarkObject
|
|
87
91
|
if ((name) == ("_directory_path"))
|
88
92
|
(self)._directory_path = ::DatawireQuarkCore.cast(value) { ::String }
|
89
93
|
end
|
94
|
+
if ((name) == ("_environment"))
|
95
|
+
(self)._environment = ::DatawireQuarkCore.cast(value) { ::String }
|
96
|
+
end
|
90
97
|
|
91
98
|
nil
|
92
99
|
end
|
@@ -94,6 +101,7 @@ class Synapse < ::DatawireQuarkCore::QuarkObject
|
|
94
101
|
def __init_fields__()
|
95
102
|
|
96
103
|
self._directory_path = nil
|
104
|
+
self._environment = nil
|
97
105
|
|
98
106
|
nil
|
99
107
|
end
|
@@ -107,19 +115,20 @@ def self._SynapseSource; SynapseSource; end
|
|
107
115
|
# Implementation of the Synapse discovery source.
|
108
116
|
|
109
117
|
class SynapseSource < ::DatawireQuarkCore::QuarkObject
|
110
|
-
attr_accessor :subscriber, :directory_path, :files, :dispatcher
|
118
|
+
attr_accessor :subscriber, :directory_path, :files, :dispatcher, :environment
|
111
119
|
extend ::DatawireQuarkCore::Static
|
112
120
|
|
113
121
|
static mdk_discovery_synapse__SynapseSource_ref: -> { nil }
|
114
122
|
|
115
123
|
|
116
124
|
|
117
|
-
def initialize(subscriber, directory_path, runtime)
|
125
|
+
def initialize(subscriber, directory_path, runtime, environment)
|
118
126
|
|
119
127
|
self.__init_fields__
|
120
128
|
(self).subscriber = subscriber
|
121
129
|
(self).directory_path = directory_path
|
122
130
|
(self).files = runtime.getFileService()
|
131
|
+
(self).environment = environment
|
123
132
|
|
124
133
|
nil
|
125
134
|
end
|
@@ -152,7 +161,7 @@ class SynapseSource < ::DatawireQuarkCore::QuarkObject
|
|
152
161
|
|
153
162
|
def _update(service, nodes)
|
154
163
|
|
155
|
-
(self).dispatcher.tell(self, ::Quark.mdk_discovery.ReplaceCluster.new(service, nodes), (self).subscriber)
|
164
|
+
(self).dispatcher.tell(self, ::Quark.mdk_discovery.ReplaceCluster.new(service, (self).environment, nodes), (self).subscriber)
|
156
165
|
|
157
166
|
nil
|
158
167
|
end
|
@@ -215,6 +224,9 @@ class SynapseSource < ::DatawireQuarkCore::QuarkObject
|
|
215
224
|
if ((name) == ("dispatcher"))
|
216
225
|
return (self).dispatcher
|
217
226
|
end
|
227
|
+
if ((name) == ("environment"))
|
228
|
+
return (self).environment
|
229
|
+
end
|
218
230
|
return nil
|
219
231
|
|
220
232
|
nil
|
@@ -234,6 +246,9 @@ class SynapseSource < ::DatawireQuarkCore::QuarkObject
|
|
234
246
|
if ((name) == ("dispatcher"))
|
235
247
|
(self).dispatcher = ::DatawireQuarkCore.cast(value) { ::Quark.mdk_runtime.actors.MessageDispatcher }
|
236
248
|
end
|
249
|
+
if ((name) == ("environment"))
|
250
|
+
(self).environment = ::DatawireQuarkCore.cast(value) { ::String }
|
251
|
+
end
|
237
252
|
|
238
253
|
nil
|
239
254
|
end
|
@@ -254,6 +269,7 @@ class SynapseSource < ::DatawireQuarkCore::QuarkObject
|
|
254
269
|
self.directory_path = nil
|
255
270
|
self.files = nil
|
256
271
|
self.dispatcher = nil
|
272
|
+
self.environment = nil
|
257
273
|
|
258
274
|
nil
|
259
275
|
end
|
data/lib/mdk_discovery.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Quark 1.0.452 run at 2016-10-
|
1
|
+
# Quark 1.0.452 run at 2016-10-27 16:23:20.395751
|
2
2
|
module Quark
|
3
3
|
require "quark"
|
4
4
|
def self.mdk_discovery; MdkDiscovery; end
|
@@ -139,18 +139,19 @@ def self.ReplaceCluster; ReplaceCluster; end
|
|
139
139
|
# Message from DiscoverySource: replace all nodes in a particular Cluster.
|
140
140
|
|
141
141
|
class ReplaceCluster < ::DatawireQuarkCore::QuarkObject
|
142
|
-
attr_accessor :nodes, :cluster
|
142
|
+
attr_accessor :nodes, :cluster, :environment
|
143
143
|
extend ::DatawireQuarkCore::Static
|
144
144
|
|
145
145
|
static mdk_discovery_ReplaceCluster_ref: -> { nil }
|
146
146
|
|
147
147
|
|
148
148
|
|
149
|
-
def initialize(cluster, nodes)
|
149
|
+
def initialize(cluster, environment, nodes)
|
150
150
|
|
151
151
|
self.__init_fields__
|
152
152
|
(self).nodes = nodes
|
153
153
|
(self).cluster = cluster
|
154
|
+
(self).environment = environment
|
154
155
|
|
155
156
|
nil
|
156
157
|
end
|
@@ -173,6 +174,9 @@ class ReplaceCluster < ::DatawireQuarkCore::QuarkObject
|
|
173
174
|
if ((name) == ("cluster"))
|
174
175
|
return (self).cluster
|
175
176
|
end
|
177
|
+
if ((name) == ("environment"))
|
178
|
+
return (self).environment
|
179
|
+
end
|
176
180
|
return nil
|
177
181
|
|
178
182
|
nil
|
@@ -186,6 +190,9 @@ class ReplaceCluster < ::DatawireQuarkCore::QuarkObject
|
|
186
190
|
if ((name) == ("cluster"))
|
187
191
|
(self).cluster = ::DatawireQuarkCore.cast(value) { ::String }
|
188
192
|
end
|
193
|
+
if ((name) == ("environment"))
|
194
|
+
(self).environment = ::DatawireQuarkCore.cast(value) { ::String }
|
195
|
+
end
|
189
196
|
|
190
197
|
nil
|
191
198
|
end
|
@@ -194,6 +201,7 @@ class ReplaceCluster < ::DatawireQuarkCore::QuarkObject
|
|
194
201
|
|
195
202
|
self.nodes = nil
|
196
203
|
self.cluster = nil
|
204
|
+
self.environment = "sandbox"
|
197
205
|
|
198
206
|
nil
|
199
207
|
end
|
@@ -390,10 +398,10 @@ class StaticRoutes < ::DatawireQuarkCore::QuarkObject
|
|
390
398
|
|
391
399
|
|
392
400
|
|
393
|
-
def initialize(
|
401
|
+
def initialize(knownNodes)
|
394
402
|
|
395
403
|
self.__init_fields__
|
396
|
-
(self)._knownNodes =
|
404
|
+
(self)._knownNodes = knownNodes
|
397
405
|
|
398
406
|
nil
|
399
407
|
end
|
@@ -1373,7 +1381,7 @@ def self.Node; Node; end
|
|
1373
1381
|
# server functioning as a service instance.
|
1374
1382
|
|
1375
1383
|
class Node < ::DatawireQuarkCore::QuarkObject
|
1376
|
-
attr_accessor :service, :version, :address, :properties, :_policy
|
1384
|
+
attr_accessor :service, :version, :address, :properties, :environment, :_policy
|
1377
1385
|
extend ::DatawireQuarkCore::Static
|
1378
1386
|
|
1379
1387
|
static mdk_discovery_Node_ref: -> { nil }
|
@@ -1460,6 +1468,9 @@ class Node < ::DatawireQuarkCore::QuarkObject
|
|
1460
1468
|
if ((name) == ("properties"))
|
1461
1469
|
return (self).properties
|
1462
1470
|
end
|
1471
|
+
if ((name) == ("environment"))
|
1472
|
+
return (self).environment
|
1473
|
+
end
|
1463
1474
|
if ((name) == ("_policy"))
|
1464
1475
|
return (self)._policy
|
1465
1476
|
end
|
@@ -1482,6 +1493,9 @@ class Node < ::DatawireQuarkCore::QuarkObject
|
|
1482
1493
|
if ((name) == ("properties"))
|
1483
1494
|
(self).properties = ::DatawireQuarkCore.cast(value) { ::Hash }
|
1484
1495
|
end
|
1496
|
+
if ((name) == ("environment"))
|
1497
|
+
(self).environment = ::DatawireQuarkCore.cast(value) { ::String }
|
1498
|
+
end
|
1485
1499
|
if ((name) == ("_policy"))
|
1486
1500
|
(self)._policy = ::DatawireQuarkCore.cast(value) { ::Quark.mdk_discovery.FailurePolicy }
|
1487
1501
|
end
|
@@ -1495,6 +1509,7 @@ class Node < ::DatawireQuarkCore::QuarkObject
|
|
1495
1509
|
self.version = nil
|
1496
1510
|
self.address = nil
|
1497
1511
|
self.properties = {}
|
1512
|
+
self.environment = "sandbox"
|
1498
1513
|
self._policy = nil
|
1499
1514
|
|
1500
1515
|
nil
|
@@ -1516,6 +1531,7 @@ class Discovery < ::DatawireQuarkCore::QuarkObject
|
|
1516
1531
|
extend ::DatawireQuarkCore::Static
|
1517
1532
|
|
1518
1533
|
static quark_ListUtil_mdk_discovery_Node__ref: -> { nil }
|
1534
|
+
static quark_Map_quark_String_quark_Map_quark_String_mdk_discovery_Cluster___ref: -> { nil }
|
1519
1535
|
static quark_Map_quark_String_mdk_discovery_Cluster__ref: -> { nil }
|
1520
1536
|
static mdk_discovery_Discovery_ref: -> { nil }
|
1521
1537
|
|
@@ -1602,29 +1618,40 @@ class Discovery < ::DatawireQuarkCore::QuarkObject
|
|
1602
1618
|
end
|
1603
1619
|
|
1604
1620
|
##
|
1605
|
-
#
|
1606
|
-
# usually start the uplink before this will do much; see start().
|
1621
|
+
# Get the service to Cluster mapping for an Environment.
|
1607
1622
|
|
1608
|
-
def
|
1623
|
+
def _getServices(environment)
|
1609
1624
|
|
1610
|
-
|
1611
|
-
|
1612
|
-
|
1613
|
-
(
|
1614
|
-
return self.register(node)
|
1625
|
+
if (!((@services).key?(environment)))
|
1626
|
+
(@services)[environment] = ({})
|
1627
|
+
end
|
1628
|
+
return (@services)[environment]
|
1615
1629
|
|
1616
1630
|
nil
|
1617
1631
|
end
|
1618
1632
|
|
1619
1633
|
##
|
1620
|
-
#
|
1634
|
+
# Get the Cluster for a given service and environment.
|
1621
1635
|
|
1622
|
-
def
|
1636
|
+
def _getCluster(service, environment)
|
1623
1637
|
|
1624
|
-
|
1625
|
-
|
1638
|
+
clusters = self._getServices(environment)
|
1639
|
+
if (!((clusters).key?(service)))
|
1640
|
+
(clusters)[service] = (::Quark.mdk_discovery.Cluster.new((self)._fpfactory))
|
1626
1641
|
end
|
1627
|
-
return (
|
1642
|
+
return (clusters)[service]
|
1643
|
+
|
1644
|
+
nil
|
1645
|
+
end
|
1646
|
+
|
1647
|
+
##
|
1648
|
+
# Return the current known Nodes for a service in a particular
|
1649
|
+
# Environment, if any.
|
1650
|
+
#
|
1651
|
+
|
1652
|
+
def knownNodes(service, environment)
|
1653
|
+
|
1654
|
+
return (self._getCluster(service, environment)).nodes
|
1628
1655
|
|
1629
1656
|
nil
|
1630
1657
|
end
|
@@ -1634,7 +1661,7 @@ class Discovery < ::DatawireQuarkCore::QuarkObject
|
|
1634
1661
|
|
1635
1662
|
def failurePolicy(node)
|
1636
1663
|
|
1637
|
-
return (
|
1664
|
+
return self._getCluster((node).service, (node).environment).failurePolicy(node)
|
1638
1665
|
|
1639
1666
|
nil
|
1640
1667
|
end
|
@@ -1644,16 +1671,14 @@ class Discovery < ::DatawireQuarkCore::QuarkObject
|
|
1644
1671
|
# usually start the uplink before this will do much; see start().
|
1645
1672
|
# The returned Promise will end up with a Node as its value.
|
1646
1673
|
|
1647
|
-
def
|
1674
|
+
def resolve(service, version, environment)
|
1648
1675
|
|
1649
1676
|
factory = ::Quark.mdk_runtime.promise.PromiseResolver.new((@runtime).dispatcher)
|
1650
1677
|
self._lock()
|
1651
|
-
|
1652
|
-
|
1653
|
-
end
|
1654
|
-
result = (@services)[service].chooseVersion(version)
|
1678
|
+
cluster = self._getCluster(service, environment)
|
1679
|
+
result = cluster.chooseVersion(version)
|
1655
1680
|
if ((result) == (nil))
|
1656
|
-
|
1681
|
+
cluster._addRequest(version, factory)
|
1657
1682
|
self._release()
|
1658
1683
|
else
|
1659
1684
|
self._release()
|
@@ -1664,29 +1689,6 @@ class Discovery < ::DatawireQuarkCore::QuarkObject
|
|
1664
1689
|
nil
|
1665
1690
|
end
|
1666
1691
|
|
1667
|
-
##
|
1668
|
-
# Resolve a service; return a (Bluebird) Promise on Javascript. Does not work elsewhere.
|
1669
|
-
|
1670
|
-
def resolve(service, version)
|
1671
|
-
|
1672
|
-
return ::Quark.mdk_util.toNativePromise(self._resolve(service, version))
|
1673
|
-
|
1674
|
-
nil
|
1675
|
-
end
|
1676
|
-
|
1677
|
-
##
|
1678
|
-
# Wait for service name to resolve into an available service node, or fail
|
1679
|
-
# appropriately (typically by raising an exception if the language
|
1680
|
-
# supports it). This should only be used in blocking runtimes (e.g.
|
1681
|
-
# you do not want to use this in Javascript).
|
1682
|
-
|
1683
|
-
def resolve_until(service, version, timeout)
|
1684
|
-
|
1685
|
-
return ::DatawireQuarkCore.cast(::Quark.mdk_util.WaitForPromise.wait(self._resolve(service, version), timeout, ("service ") + (service))) { ::Quark.mdk_discovery.Node }
|
1686
|
-
|
1687
|
-
nil
|
1688
|
-
end
|
1689
|
-
|
1690
1692
|
def onMessage(origin, message)
|
1691
1693
|
|
1692
1694
|
klass = (::Quark.quark.reflect.QuarkClass.get(::DatawireQuarkCore._getClass(message))).id
|
@@ -1702,21 +1704,18 @@ class Discovery < ::DatawireQuarkCore::QuarkObject
|
|
1702
1704
|
end
|
1703
1705
|
if ((klass) == ("mdk_discovery.ReplaceCluster"))
|
1704
1706
|
replace = ::DatawireQuarkCore.cast(message) { ::Quark.mdk_discovery.ReplaceCluster }
|
1705
|
-
self._replace((replace).cluster, (replace).nodes)
|
1707
|
+
self._replace((replace).cluster, (replace).environment, (replace).nodes)
|
1706
1708
|
return
|
1707
1709
|
end
|
1708
1710
|
|
1709
1711
|
nil
|
1710
1712
|
end
|
1711
1713
|
|
1712
|
-
def _replace(service, nodes)
|
1714
|
+
def _replace(service, environment, nodes)
|
1713
1715
|
|
1714
1716
|
self._lock()
|
1715
1717
|
@logger.info(((("replacing all nodes for ") + (service)) + (" with ")) + ((nodes).to_s))
|
1716
|
-
|
1717
|
-
(@services)[service] = (::Quark.mdk_discovery.Cluster.new((self)._fpfactory))
|
1718
|
-
end
|
1719
|
-
cluster = (@services)[service]
|
1718
|
+
cluster = self._getCluster(service, environment)
|
1720
1719
|
currentNodes = ::Quark.quark.ListUtil.new().slice((cluster).nodes, 0, ((cluster).nodes).size)
|
1721
1720
|
idx = 0
|
1722
1721
|
while ((idx) < ((currentNodes).size)) do
|
@@ -1736,12 +1735,8 @@ class Discovery < ::DatawireQuarkCore::QuarkObject
|
|
1736
1735
|
def _active(node)
|
1737
1736
|
|
1738
1737
|
self._lock()
|
1739
|
-
service = (node).service
|
1740
1738
|
@logger.info(("adding ") + (node.toString()))
|
1741
|
-
|
1742
|
-
(@services)[service] = (::Quark.mdk_discovery.Cluster.new((self)._fpfactory))
|
1743
|
-
end
|
1744
|
-
cluster = (@services)[service]
|
1739
|
+
cluster = self._getCluster((node).service, (node).environment)
|
1745
1740
|
cluster.add(node)
|
1746
1741
|
self._release()
|
1747
1742
|
|
@@ -1751,12 +1746,8 @@ class Discovery < ::DatawireQuarkCore::QuarkObject
|
|
1751
1746
|
def _expire(node)
|
1752
1747
|
|
1753
1748
|
self._lock()
|
1754
|
-
|
1755
|
-
|
1756
|
-
cluster = (@services)[service]
|
1757
|
-
@logger.info((("removing ") + (node.toString())) + (" from cluster"))
|
1758
|
-
cluster.remove(node)
|
1759
|
-
end
|
1749
|
+
@logger.info((("removing ") + (node.toString())) + (" from cluster"))
|
1750
|
+
self._getCluster((node).service, (node).environment).remove(node)
|
1760
1751
|
self._release()
|
1761
1752
|
|
1762
1753
|
nil
|
@@ -1821,7 +1812,7 @@ class Discovery < ::DatawireQuarkCore::QuarkObject
|
|
1821
1812
|
def __init_fields__()
|
1822
1813
|
|
1823
1814
|
self.logger = ::Quark.quark._getLogger("discovery")
|
1824
|
-
self.services =
|
1815
|
+
self.services = {}
|
1825
1816
|
self.started = false
|
1826
1817
|
self.mutex = ::DatawireQuarkCore::Lock.new()
|
1827
1818
|
self.runtime = nil
|
data/lib/mdk_introspection.rb
CHANGED
data/lib/mdk_metrics.rb
CHANGED