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.
data/lib/mdk.rb CHANGED
@@ -1,4 +1,4 @@
1
- # Quark 1.0.452 run at 2016-10-26 12:53:21.596699
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._resolve(service, version).andThen(::Quark.quark._BoundMethod.new(self, "_resolvedCallback", ::DatawireQuarkCore::List.new([])))
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-26 12:53:21.596699
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
@@ -1,4 +1,4 @@
1
- # Quark 1.0.452 run at 2016-10-26 12:53:21.596699
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-26 12:53:21.596699
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(knowNodes)
401
+ def initialize(knownNodes)
394
402
 
395
403
  self.__init_fields__
396
- (self)._knownNodes = knowNodes
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
- # Register info about a service node with the discovery service. You must
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 register_service(service, address, version)
1623
+ def _getServices(environment)
1609
1624
 
1610
- node = ::Quark.mdk_discovery.Node.new()
1611
- (node).service = service
1612
- (node).address = address
1613
- (node).version = version
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
- # Return the current known Nodes for a service, if any.
1634
+ # Get the Cluster for a given service and environment.
1621
1635
 
1622
- def knownNodes(service)
1636
+ def _getCluster(service, environment)
1623
1637
 
1624
- if (!((@services).key?(service)))
1625
- return ::DatawireQuarkCore::List.new([])
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 ((@services)[service]).nodes
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 (@services)[(node).service].failurePolicy(node)
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 _resolve(service, version)
1674
+ def resolve(service, version, environment)
1648
1675
 
1649
1676
  factory = ::Quark.mdk_runtime.promise.PromiseResolver.new((@runtime).dispatcher)
1650
1677
  self._lock()
1651
- if (!((@services).key?(service)))
1652
- (@services)[service] = (::Quark.mdk_discovery.Cluster.new((self)._fpfactory))
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
- (@services)[service]._addRequest(version, factory)
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
- if (!((@services).key?(service)))
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
- if (!((@services).key?(service)))
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
- service = (node).service
1755
- if ((@services).key?(service))
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 = ::Hash.new()
1815
+ self.services = {}
1825
1816
  self.started = false
1826
1817
  self.mutex = ::DatawireQuarkCore::Lock.new()
1827
1818
  self.runtime = nil
@@ -1,4 +1,4 @@
1
- # Quark 1.0.452 run at 2016-10-26 12:53:21.596699
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_introspection; MdkIntrospection; end
@@ -1,4 +1,4 @@
1
- # Quark 1.0.452 run at 2016-10-26 12:53:21.596699
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_introspection; MdkIntrospection; end
@@ -1,4 +1,4 @@
1
- # Quark 1.0.452 run at 2016-10-26 12:53:21.596699
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_introspection; MdkIntrospection; end
data/lib/mdk_metrics.rb CHANGED
@@ -1,4 +1,4 @@
1
- # Quark 1.0.452 run at 2016-10-26 12:53:21.596699
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_metrics; MdkMetrics; end