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.
- checksums.yaml +4 -4
- data/lib/datawire_mdk_md.rb +826 -463
- data/lib/mdk.rb +103 -23
- data/lib/mdk_discovery.rb +11 -4
- data/lib/mdk_discovery/protocol.rb +2 -1
- data/lib/mdk_discovery/synapse.rb +1 -1
- data/lib/mdk_introspection.rb +1 -1
- data/lib/mdk_introspection/aws.rb +1 -1
- data/lib/mdk_introspection/kubernetes.rb +1 -1
- data/lib/mdk_metrics.rb +11 -4
- data/lib/mdk_protocol.rb +152 -77
- data/lib/mdk_rtp.rb +1 -1
- data/lib/mdk_runtime.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_tracing.rb +28 -17
- data/lib/mdk_tracing/api.rb +1 -1
- data/lib/mdk_tracing/protocol.rb +3 -3
- data/lib/mdk_util.rb +1 -1
- data/lib/quark.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
- metadata +2 -2
data/lib/mdk.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Quark 1.0.452 run at 2016-11-
|
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 (
|
1125
|
-
|
1126
|
-
|
1127
|
-
|
1128
|
-
|
1129
|
-
|
1130
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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-
|
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.
|
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.
|
1722
|
-
|
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-
|
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
|
data/lib/mdk_introspection.rb
CHANGED
data/lib/mdk_metrics.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Quark 1.0.452 run at 2016-11-
|
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,
|
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-
|
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 =
|
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 :
|
1938
|
+
attr_accessor :_buffered, :_inFlight, :_added, :_sent, :_recorded, :_myLog
|
1814
1939
|
extend ::DatawireQuarkCore::Static
|
1815
1940
|
|
1816
|
-
static
|
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(
|
1966
|
+
def onConnected(sender)
|
1842
1967
|
|
1843
|
-
|
1844
|
-
|
1845
|
-
|
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(
|
1978
|
+
def onPump(sender)
|
1865
1979
|
|
1866
|
-
|
1867
|
-
|
1868
|
-
|
1869
|
-
|
1870
|
-
|
1871
|
-
|
1872
|
-
|
1873
|
-
|
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
|
-
|
1890
|
-
|
1891
|
-
|
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)
|
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) { ::
|
2053
|
+
(self)._buffered = ::DatawireQuarkCore.cast(value) { ::Hash }
|
1969
2054
|
end
|
1970
2055
|
if ((name) == ("_inFlight"))
|
1971
|
-
(self)._inFlight = ::DatawireQuarkCore.cast(value) { ::
|
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.
|
1998
|
-
self.
|
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
|