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.
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