datawire_mdk 2.0.29 → 2.0.30

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-11-04 17:24:33.914374
1
+ # Quark 1.0.452 run at 2016-11-10 18:39:58.222591
2
2
  module Quark
3
3
  require "quark"
4
4
  def self.mdk; Mdk; end
@@ -16,6 +16,7 @@ require_relative 'mdk_introspection' # 0 () ()
16
16
  require_relative 'mdk_discovery/protocol' # 0 ('mdk_discovery',) ()
17
17
  require_relative 'mdk_discovery/synapse' # 0 ('mdk_discovery',) ()
18
18
  require_relative 'mdk_rtp' # 0 () ()
19
+ require_relative 'mdk_tracing/protocol' # 0 ('mdk_tracing',) ()
19
20
  require_relative 'mdk_runtime/promise' # 0 ('mdk_runtime',) ()
20
21
  require_relative 'mdk_util' # 0 () ()
21
22
 
@@ -969,6 +970,92 @@ class TLSInit < ::DatawireQuarkCore::QuarkObject
969
970
  end
970
971
  TLSInit.unlazy_statics
971
972
 
973
+ def self.LoggedMessageId; LoggedMessageId; end
974
+ ##
975
+ # Information about the message that was just logged.
976
+ #
977
+
978
+ class LoggedMessageId < ::DatawireQuarkCore::QuarkObject
979
+ attr_accessor :traceId, :causalLevel, :environment, :environmentFallback
980
+ extend ::DatawireQuarkCore::Static
981
+
982
+ static mdk_LoggedMessageId_ref: -> { nil }
983
+ static quark_List_quark_int__ref: -> { nil }
984
+
985
+
986
+
987
+ def initialize(traceId, causalLevel, environment, environmentFallback)
988
+
989
+ self.__init_fields__
990
+ (self).traceId = traceId
991
+ (self).causalLevel = causalLevel
992
+ (self).environment = environment
993
+ (self).environmentFallback = environmentFallback
994
+
995
+ nil
996
+ end
997
+
998
+
999
+
1000
+
1001
+ def _getClass()
1002
+
1003
+ return "mdk.LoggedMessageId"
1004
+
1005
+ nil
1006
+ end
1007
+
1008
+ def _getField(name)
1009
+
1010
+ if ((name) == ("traceId"))
1011
+ return (self).traceId
1012
+ end
1013
+ if ((name) == ("causalLevel"))
1014
+ return (self).causalLevel
1015
+ end
1016
+ if ((name) == ("environment"))
1017
+ return (self).environment
1018
+ end
1019
+ if ((name) == ("environmentFallback"))
1020
+ return (self).environmentFallback
1021
+ end
1022
+ return nil
1023
+
1024
+ nil
1025
+ end
1026
+
1027
+ def _setField(name, value)
1028
+
1029
+ if ((name) == ("traceId"))
1030
+ (self).traceId = ::DatawireQuarkCore.cast(value) { ::String }
1031
+ end
1032
+ if ((name) == ("causalLevel"))
1033
+ (self).causalLevel = ::DatawireQuarkCore.cast(value) { ::DatawireQuarkCore::List }
1034
+ end
1035
+ if ((name) == ("environment"))
1036
+ (self).environment = ::DatawireQuarkCore.cast(value) { ::String }
1037
+ end
1038
+ if ((name) == ("environmentFallback"))
1039
+ (self).environmentFallback = ::DatawireQuarkCore.cast(value) { ::String }
1040
+ end
1041
+
1042
+ nil
1043
+ end
1044
+
1045
+ def __init_fields__()
1046
+
1047
+ self.traceId = nil
1048
+ self.causalLevel = nil
1049
+ self.environment = nil
1050
+ self.environmentFallback = nil
1051
+
1052
+ nil
1053
+ end
1054
+
1055
+
1056
+ end
1057
+ LoggedMessageId.unlazy_statics
1058
+
972
1059
  def self.SessionImpl; SessionImpl; end
973
1060
  class SessionImpl < ::DatawireQuarkCore::QuarkObject
974
1061
  attr_accessor :_mdk, :_resolved, :_interactionReports, :_context, :_experimental
@@ -1121,59 +1208,51 @@ class SessionImpl < ::DatawireQuarkCore::QuarkObject
1121
1208
 
