@celerispay/hazelcast-client 3.12.5

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.
Files changed (746) hide show
  1. package/.nvmrc +1 -0
  2. package/CHANGELOG.md +116 -0
  3. package/CONFIG.md +503 -0
  4. package/FAILOVER_FIXES.md +284 -0
  5. package/LICENSE +202 -0
  6. package/QUICK_START.md +143 -0
  7. package/README.md +178 -0
  8. package/RELEASE_SUMMARY.md +180 -0
  9. package/config-schema.json +343 -0
  10. package/hazelcast-client-default.json +56 -0
  11. package/hazelcast-client-full.json +137 -0
  12. package/lib/Address.d.ts +17 -0
  13. package/lib/Address.js +65 -0
  14. package/lib/BitsUtil.d.ts +69 -0
  15. package/lib/BitsUtil.js +202 -0
  16. package/lib/BuildInfo.d.ts +9 -0
  17. package/lib/BuildInfo.js +53 -0
  18. package/lib/ClientInfo.d.ts +15 -0
  19. package/lib/ClientInfo.js +27 -0
  20. package/lib/ClientMessage.d.ts +52 -0
  21. package/lib/ClientMessage.js +217 -0
  22. package/lib/ClusterDataFactory.d.ts +4 -0
  23. package/lib/ClusterDataFactory.js +31 -0
  24. package/lib/ClusterDataFactoryHelper.d.ts +5 -0
  25. package/lib/ClusterDataFactoryHelper.js +26 -0
  26. package/lib/DataStoreHashMap.d.ts +20 -0
  27. package/lib/DataStoreHashMap.js +112 -0
  28. package/lib/DistributedObject.d.ts +22 -0
  29. package/lib/DistributedObject.js +17 -0
  30. package/lib/HazelcastClient.d.ts +201 -0
  31. package/lib/HazelcastClient.js +370 -0
  32. package/lib/HazelcastError.d.ts +114 -0
  33. package/lib/HazelcastError.js +389 -0
  34. package/lib/HeartbeatService.d.ts +30 -0
  35. package/lib/HeartbeatService.js +108 -0
  36. package/lib/LifecycleService.d.ts +32 -0
  37. package/lib/LifecycleService.js +105 -0
  38. package/lib/ListenerMessageCodec.d.ts +6 -0
  39. package/lib/ListenerMessageCodec.js +17 -0
  40. package/lib/ListenerService.d.ts +35 -0
  41. package/lib/ListenerService.js +233 -0
  42. package/lib/LockReferenceIdGenerator.d.ts +6 -0
  43. package/lib/LockReferenceIdGenerator.js +29 -0
  44. package/lib/PartitionService.d.ts +38 -0
  45. package/lib/PartitionService.js +118 -0
  46. package/lib/Util.d.ts +47 -0
  47. package/lib/Util.js +351 -0
  48. package/lib/aggregation/Aggregator.d.ts +74 -0
  49. package/lib/aggregation/Aggregator.js +277 -0
  50. package/lib/aggregation/AggregatorFactory.d.ts +26 -0
  51. package/lib/aggregation/AggregatorFactory.js +66 -0
  52. package/lib/aggregation/Aggregators.d.ts +96 -0
  53. package/lib/aggregation/Aggregators.js +149 -0
  54. package/lib/codec/AddressCodec.d.ts +6 -0
  55. package/lib/codec/AddressCodec.js +33 -0
  56. package/lib/codec/AtomicLongAddAndGetCodec.d.ts +7 -0
  57. package/lib/codec/AtomicLongAddAndGetCodec.js +56 -0
  58. package/lib/codec/AtomicLongCompareAndSetCodec.d.ts +7 -0
  59. package/lib/codec/AtomicLongCompareAndSetCodec.js +58 -0
  60. package/lib/codec/AtomicLongDecrementAndGetCodec.d.ts +7 -0
  61. package/lib/codec/AtomicLongDecrementAndGetCodec.js +54 -0
  62. package/lib/codec/AtomicLongGetAndAddCodec.d.ts +7 -0
  63. package/lib/codec/AtomicLongGetAndAddCodec.js +56 -0
  64. package/lib/codec/AtomicLongGetAndIncrementCodec.d.ts +7 -0
  65. package/lib/codec/AtomicLongGetAndIncrementCodec.js +54 -0
  66. package/lib/codec/AtomicLongGetAndSetCodec.d.ts +7 -0
  67. package/lib/codec/AtomicLongGetAndSetCodec.js +56 -0
  68. package/lib/codec/AtomicLongGetCodec.d.ts +7 -0
  69. package/lib/codec/AtomicLongGetCodec.js +54 -0
  70. package/lib/codec/AtomicLongIncrementAndGetCodec.d.ts +7 -0
  71. package/lib/codec/AtomicLongIncrementAndGetCodec.js +54 -0
  72. package/lib/codec/AtomicLongMessageType.d.ts +15 -0
  73. package/lib/codec/AtomicLongMessageType.js +37 -0
  74. package/lib/codec/AtomicLongSetCodec.d.ts +5 -0
  75. package/lib/codec/AtomicLongSetCodec.js +47 -0
  76. package/lib/codec/ClientAddDistributedObjectListenerCodec.d.ts +8 -0
  77. package/lib/codec/ClientAddDistributedObjectListenerCodec.js +74 -0
  78. package/lib/codec/ClientAddMembershipListenerCodec.d.ts +8 -0
  79. package/lib/codec/ClientAddMembershipListenerCodec.js +107 -0
  80. package/lib/codec/ClientAuthenticationCodec.d.ts +7 -0
  81. package/lib/codec/ClientAuthenticationCodec.js +114 -0
  82. package/lib/codec/ClientAuthenticationCustomCodec.d.ts +7 -0
  83. package/lib/codec/ClientAuthenticationCustomCodec.js +112 -0
  84. package/lib/codec/ClientCreateProxyCodec.d.ts +6 -0
  85. package/lib/codec/ClientCreateProxyCodec.js +50 -0
  86. package/lib/codec/ClientDestroyProxyCodec.d.ts +5 -0
  87. package/lib/codec/ClientDestroyProxyCodec.js +47 -0
  88. package/lib/codec/ClientGetDistributedObjectsCodec.d.ts +7 -0
  89. package/lib/codec/ClientGetDistributedObjectsCodec.js +59 -0
  90. package/lib/codec/ClientMessageType.d.ts +18 -0
  91. package/lib/codec/ClientMessageType.js +40 -0
  92. package/lib/codec/ClientPingCodec.d.ts +5 -0
  93. package/lib/codec/ClientPingCodec.js +42 -0
  94. package/lib/codec/ClientRemoveDistributedObjectListenerCodec.d.ts +7 -0
  95. package/lib/codec/ClientRemoveDistributedObjectListenerCodec.js +54 -0
  96. package/lib/codec/ClientStatisticsCodec.d.ts +5 -0
  97. package/lib/codec/ClientStatisticsCodec.js +42 -0
  98. package/lib/codec/DistributedObjectInfoCodec.d.ts +5 -0
  99. package/lib/codec/DistributedObjectInfoCodec.js +27 -0
  100. package/lib/codec/EntryViewCodec.d.ts +7 -0
  101. package/lib/codec/EntryViewCodec.js +56 -0
  102. package/lib/codec/FlakeIdGeneratorMessageType.d.ts +3 -0
  103. package/lib/codec/FlakeIdGeneratorMessageType.js +25 -0
  104. package/lib/codec/FlakeIdGeneratorNewIdBatchCodec.d.ts +7 -0
  105. package/lib/codec/FlakeIdGeneratorNewIdBatchCodec.js +60 -0
  106. package/lib/codec/GetPartitionsCodec.d.ts +9 -0
  107. package/lib/codec/GetPartitionsCodec.js +45 -0
  108. package/lib/codec/ListAddAllCodec.d.ts +7 -0
  109. package/lib/codec/ListAddAllCodec.js +62 -0
  110. package/lib/codec/ListAddAllWithIndexCodec.d.ts +7 -0
  111. package/lib/codec/ListAddAllWithIndexCodec.js +64 -0
  112. package/lib/codec/ListAddCodec.d.ts +7 -0
  113. package/lib/codec/ListAddCodec.js +56 -0
  114. package/lib/codec/ListAddListenerCodec.d.ts +8 -0
  115. package/lib/codec/ListAddListenerCodec.js +80 -0
  116. package/lib/codec/ListAddWithIndexCodec.d.ts +6 -0
  117. package/lib/codec/ListAddWithIndexCodec.js +49 -0
  118. package/lib/codec/ListClearCodec.d.ts +5 -0
  119. package/lib/codec/ListClearCodec.js +45 -0
  120. package/lib/codec/ListCompareAndRemoveAllCodec.d.ts +7 -0
  121. package/lib/codec/ListCompareAndRemoveAllCodec.js +62 -0
  122. package/lib/codec/ListCompareAndRetainAllCodec.d.ts +7 -0
  123. package/lib/codec/ListCompareAndRetainAllCodec.js +62 -0
  124. package/lib/codec/ListContainsAllCodec.d.ts +7 -0
  125. package/lib/codec/ListContainsAllCodec.js +62 -0
  126. package/lib/codec/ListContainsCodec.d.ts +7 -0
  127. package/lib/codec/ListContainsCodec.js +56 -0
  128. package/lib/codec/ListGetAllCodec.d.ts +7 -0
  129. package/lib/codec/ListGetAllCodec.js +61 -0
  130. package/lib/codec/ListGetCodec.d.ts +7 -0
  131. package/lib/codec/ListGetCodec.js +58 -0
  132. package/lib/codec/ListIndexOfCodec.d.ts +7 -0
  133. package/lib/codec/ListIndexOfCodec.js +56 -0
  134. package/lib/codec/ListIsEmptyCodec.d.ts +7 -0
  135. package/lib/codec/ListIsEmptyCodec.js +54 -0
  136. package/lib/codec/ListLastIndexOfCodec.d.ts +7 -0
  137. package/lib/codec/ListLastIndexOfCodec.js +56 -0
  138. package/lib/codec/ListMessageType.d.ts +25 -0
  139. package/lib/codec/ListMessageType.js +47 -0
  140. package/lib/codec/ListRemoveCodec.d.ts +7 -0
  141. package/lib/codec/ListRemoveCodec.js +56 -0
  142. package/lib/codec/ListRemoveListenerCodec.d.ts +7 -0
  143. package/lib/codec/ListRemoveListenerCodec.js +56 -0
  144. package/lib/codec/ListRemoveWithIndexCodec.d.ts +7 -0
  145. package/lib/codec/ListRemoveWithIndexCodec.js +58 -0
  146. package/lib/codec/ListSetCodec.d.ts +7 -0
  147. package/lib/codec/ListSetCodec.js +60 -0
  148. package/lib/codec/ListSizeCodec.d.ts +7 -0
  149. package/lib/codec/ListSizeCodec.js +54 -0
  150. package/lib/codec/ListSubCodec.d.ts +7 -0
  151. package/lib/codec/ListSubCodec.js +65 -0
  152. package/lib/codec/LockForceUnlockCodec.d.ts +5 -0
  153. package/lib/codec/LockForceUnlockCodec.js +47 -0
  154. package/lib/codec/LockGetLockCountCodec.d.ts +7 -0
  155. package/lib/codec/LockGetLockCountCodec.js +54 -0
  156. package/lib/codec/LockGetRemainingLeaseTimeCodec.d.ts +7 -0
  157. package/lib/codec/LockGetRemainingLeaseTimeCodec.js +54 -0
  158. package/lib/codec/LockIsLockedByCurrentThreadCodec.d.ts +7 -0
  159. package/lib/codec/LockIsLockedByCurrentThreadCodec.js +56 -0
  160. package/lib/codec/LockIsLockedCodec.d.ts +7 -0
  161. package/lib/codec/LockIsLockedCodec.js +54 -0
  162. package/lib/codec/LockLockCodec.d.ts +5 -0
  163. package/lib/codec/LockLockCodec.js +51 -0
  164. package/lib/codec/LockMessageType.d.ts +10 -0
  165. package/lib/codec/LockMessageType.js +32 -0
  166. package/lib/codec/LockTryLockCodec.d.ts +7 -0
  167. package/lib/codec/LockTryLockCodec.js +62 -0
  168. package/lib/codec/LockUnlockCodec.d.ts +5 -0
  169. package/lib/codec/LockUnlockCodec.js +49 -0
  170. package/lib/codec/MapAddEntryListenerCodec.d.ts +8 -0
  171. package/lib/codec/MapAddEntryListenerCodec.js +104 -0
  172. package/lib/codec/MapAddEntryListenerToKeyCodec.d.ts +8 -0
  173. package/lib/codec/MapAddEntryListenerToKeyCodec.js +106 -0
  174. package/lib/codec/MapAddEntryListenerToKeyWithPredicateCodec.d.ts +8 -0
  175. package/lib/codec/MapAddEntryListenerToKeyWithPredicateCodec.js +108 -0
  176. package/lib/codec/MapAddEntryListenerWithPredicateCodec.d.ts +8 -0
  177. package/lib/codec/MapAddEntryListenerWithPredicateCodec.js +106 -0
  178. package/lib/codec/MapAddIndexCodec.d.ts +5 -0
  179. package/lib/codec/MapAddIndexCodec.js +49 -0
  180. package/lib/codec/MapAddNearCacheEntryListenerCodec.d.ts +8 -0
  181. package/lib/codec/MapAddNearCacheEntryListenerCodec.js +135 -0
  182. package/lib/codec/MapAddNearCacheInvalidationListenerCodec.d.ts +8 -0
  183. package/lib/codec/MapAddNearCacheInvalidationListenerCodec.js +138 -0
  184. package/lib/codec/MapAggregateCodec.d.ts +7 -0
  185. package/lib/codec/MapAggregateCodec.js +61 -0
  186. package/lib/codec/MapAggregateWithPredicateCodec.d.ts +7 -0
  187. package/lib/codec/MapAggregateWithPredicateCodec.js +63 -0
  188. package/lib/codec/MapClearCodec.d.ts +5 -0
  189. package/lib/codec/MapClearCodec.js +45 -0
  190. package/lib/codec/MapContainsKeyCodec.d.ts +7 -0
  191. package/lib/codec/MapContainsKeyCodec.js +58 -0
  192. package/lib/codec/MapContainsValueCodec.d.ts +7 -0
  193. package/lib/codec/MapContainsValueCodec.js +56 -0
  194. package/lib/codec/MapDeleteCodec.d.ts +6 -0
  195. package/lib/codec/MapDeleteCodec.js +49 -0
  196. package/lib/codec/MapEntriesWithPredicateCodec.d.ts +7 -0
  197. package/lib/codec/MapEntriesWithPredicateCodec.js +67 -0
  198. package/lib/codec/MapEntrySetCodec.d.ts +7 -0
  199. package/lib/codec/MapEntrySetCodec.js +65 -0
  200. package/lib/codec/MapEvictAllCodec.d.ts +5 -0
  201. package/lib/codec/MapEvictAllCodec.js +45 -0
  202. package/lib/codec/MapEvictCodec.d.ts +7 -0
  203. package/lib/codec/MapEvictCodec.js +58 -0
  204. package/lib/codec/MapExecuteOnAllKeysCodec.d.ts +7 -0
  205. package/lib/codec/MapExecuteOnAllKeysCodec.js +67 -0
  206. package/lib/codec/MapExecuteOnKeyCodec.d.ts +7 -0
  207. package/lib/codec/MapExecuteOnKeyCodec.js +62 -0
  208. package/lib/codec/MapExecuteOnKeysCodec.d.ts +7 -0
  209. package/lib/codec/MapExecuteOnKeysCodec.js +75 -0
  210. package/lib/codec/MapExecuteWithPredicateCodec.d.ts +7 -0
  211. package/lib/codec/MapExecuteWithPredicateCodec.js +69 -0
  212. package/lib/codec/MapFetchNearCacheInvalidationMetadataCodec.d.ts +8 -0
  213. package/lib/codec/MapFetchNearCacheInvalidationMetadataCodec.js +101 -0
  214. package/lib/codec/MapFlushCodec.d.ts +5 -0
  215. package/lib/codec/MapFlushCodec.js +45 -0
  216. package/lib/codec/MapForceUnlockCodec.d.ts +6 -0
  217. package/lib/codec/MapForceUnlockCodec.js +49 -0
  218. package/lib/codec/MapGetAllCodec.d.ts +7 -0
  219. package/lib/codec/MapGetAllCodec.js +73 -0
  220. package/lib/codec/MapGetCodec.d.ts +7 -0
  221. package/lib/codec/MapGetCodec.js +60 -0
  222. package/lib/codec/MapGetEntryViewCodec.d.ts +7 -0
  223. package/lib/codec/MapGetEntryViewCodec.js +61 -0
  224. package/lib/codec/MapIsEmptyCodec.d.ts +7 -0
  225. package/lib/codec/MapIsEmptyCodec.js +54 -0
  226. package/lib/codec/MapIsLockedCodec.d.ts +7 -0
  227. package/lib/codec/MapIsLockedCodec.js +56 -0
  228. package/lib/codec/MapKeySetCodec.d.ts +7 -0
  229. package/lib/codec/MapKeySetCodec.js +61 -0
  230. package/lib/codec/MapKeySetWithPagingPredicateCodec.d.ts +7 -0
  231. package/lib/codec/MapKeySetWithPagingPredicateCodec.js +63 -0
  232. package/lib/codec/MapKeySetWithPredicateCodec.d.ts +7 -0
  233. package/lib/codec/MapKeySetWithPredicateCodec.js +63 -0
  234. package/lib/codec/MapLoadAllCodec.d.ts +5 -0
  235. package/lib/codec/MapLoadAllCodec.js +47 -0
  236. package/lib/codec/MapLoadGivenKeysCodec.d.ts +5 -0
  237. package/lib/codec/MapLoadGivenKeysCodec.js +55 -0
  238. package/lib/codec/MapLockCodec.d.ts +6 -0
  239. package/lib/codec/MapLockCodec.js +53 -0
  240. package/lib/codec/MapMessageType.d.ts +71 -0
  241. package/lib/codec/MapMessageType.js +93 -0
  242. package/lib/codec/MapPutAllCodec.d.ts +5 -0
  243. package/lib/codec/MapPutAllCodec.js +59 -0
  244. package/lib/codec/MapPutCodec.d.ts +7 -0
  245. package/lib/codec/MapPutCodec.js +64 -0
  246. package/lib/codec/MapPutIfAbsentCodec.d.ts +7 -0
  247. package/lib/codec/MapPutIfAbsentCodec.js +64 -0
  248. package/lib/codec/MapPutTransientCodec.d.ts +6 -0
  249. package/lib/codec/MapPutTransientCodec.js +53 -0
  250. package/lib/codec/MapRemoveCodec.d.ts +7 -0
  251. package/lib/codec/MapRemoveCodec.js +60 -0
  252. package/lib/codec/MapRemoveEntryListenerCodec.d.ts +7 -0
  253. package/lib/codec/MapRemoveEntryListenerCodec.js +56 -0
  254. package/lib/codec/MapRemoveIfSameCodec.d.ts +7 -0
  255. package/lib/codec/MapRemoveIfSameCodec.js +60 -0
  256. package/lib/codec/MapReplaceCodec.d.ts +7 -0
  257. package/lib/codec/MapReplaceCodec.js +62 -0
  258. package/lib/codec/MapReplaceIfSameCodec.d.ts +7 -0
  259. package/lib/codec/MapReplaceIfSameCodec.js +62 -0
  260. package/lib/codec/MapSetCodec.d.ts +6 -0
  261. package/lib/codec/MapSetCodec.js +53 -0
  262. package/lib/codec/MapSizeCodec.d.ts +7 -0
  263. package/lib/codec/MapSizeCodec.js +54 -0
  264. package/lib/codec/MapTryLockCodec.d.ts +7 -0
  265. package/lib/codec/MapTryLockCodec.js +64 -0
  266. package/lib/codec/MapTryPutCodec.d.ts +7 -0
  267. package/lib/codec/MapTryPutCodec.js +62 -0
  268. package/lib/codec/MapTryRemoveCodec.d.ts +7 -0
  269. package/lib/codec/MapTryRemoveCodec.js +60 -0
  270. package/lib/codec/MapUnlockCodec.d.ts +6 -0
  271. package/lib/codec/MapUnlockCodec.js +51 -0
  272. package/lib/codec/MapValuesCodec.d.ts +7 -0
  273. package/lib/codec/MapValuesCodec.js +61 -0
  274. package/lib/codec/MapValuesWithPagingPredicateCodec.d.ts +7 -0
  275. package/lib/codec/MapValuesWithPagingPredicateCodec.js +67 -0
  276. package/lib/codec/MapValuesWithPredicateCodec.d.ts +7 -0
  277. package/lib/codec/MapValuesWithPredicateCodec.js +63 -0
  278. package/lib/codec/MemberCodec.d.ts +6 -0
  279. package/lib/codec/MemberCodec.js +49 -0
  280. package/lib/codec/MultiMapAddEntryListenerCodec.d.ts +8 -0
  281. package/lib/codec/MultiMapAddEntryListenerCodec.js +102 -0
  282. package/lib/codec/MultiMapAddEntryListenerToKeyCodec.d.ts +8 -0
  283. package/lib/codec/MultiMapAddEntryListenerToKeyCodec.js +104 -0
  284. package/lib/codec/MultiMapClearCodec.d.ts +5 -0
  285. package/lib/codec/MultiMapClearCodec.js +45 -0
  286. package/lib/codec/MultiMapContainsEntryCodec.d.ts +7 -0
  287. package/lib/codec/MultiMapContainsEntryCodec.js +60 -0
  288. package/lib/codec/MultiMapContainsKeyCodec.d.ts +7 -0
  289. package/lib/codec/MultiMapContainsKeyCodec.js +58 -0
  290. package/lib/codec/MultiMapContainsValueCodec.d.ts +7 -0
  291. package/lib/codec/MultiMapContainsValueCodec.js +56 -0
  292. package/lib/codec/MultiMapEntrySetCodec.d.ts +7 -0
  293. package/lib/codec/MultiMapEntrySetCodec.js +65 -0
  294. package/lib/codec/MultiMapForceUnlockCodec.d.ts +6 -0
  295. package/lib/codec/MultiMapForceUnlockCodec.js +49 -0
  296. package/lib/codec/MultiMapGetCodec.d.ts +7 -0
  297. package/lib/codec/MultiMapGetCodec.js +65 -0
  298. package/lib/codec/MultiMapIsLockedCodec.d.ts +7 -0
  299. package/lib/codec/MultiMapIsLockedCodec.js +56 -0
  300. package/lib/codec/MultiMapKeySetCodec.d.ts +7 -0
  301. package/lib/codec/MultiMapKeySetCodec.js +61 -0
  302. package/lib/codec/MultiMapLockCodec.d.ts +6 -0
  303. package/lib/codec/MultiMapLockCodec.js +53 -0
  304. package/lib/codec/MultiMapMessageType.d.ts +23 -0
  305. package/lib/codec/MultiMapMessageType.js +45 -0
  306. package/lib/codec/MultiMapPutCodec.d.ts +7 -0
  307. package/lib/codec/MultiMapPutCodec.js +60 -0
  308. package/lib/codec/MultiMapRemoveCodec.d.ts +7 -0
  309. package/lib/codec/MultiMapRemoveCodec.js +65 -0
  310. package/lib/codec/MultiMapRemoveEntryCodec.d.ts +7 -0
  311. package/lib/codec/MultiMapRemoveEntryCodec.js +60 -0
  312. package/lib/codec/MultiMapRemoveEntryListenerCodec.d.ts +7 -0
  313. package/lib/codec/MultiMapRemoveEntryListenerCodec.js +56 -0
  314. package/lib/codec/MultiMapSizeCodec.d.ts +7 -0
  315. package/lib/codec/MultiMapSizeCodec.js +54 -0
  316. package/lib/codec/MultiMapTryLockCodec.d.ts +7 -0
  317. package/lib/codec/MultiMapTryLockCodec.js +64 -0
  318. package/lib/codec/MultiMapUnlockCodec.d.ts +6 -0
  319. package/lib/codec/MultiMapUnlockCodec.js +51 -0
  320. package/lib/codec/MultiMapValueCountCodec.d.ts +7 -0
  321. package/lib/codec/MultiMapValueCountCodec.js +58 -0
  322. package/lib/codec/MultiMapValuesCodec.d.ts +7 -0
  323. package/lib/codec/MultiMapValuesCodec.js +61 -0
  324. package/lib/codec/PNCounterAddCodec.d.ts +8 -0
  325. package/lib/codec/PNCounterAddCodec.js +90 -0
  326. package/lib/codec/PNCounterGetCodec.d.ts +8 -0
  327. package/lib/codec/PNCounterGetCodec.js +86 -0
  328. package/lib/codec/PNCounterGetConfiguredReplicaCountCodec.d.ts +7 -0
  329. package/lib/codec/PNCounterGetConfiguredReplicaCountCodec.js +54 -0
  330. package/lib/codec/PNCounterMessageType.d.ts +5 -0
  331. package/lib/codec/PNCounterMessageType.js +27 -0
  332. package/lib/codec/QueueAddAllCodec.d.ts +7 -0
  333. package/lib/codec/QueueAddAllCodec.js +62 -0
  334. package/lib/codec/QueueAddListenerCodec.d.ts +8 -0
  335. package/lib/codec/QueueAddListenerCodec.js +80 -0
  336. package/lib/codec/QueueClearCodec.d.ts +5 -0
  337. package/lib/codec/QueueClearCodec.js +45 -0
  338. package/lib/codec/QueueCompareAndRemoveAllCodec.d.ts +7 -0
  339. package/lib/codec/QueueCompareAndRemoveAllCodec.js +62 -0
  340. package/lib/codec/QueueCompareAndRetainAllCodec.d.ts +7 -0
  341. package/lib/codec/QueueCompareAndRetainAllCodec.js +62 -0
  342. package/lib/codec/QueueContainsAllCodec.d.ts +7 -0
  343. package/lib/codec/QueueContainsAllCodec.js +62 -0
  344. package/lib/codec/QueueContainsCodec.d.ts +7 -0
  345. package/lib/codec/QueueContainsCodec.js +56 -0
  346. package/lib/codec/QueueDrainToCodec.d.ts +7 -0
  347. package/lib/codec/QueueDrainToCodec.js +61 -0
  348. package/lib/codec/QueueDrainToMaxSizeCodec.d.ts +7 -0
  349. package/lib/codec/QueueDrainToMaxSizeCodec.js +63 -0
  350. package/lib/codec/QueueIsEmptyCodec.d.ts +7 -0
  351. package/lib/codec/QueueIsEmptyCodec.js +54 -0
  352. package/lib/codec/QueueIteratorCodec.d.ts +7 -0
  353. package/lib/codec/QueueIteratorCodec.js +61 -0
  354. package/lib/codec/QueueMessageType.d.ts +22 -0
  355. package/lib/codec/QueueMessageType.js +44 -0
  356. package/lib/codec/QueueOfferCodec.d.ts +7 -0
  357. package/lib/codec/QueueOfferCodec.js +58 -0
  358. package/lib/codec/QueuePeekCodec.d.ts +7 -0
  359. package/lib/codec/QueuePeekCodec.js +56 -0
  360. package/lib/codec/QueuePollCodec.d.ts +7 -0
  361. package/lib/codec/QueuePollCodec.js +58 -0
  362. package/lib/codec/QueuePutCodec.d.ts +6 -0
  363. package/lib/codec/QueuePutCodec.js +47 -0
  364. package/lib/codec/QueueRemainingCapacityCodec.d.ts +7 -0
  365. package/lib/codec/QueueRemainingCapacityCodec.js +54 -0
  366. package/lib/codec/QueueRemoveCodec.d.ts +7 -0
  367. package/lib/codec/QueueRemoveCodec.js +56 -0
  368. package/lib/codec/QueueRemoveListenerCodec.d.ts +7 -0
  369. package/lib/codec/QueueRemoveListenerCodec.js +56 -0
  370. package/lib/codec/QueueSizeCodec.d.ts +7 -0
  371. package/lib/codec/QueueSizeCodec.js +54 -0
  372. package/lib/codec/QueueTakeCodec.d.ts +7 -0
  373. package/lib/codec/QueueTakeCodec.js +56 -0
  374. package/lib/codec/ReplicatedMapAddEntryListenerCodec.d.ts +8 -0
  375. package/lib/codec/ReplicatedMapAddEntryListenerCodec.js +100 -0
  376. package/lib/codec/ReplicatedMapAddEntryListenerToKeyCodec.d.ts +8 -0
  377. package/lib/codec/ReplicatedMapAddEntryListenerToKeyCodec.js +102 -0
  378. package/lib/codec/ReplicatedMapAddEntryListenerToKeyWithPredicateCodec.d.ts +8 -0
  379. package/lib/codec/ReplicatedMapAddEntryListenerToKeyWithPredicateCodec.js +104 -0
  380. package/lib/codec/ReplicatedMapAddEntryListenerWithPredicateCodec.d.ts +8 -0
  381. package/lib/codec/ReplicatedMapAddEntryListenerWithPredicateCodec.js +102 -0
  382. package/lib/codec/ReplicatedMapClearCodec.d.ts +5 -0
  383. package/lib/codec/ReplicatedMapClearCodec.js +45 -0
  384. package/lib/codec/ReplicatedMapContainsKeyCodec.d.ts +7 -0
  385. package/lib/codec/ReplicatedMapContainsKeyCodec.js +56 -0
  386. package/lib/codec/ReplicatedMapContainsValueCodec.d.ts +7 -0
  387. package/lib/codec/ReplicatedMapContainsValueCodec.js +56 -0
  388. package/lib/codec/ReplicatedMapEntrySetCodec.d.ts +7 -0
  389. package/lib/codec/ReplicatedMapEntrySetCodec.js +65 -0
  390. package/lib/codec/ReplicatedMapGetCodec.d.ts +7 -0
  391. package/lib/codec/ReplicatedMapGetCodec.js +58 -0
  392. package/lib/codec/ReplicatedMapIsEmptyCodec.d.ts +7 -0
  393. package/lib/codec/ReplicatedMapIsEmptyCodec.js +54 -0
  394. package/lib/codec/ReplicatedMapKeySetCodec.d.ts +7 -0
  395. package/lib/codec/ReplicatedMapKeySetCodec.js +61 -0
  396. package/lib/codec/ReplicatedMapMessageType.d.ts +20 -0
  397. package/lib/codec/ReplicatedMapMessageType.js +42 -0
  398. package/lib/codec/ReplicatedMapPutAllCodec.d.ts +5 -0
  399. package/lib/codec/ReplicatedMapPutAllCodec.js +59 -0
  400. package/lib/codec/ReplicatedMapPutCodec.d.ts +7 -0
  401. package/lib/codec/ReplicatedMapPutCodec.js +62 -0
  402. package/lib/codec/ReplicatedMapRemoveCodec.d.ts +7 -0
  403. package/lib/codec/ReplicatedMapRemoveCodec.js +58 -0
  404. package/lib/codec/ReplicatedMapRemoveEntryListenerCodec.d.ts +7 -0
  405. package/lib/codec/ReplicatedMapRemoveEntryListenerCodec.js +56 -0
  406. package/lib/codec/ReplicatedMapSizeCodec.d.ts +7 -0
  407. package/lib/codec/ReplicatedMapSizeCodec.js +54 -0
  408. package/lib/codec/ReplicatedMapValuesCodec.d.ts +7 -0
  409. package/lib/codec/ReplicatedMapValuesCodec.js +61 -0
  410. package/lib/codec/RingbufferAddAllCodec.d.ts +7 -0
  411. package/lib/codec/RingbufferAddAllCodec.js +64 -0
  412. package/lib/codec/RingbufferAddCodec.d.ts +7 -0
  413. package/lib/codec/RingbufferAddCodec.js +58 -0
  414. package/lib/codec/RingbufferCapacityCodec.d.ts +7 -0
  415. package/lib/codec/RingbufferCapacityCodec.js +54 -0
  416. package/lib/codec/RingbufferHeadSequenceCodec.d.ts +7 -0
  417. package/lib/codec/RingbufferHeadSequenceCodec.js +54 -0
  418. package/lib/codec/RingbufferMessageType.d.ts +11 -0
  419. package/lib/codec/RingbufferMessageType.js +33 -0
  420. package/lib/codec/RingbufferReadManyCodec.d.ts +7 -0
  421. package/lib/codec/RingbufferReadManyCodec.js +92 -0
  422. package/lib/codec/RingbufferReadOneCodec.d.ts +7 -0
  423. package/lib/codec/RingbufferReadOneCodec.js +58 -0
  424. package/lib/codec/RingbufferRemainingCapacityCodec.d.ts +7 -0
  425. package/lib/codec/RingbufferRemainingCapacityCodec.js +54 -0
  426. package/lib/codec/RingbufferSizeCodec.d.ts +7 -0
  427. package/lib/codec/RingbufferSizeCodec.js +54 -0
  428. package/lib/codec/RingbufferTailSequenceCodec.d.ts +7 -0
  429. package/lib/codec/RingbufferTailSequenceCodec.js +54 -0
  430. package/lib/codec/SemaphoreAcquireCodec.d.ts +5 -0
  431. package/lib/codec/SemaphoreAcquireCodec.js +47 -0
  432. package/lib/codec/SemaphoreAvailablePermitsCodec.d.ts +7 -0
  433. package/lib/codec/SemaphoreAvailablePermitsCodec.js +54 -0
  434. package/lib/codec/SemaphoreDrainPermitsCodec.d.ts +7 -0
  435. package/lib/codec/SemaphoreDrainPermitsCodec.js +54 -0
  436. package/lib/codec/SemaphoreInitCodec.d.ts +7 -0
  437. package/lib/codec/SemaphoreInitCodec.js +56 -0
  438. package/lib/codec/SemaphoreMessageType.d.ts +9 -0
  439. package/lib/codec/SemaphoreMessageType.js +31 -0
  440. package/lib/codec/SemaphoreReducePermitsCodec.d.ts +5 -0
  441. package/lib/codec/SemaphoreReducePermitsCodec.js +47 -0
  442. package/lib/codec/SemaphoreReleaseCodec.d.ts +5 -0
  443. package/lib/codec/SemaphoreReleaseCodec.js +47 -0
  444. package/lib/codec/SemaphoreTryAcquireCodec.d.ts +7 -0
  445. package/lib/codec/SemaphoreTryAcquireCodec.js +58 -0
  446. package/lib/codec/SetAddAllCodec.d.ts +7 -0
  447. package/lib/codec/SetAddAllCodec.js +62 -0
  448. package/lib/codec/SetAddCodec.d.ts +7 -0
  449. package/lib/codec/SetAddCodec.js +56 -0
  450. package/lib/codec/SetAddListenerCodec.d.ts +8 -0
  451. package/lib/codec/SetAddListenerCodec.js +80 -0
  452. package/lib/codec/SetClearCodec.d.ts +5 -0
  453. package/lib/codec/SetClearCodec.js +45 -0
  454. package/lib/codec/SetCompareAndRemoveAllCodec.d.ts +7 -0
  455. package/lib/codec/SetCompareAndRemoveAllCodec.js +62 -0
  456. package/lib/codec/SetCompareAndRetainAllCodec.d.ts +7 -0
  457. package/lib/codec/SetCompareAndRetainAllCodec.js +62 -0
  458. package/lib/codec/SetContainsAllCodec.d.ts +7 -0
  459. package/lib/codec/SetContainsAllCodec.js +62 -0
  460. package/lib/codec/SetContainsCodec.d.ts +7 -0
  461. package/lib/codec/SetContainsCodec.js +56 -0
  462. package/lib/codec/SetGetAllCodec.d.ts +7 -0
  463. package/lib/codec/SetGetAllCodec.js +61 -0
  464. package/lib/codec/SetIsEmptyCodec.d.ts +7 -0
  465. package/lib/codec/SetIsEmptyCodec.js +54 -0
  466. package/lib/codec/SetMessageType.d.ts +15 -0
  467. package/lib/codec/SetMessageType.js +37 -0
  468. package/lib/codec/SetRemoveCodec.d.ts +7 -0
  469. package/lib/codec/SetRemoveCodec.js +56 -0
  470. package/lib/codec/SetRemoveListenerCodec.d.ts +7 -0
  471. package/lib/codec/SetRemoveListenerCodec.js +56 -0
  472. package/lib/codec/SetSizeCodec.d.ts +7 -0
  473. package/lib/codec/SetSizeCodec.js +54 -0
  474. package/lib/codec/UUIDCodec.d.ts +5 -0
  475. package/lib/codec/UUIDCodec.js +29 -0
  476. package/lib/config/ClientCloudConfig.d.ts +13 -0
  477. package/lib/config/ClientCloudConfig.js +34 -0
  478. package/lib/config/ClientNetworkConfig.d.ts +43 -0
  479. package/lib/config/ClientNetworkConfig.js +64 -0
  480. package/lib/config/Config.d.ts +61 -0
  481. package/lib/config/Config.js +138 -0
  482. package/lib/config/ConfigBuilder.d.ts +26 -0
  483. package/lib/config/ConfigBuilder.js +322 -0
  484. package/lib/config/ConfigPatternMatcher.d.ts +12 -0
  485. package/lib/config/ConfigPatternMatcher.js +70 -0
  486. package/lib/config/EvictionPolicy.d.ts +9 -0
  487. package/lib/config/EvictionPolicy.js +27 -0
  488. package/lib/config/FlakeIdGeneratorConfig.d.ts +26 -0
  489. package/lib/config/FlakeIdGeneratorConfig.js +56 -0
  490. package/lib/config/GroupConfig.d.ts +14 -0
  491. package/lib/config/GroupConfig.js +35 -0
  492. package/lib/config/ImportConfig.d.ts +4 -0
  493. package/lib/config/ImportConfig.js +17 -0
  494. package/lib/config/InMemoryFormat.d.ts +10 -0
  495. package/lib/config/InMemoryFormat.js +28 -0
  496. package/lib/config/JsonConfigLocator.d.ts +16 -0
  497. package/lib/config/JsonConfigLocator.js +103 -0
  498. package/lib/config/JsonStringDeserializationPolicy.d.ts +17 -0
  499. package/lib/config/JsonStringDeserializationPolicy.js +35 -0
  500. package/lib/config/ListenerConfig.d.ts +8 -0
  501. package/lib/config/ListenerConfig.js +33 -0
  502. package/lib/config/NearCacheConfig.d.ts +25 -0
  503. package/lib/config/NearCacheConfig.js +59 -0
  504. package/lib/config/Properties.d.ts +5 -0
  505. package/lib/config/Properties.js +17 -0
  506. package/lib/config/ReliableTopicConfig.d.ts +8 -0
  507. package/lib/config/ReliableTopicConfig.js +38 -0
  508. package/lib/config/SSLConfig.d.ts +34 -0
  509. package/lib/config/SSLConfig.js +51 -0
  510. package/lib/config/SerializationConfig.d.ts +29 -0
  511. package/lib/config/SerializationConfig.js +38 -0
  512. package/lib/config/StringSerializationPolicy.d.ts +22 -0
  513. package/lib/config/StringSerializationPolicy.js +40 -0
  514. package/lib/connection/AddressProvider.d.ts +11 -0
  515. package/lib/connection/AddressProvider.js +17 -0
  516. package/lib/connection/AddressTranslator.d.ts +21 -0
  517. package/lib/connection/AddressTranslator.js +17 -0
  518. package/lib/connection/BasicSSLOptionsFactory.d.ts +14 -0
  519. package/lib/connection/BasicSSLOptionsFactory.js +67 -0
  520. package/lib/connection/DefaultAddressProvider.d.ts +15 -0
  521. package/lib/connection/DefaultAddressProvider.js +38 -0
  522. package/lib/connection/DefaultAddressTranslator.d.ts +11 -0
  523. package/lib/connection/DefaultAddressTranslator.js +33 -0
  524. package/lib/connection/SSLOptionsFactory.d.ts +7 -0
  525. package/lib/connection/SSLOptionsFactory.js +17 -0
  526. package/lib/core/Comparator.d.ts +21 -0
  527. package/lib/core/Comparator.js +17 -0
  528. package/lib/core/ConnectionHeartbeatListener.d.ts +16 -0
  529. package/lib/core/ConnectionHeartbeatListener.js +17 -0
  530. package/lib/core/DistributedObjectListener.d.ts +24 -0
  531. package/lib/core/DistributedObjectListener.js +30 -0
  532. package/lib/core/EntryListener.d.ts +51 -0
  533. package/lib/core/EntryListener.js +32 -0
  534. package/lib/core/EntryView.d.ts +16 -0
  535. package/lib/core/EntryView.js +23 -0
  536. package/lib/core/EventType.d.ts +12 -0
  537. package/lib/core/EventType.js +31 -0
  538. package/lib/core/HazelcastJsonValue.d.ts +32 -0
  539. package/lib/core/HazelcastJsonValue.js +56 -0
  540. package/lib/core/ItemListener.d.ts +38 -0
  541. package/lib/core/ItemListener.js +35 -0
  542. package/lib/core/MapListener.d.ts +29 -0
  543. package/lib/core/MapListener.js +29 -0
  544. package/lib/core/Member.d.ts +23 -0
  545. package/lib/core/Member.js +44 -0
  546. package/lib/core/MemberAttributeEvent.d.ts +37 -0
  547. package/lib/core/MemberAttributeEvent.js +45 -0
  548. package/lib/core/MemberSelector.d.ts +4 -0
  549. package/lib/core/MemberSelector.js +17 -0
  550. package/lib/core/MemberSelectors.d.ts +8 -0
  551. package/lib/core/MemberSelectors.js +33 -0
  552. package/lib/core/MembershipEvent.d.ts +20 -0
  553. package/lib/core/MembershipEvent.js +30 -0
  554. package/lib/core/MembershipListener.d.ts +22 -0
  555. package/lib/core/MembershipListener.js +17 -0
  556. package/lib/core/OverflowPolicy.d.ts +4 -0
  557. package/lib/core/OverflowPolicy.js +22 -0
  558. package/lib/core/Predicate.d.ts +28 -0
  559. package/lib/core/Predicate.js +113 -0
  560. package/lib/core/ReadOnlyLazyList.d.ts +12 -0
  561. package/lib/core/ReadOnlyLazyList.js +74 -0
  562. package/lib/core/RestValue.d.ts +15 -0
  563. package/lib/core/RestValue.js +51 -0
  564. package/lib/core/UUID.d.ts +9 -0
  565. package/lib/core/UUID.js +44 -0
  566. package/lib/core/VectorClock.d.ts +7 -0
  567. package/lib/core/VectorClock.js +48 -0
  568. package/lib/discovery/HazelcastCloudAddressProvider.d.ts +10 -0
  569. package/lib/discovery/HazelcastCloudAddressProvider.js +35 -0
  570. package/lib/discovery/HazelcastCloudAddressTranslator.d.ts +13 -0
  571. package/lib/discovery/HazelcastCloudAddressTranslator.js +54 -0
  572. package/lib/discovery/HazelcastCloudDiscovery.d.ts +25 -0
  573. package/lib/discovery/HazelcastCloudDiscovery.js +85 -0
  574. package/lib/index.d.ts +26 -0
  575. package/lib/index.js +64 -0
  576. package/lib/invocation/ClientConnection.d.ts +82 -0
  577. package/lib/invocation/ClientConnection.js +307 -0
  578. package/lib/invocation/ClientConnectionManager.d.ts +56 -0
  579. package/lib/invocation/ClientConnectionManager.js +298 -0
  580. package/lib/invocation/ClientEventRegistration.d.ts +10 -0
  581. package/lib/invocation/ClientEventRegistration.js +30 -0
  582. package/lib/invocation/ClusterService.d.ts +99 -0
  583. package/lib/invocation/ClusterService.js +417 -0
  584. package/lib/invocation/ConnectionAuthenticator.d.ts +14 -0
  585. package/lib/invocation/ConnectionAuthenticator.js +88 -0
  586. package/lib/invocation/InvocationService.d.ts +138 -0
  587. package/lib/invocation/InvocationService.js +387 -0
  588. package/lib/invocation/Murmur.d.ts +2 -0
  589. package/lib/invocation/Murmur.js +65 -0
  590. package/lib/invocation/RegistrationKey.d.ts +16 -0
  591. package/lib/invocation/RegistrationKey.js +48 -0
  592. package/lib/logging/DefaultLogger.d.ts +12 -0
  593. package/lib/logging/DefaultLogger.js +48 -0
  594. package/lib/logging/ILogger.d.ts +49 -0
  595. package/lib/logging/ILogger.js +17 -0
  596. package/lib/logging/LoggingService.d.ts +16 -0
  597. package/lib/logging/LoggingService.js +50 -0
  598. package/lib/nearcache/AlwaysFreshStaleReadDetectorImpl.d.ts +10 -0
  599. package/lib/nearcache/AlwaysFreshStaleReadDetectorImpl.js +34 -0
  600. package/lib/nearcache/DataRecord.d.ts +33 -0
  601. package/lib/nearcache/DataRecord.js +109 -0
  602. package/lib/nearcache/MetadataContainer.d.ts +18 -0
  603. package/lib/nearcache/MetadataContainer.js +56 -0
  604. package/lib/nearcache/MetadataFetcher.d.ts +20 -0
  605. package/lib/nearcache/MetadataFetcher.js +92 -0
  606. package/lib/nearcache/NearCache.d.ts +89 -0
  607. package/lib/nearcache/NearCache.js +250 -0
  608. package/lib/nearcache/NearCacheManager.d.ts +13 -0
  609. package/lib/nearcache/NearCacheManager.js +50 -0
  610. package/lib/nearcache/RepairingHandler.d.ts +26 -0
  611. package/lib/nearcache/RepairingHandler.js +114 -0
  612. package/lib/nearcache/RepairingTask.d.ts +26 -0
  613. package/lib/nearcache/RepairingTask.js +117 -0
  614. package/lib/nearcache/StaleReadDetector.d.ts +7 -0
  615. package/lib/nearcache/StaleReadDetector.js +2 -0
  616. package/lib/nearcache/StaleReadDetectorImpl.d.ts +13 -0
  617. package/lib/nearcache/StaleReadDetectorImpl.js +35 -0
  618. package/lib/protocol/ClientProtocolErrorCodes.d.ts +91 -0
  619. package/lib/protocol/ClientProtocolErrorCodes.js +112 -0
  620. package/lib/protocol/ErrorCodec.d.ts +11 -0
  621. package/lib/protocol/ErrorCodec.js +50 -0
  622. package/lib/protocol/ErrorFactory.d.ts +8 -0
  623. package/lib/protocol/ErrorFactory.js +92 -0
  624. package/lib/protocol/StackTraceElementCodec.d.ts +8 -0
  625. package/lib/protocol/StackTraceElementCodec.js +38 -0
  626. package/lib/proxy/AtomicLongProxy.d.ts +17 -0
  627. package/lib/proxy/AtomicLongProxy.js +72 -0
  628. package/lib/proxy/BaseProxy.d.ts +89 -0
  629. package/lib/proxy/BaseProxy.js +191 -0
  630. package/lib/proxy/FlakeIdGenerator.d.ts +47 -0
  631. package/lib/proxy/FlakeIdGenerator.js +17 -0
  632. package/lib/proxy/FlakeIdGeneratorProxy.d.ts +13 -0
  633. package/lib/proxy/FlakeIdGeneratorProxy.js +48 -0
  634. package/lib/proxy/IAtomicLong.d.ts +16 -0
  635. package/lib/proxy/IAtomicLong.js +17 -0
  636. package/lib/proxy/IList.d.ts +132 -0
  637. package/lib/proxy/IList.js +17 -0
  638. package/lib/proxy/ILock.d.ts +54 -0
  639. package/lib/proxy/ILock.js +17 -0
  640. package/lib/proxy/IMap.d.ts +328 -0
  641. package/lib/proxy/IMap.js +17 -0
  642. package/lib/proxy/IQueue.d.ts +128 -0
  643. package/lib/proxy/IQueue.js +17 -0
  644. package/lib/proxy/ISemaphore.d.ts +53 -0
  645. package/lib/proxy/ISemaphore.js +17 -0
  646. package/lib/proxy/ISet.d.ts +89 -0
  647. package/lib/proxy/ISet.js +17 -0
  648. package/lib/proxy/ListProxy.d.ts +31 -0
  649. package/lib/proxy/ListProxy.js +165 -0
  650. package/lib/proxy/LockProxy.d.ts +16 -0
  651. package/lib/proxy/LockProxy.js +78 -0
  652. package/lib/proxy/MapProxy.d.ts +82 -0
  653. package/lib/proxy/MapProxy.js +651 -0
  654. package/lib/proxy/MultiMap.d.ts +153 -0
  655. package/lib/proxy/MultiMap.js +17 -0
  656. package/lib/proxy/MultiMapProxy.d.ts +33 -0
  657. package/lib/proxy/MultiMapProxy.js +238 -0
  658. package/lib/proxy/NearCachedMapProxy.d.ts +41 -0
  659. package/lib/proxy/NearCachedMapProxy.js +284 -0
  660. package/lib/proxy/PNCounter.d.ts +162 -0
  661. package/lib/proxy/PNCounter.js +17 -0
  662. package/lib/proxy/PNCounterProxy.d.ts +30 -0
  663. package/lib/proxy/PNCounterProxy.js +181 -0
  664. package/lib/proxy/PartitionSpecificProxy.d.ts +10 -0
  665. package/lib/proxy/PartitionSpecificProxy.js +52 -0
  666. package/lib/proxy/ProxyManager.d.ts +40 -0
  667. package/lib/proxy/ProxyManager.js +202 -0
  668. package/lib/proxy/QueueProxy.d.ts +28 -0
  669. package/lib/proxy/QueueProxy.js +198 -0
  670. package/lib/proxy/ReplicatedMap.d.ts +149 -0
  671. package/lib/proxy/ReplicatedMap.js +17 -0
  672. package/lib/proxy/ReplicatedMapProxy.d.ts +34 -0
  673. package/lib/proxy/ReplicatedMapProxy.js +256 -0
  674. package/lib/proxy/Ringbuffer.d.ts +115 -0
  675. package/lib/proxy/Ringbuffer.js +17 -0
  676. package/lib/proxy/SemaphoreProxy.d.ts +15 -0
  677. package/lib/proxy/SemaphoreProxy.js +73 -0
  678. package/lib/proxy/SetProxy.d.ts +22 -0
  679. package/lib/proxy/SetProxy.js +130 -0
  680. package/lib/proxy/flakeid/AutoBatcher.d.ts +30 -0
  681. package/lib/proxy/flakeid/AutoBatcher.js +104 -0
  682. package/lib/proxy/ringbuffer/LazyReadResultSet.d.ts +16 -0
  683. package/lib/proxy/ringbuffer/LazyReadResultSet.js +54 -0
  684. package/lib/proxy/ringbuffer/ReadResultSet.d.ts +41 -0
  685. package/lib/proxy/ringbuffer/ReadResultSet.js +17 -0
  686. package/lib/proxy/ringbuffer/RingbufferProxy.d.ts +19 -0
  687. package/lib/proxy/ringbuffer/RingbufferProxy.js +98 -0
  688. package/lib/proxy/topic/ITopic.d.ts +9 -0
  689. package/lib/proxy/topic/ITopic.js +17 -0
  690. package/lib/proxy/topic/Message.d.ts +8 -0
  691. package/lib/proxy/topic/Message.js +23 -0
  692. package/lib/proxy/topic/MessageListener.d.ts +2 -0
  693. package/lib/proxy/topic/MessageListener.js +2 -0
  694. package/lib/proxy/topic/ReliableTopicListenerRunner.d.ts +20 -0
  695. package/lib/proxy/topic/ReliableTopicListenerRunner.js +73 -0
  696. package/lib/proxy/topic/ReliableTopicMessage.d.ts +19 -0
  697. package/lib/proxy/topic/ReliableTopicMessage.js +53 -0
  698. package/lib/proxy/topic/ReliableTopicProxy.d.ts +31 -0
  699. package/lib/proxy/topic/ReliableTopicProxy.js +151 -0
  700. package/lib/proxy/topic/TopicOverloadPolicy.d.ts +23 -0
  701. package/lib/proxy/topic/TopicOverloadPolicy.js +41 -0
  702. package/lib/serialization/Data.d.ts +114 -0
  703. package/lib/serialization/Data.js +17 -0
  704. package/lib/serialization/DefaultPredicates.d.ts +131 -0
  705. package/lib/serialization/DefaultPredicates.js +465 -0
  706. package/lib/serialization/DefaultSerializer.d.ts +134 -0
  707. package/lib/serialization/DefaultSerializer.js +442 -0
  708. package/lib/serialization/HeapData.d.ts +44 -0
  709. package/lib/serialization/HeapData.js +104 -0
  710. package/lib/serialization/ObjectData.d.ts +102 -0
  711. package/lib/serialization/ObjectData.js +566 -0
  712. package/lib/serialization/PredicateFactory.d.ts +15 -0
  713. package/lib/serialization/PredicateFactory.js +46 -0
  714. package/lib/serialization/Serializable.d.ts +23 -0
  715. package/lib/serialization/Serializable.js +17 -0
  716. package/lib/serialization/SerializationService.d.ts +60 -0
  717. package/lib/serialization/SerializationService.js +312 -0
  718. package/lib/serialization/SerializationUtil.d.ts +3 -0
  719. package/lib/serialization/SerializationUtil.js +31 -0
  720. package/lib/serialization/portable/ClassDefinition.d.ts +54 -0
  721. package/lib/serialization/portable/ClassDefinition.js +140 -0
  722. package/lib/serialization/portable/ClassDefinitionBuilder.d.ts +35 -0
  723. package/lib/serialization/portable/ClassDefinitionBuilder.js +126 -0
  724. package/lib/serialization/portable/ClassDefinitionContext.d.ts +9 -0
  725. package/lib/serialization/portable/ClassDefinitionContext.js +51 -0
  726. package/lib/serialization/portable/ClassDefinitionWriter.d.ts +35 -0
  727. package/lib/serialization/portable/ClassDefinitionWriter.js +123 -0
  728. package/lib/serialization/portable/DefaultPortableReader.d.ts +43 -0
  729. package/lib/serialization/portable/DefaultPortableReader.js +188 -0
  730. package/lib/serialization/portable/DefaultPortableWriter.d.ts +37 -0
  731. package/lib/serialization/portable/DefaultPortableWriter.js +156 -0
  732. package/lib/serialization/portable/MorphingPortableReader.d.ts +31 -0
  733. package/lib/serialization/portable/MorphingPortableReader.js +189 -0
  734. package/lib/serialization/portable/PortableContext.d.ts +16 -0
  735. package/lib/serialization/portable/PortableContext.js +126 -0
  736. package/lib/serialization/portable/PortableSerializer.d.ts +68 -0
  737. package/lib/serialization/portable/PortableSerializer.js +94 -0
  738. package/lib/statistics/Statistics.d.ts +50 -0
  739. package/lib/statistics/Statistics.js +232 -0
  740. package/lib/util/ArrayComparator.d.ts +1 -0
  741. package/lib/util/ArrayComparator.js +17 -0
  742. package/lib/util/UuidUtil.d.ts +4 -0
  743. package/lib/util/UuidUtil.js +35 -0
  744. package/lib.es6.d.ts +18650 -0
  745. package/package.json +64 -0
  746. package/tsconfig.json +20 -0
