@celerispay/hazelcast-client 3.12.5-1

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 +140 -0
  3. package/CONFIG.md +503 -0
  4. package/FAILOVER_FIXES.md +202 -0
  5. package/LICENSE +202 -0
  6. package/QUICK_START.md +232 -0
  7. package/README.md +178 -0
  8. package/RELEASE_SUMMARY.md +260 -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 +55 -0
  45. package/lib/PartitionService.js +160 -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 +65 -0
  579. package/lib/invocation/ClientConnectionManager.js +360 -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 +127 -0
  583. package/lib/invocation/ClusterService.js +581 -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 +62 -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 +55 -0
  746. package/tsconfig.json +20 -0
@@ -0,0 +1,88 @@
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 ClientAuthenticationCodec_1 = require("../codec/ClientAuthenticationCodec");
19
+ var ClientAuthenticationCustomCodec_1 = require("../codec/ClientAuthenticationCustomCodec");
20
+ var HazelcastError_1 = require("../HazelcastError");
21
+ var BuildInfo_1 = require("../BuildInfo");
22
+ var AuthenticationStatus;
23
+ (function (AuthenticationStatus) {
24
+ AuthenticationStatus[AuthenticationStatus["AUTHENTICATED"] = 0] = "AUTHENTICATED";
25
+ AuthenticationStatus[AuthenticationStatus["CREDENTIALS_FAILED"] = 1] = "CREDENTIALS_FAILED";
26
+ AuthenticationStatus[AuthenticationStatus["SERIALIZATION_VERSION_MISMATCH"] = 2] = "SERIALIZATION_VERSION_MISMATCH";
27
+ })(AuthenticationStatus || (AuthenticationStatus = {}));
28
+ var ConnectionAuthenticator = /** @class */ (function () {
29
+ function ConnectionAuthenticator(connection, client) {
30
+ this.connection = connection;
31
+ this.client = client;
32
+ this.logger = this.client.getLoggingService().getLogger();
33
+ this.clusterService = this.client.getClusterService();
34
+ }
35
+ ConnectionAuthenticator.prototype.authenticate = function (asOwner) {
36
+ var _this = this;
37
+ var credentials = this.createCredentials(asOwner);
38
+ return this.client.getInvocationService()
39
+ .invokeOnConnection(this.connection, credentials)
40
+ .then(function (msg) {
41
+ var authResponse = ClientAuthenticationCodec_1.ClientAuthenticationCodec.decodeResponse(msg);
42
+ switch (authResponse.status) {
43
+ case 0 /* AUTHENTICATED */:
44
+ _this.connection.setAddress(authResponse.address);
45
+ _this.connection.setConnectedServerVersion(authResponse.serverHazelcastVersion);
46
+ if (asOwner) {
47
+ _this.clusterService.uuid = authResponse.uuid;
48
+ _this.clusterService.ownerUuid = authResponse.ownerUuid;
49
+ }
50
+ _this.logger.info('ConnectionAuthenticator', 'Connection to ' +
51
+ _this.connection.getAddress().toString() + ' authenticated');
52
+ break;
53
+ case 1 /* CREDENTIALS_FAILED */:
54
+ _this.logger.error('ConnectionAuthenticator', 'Invalid Credentials');
55
+ throw new Error('Invalid Credentials, could not authenticate connection to ' +
56
+ _this.connection.getAddress().toString());
57
+ case 2 /* SERIALIZATION_VERSION_MISMATCH */:
58
+ _this.logger.error('ConnectionAuthenticator', 'Serialization version mismatch');
59
+ throw new Error('Serialization version mismatch, could not authenticate connection to ' +
60
+ _this.connection.getAddress().toString());
61
+ default:
62
+ _this.logger.error('ConnectionAuthenticator', 'Unknown authentication status: '
63
+ + authResponse.status);
64
+ throw new HazelcastError_1.AuthenticationError('Unknown authentication status: ' + authResponse.status +
65
+ ' , could not authenticate connection to ' +
66
+ _this.connection.getAddress().toString());
67
+ }
68
+ });
69
+ };
70
+ ConnectionAuthenticator.prototype.createCredentials = function (asOwner) {
71
+ var groupConfig = this.client.getConfig().groupConfig;
72
+ var uuid = this.clusterService.uuid;
73
+ var ownerUuid = this.clusterService.ownerUuid;
74
+ var customCredentials = this.client.getConfig().customCredentials;
75
+ var clientMessage;
76
+ var clientVersion = BuildInfo_1.BuildInfo.getClientVersion();
77
+ if (customCredentials != null) {
78
+ var credentialsPayload = this.client.getSerializationService().toData(customCredentials);
79
+ clientMessage = ClientAuthenticationCustomCodec_1.ClientAuthenticationCustomCodec.encodeRequest(credentialsPayload, uuid, ownerUuid, asOwner, 'NJS', 1, clientVersion);
80
+ }
81
+ else {
82
+ clientMessage = ClientAuthenticationCodec_1.ClientAuthenticationCodec.encodeRequest(groupConfig.name, groupConfig.password, uuid, ownerUuid, asOwner, 'NJS', 1, clientVersion);
83
+ }
84
+ return clientMessage;
85
+ };
86
+ return ConnectionAuthenticator;
87
+ }());
88
+ exports.ConnectionAuthenticator = ConnectionAuthenticator;
@@ -0,0 +1,138 @@
1
+ /// <reference types="bluebird" />
2
+ import { Buffer } from 'safe-buffer';
3
+ import * as Promise from 'bluebird';
4
+ import HazelcastClient from '../HazelcastClient';
5
+ import { ClientConnection } from './ClientConnection';
6
+ import Address = require('../Address');
7
+ import ClientMessage = require('../ClientMessage');
8
+ /**
9
+ * A request to be sent to a hazelcast node.
10
+ */
11
+ export declare class Invocation {
12
+ client: HazelcastClient;
13
+ invocationService: InvocationService;
14
+ /**
15
+ * Representatiton of the request in binary form.
16
+ */
17
+ request: ClientMessage;
18
+ /**
19
+ * Partition id of the request. If request is not bound to a specific partition, should be set to -1.
20
+ */
21
+ partitionId: number;
22
+ /**
23
+ * Address of the request. If request is not bound to any specific address, should be set to null.
24
+ */
25
+ address: Address;
26
+ /**
27
+ * Deadline of validity. Client will not try to send this request to server after the deadline passes.
28
+ */
29
+ deadline: number;
30
+ /**
31
+ * Connection of the request. If request is not bound to any specific address, should be set to null.
32
+ */
33
+ connection: ClientConnection;
34
+ /**
35
+ * Connection on which the request was written. May be different from `connection`.
36
+ */
37
+ sendConnection: ClientConnection;
38
+ /**
39
+ * Promise managing object.
40
+ */
41
+ deferred: Promise.Resolver<ClientMessage>;
42
+ invokeCount: number;
43
+ /**
44
+ * If this is an event listener registration, handler should be set to the function to be called on events.
45
+ * Otherwise, should be set to null.
46
+ */
47
+ handler: (...args: any[]) => any;
48
+ constructor(client: HazelcastClient, request: ClientMessage, timeoutMillis?: number);
49
+ private static isRetrySafeError(err);
50
+ shouldRetry(err: Error): boolean;
51
+ /**
52
+ * @returns {boolean}
53
+ */
54
+ hasPartitionId(): boolean;
55
+ isAllowedToRetryOnSelection(err: Error): boolean;
56
+ }
57
+ /**
58
+ * Sends requests to appropriate nodes. Resolves waiting promises with responses.
59
+ */
60
+ export declare class InvocationService {
61
+ doInvoke: (invocation: Invocation) => void;
62
+ private correlationCounter;
63
+ private readonly eventHandlers;
64
+ private readonly pending;
65
+ private client;
66
+ private readonly invocationRetryPauseMillis;
67
+ private readonly invocationTimeoutMillis;
68
+ private readonly cleanResourcesMillis;
69
+ private readonly redoOperation;
70
+ private logger;
71
+ private cleanResourcesTask;
72
+ private isShutdown;
73
+ private readonly maxRetryAttempts;
74
+ private readonly partitionFailureBackoff;
75
+ constructor(hazelcastClient: HazelcastClient);
76
+ start(): void;
77
+ shutdown(): void;
78
+ redoOperationEnabled(): boolean;
79
+ invoke(invocation: Invocation): Promise<ClientMessage>;
80
+ /**
81
+ * Invokes given invocation on specified connection.
82
+ * @param connection
83
+ * @param request
84
+ * @param handler called with values returned from server for this invocation.
85
+ * @returns
86
+ */
87
+ invokeOnConnection(connection: ClientConnection, request: ClientMessage, handler?: (...args: any[]) => any): Promise<ClientMessage>;
88
+ /**
89
+ * Invokes given invocation on the node that owns given partition.
90
+ * @param request
91
+ * @param partitionId
92
+ * @param timeoutMillis optional override for the invocation timeout
93
+ * @returns
94
+ */
95
+ invokeOnPartition(request: ClientMessage, partitionId: number, timeoutMillis?: number): Promise<ClientMessage>;
96
+ /**
97
+ * Invokes given invocation on the host with given address.
98
+ * @param request
99
+ * @param target
100
+ * @returns
101
+ */
102
+ invokeOnTarget(request: ClientMessage, target: Address): Promise<ClientMessage>;
103
+ /**
104
+ * Invokes given invocation on any host.
105
+ * Useful when an operation is not bound to any host but a generic operation.
106
+ * @param request
107
+ * @returns
108
+ */
109
+ invokeOnRandomTarget(request: ClientMessage): Promise<ClientMessage>;
110
+ getInvocationTimeoutMillis(): number;
111
+ getInvocationRetryPauseMillis(): number;
112
+ /**
113
+ * Removes the handler for all event handlers with a specific correlation id.
114
+ * @param id correlation id
115
+ */
116
+ removeEventHandler(id: number): void;
117
+ /**
118
+ * Extract codec specific properties in a protocol message and resolves waiting promise.
119
+ * @param buffer
120
+ */
121
+ processResponse(buffer: Buffer): void;
122
+ private scheduleCleanResourcesTask(periodMillis);
123
+ private invokeSmart(invocation);
124
+ private invokeNonSmart(invocation);
125
+ private invokeOnOwner(invocation);
126
+ private invokeOnAddress(invocation, address);
127
+ private invokeOnPartitionOwner(invocation, partitionId);
128
+ private send(invocation, connection);
129
+ private notifyError(invocation, error);
130
+ /**
131
+ * Determines if an error is retryable. The given invocation is rejected with approprate error if the error is not retryable.
132
+ * @param invocation
133
+ * @param error
134
+ * @returns `true` if invocation is rejected, `false` otherwise
135
+ */
136
+ private rejectIfNotRetryable(invocation, error);
137
+ private registerInvocation(invocation);
138
+ }
@@ -0,0 +1,387 @@
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 Promise = require("bluebird");
20
+ var BitsUtil_1 = require("../BitsUtil");
21
+ var HazelcastError_1 = require("../HazelcastError");
22
+ var Util_1 = require("../Util");
23
+ var ClientMessage = require("../ClientMessage");
24
+ var EXCEPTION_MESSAGE_TYPE = 109;
25
+ var MAX_FAST_INVOCATION_COUNT = 5;
26
+ var PROPERTY_INVOCATION_RETRY_PAUSE_MILLIS = 'hazelcast.client.invocation.retry.pause.millis';
27
+ var PROPERTY_INVOCATION_TIMEOUT_MILLIS = 'hazelcast.client.invocation.timeout.millis';
28
+ var PROPERTY_CLEAN_RESOURCES_MILLIS = 'hazelcast.client.internal.clean.resources.millis';
29
+ /**
30
+ * A request to be sent to a hazelcast node.
31
+ */
32
+ var Invocation = /** @class */ (function () {
33
+ function Invocation(client, request, timeoutMillis) {
34
+ this.invokeCount = 0;
35
+ this.client = client;
36
+ this.invocationService = client.getInvocationService();
37
+ this.deadline = timeoutMillis === undefined
38
+ ? Date.now() + this.invocationService.getInvocationTimeoutMillis()
39
+ : Date.now() + timeoutMillis;
40
+ this.request = request;
41
+ }
42
+ Invocation.isRetrySafeError = function (err) {
43
+ return err instanceof HazelcastError_1.IOError
44
+ || err instanceof HazelcastError_1.HazelcastInstanceNotActiveError
45
+ || err instanceof HazelcastError_1.RetryableHazelcastError;
46
+ };
47
+ Invocation.prototype.shouldRetry = function (err) {
48
+ if (Invocation.isRetrySafeError(err)) {
49
+ return true;
50
+ }
51
+ if (err instanceof HazelcastError_1.TargetDisconnectedError) {
52
+ return this.request.isRetryable() || this.invocationService.redoOperationEnabled();
53
+ }
54
+ return false;
55
+ };
56
+ /**
57
+ * @returns {boolean}
58
+ */
59
+ Invocation.prototype.hasPartitionId = function () {
60
+ return this.hasOwnProperty('partitionId') && this.partitionId >= 0;
61
+ };
62
+ Invocation.prototype.isAllowedToRetryOnSelection = function (err) {
63
+ return (this.connection == null && this.address == null) || !(err instanceof HazelcastError_1.IOError);
64
+ };
65
+ return Invocation;
66
+ }());
67
+ exports.Invocation = Invocation;
68
+ /**
69
+ * Sends requests to appropriate nodes. Resolves waiting promises with responses.
70
+ */
71
+ var InvocationService = /** @class */ (function () {
72
+ function InvocationService(hazelcastClient) {
73
+ this.correlationCounter = 1;
74
+ this.eventHandlers = new Map();
75
+ this.pending = new Map();
76
+ this.maxRetryAttempts = 10;
77
+ this.partitionFailureBackoff = 2000; // 2 seconds backoff for partition failures
78
+ this.client = hazelcastClient;
79
+ this.logger = this.client.getLoggingService().getLogger();
80
+ var config = hazelcastClient.getConfig();
81
+ if (config.networkConfig.smartRouting) {
82
+ this.doInvoke = this.invokeSmart;
83
+ }
84
+ else {
85
+ this.doInvoke = this.invokeNonSmart;
86
+ }
87
+ this.invocationRetryPauseMillis = config.properties[PROPERTY_INVOCATION_RETRY_PAUSE_MILLIS];
88
+ this.invocationTimeoutMillis = config.properties[PROPERTY_INVOCATION_TIMEOUT_MILLIS];
89
+ this.cleanResourcesMillis = config.properties[PROPERTY_CLEAN_RESOURCES_MILLIS];
90
+ this.redoOperation = config.networkConfig.redoOperation;
91
+ this.isShutdown = false;
92
+ }
93
+ InvocationService.prototype.start = function () {
94
+ this.cleanResourcesTask = this.scheduleCleanResourcesTask(this.cleanResourcesMillis);
95
+ };
96
+ InvocationService.prototype.shutdown = function () {
97
+ var _this = this;
98
+ if (this.isShutdown) {
99
+ return;
100
+ }
101
+ this.isShutdown = true;
102
+ if (this.cleanResourcesTask !== undefined) {
103
+ Util_1.cancelRepetitionTask(this.cleanResourcesTask);
104
+ }
105
+ this.pending.forEach(function (invocation) {
106
+ _this.notifyError(invocation, new HazelcastError_1.ClientNotActiveError('Client is shutting down.'));
107
+ });
108
+ };
109
+ InvocationService.prototype.redoOperationEnabled = function () {
110
+ return this.redoOperation;
111
+ };
112
+ InvocationService.prototype.invoke = function (invocation) {
113
+ invocation.deferred = Util_1.DeferredPromise();
114
+ var newCorrelationId = this.correlationCounter++;
115
+ invocation.request.setCorrelationId(newCorrelationId);
116
+ this.doInvoke(invocation);
117
+ return invocation.deferred.promise;
118
+ };
119
+ /**
120
+ * Invokes given invocation on specified connection.
121
+ * @param connection
122
+ * @param request
123
+ * @param handler called with values returned from server for this invocation.
124
+ * @returns
125
+ */
126
+ InvocationService.prototype.invokeOnConnection = function (connection, request, handler) {
127
+ var invocation = new Invocation(this.client, request);
128
+ invocation.connection = connection;
129
+ if (handler) {
130
+ invocation.handler = handler;
131
+ }
132
+ return this.invoke(invocation);
133
+ };
134
+ /**
135
+ * Invokes given invocation on the node that owns given partition.
136
+ * @param request
137
+ * @param partitionId
138
+ * @param timeoutMillis optional override for the invocation timeout
139
+ * @returns
140
+ */
141
+ InvocationService.prototype.invokeOnPartition = function (request, partitionId, timeoutMillis) {
142
+ var invocation = new Invocation(this.client, request, timeoutMillis);
143
+ invocation.partitionId = partitionId;
144
+ return this.invoke(invocation);
145
+ };
146
+ /**
147
+ * Invokes given invocation on the host with given address.
148
+ * @param request
149
+ * @param target
150
+ * @returns
151
+ */
152
+ InvocationService.prototype.invokeOnTarget = function (request, target) {
153
+ var invocation = new Invocation(this.client, request);
154
+ invocation.address = target;
155
+ return this.invoke(invocation);
156
+ };
157
+ /**
158
+ * Invokes given invocation on any host.
159
+ * Useful when an operation is not bound to any host but a generic operation.
160
+ * @param request
161
+ * @returns
162
+ */
163
+ InvocationService.prototype.invokeOnRandomTarget = function (request) {
164
+ return this.invoke(new Invocation(this.client, request));
165
+ };
166
+ InvocationService.prototype.getInvocationTimeoutMillis = function () {
167
+ return this.invocationTimeoutMillis;
168
+ };
169
+ InvocationService.prototype.getInvocationRetryPauseMillis = function () {
170
+ return this.invocationRetryPauseMillis;
171
+ };
172
+ /**
173
+ * Removes the handler for all event handlers with a specific correlation id.
174
+ * @param id correlation id
175
+ */
176
+ InvocationService.prototype.removeEventHandler = function (id) {
177
+ if (this.eventHandlers.hasOwnProperty('' + id)) {
178
+ this.eventHandlers.delete(id);
179
+ }
180
+ };
181
+ /**
182
+ * Extract codec specific properties in a protocol message and resolves waiting promise.
183
+ * @param buffer
184
+ */
185
+ InvocationService.prototype.processResponse = function (buffer) {
186
+ var _this = this;
187
+ var clientMessage = new ClientMessage(buffer);
188
+ var correlationId = clientMessage.getCorrelationId();
189
+ var messageType = clientMessage.getMessageType();
190
+ if (clientMessage.hasFlags(BitsUtil_1.BitsUtil.LISTENER_FLAG)) {
191
+ setImmediate(function () {
192
+ var invocation = _this.eventHandlers.get(correlationId);
193
+ if (invocation !== undefined) {
194
+ invocation.handler(clientMessage);
195
+ }
196
+ });
197
+ return;
198
+ }
199
+ var pendingInvocation = this.pending.get(correlationId);
200
+ if (pendingInvocation === undefined) {
201
+ if (!this.isShutdown) {
202
+ this.logger.warn('InvocationService', 'Found no registration for invocation id ' + correlationId);
203
+ }
204
+ return;
205
+ }
206
+ var deferred = pendingInvocation.deferred;
207
+ if (messageType === EXCEPTION_MESSAGE_TYPE) {
208
+ var remoteError = this.client.getErrorFactory().createErrorFromClientMessage(clientMessage);
209
+ this.notifyError(pendingInvocation, remoteError);
210
+ }
211
+ else {
212
+ this.pending.delete(correlationId);
213
+ deferred.resolve(clientMessage);
214
+ }
215
+ };
216
+ InvocationService.prototype.scheduleCleanResourcesTask = function (periodMillis) {
217
+ var _this = this;
218
+ return Util_1.scheduleWithRepetition(function () {
219
+ _this.pending.forEach(function (invocation) {
220
+ var connection = invocation.sendConnection;
221
+ if (connection === undefined) {
222
+ return;
223
+ }
224
+ if (!connection.isAlive()) {
225
+ _this.notifyError(invocation, new HazelcastError_1.TargetDisconnectedError('Target member disconnected.'));
226
+ }
227
+ });
228
+ }, periodMillis, periodMillis);
229
+ };
230
+ InvocationService.prototype.invokeSmart = function (invocation) {
231
+ var _this = this;
232
+ var invocationPromise;
233
+ invocation.invokeCount++;
234
+ if (invocation.hasOwnProperty('connection')) {
235
+ invocationPromise = this.send(invocation, invocation.connection);
236
+ }
237
+ else if (invocation.hasPartitionId()) {
238
+ invocationPromise = this.invokeOnPartitionOwner(invocation, invocation.partitionId);
239
+ }
240
+ else if (invocation.hasOwnProperty('address')) {
241
+ invocationPromise = this.invokeOnAddress(invocation, invocation.address);
242
+ }
243
+ else {
244
+ invocationPromise = this.invokeOnOwner(invocation);
245
+ }
246
+ invocationPromise.catch(function (err) {
247
+ _this.notifyError(invocation, err);
248
+ });
249
+ };
250
+ InvocationService.prototype.invokeNonSmart = function (invocation) {
251
+ var _this = this;
252
+ var invocationPromise;
253
+ invocation.invokeCount++;
254
+ if (invocation.hasOwnProperty('connection')) {
255
+ invocationPromise = this.send(invocation, invocation.connection);
256
+ }
257
+ else {
258
+ invocationPromise = this.invokeOnOwner(invocation);
259
+ }
260
+ invocationPromise.catch(function (err) {
261
+ _this.notifyError(invocation, err);
262
+ });
263
+ };
264
+ InvocationService.prototype.invokeOnOwner = function (invocation) {
265
+ var owner = this.client.getClusterService().getOwnerConnection();
266
+ if (owner == null) {
267
+ return Promise.reject(new HazelcastError_1.IOError('Unisocket client\'s owner connection is not available.'));
268
+ }
269
+ return this.send(invocation, owner);
270
+ };
271
+ InvocationService.prototype.invokeOnAddress = function (invocation, address) {
272
+ var _this = this;
273
+ return this.client.getConnectionManager().getOrConnect(address).then(function (connection) {
274
+ return _this.send(invocation, connection);
275
+ }).catch(function (e) {
276
+ _this.logger.debug('InvocationService', e);
277
+ throw new HazelcastError_1.IOError(address.toString() + ' is not available.', e);
278
+ });
279
+ };
280
+ InvocationService.prototype.invokeOnPartitionOwner = function (invocation, partitionId) {
281
+ var _this = this;
282
+ var ownerAddress = this.client.getPartitionService().getAddressForPartition(partitionId);
283
+ if (!ownerAddress) {
284
+ // If we don't have partition information, refresh and retry
285
+ this.logger.debug('InvocationService', "No partition owner for partition " + partitionId + ", refreshing partition table");
286
+ return this.client.getPartitionService().refresh().then(function () {
287
+ var newOwnerAddress = _this.client.getPartitionService().getAddressForPartition(partitionId);
288
+ if (!newOwnerAddress) {
289
+ throw new Error("Still no partition owner for partition " + partitionId + " after refresh");
290
+ }
291
+ return _this.invokeOnAddress(invocation, newOwnerAddress);
292
+ });
293
+ }
294
+ return this.client.getConnectionManager().getOrConnect(ownerAddress).then(function (connection) {
295
+ return _this.send(invocation, connection);
296
+ }).catch(function (e) {
297
+ _this.logger.debug('InvocationService', "Partition owner " + ownerAddress.toString() + " unavailable for partition " + partitionId + ":", e);
298
+ // If this is a partition-specific failure, refresh partition table and retry
299
+ if (invocation.hasPartitionId()) {
300
+ _this.logger.debug('InvocationService', "Refreshing partition table due to partition owner failure");
301
+ return _this.client.getPartitionService().refresh().then(function () {
302
+ // Retry the invocation with updated partition information
303
+ return _this.doInvoke(invocation);
304
+ });
305
+ }
306
+ throw new HazelcastError_1.IOError(ownerAddress.toString() + '(partition owner) is not available.', e);
307
+ });
308
+ };
309
+ InvocationService.prototype.send = function (invocation, connection) {
310
+ assert(connection != null);
311
+ if (this.isShutdown) {
312
+ return Promise.reject(new HazelcastError_1.ClientNotActiveError('Client is shutdown.'));
313
+ }
314
+ this.registerInvocation(invocation);
315
+ return connection.write(invocation.request.getBuffer()).then(function () {
316
+ invocation.sendConnection = connection;
317
+ });
318
+ };
319
+ InvocationService.prototype.notifyError = function (invocation, error) {
320
+ var correlationId = invocation.request.getCorrelationId();
321
+ if (this.rejectIfNotRetryable(invocation, error)) {
322
+ this.pending.delete(correlationId);
323
+ return;
324
+ }
325
+ // Check if we've exceeded max retry attempts
326
+ if (invocation.invokeCount >= this.maxRetryAttempts) {
327
+ this.logger.error('InvocationService', "Max retry attempts (" + this.maxRetryAttempts + ") exceeded for correlation-id=" + correlationId);
328
+ invocation.deferred.reject(new Error("Max retry attempts exceeded: " + error.message));
329
+ this.pending.delete(correlationId);
330
+ return;
331
+ }
332
+ this.logger.debug('InvocationService', 'Retrying(' + invocation.invokeCount + ') on correlation-id=' + correlationId, error);
333
+ // Use exponential backoff for partition failures
334
+ var retryDelay = this.getInvocationRetryPauseMillis();
335
+ if (invocation.hasPartitionId() && error instanceof HazelcastError_1.IOError) {
336
+ retryDelay = this.partitionFailureBackoff;
337
+ }
338
+ if (invocation.invokeCount < MAX_FAST_INVOCATION_COUNT) {
339
+ this.doInvoke(invocation);
340
+ }
341
+ else {
342
+ setTimeout(this.doInvoke.bind(this, invocation), retryDelay);
343
+ }
344
+ };
345
+ /**
346
+ * Determines if an error is retryable. The given invocation is rejected with approprate error if the error is not retryable.
347
+ * @param invocation
348
+ * @param error
349
+ * @returns `true` if invocation is rejected, `false` otherwise
350
+ */
351
+ InvocationService.prototype.rejectIfNotRetryable = function (invocation, error) {
352
+ if (!this.client.getLifecycleService().isRunning()) {
353
+ invocation.deferred.reject(new HazelcastError_1.ClientNotActiveError('Client is not active.', error));
354
+ return true;
355
+ }
356
+ if (!invocation.isAllowedToRetryOnSelection(error)) {
357
+ invocation.deferred.reject(error);
358
+ return true;
359
+ }
360
+ if (!invocation.shouldRetry(error)) {
361
+ invocation.deferred.reject(error);
362
+ return true;
363
+ }
364
+ if (invocation.deadline < Date.now()) {
365
+ this.logger.trace('InvocationService', 'Error will not be retried because invocation timed out');
366
+ invocation.deferred.reject(new HazelcastError_1.InvocationTimeoutError('Invocation ' + invocation.request.getCorrelationId() + ')'
367
+ + ' reached its deadline.', error));
368
+ return true;
369
+ }
370
+ };
371
+ InvocationService.prototype.registerInvocation = function (invocation) {
372
+ var message = invocation.request;
373
+ var correlationId = message.getCorrelationId();
374
+ if (invocation.hasPartitionId()) {
375
+ message.setPartitionId(invocation.partitionId);
376
+ }
377
+ else {
378
+ message.setPartitionId(-1);
379
+ }
380
+ if (invocation.hasOwnProperty('handler')) {
381
+ this.eventHandlers.set(correlationId, invocation);
382
+ }
383
+ this.pending.set(correlationId, invocation);
384
+ };
385
+ return InvocationService;
386
+ }());
387
+ exports.InvocationService = InvocationService;
@@ -0,0 +1,2 @@
1
+ declare function murmurhash3_32_gc(key: any): number;
2
+ export = murmurhash3_32_gc;
@@ -0,0 +1,65 @@
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
+ /* tslint:disable */
18
+ var seed = 0x01000193;
19
+ function murmurhash3_32_gc(key) {
20
+ var remainder, bytes, h1, h1b, c1, c2, k1, i;
21
+ remainder = key.length & 3; // key.length % 4
22
+ bytes = key.length - remainder;
23
+ h1 = seed;
24
+ c1 = 0xcc9e2d51;
25
+ c2 = 0x1b873593;
26
+ i = 0;
27
+ while (i < bytes) {
28
+ k1 =
29
+ ((key.readUInt8(i) & 0xff)) |
30
+ ((key.readUInt8(++i) & 0xff) << 8) |
31
+ ((key.readUInt8(++i) & 0xff) << 16) |
32
+ ((key.readUInt8(++i) & 0xff) << 24);
33
+ ++i;
34
+ k1 = ((((k1 & 0xffff) * c1) + ((((k1 >>> 16) * c1) & 0xffff) << 16))) & 0xffffffff;
35
+ k1 = (k1 << 15) | (k1 >>> 17);
36
+ k1 = ((((k1 & 0xffff) * c2) + ((((k1 >>> 16) * c2) & 0xffff) << 16))) & 0xffffffff;
37
+ h1 ^= k1;
38
+ h1 = (h1 << 13) | (h1 >>> 19);
39
+ h1b = ((((h1 & 0xffff) * 5) + ((((h1 >>> 16) * 5) & 0xffff) << 16))) & 0xffffffff;
40
+ h1 = (((h1b & 0xffff) + 0x6b64) + ((((h1b >>> 16) + 0xe654) & 0xffff) << 16));
41
+ }
42
+ k1 = 0;
43
+ switch (remainder) {
44
+ case 3:
45
+ k1 ^= (key.readUInt8(i + 2) & 0xff) << 16;
46
+ case 2:
47
+ k1 ^= (key.readUInt8(i + 1) & 0xff) << 8;
48
+ case 1:
49
+ k1 ^= (key.readUInt8(i) & 0xff);
50
+ k1 = (((k1 & 0xffff) * c1) + ((((k1 >>> 16) * c1) & 0xffff) << 16)) & 0xffffffff;
51
+ k1 = (k1 << 15) | (k1 >>> 17);
52
+ k1 = (((k1 & 0xffff) * c2) + ((((k1 >>> 16) * c2) & 0xffff) << 16)) & 0xffffffff;
53
+ h1 ^= k1;
54
+ }
55
+ h1 ^= key.length;
56
+ h1 ^= h1 >>> 16;
57
+ h1 = (((h1 & 0xffff) * 0x85ebca6b) + ((((h1 >>> 16) * 0x85ebca6b) & 0xffff) << 16)) & 0xffffffff;
58
+ h1 ^= h1 >>> 13;
59
+ h1 = ((((h1 & 0xffff) * 0xc2b2ae35) + ((((h1 >>> 16) * 0xc2b2ae35) & 0xffff) << 16))) & 0xffffffff;
60
+ h1 ^= h1 >>> 16;
61
+ var result = h1 >>> 0;
62
+ // This simulates the 32 bit integer overflow to match Java implementation
63
+ return result | 0;
64
+ }
65
+ module.exports = murmurhash3_32_gc;