1122
1209
  def _log(level, category, text)
1123
1210
 
1124
- if (((@_mdk)._tracer) != (nil))
1125
- if (::Quark.mdk.SessionImpl._inLogging.getValue())
1126
- return
1127
- end
1128
- ::Quark.mdk.SessionImpl._inLogging.setValue(true)
1129
- (@_mdk)._tracer.log(@_context, (@_mdk).procUUID, level, category, text)
1130
- ::Quark.mdk.SessionImpl._inLogging.setValue(false)
1211
+ if (::Quark.mdk.SessionImpl._inLogging.getValue())
1212
+ return ::DatawireQuarkCore.cast(nil) { ::Quark.mdk.LoggedMessageId }
1213
+ end
1214
+ ::Quark.mdk.SessionImpl._inLogging.setValue(true)
1215
+ evt = ::Quark.mdk_tracing.createLogEvent(@_context, (@_mdk).procUUID, level, category, text)
1216
+ if ((((@_mdk)._tracer) != (nil)) && (self._enabled(level)))
1217
+ (@_mdk)._tracer.log(evt)
1131
1218
  end
1219
+ ::Quark.mdk.SessionImpl._inLogging.setValue(false)
1220
+ return ::Quark.mdk.LoggedMessageId.new((@_context).traceId, (((evt).context).clock).clocks, ((@_context).environment).name, ((@_context).environment).fallbackName)
1132
1221
 
1133
1222
  nil
1134
1223
  end
1135
1224
 
1136
1225
  def critical(category, text)
1137
1226
 
1138
- if (self._enabled("CRITICAL"))
1139
- self._log("CRITICAL", category, text)
1140
- end
1227
+ return self._log("CRITICAL", category, text)
1141
1228
 
1142
1229
  nil
1143
1230
  end
1144
1231
 
1145
1232
  def error(category, text)
1146
1233
 
1147
- if (self._enabled("ERROR"))
1148
- self._log("ERROR", category, text)
1149
- end
1234
+ return self._log("ERROR", category, text)
1150
1235
 
1151
1236
  nil
1152
1237
  end
1153
1238
 
1154
1239
  def warn(category, text)
1155
1240
 
1156
- if (self._enabled("WARN"))
1157
- self._log("WARN", category, text)
1158
- end
1241
+ return self._log("WARN", category, text)
1159
1242
 
1160
1243
  nil
1161
1244
  end
1162
1245
 
1163
1246
  def info(category, text)
1164
1247
 
1165
- if (self._enabled("INFO"))
1166
- self._log("INFO", category, text)
1167
- end
1248
+ return self._log("INFO", category, text)
1168
1249
 
1169
1250
  nil
1170
1251
  end
1171
1252
 
1172
1253
  def debug(category, text)
1173
1254
 
1174
- if (self._enabled("DEBUG"))
1175
- self._log("DEBUG", category, text)
1176
- end
1255
+ return self._log("DEBUG", category, text)
1177
1256
 
1178
1257
  nil
1179
1258
  end
@@ -1248,6 +1327,7 @@ class SessionImpl < ::DatawireQuarkCore::QuarkObject
1248
1327
  (interactionReport).node = (@_mdk).procUUID
1249
1328
  (interactionReport).timestamp = ((1000.0) * ((@_mdk)._runtime.getTimeService().time())).round()
1250
1329
  (interactionReport).session = (@_context).traceId
1330
+ (interactionReport).environment = (@_context).environment
1251
1331
  (@_interactionReports) << (interactionReport)
1252
1332
  (@_resolved) << (::DatawireQuarkCore::List.new([]))
1253
1333
 
data/lib/mdk_discovery.rb CHANGED
@@ -1,4 +1,4 @@
1
- # Quark 1.0.452 run at 2016-11-04 17:24:33.914374
1
+ # Quark 1.0.452 run at 2016-11-10 18:39:58.222591
2
2
  module Quark
3
3
  require "quark"
4
4
  def self.mdk_discovery; MdkDiscovery; end
@@ -1262,7 +1262,9 @@ class Cluster < ::DatawireQuarkCore::QuarkObject
1262
1262
  while ((jdx) < ((waiting).size)) do
1263
1263
  req = (waiting)[jdx]
