datawire_mdk 2.0.23 → 2.0.25
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 +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