@@ -0,0 +1,250 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright (c) 2008-2021, Hazelcast, Inc. All Rights Reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ var Long = require("long");
19
+ var EvictionPolicy_1 = require("../config/EvictionPolicy");
20
+ var InMemoryFormat_1 = require("../config/InMemoryFormat");
21
+ var DataStoreHashMap_1 = require("../DataStoreHashMap");
22
+ var Util_1 = require("../Util");
23
+ var AlwaysFreshStaleReadDetectorImpl = require("./AlwaysFreshStaleReadDetectorImpl");
24
+ var DataRecord_1 = require("./DataRecord");
25
+ var NearCacheImpl = /** @class */ (function () {
26
+ function NearCacheImpl(nearCacheConfig, serializationService) {
27
+ this.staleReadDetector = AlwaysFreshStaleReadDetectorImpl.INSTANCE;
28
+ this.reservationCounter = Long.ZERO;
29
+ this.evictedCount = 0;
30
+ this.expiredCount = 0;
31
+ this.missCount = 0;
32
+ this.hitCount = 0;
33
+ this.creationTime = Date.now();
34
+ this.serializationService = serializationService;
35
+ this.name = nearCacheConfig.name;
36
+ this.invalidateOnChange = nearCacheConfig.invalidateOnChange;
37
+ this.maxIdleSeconds = nearCacheConfig.maxIdleSeconds;
38
+ this.inMemoryFormat = nearCacheConfig.inMemoryFormat;
39
+ this.timeToLiveSeconds = nearCacheConfig.timeToLiveSeconds;
40
+ this.evictionPolicy = nearCacheConfig.evictionPolicy;
41
+ this.evictionMaxSize = nearCacheConfig.evictionMaxSize;
42
+ this.evictionSamplingCount = nearCacheConfig.evictionSamplingCount;
43
+ this.evictionSamplingPoolSize = nearCacheConfig.evictionSamplingPoolSize;
44
+ if (this.evictionPolicy === EvictionPolicy_1.EvictionPolicy.LFU) {
45
+ this.compareFunc = DataRecord_1.DataRecord.lfuComp;
46
+ }
47
+ else if (this.evictionPolicy === EvictionPolicy_1.EvictionPolicy.LRU) {
48
+ this.compareFunc = DataRecord_1.DataRecord.lruComp;
49
+ }
50
+ else if (this.evictionPolicy === EvictionPolicy_1.EvictionPolicy.RANDOM) {
51
+ this.compareFunc = DataRecord_1.DataRecord.randomComp;
52
+ }
53
+ else {
54
+ this.compareFunc = undefined;
55
+ }
56
+ this.evictionCandidatePool = [];
57
+ this.internalStore = new DataStoreHashMap_1.DataKeyedHashMap();
58
+ this.ready = Util_1.DeferredPromise();
59
+ }
60
+ NearCacheImpl.prototype.setReady = function () {
61
+ this.ready.resolve();
62
+ };
63
+ NearCacheImpl.prototype.getName = function () {
64
+ return this.name;
65
+ };
66
+ NearCacheImpl.prototype.nextReservationId = function () {
67
+ var res = this.reservationCounter;
68
+ this.reservationCounter = this.reservationCounter.add(1);
69
+ return res;
70
+ };
71
+ NearCacheImpl.prototype.tryReserveForUpdate = function (key) {
72
+ var internalRecord = this.internalStore.get(key);
73
+ var resId = this.nextReservationId();
74
+ if (internalRecord === undefined) {
75
+ this.doEvictionIfRequired();
76
+ var dr = new DataRecord_1.DataRecord(key, undefined, undefined, this.timeToLiveSeconds);
77
+ dr.casStatus(DataRecord_1.DataRecord.READ_PERMITTED, resId);
78
+ this.internalStore.set(key, dr);
79
+ return resId;
80
+ }
81
+ if (internalRecord.casStatus(DataRecord_1.DataRecord.READ_PERMITTED, resId)) {
82
+ return resId;
83
+ }
84
+ return DataRecord_1.DataRecord.NOT_RESERVED;
85
+ };
86
+ NearCacheImpl.prototype.tryPublishReserved = function (key, value, reservationId) {
87
+ var internalRecord = this.internalStore.get(key);
88
+ if (internalRecord && internalRecord.casStatus(reservationId, DataRecord_1.DataRecord.READ_PERMITTED)) {
89
+ if (this.inMemoryFormat === InMemoryFormat_1.InMemoryFormat.OBJECT) {
90
+ internalRecord.value = this.serializationService.toObject(value);
91
+ }
92
+ else {
93
+ internalRecord.value = this.serializationService.toData(value);
94
+ }
95
+ internalRecord.setCreationTime();
96
+ this.initInvalidationMetadata(internalRecord);
97
+ }
98
+ else if (internalRecord === undefined) {
99
+ return undefined;
100
+ }
101
+ else {
102
+ if (this.inMemoryFormat === InMemoryFormat_1.InMemoryFormat.BINARY) {
103
+ return this.serializationService.toObject(internalRecord.value);
104
+ }
105
+ else {
106
+ return internalRecord.value;
107
+ }
108
+ }
109
+ };
110
+ NearCacheImpl.prototype.setStaleReadDetector = function (staleReadDetector) {
111
+ this.staleReadDetector = staleReadDetector;
112
+ };
113
+ /**
114
+ * Creates a new {DataRecord} for given key and value. Then, puts the record in near cache.
115
+ * If the number of records in near cache exceeds {evictionMaxSize}, it removes expired items first.
116
+ * If there is no expired item, it triggers an invalidation process to create free space.
117
+ * @param key
118
+ * @param value
119
+ */
120
+ NearCacheImpl.prototype.put = function (key, value) {
121
+ this.doEvictionIfRequired();
122
+ if (this.inMemoryFormat === InMemoryFormat_1.InMemoryFormat.OBJECT) {
123
+ value = this.serializationService.toObject(value);
124
+ }
125
+ else {
126
+ value = this.serializationService.toData(value);
127
+ }
128
+ var dr = new DataRecord_1.DataRecord(key, value, undefined, this.timeToLiveSeconds);
129
+ this.initInvalidationMetadata(dr);
130
+ this.internalStore.set(key, dr);
131
+ };
132
+ /**
133
+ *
134
+ * @param key
135
+ * @returns the value if present in near cache, 'undefined' if not
136
+ */
137
+ NearCacheImpl.prototype.get = function (key) {
138
+ var _this = this;
139
+ return this.ready.promise.then(function () {
140
+ var dr = _this.internalStore.get(key);
141
+ if (dr === undefined) {
142
+ _this.missCount++;
143
+ return undefined;
144
+ }
145
+ if (_this.staleReadDetector.isStaleRead(key, dr)) {
146
+ _this.internalStore.delete(key);
147
+ _this.missCount++;
148
+ return undefined;
149
+ }
150
+ if (dr.isExpired(_this.maxIdleSeconds)) {
151
+ _this.expireRecord(key);
152
+ _this.missCount++;
153
+ return undefined;
154
+ }
155
+ dr.setAccessTime();
156
+ dr.hitRecord();
157
+ _this.hitCount++;
158
+ if (_this.inMemoryFormat === InMemoryFormat_1.InMemoryFormat.BINARY) {
159
+ return _this.serializationService.toObject(dr.value);
160
+ }
161
+ else {
162
+ return dr.value;
163
+ }
164
+ });
165
+ };
166
+ NearCacheImpl.prototype.invalidate = function (key) {
167
+ this.internalStore.delete(key);
168
+ };
169
+ NearCacheImpl.prototype.clear = function () {
170
+ this.internalStore.clear();
171
+ };
172
+ NearCacheImpl.prototype.isInvalidatedOnChange = function () {
173
+ return this.invalidateOnChange;
174
+ };
175
+ NearCacheImpl.prototype.getStatistics = function () {
176
+ var stats = {
177
+ creationTime: this.creationTime,
178
+ evictedCount: this.evictedCount,
179
+ expiredCount: this.expiredCount,
180
+ missCount: this.missCount,
181
+ hitCount: this.hitCount,
182
+ entryCount: this.internalStore.size,
183
+ };
184
+ return stats;
185
+ };
186
+ NearCacheImpl.prototype.isEvictionRequired = function () {
187
+ return this.evictionPolicy !== EvictionPolicy_1.EvictionPolicy.NONE && this.evictionMaxSize <= this.internalStore.size;
188
+ };
189
+ NearCacheImpl.prototype.doEvictionIfRequired = function () {
190
+ if (!this.isEvictionRequired()) {
191
+ return;
192
+ }
193
+ var internalSize = this.internalStore.size;
194
+ if (this.recomputeEvictionPool() > 0) {
195
+ return;
196
+ }
197
+ else {
198
+ this.evictRecord(this.evictionCandidatePool[0].key);
199
+ this.evictionCandidatePool = this.evictionCandidatePool.slice(1);
200
+ }
201
+ };
202
+ /**
203
+ * @returns number of expired elements.
204
+ */
205
+ NearCacheImpl.prototype.recomputeEvictionPool = function () {
206
+ var arr = Array.from(this.internalStore.values());
207
+ Util_1.shuffleArray(arr);
208
+ var newCandidates = arr.slice(0, this.evictionSamplingCount);
209
+ var cleanedNewCandidates = newCandidates.filter(this.filterExpiredRecord, this);
210
+ var expiredCount = newCandidates.length - cleanedNewCandidates.length;
211
+ if (expiredCount > 0) {
212
+ return expiredCount;
213
+ }
214
+ (_a = this.evictionCandidatePool).push.apply(_a, cleanedNewCandidates);
215
+ this.evictionCandidatePool.sort(this.compareFunc);
216
+ this.evictionCandidatePool = this.evictionCandidatePool.slice(0, this.evictionSamplingPoolSize);
217
+ return 0;
218
+ var _a;
219
+ };
220
+ NearCacheImpl.prototype.filterExpiredRecord = function (candidate) {
221
+ if (candidate.isExpired(this.maxIdleSeconds)) {
222
+ this.expireRecord(candidate.key);
223
+ return false;
224
+ }
225
+ else {
226
+ return true;
227
+ }
228
+ };
229
+ NearCacheImpl.prototype.expireRecord = function (key) {
230
+ if (this.internalStore.delete(key)) {
231
+ this.expiredCount++;
232
+ }
233
+ };
234
+ NearCacheImpl.prototype.evictRecord = function (key) {
235
+ if (this.internalStore.delete(key)) {
236
+ this.evictedCount++;
237
+ }
238
+ };
239
+ NearCacheImpl.prototype.initInvalidationMetadata = function (dr) {
240
+ if (this.staleReadDetector === AlwaysFreshStaleReadDetectorImpl.INSTANCE) {
241
+ return;
242
+ }
243
+ var partitionId = this.staleReadDetector.getPartitionId(dr.key);
244
+ var metadataContainer = this.staleReadDetector.getMetadataContainer(partitionId);
245
+ dr.setInvalidationSequence(metadataContainer.getSequence());
246
+ dr.setUuid(metadataContainer.getUuid());
247
+ };
248
+ return NearCacheImpl;
249
+ }());
250
+ exports.NearCacheImpl = NearCacheImpl;
@@ -0,0 +1,13 @@
1
+ import { NearCache } from './NearCache';
2
+ import { SerializationService } from '../serialization/SerializationService';
3
+ import HazelcastClient from '../HazelcastClient';
4
+ export declare class NearCacheManager {
5
+ protected readonly serializationService: SerializationService;
6
+ private readonly caches;
7
+ private readonly client;
8
+ constructor(client: HazelcastClient);
9
+ getOrCreateNearCache(name: string): NearCache;
10
+ destroyNearCache(name: string): void;
11
+ destroyAllNearCaches(): void;
12
+ listAllNearCaches(): NearCache[];
13
+ }
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright (c) 2008-2021, Hazelcast, Inc. All Rights Reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ var NearCache_1 = require("./NearCache");
19
+ var NearCacheManager = /** @class */ (function () {
20
+ function NearCacheManager(client) {
21
+ this.caches = new Map();
22
+ this.client = client;
23
+ }
24
+ NearCacheManager.prototype.getOrCreateNearCache = function (name) {
25
+ var nearCache = this.caches.get(name);
26
+ if (nearCache == null) {
27
+ nearCache = new NearCache_1.NearCacheImpl(this.client.getConfig().getNearCacheConfig(name), this.client.getSerializationService());
28
+ this.caches.set(name, nearCache);
29
+ }
30
+ return nearCache;
31
+ };
32
+ NearCacheManager.prototype.destroyNearCache = function (name) {
33
+ var nearCache = this.caches.get(name);
34
+ if (nearCache != null) {
35
+ this.caches.delete(name);
36
+ nearCache.clear();
37
+ }
38
+ };
39
+ NearCacheManager.prototype.destroyAllNearCaches = function () {
40
+ for (var _i = 0, _a = Array.from(this.caches.keys()); _i < _a.length; _i++) {
41
+ var key = _a[_i];
42
+ this.destroyNearCache(key);
43
+ }
44
+ };
45
+ NearCacheManager.prototype.listAllNearCaches = function () {
46
+ return Array.from(this.caches.values());
47
+ };
48
+ return NearCacheManager;
49
+ }());
50
+ exports.NearCacheManager = NearCacheManager;
@@ -0,0 +1,26 @@
1
+ /// <reference types="long" />
2
+ import * as Long from 'long';
3
+ import { UUID } from '../core/UUID';
4
+ import { PartitionService } from '../PartitionService';
5
+ import { Data } from '../serialization/Data';
6
+ import { MetadataContainer } from './MetadataContainer';
7
+ import { NearCache } from './NearCache';
8
+ export declare class RepairingHandler {
9
+ private readonly nearCache;
10
+ private readonly partitionCount;
11
+ private readonly partitionService;
12
+ private readonly localUuid;
13
+ private readonly name;
14
+ private containers;
15
+ constructor(name: string, partitionService: PartitionService, nearCache: NearCache, localUuid: string);
16
+ initUuid(partitionIdUuidPairsList: Array<[number, UUID]>): void;
17
+ initSequence(partitionIdSequencePairsList: [string, Array<[number, Long]>]): void;
18
+ handle(key: Data, sourceUuid: string, partitionUuid: UUID, sequence: Long): void;
19
+ handleBatch(keys: any[], sourceUuids: string[], partitionUuids: UUID[], sequences: Long[]): void;
20
+ checkOrRepairSequence(partitionId: number, nextSequence: Long, viaAntiEntropy?: boolean): void;
21
+ checkOrRepairUuid(partitionId: number, newuuid: UUID): void;
22
+ updateLastKnownStaleSequence(metadataContainer: MetadataContainer): void;
23
+ getMetadataContainer(partitionId: number): MetadataContainer;
24
+ getName(): string;
25
+ private getPartitionIdOrDefault(key);
26
+ }
@@ -0,0 +1,114 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright (c) 2008-2021, Hazelcast, Inc. All Rights Reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ var MetadataContainer_1 = require("./MetadataContainer");
19
+ var RepairingHandler = /** @class */ (function () {
20
+ function RepairingHandler(name, partitionService, nearCache, localUuid) {
21
+ this.nearCache = nearCache;
22
+ this.name = name;
23
+ this.partitionService = partitionService;
24
+ this.partitionCount = this.partitionService.getPartitionCount();
25
+ this.localUuid = localUuid;
26
+ this.containers = [];
27
+ for (var i = 0; i < this.partitionCount; i++) {
28
+ this.containers[i] = new MetadataContainer_1.MetadataContainer();
29
+ }
30
+ }
31
+ RepairingHandler.prototype.initUuid = function (partitionIdUuidPairsList) {
32
+ for (var _i = 0, partitionIdUuidPairsList_1 = partitionIdUuidPairsList; _i < partitionIdUuidPairsList_1.length; _i++) {
33
+ var item = partitionIdUuidPairsList_1[_i];
34
+ var partitionId = item[0];
35
+ var partitionUuid = item[1];
36
+ this.getMetadataContainer(partitionId).setUuid(partitionUuid);
37
+ }
38
+ };
39
+ RepairingHandler.prototype.initSequence = function (partitionIdSequencePairsList) {
40
+ var list = partitionIdSequencePairsList[1];
41
+ for (var _i = 0, list_1 = list; _i < list_1.length; _i++) {
42
+ var item = list_1[_i];
43
+ var partitionId = item[0];
44
+ var partitionSequence = item[1];
45
+ this.getMetadataContainer(partitionId).setSequence(partitionSequence);
46
+ }
47
+ };
48
+ RepairingHandler.prototype.handle = function (key, sourceUuid, partitionUuid, sequence) {
49
+ if (this.localUuid !== sourceUuid) {
50
+ if (key == null) {
51
+ this.nearCache.clear();
52
+ }
53
+ else {
54
+ this.nearCache.invalidate(key);
55
+ }
56
+ }
57
+ var partitionId = this.getPartitionIdOrDefault(key);
58
+ this.checkOrRepairSequence(partitionId, sequence);
59
+ this.checkOrRepairUuid(partitionId, partitionUuid);
60
+ };
61
+ RepairingHandler.prototype.handleBatch = function (keys, sourceUuids, partitionUuids, sequences) {
62
+ for (var i = 0; i < keys.length; i++) {
63
+ this.handle(keys[i], sourceUuids[i], partitionUuids[i], sequences[i]);
64
+ }
65
+ };
66
+ RepairingHandler.prototype.checkOrRepairSequence = function (partitionId, nextSequence, viaAntiEntropy) {
67
+ if (viaAntiEntropy === void 0) { viaAntiEntropy = false; }
68
+ var metadata = this.getMetadataContainer(partitionId);
69
+ var current = metadata.getSequence();
70
+ if (current.greaterThanOrEqual(nextSequence)) {
71
+ return;
72
+ }
73
+ metadata.setSequence(nextSequence);
74
+ var missed = nextSequence.subtract(current);
75
+ if (!viaAntiEntropy) {
76
+ missed = missed.subtract(1);
77
+ }
78
+ if (missed.greaterThan(0)) {
79
+ metadata.increaseMissedSequenceCount(missed);
80
+ }
81
+ };
82
+ RepairingHandler.prototype.checkOrRepairUuid = function (partitionId, newuuid) {
83
+ var metadata = this.getMetadataContainer(partitionId);
84
+ var currentUuid = metadata.getUuid();
85
+ if (currentUuid != null && currentUuid.equals(newuuid)) {
86
+ return;
87
+ }
88
+ metadata.setUuid(newuuid);
89
+ metadata.reset();
90
+ };
91
+ RepairingHandler.prototype.updateLastKnownStaleSequence = function (metadataContainer) {
92
+ var lastStaleSequence = metadataContainer.getStaleSequence();
93
+ var lastSequence = metadataContainer.getSequence();
94
+ if (lastStaleSequence.lessThan(lastSequence)) {
95
+ metadataContainer.setStaleSequence(lastSequence);
96
+ }
97
+ };
98
+ RepairingHandler.prototype.getMetadataContainer = function (partitionId) {
99
+ return this.containers[partitionId];
100
+ };
101
+ RepairingHandler.prototype.getName = function () {
102
+ return this.name;
103
+ };
104
+ RepairingHandler.prototype.getPartitionIdOrDefault = function (key) {
105
+ if (key != null) {
106
+ return this.partitionService.getPartitionId(key);
107
+ }
108
+ else {
109
+ return this.partitionService.getPartitionId(this.name);
110
+ }
111
+ };
112
+ return RepairingHandler;
113
+ }());
114
+ exports.RepairingHandler = RepairingHandler;
@@ -0,0 +1,26 @@
1
+ /// <reference types="bluebird" />
2
+ import HazelcastClient from '../HazelcastClient';
3
+ import { NearCache } from './NearCache';
4
+ import { RepairingHandler } from './RepairingHandler';
5
+ import * as Promise from 'bluebird';
6
+ export declare class RepairingTask {
7
+ private antientropyTaskHandle;
8
+ private handlers;
9
+ private reconcilliationInterval;
10
+ private maxToleratedMissCount;
11
+ private localUuid;
12
+ private metadataFetcher;
13
+ private client;
14
+ private partitionCount;
15
+ private readonly minAllowedReconciliationSeconds;
16
+ private readonly logger;
17
+ constructor(client: HazelcastClient);
18
+ registerAndGetHandler(objectName: string, nearCache: NearCache): Promise<RepairingHandler>;
19
+ deregisterHandler(objectName: string): void;
20
+ start(): void;
21
+ shutdown(): void;
22
+ antiEntropyTask(): void;
23
+ private isAboveMaxToleratedMissCount(handler);
24
+ private updateLastKnownStaleSequences(handler);
25
+ private getReconciliationIntervalMillis(seconds);
26
+ }
@@ -0,0 +1,117 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright (c) 2008-2021, Hazelcast, Inc. All Rights Reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ var assert = require("assert");
19
+ var Long = require("long");
20
+ var MetadataFetcher_1 = require("./MetadataFetcher");
21
+ var RepairingHandler_1 = require("./RepairingHandler");
22
+ var Promise = require("bluebird");
23
+ var PROPERTY_MAX_RECONCILIATION_INTERVAL_SECONDS = 'hazelcast.invalidation.reconciliation.interval.seconds';
24
+ var PROPERTY_MIN_RECONCILIATION_INTERVAL_SECONDS = 'hazelcast.invalidation.min.reconciliation.interval.seconds';
25
+ var PROPERTY_MAX_TOLERATED_MISS_COUNT = 'hazelcast.invalidation.max.tolerated.miss.count';
26
+ var RepairingTask = /** @class */ (function () {
27
+ function RepairingTask(client) {
28
+ this.client = client;
29
+ this.logger = this.client.getLoggingService().getLogger();
30
+ var config = this.client.getConfig();
31
+ this.minAllowedReconciliationSeconds = config.properties[PROPERTY_MIN_RECONCILIATION_INTERVAL_SECONDS];
32
+ var requestedReconciliationSeconds = config.properties[PROPERTY_MAX_RECONCILIATION_INTERVAL_SECONDS];
33
+ this.reconcilliationInterval = this.getReconciliationIntervalMillis(requestedReconciliationSeconds);
34
+ this.handlers = new Map();
35
+ this.localUuid = this.client.getLocalEndpoint().uuid;
36
+ this.maxToleratedMissCount = config.properties[PROPERTY_MAX_TOLERATED_MISS_COUNT];
37
+ this.metadataFetcher = new MetadataFetcher_1.MetadataFetcher(client);
38
+ this.partitionCount = this.client.getPartitionService().getPartitionCount();
39
+ }
40
+ RepairingTask.prototype.registerAndGetHandler = function (objectName, nearCache) {
41
+ var _this = this;
42
+ var handler = this.handlers.get(objectName);
43
+ if (handler !== undefined) {
44
+ return Promise.resolve(handler);
45
+ }
46
+ handler = new RepairingHandler_1.RepairingHandler(objectName, this.client.getPartitionService(), nearCache, this.localUuid);
47
+ return this.metadataFetcher.initHandler(handler).then(function () {
48
+ _this.handlers.set(objectName, handler);
49
+ if (_this.antientropyTaskHandle === undefined) {
50
+ _this.start();
51
+ }
52
+ return handler;
53
+ });
54
+ };
55
+ RepairingTask.prototype.deregisterHandler = function (objectName) {
56
+ this.handlers.delete(objectName);
57
+ };
58
+ RepairingTask.prototype.start = function () {
59
+ assert(this.reconcilliationInterval > 0);
60
+ this.antientropyTaskHandle = setInterval(this.antiEntropyTask.bind(this), this.reconcilliationInterval);
61
+ };
62
+ RepairingTask.prototype.shutdown = function () {
63
+ if (this.antientropyTaskHandle != null) {
64
+ clearInterval(this.antientropyTaskHandle);
65
+ }
66
+ };
67
+ RepairingTask.prototype.antiEntropyTask = function () {
68
+ var _this = this;
69
+ if (this.client.getLifecycleService().isRunning()) {
70
+ this.handlers.forEach(function (handler) {
71
+ if (_this.isAboveMaxToleratedMissCount(handler)) {
72
+ _this.updateLastKnownStaleSequences(handler);
73
+ }
74
+ });
75
+ this.metadataFetcher.fetchMetadata(this.handlers);
76
+ }
77
+ else {
78
+ this.shutdown();
79
+ this.logger.debug('RepairingTask', 'Anti entropy task was on although client was not running.' +
80
+ 'Anti entropy task was shutdown forcibly.');
81
+ }
82
+ };
83
+ RepairingTask.prototype.isAboveMaxToleratedMissCount = function (handler) {
84
+ var totalMissCount = Long.fromNumber(0);
85
+ for (var i = 0; i < this.partitionCount; i++) {
86
+ var added = handler.getMetadataContainer(i).getMissedSequenceCount();
87
+ totalMissCount = totalMissCount.add(added);
88
+ if (totalMissCount.greaterThanOrEqual(this.maxToleratedMissCount)) {
89
+ return true;
90
+ }
91
+ }
92
+ return false;
93
+ };
94
+ RepairingTask.prototype.updateLastKnownStaleSequences = function (handler) {
95
+ for (var i = 0; i < this.partitionCount; i++) {
96
+ var container = handler.getMetadataContainer(i);
97
+ var missedCount = container.getMissedSequenceCount();
98
+ if (missedCount.notEquals(0)) {
99
+ container.increaseMissedSequenceCount(missedCount.negate());
100
+ handler.updateLastKnownStaleSequence(container);
101
+ }
102
+ }
103
+ };
104
+ RepairingTask.prototype.getReconciliationIntervalMillis = function (seconds) {
105
+ if (seconds === 0 || seconds >= this.minAllowedReconciliationSeconds) {
106
+ return seconds * 1000;
107
+ }
108
+ else {
109
+ var message = 'Reconciliation interval can be at least ' + this.minAllowedReconciliationSeconds + ' seconds ' +
110
+ 'if not 0. Configured interval is ' + seconds + ' seconds. ' +
111
+ 'Note: configuring a value of 0 seconds disables the reconciliation task.';
112
+ throw new RangeError(message);
113
+ }
114
+ };
115
+ return RepairingTask;
116
+ }());
117
+ exports.RepairingTask = RepairingTask;
@@ -0,0 +1,7 @@
1
+ import { DataRecord } from './DataRecord';
2
+ import { MetadataContainer } from './MetadataContainer';
3
+ export interface StaleReadDetector {
4
+ isStaleRead(key: any, record: DataRecord): boolean;
5
+ getPartitionId(key: any): number;
6
+ getMetadataContainer(partitionId: number): MetadataContainer;
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,13 @@
1
+ import { PartitionService } from '../PartitionService';
2
+ import { DataRecord } from './DataRecord';
3
+ import { MetadataContainer } from './MetadataContainer';
4
+ import { RepairingHandler } from './RepairingHandler';
5
+ import { StaleReadDetector } from './StaleReadDetector';
6
+ export declare class StaleReadDetectorImpl implements StaleReadDetector {
7
+ private readonly repairingHandler;
8
+ private readonly partitionService;
9
+ constructor(handler: RepairingHandler, partitionService: PartitionService);
10
+ isStaleRead(key: any, record: DataRecord): boolean;
11
+ getMetadataContainer(partitionId: number): MetadataContainer;
12
+ getPartitionId(key: any): number;
13
+ }
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright (c) 2008-2021, Hazelcast, Inc. All Rights Reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ var StaleReadDetectorImpl = /** @class */ (function () {
19
+ function StaleReadDetectorImpl(handler, partitionService) {
20
+ this.repairingHandler = handler;
21
+ this.partitionService = partitionService;
22
+ }
23
+ StaleReadDetectorImpl.prototype.isStaleRead = function (key, record) {
24
+ var metadata = this.getMetadataContainer(this.getPartitionId(record.key));
25
+ return !record.hasSameUuid(metadata.getUuid()) || record.getInvalidationSequence().lessThan(metadata.getStaleSequence());
26
+ };
27
+ StaleReadDetectorImpl.prototype.getMetadataContainer = function (partitionId) {
28
+ return this.repairingHandler.getMetadataContainer(partitionId);
29
+ };
30
+ StaleReadDetectorImpl.prototype.getPartitionId = function (key) {
31
+ return this.partitionService.getPartitionId(key);
32
+ };
33
+ return StaleReadDetectorImpl;
34
+ }());
35
+ exports.StaleReadDetectorImpl = StaleReadDetectorImpl;