1264
1264
  if (::Quark.mdk_util.versionMatch((req).version, (node).version))
1265
- (req).factory.resolve(self._copyNode(node))
1265
+ if (!(((req).factory).promise.value().hasValue()))
1266
+ (req).factory.resolve(self._copyNode(node))
1267
+ end
1266
1268
  else
1267
1269
  ((self)._waiting) << (req)
1268
1270
  end
@@ -1718,8 +1720,13 @@ class Discovery < ::DatawireQuarkCore::QuarkObject
1718
1720
  if (!(cluster.matchingVersionRegistered(version)))
1719
1721
  fallback = environment.getFallback()
1720
1722
  if ((fallback) != (nil))
1721
- self._release()
1722
- return self.resolve(service, version, fallback)
1723
+ fallbackCluster = self._getCluster(service, fallback)
1724
+ if (!(fallbackCluster.matchingVersionRegistered(version)))
1725
+ fallbackCluster._addRequest(version, factory)
1726
+ else
1727
+ self._release()
1728
+ return self.resolve(service, version, fallback)
1729
+ end
1723
1730
  end
1724
1731
  end
1725
1732
  result = cluster.chooseVersion(version)
@@ -1,4 +1,4 @@
1
- # Quark 1.0.452 run at 2016-11-04 17:24:33.914374
1
+ # Quark 1.0.452 run at 2016-11-10 18:39:58.222591
2
2
  module Quark
3
3
  require "quark"
4
4
  def self.mdk_discovery; MdkDiscovery; end
@@ -167,6 +167,7 @@ class DiscoClient < ::DatawireQuarkCore::QuarkObject
167
167
  def onWSConnected(websocket)
168
168
 
169
169
  (self).sock = websocket
170
+ (self).lastHeartbeat = (((self)._timeService.time()) * (1000.0)).round()
170
171
  self.heartbeat()
171
172
 
172
173
  nil
@@ -1,4 +1,4 @@
1
- # Quark 1.0.452 run at 2016-11-04 17:24:33.914374
1
+ # Quark 1.0.452 run at 2016-11-10 18:39:58.222591
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-11-04 17:24:33.914374
1
+ # Quark 1.0.452 run at 2016-11-10 18:39:58.222591
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-11-04 17:24:33.914374
1
+ # Quark 1.0.452 run at 2016-11-10 18:39:58.222591
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-11-04 17:24:33.914374
1
+ # Quark 1.0.452 run at 2016-11-10 18:39:58.222591
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-11-04 17:24:33.914374
1
+ # Quark 1.0.452 run at 2016-11-10 18:39:58.222591
2
2
  module Quark
3
3
  require "quark"
4
4
  def self.mdk_metrics; MdkMetrics; end
@@ -16,7 +16,7 @@ def self.InteractionEvent; InteractionEvent; end
16
16
  # Wire protocol message for reporting interaction results to MCP.
17
17
 
18
18
  class InteractionEvent < ::Quark.mdk_protocol.Serializable
19
- attr_accessor :timestamp, :uuid, :session, :node, :results
19
+ attr_accessor :timestamp, :environment, :uuid, :session, :node, :results
20
20
  extend ::DatawireQuarkCore::Static
21
21
 
22
22
  static _json_type: -> { "interaction_event" }
@@ -70,6 +70,9 @@ class InteractionEvent < ::Quark.mdk_protocol.Serializable
70
70
  if ((name) == ("timestamp"))
71
71
  return (self).timestamp
72
72
  end
73
+ if ((name) == ("environment"))
74
+ return (self).environment
75
+ end
73
76
  if ((name) == ("uuid"))
74
77
  return (self).uuid
75
78
  end
@@ -95,6 +98,9 @@ class InteractionEvent < ::Quark.mdk_protocol.Serializable
95
98
  if ((name) == ("timestamp"))
96
99
  (self).timestamp = ::DatawireQuarkCore.cast(value) { ::Integer }
97
100
  end
101
+ if ((name) == ("environment"))
102
+ (self).environment = ::DatawireQuarkCore.cast(value) { ::Quark.mdk_protocol.OperationalEnvironment }
103
+ end
98
104
  if ((name) == ("uuid"))
99
105
  (self).uuid = ::DatawireQuarkCore.cast(value) { ::String }
100
106
  end
@@ -115,6 +121,7 @@ class InteractionEvent < ::Quark.mdk_protocol.Serializable
115
121
 
116
122
  super
117
123
  self.timestamp = nil
124
+ self.environment = nil
118
125
  self.uuid = ::Quark.quark.concurrent.Context.runtime().uuid()
119
126
  self.session = nil
120
127
  self.node = nil
@@ -251,14 +258,14 @@ class MetricsClient < ::DatawireQuarkCore::QuarkObject
251
258
  def onWSConnected(websock)
252
259
 
253
260
  (self)._sock = websock
254
- (self)._sendWithAcks.onConnected(self, (self)._dispatcher, websock)
261
+ (self)._sendWithAcks.onConnected(::Quark.mdk_protocol.WSSend.new(self, (self)._dispatcher, (self)._sock))
255
262
 
256
263
  nil
257
264
  end
258
265
 
259
266
  def onPump()
260
267
 
261
- (self)._sendWithAcks.onPump(self, (self)._dispatcher, (self)._sock)
268
+ (self)._sendWithAcks.onPump(::Quark.mdk_protocol.WSSend.new(self, (self)._dispatcher, (self)._sock))
262
269
 
263
270
  nil
264
271
  end
data/lib/mdk_protocol.rb CHANGED
@@ -1,4 +1,4 @@
1
- # Quark 1.0.452 run at 2016-11-04 17:24:33.914374
1
+ # Quark 1.0.452 run at 2016-11-10 18:39:58.222591
2
2
  module Quark
3
3
  require "quark"
4
4
  def self.mdk_protocol; MdkProtocol; end
@@ -135,7 +135,6 @@ class LamportClock < ::Quark.mdk_protocol.Serializable
135
135
  attr_accessor :_mutex, :clocks
136
136
  extend ::DatawireQuarkCore::Static
137
137
 
138
- static quark_List_quark_int__ref: -> { nil }
139
138
  static mdk_protocol_LamportClock_ref: -> { nil }
140
139
 
141
140
 
@@ -1794,7 +1793,7 @@ class AckableEvent < ::DatawireQuarkCore::QuarkObject
1794
1793
 
1795
1794
  self.json_type = nil
1796
1795
  self.sequence = nil
1797
- self.sync = 0
1796
+ self.sync = 1
1798
1797
  self.payload = nil
1799
1798
 
1800
1799
  nil
@@ -1804,16 +1803,142 @@ class AckableEvent < ::DatawireQuarkCore::QuarkObject
1804
1803
  end
1805
1804
  AckableEvent.unlazy_statics
1806
1805
 
1806
+ def self.SendAckableEvent; SendAckableEvent; end
1807
+ ##
1808
+ # Send a message to the other side.
1809
+
1810
+ class SendAckableEvent < ::DatawireQuarkCore::QuarkObject
1811
+ extend ::DatawireQuarkCore::Static
1812
+
1813
+ static mdk_protocol_SendAckableEvent_ref: -> { nil }
1814
+
1815
+
1816
+
1817
+ def initialize()
1818
+ self.__init_fields__
1819
+
1820
+ nil
1821
+ end
1822
+
1823
+
1824
+
1825
+
1826
+ def send(event)
1827
+ raise NotImplementedError, '`SendAckableEvent.send` is an abstract method'
1828
+
1829
+ nil
1830
+ end
1831
+
1832
+ def __init_fields__()
1833
+
1834
+
1835
+ nil
1836
+ end
1837
+
1838
+
1839
+ end
1840
+ SendAckableEvent.unlazy_statics
1841
+
1842
+ def self.WSSend; WSSend; end
1843
+ ##
1844
+ # Send using a WebSocket actor.
1845
+
1846
+ class WSSend < ::DatawireQuarkCore::QuarkObject
1847
+ attr_accessor :origin, :dispatcher, :sock
1848
+ extend ::DatawireQuarkCore::Static
1849
+
1850
+ static mdk_protocol_WSSend_ref: -> { nil }
1851
+
1852
+
1853
+
1854
+ def initialize(origin, dispatcher, sock)
1855
+
1856
+ self.__init_fields__
1857
+ (self).origin = origin
1858
+ (self).dispatcher = dispatcher
1859
+ (self).sock = sock
1860
+
1861
+ nil
1862
+ end
1863
+
1864
+
1865
+
1866
+
1867
+ def send(event)
1868
+
1869
+ @dispatcher.tell(@origin, event.encode(), @sock)
1870
+
1871
+ nil
1872
+ end
1873
+
1874
+ def toString()
1875
+
1876
+ return ((self).sock).to_s
1877
+
1878
+ nil
1879
+ end
1880
+
1881
+ def _getClass()
1882
+
1883
+ return "mdk_protocol.WSSend"
1884
+
1885
+ nil
1886
+ end
1887
+
1888
+ def _getField(name)
1889
+
1890
+ if ((name) == ("origin"))
1891
+ return (self).origin
1892
+ end
1893
+ if ((name) == ("dispatcher"))
1894
+ return (self).dispatcher
1895
+ end
1896
+ if ((name) == ("sock"))
1897
+ return (self).sock
1898
+ end
1899
+ return nil
1900
+
1901
+ nil
1902
+ end
1903
+
1904
+ def _setField(name, value)
1905
+
1906
+ if ((name) == ("origin"))
1907
+ (self).origin = ::DatawireQuarkCore.cast(value) { ::Quark.mdk_runtime.actors.Actor }
1908
+ end
1909
+ if ((name) == ("dispatcher"))
1910
+ (self).dispatcher = ::DatawireQuarkCore.cast(value) { ::Quark.mdk_runtime.actors.MessageDispatcher }
1911
+ end
1912
+ if ((name) == ("sock"))
1913
+ (self).sock = ::DatawireQuarkCore.cast(value) { ::Quark.mdk_runtime.actors.Actor }
1914
+ end
1915
+
1916
+ nil
1917
+ end
1918
+
1919
+ def __init_fields__()
1920
+
1921
+ self.origin = nil
1922
+ self.dispatcher = nil
1923
+ self.sock = nil
1924
+
1925
+ nil
1926
+ end
1927
+
1928
+
1929
+ end
1930
+ WSSend.unlazy_statics
1931
+
1807
1932
  def self.SendWithAcks; SendWithAcks; end
1808
1933
  ##
1809
1934
  # Utility class for sending messages with a protocol that sends back acks.
1810
1935
  #
1811
1936
 
1812
1937
  class SendWithAcks < ::DatawireQuarkCore::QuarkObject
1813
- attr_accessor :_syncRequestPeriod, :_syncInFlightMax, :_buffered, :_inFlight, :_added, :_sent, :_failedSends, :_recorded, :_lastSyncTime, :_myLog
1938
+ attr_accessor :_buffered, :_inFlight, :_added, :_sent, :_recorded, :_myLog
1814
1939
  extend ::DatawireQuarkCore::Static
1815
1940
 
1816
- static quark_List_mdk_protocol_AckableEvent__ref: -> { nil }
1941
+ static quark_Map_quark_long_mdk_protocol_AckableEvent__ref: -> { nil }
1817
1942
  static mdk_protocol_SendWithAcks_ref: -> { nil }
1818
1943
 
1819
1944
 
@@ -1829,7 +1954,7 @@ class SendWithAcks < ::DatawireQuarkCore::QuarkObject
1829
1954
 
1830
1955
  def _debug(message)
1831
1956
 
1832
- s = (((("[") + (((@_buffered).size).to_s)) + (" buf, ")) + (((@_inFlight).size).to_s)) + (" inf] ")
1957
+ s = (((("[") + (((::DatawireQuarkCore::List.new((@_buffered).keys)).size).to_s)) + (" buf, ")) + (((::DatawireQuarkCore::List.new((@_inFlight).keys)).size).to_s)) + (" inf] ")
1833
1958
  @_myLog.debug((s) + (message))
1834
1959
 
1835
1960
  nil
@@ -1838,22 +1963,11 @@ class SendWithAcks < ::DatawireQuarkCore::QuarkObject
1838
1963
  ##
1839
1964
  # Call when (re)connected to other side.
1840
1965
 
1841
- def onConnected(origin, dispatcher, sock)
1966
+ def onConnected(sender)
1842
1967
 
1843
- while (((@_buffered).size) > (0)) do
1844
- debugSuffix = ""
1845
- evt = (@_buffered).delete_at(0)
1846
- (@_inFlight) << (evt)
1847
- if (((evt.getTimestamp()) > ((@_lastSyncTime) + (@_syncRequestPeriod))) || (((@_inFlight).size) == (@_syncInFlightMax)))
1848
- (evt).sync = 1
1849
- @_lastSyncTime = evt.getTimestamp()
1850
- debugSuffix = " with sync set"
1851
- end
1852
- dispatcher.tell(origin, evt.encode(), sock)
1853
- (evt).sync = 0
1854
- @_sent = (@_sent) + ((1))
1855
- self._debug((((("sent #") + (((evt).sequence).to_s)) + (debugSuffix)) + (" to ")) + ((sock).to_s))
1856
- end
1968
+ (@_buffered).merge!(@_inFlight)
1969
+ @_inFlight = {}
1970
+ self.onPump(sender)
1857
1971
 
1858
1972
  nil
1859
1973
  end
@@ -1861,21 +1975,16 @@ class SendWithAcks < ::DatawireQuarkCore::QuarkObject
1861
1975
  ##
1862
1976
  # Call to send buffered messages.
1863
1977
 
1864
- def onPump(origin, dispatcher, sock)
1978
+ def onPump(sender)
1865
1979
 
1866
- while (((@_buffered).size) > (0)) do
1867
- debugSuffix = ""
1868
- evt = (@_buffered).delete_at(0)
1869
- (@_inFlight) << (evt)
1870
- if (((evt.getTimestamp()) > ((@_lastSyncTime) + (@_syncRequestPeriod))) || (((@_inFlight).size) == (@_syncInFlightMax)))
1871
- (evt).sync = 1
1872
- @_lastSyncTime = evt.getTimestamp()
1873
- debugSuffix = " with sync set"
1874
- end
1875
- dispatcher.tell(origin, evt.encode(), sock)
1876
- (evt).sync = 0
1877
- @_sent = (@_sent) + ((1))
1878
- self._debug((((("sent #") + (((evt).sequence).to_s)) + (debugSuffix)) + (" to ")) + ((sock).to_s))
1980
+ seqs = ::DatawireQuarkCore::List.new((@_buffered).keys)
1981
+ (seqs).sort!
1982
+ idx = 0
1983
+ while (((seqs).size) > (idx)) do
1984
+ evt = (@_buffered).delete((seqs)[idx])
1985
+ (@_inFlight)[(evt).sequence] = (evt)
1986
+ sender.send(evt)
1987
+ idx = (idx) + (1)
1879
1988
  end
1880
1989
 
1881
1990
  nil
@@ -1886,15 +1995,9 @@ class SendWithAcks < ::DatawireQuarkCore::QuarkObject
1886
1995
 
1887
1996
  def onAck(sequence)
1888
1997
 
1889
- while (((@_inFlight).size) > (0)) do
1890
- if ((((@_inFlight)[0]).sequence) <= (sequence))
1891
- evt = (@_inFlight).delete_at(0)
1892
- @_recorded = (@_recorded) + ((1))
1893
- self._debug(((("ack #") + ((sequence).to_s)) + (", discarding #")) + (((evt).sequence).to_s))
1894
- else
1895
- break
1896
- end
1897
- end
1998
+ (@_inFlight).delete(sequence)
1999
+ @_recorded = (@_recorded) + ((1))
2000
+ self._debug(((("ack #") + ((sequence).to_s)) + (", discarding #")) + ((sequence).to_s))
1898
2001
 
1899
2002
  nil
1900
2003
  end
@@ -1906,7 +2009,7 @@ class SendWithAcks < ::DatawireQuarkCore::QuarkObject
1906
2009
 
1907
2010
  wrapper = ::Quark.mdk_protocol.AckableEvent.new(json_type, event, @_added)
1908
2011
  @_added = (@_added) + ((1))
1909
- (@_buffered) << (wrapper)
2012
+ (@_buffered)[(wrapper).sequence] = (wrapper)
1910
2013
  self._debug(("logged #") + (((wrapper).sequence).to_s))
1911
2014
 
1912
2015
  nil
@@ -1921,12 +2024,6 @@ class SendWithAcks < ::DatawireQuarkCore::QuarkObject
1921
2024
 
1922
2025
  def _getField(name)
1923
2026
 
1924
- if ((name) == ("_syncRequestPeriod"))
1925
- return (self)._syncRequestPeriod
1926
- end
1927
- if ((name) == ("_syncInFlightMax"))
1928
- return (self)._syncInFlightMax
1929
- end
1930
2027
  if ((name) == ("_buffered"))
1931
2028
  return (self)._buffered
1932
2029
  end
@@ -1939,15 +2036,9 @@ class SendWithAcks < ::DatawireQuarkCore::QuarkObject
1939
2036
  if ((name) == ("_sent"))
1940
2037
  return (self)._sent
1941
2038
  end
1942
- if ((name) == ("_failedSends"))
1943
- return (self)._failedSends
1944
- end
1945
2039
  if ((name) == ("_recorded"))
1946
2040
  return (self)._recorded
1947
2041
  end
1948
- if ((name) == ("_lastSyncTime"))
1949
- return (self)._lastSyncTime
1950
- end
1951
2042
  if ((name) == ("_myLog"))
1952
2043
  return (self)._myLog
1953
2044
  end
@@ -1958,17 +2049,11 @@ class SendWithAcks < ::DatawireQuarkCore::QuarkObject
1958
2049
 
1959
2050
  def _setField(name, value)
1960
2051
 
1961
- if ((name) == ("_syncRequestPeriod"))
1962
- (self)._syncRequestPeriod = ::DatawireQuarkCore.cast(value) { ::Integer }
1963
- end
1964
- if ((name) == ("_syncInFlightMax"))
1965
- (self)._syncInFlightMax = ::DatawireQuarkCore.cast(value) { ::Integer }
1966
- end
1967
2052
  if ((name) == ("_buffered"))
1968
- (self)._buffered = ::DatawireQuarkCore.cast(value) { ::DatawireQuarkCore::List }
2053
+ (self)._buffered = ::DatawireQuarkCore.cast(value) { ::Hash }
1969
2054
  end
1970
2055
  if ((name) == ("_inFlight"))
1971
- (self)._inFlight = ::DatawireQuarkCore.cast(value) { ::DatawireQuarkCore::List }
2056
+ (self)._inFlight = ::DatawireQuarkCore.cast(value) { ::Hash }
1972
2057
  end
1973
2058
  if ((name) == ("_added"))
1974
2059
  (self)._added = ::DatawireQuarkCore.cast(value) { ::Integer }
@@ -1976,15 +2061,9 @@ class SendWithAcks < ::DatawireQuarkCore::QuarkObject
1976
2061
  if ((name) == ("_sent"))
1977
2062
  (self)._sent = ::DatawireQuarkCore.cast(value) { ::Integer }
1978
2063
  end
1979
- if ((name) == ("_failedSends"))
1980
- (self)._failedSends = ::DatawireQuarkCore.cast(value) { ::Integer }
1981
- end
1982
2064
  if ((name) == ("_recorded"))
1983
2065
  (self)._recorded = ::DatawireQuarkCore.cast(value) { ::Integer }
1984
2066
  end
1985
- if ((name) == ("_lastSyncTime"))
1986
- (self)._lastSyncTime = ::DatawireQuarkCore.cast(value) { ::Integer }
1987
- end
1988
2067
  if ((name) == ("_myLog"))
1989
2068
  (self)._myLog = value
1990
2069
  end
@@ -1994,15 +2073,11 @@ class SendWithAcks < ::DatawireQuarkCore::QuarkObject
1994
2073
 
1995
2074
  def __init_fields__()
1996
2075
 
1997
- self._syncRequestPeriod = 5000
1998
- self._syncInFlightMax = 50
1999
- self._buffered = ::DatawireQuarkCore::List.new([])
2000
- self._inFlight = ::DatawireQuarkCore::List.new([])
2076
+ self._buffered = {}
2077
+ self._inFlight = {}
2001
2078
  self._added = 0
2002
2079
  self._sent = 0
2003
- self._failedSends = 0
2004
2080
  self._recorded = 0
2005
- self._lastSyncTime = 0
2006
2081
  self._myLog = ::Quark.quark._getLogger("SendWithAcks")
2007
2082
 
2008
2083
  nil