@effect/cluster 0.0.0-snapshot-d33d8b050b8e3c87dcde9587083e6c1cf733f72b

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 (375) hide show
  1. package/AtLeastOnce/package.json +6 -0
  2. package/AtLeastOnceStorage/package.json +6 -0
  3. package/Broadcaster/package.json +6 -0
  4. package/LICENSE +21 -0
  5. package/ManagerConfig/package.json +6 -0
  6. package/Message/package.json +6 -0
  7. package/MessageState/package.json +6 -0
  8. package/Messenger/package.json +6 -0
  9. package/Pod/package.json +6 -0
  10. package/PodAddress/package.json +6 -0
  11. package/Pods/package.json +6 -0
  12. package/PodsHealth/package.json +6 -0
  13. package/PoisonPill/package.json +6 -0
  14. package/README.md +3 -0
  15. package/RecipientAddress/package.json +6 -0
  16. package/RecipientBehaviour/package.json +6 -0
  17. package/RecipientBehaviourContext/package.json +6 -0
  18. package/RecipientType/package.json +6 -0
  19. package/Serialization/package.json +6 -0
  20. package/SerializedEnvelope/package.json +6 -0
  21. package/SerializedMessage/package.json +6 -0
  22. package/ShardId/package.json +6 -0
  23. package/ShardManager/package.json +6 -0
  24. package/ShardManagerClient/package.json +6 -0
  25. package/Sharding/package.json +6 -0
  26. package/ShardingConfig/package.json +6 -0
  27. package/ShardingEvent/package.json +6 -0
  28. package/ShardingException/package.json +6 -0
  29. package/ShardingRegistrationEvent/package.json +6 -0
  30. package/Storage/package.json +6 -0
  31. package/dist/cjs/AtLeastOnce.js +43 -0
  32. package/dist/cjs/AtLeastOnce.js.map +1 -0
  33. package/dist/cjs/AtLeastOnceStorage.js +48 -0
  34. package/dist/cjs/AtLeastOnceStorage.js.map +1 -0
  35. package/dist/cjs/Broadcaster.js +6 -0
  36. package/dist/cjs/Broadcaster.js.map +1 -0
  37. package/dist/cjs/ManagerConfig.js +57 -0
  38. package/dist/cjs/ManagerConfig.js.map +1 -0
  39. package/dist/cjs/Message.js +64 -0
  40. package/dist/cjs/Message.js.map +1 -0
  41. package/dist/cjs/MessageState.js +78 -0
  42. package/dist/cjs/MessageState.js.map +1 -0
  43. package/dist/cjs/Messenger.js +6 -0
  44. package/dist/cjs/Messenger.js.map +1 -0
  45. package/dist/cjs/Pod.js +101 -0
  46. package/dist/cjs/Pod.js.map +1 -0
  47. package/dist/cjs/PodAddress.js +100 -0
  48. package/dist/cjs/PodAddress.js.map +1 -0
  49. package/dist/cjs/Pods.js +58 -0
  50. package/dist/cjs/Pods.js.map +1 -0
  51. package/dist/cjs/PodsHealth.js +64 -0
  52. package/dist/cjs/PodsHealth.js.map +1 -0
  53. package/dist/cjs/PoisonPill.js +101 -0
  54. package/dist/cjs/PoisonPill.js.map +1 -0
  55. package/dist/cjs/RecipientAddress.js +102 -0
  56. package/dist/cjs/RecipientAddress.js.map +1 -0
  57. package/dist/cjs/RecipientBehaviour.js +61 -0
  58. package/dist/cjs/RecipientBehaviour.js.map +1 -0
  59. package/dist/cjs/RecipientBehaviourContext.js +87 -0
  60. package/dist/cjs/RecipientBehaviourContext.js.map +1 -0
  61. package/dist/cjs/RecipientType.js +142 -0
  62. package/dist/cjs/RecipientType.js.map +1 -0
  63. package/dist/cjs/Serialization.js +55 -0
  64. package/dist/cjs/Serialization.js.map +1 -0
  65. package/dist/cjs/SerializedEnvelope.js +111 -0
  66. package/dist/cjs/SerializedEnvelope.js.map +1 -0
  67. package/dist/cjs/SerializedMessage.js +87 -0
  68. package/dist/cjs/SerializedMessage.js.map +1 -0
  69. package/dist/cjs/ShardId.js +89 -0
  70. package/dist/cjs/ShardId.js.map +1 -0
  71. package/dist/cjs/ShardManager.js +48 -0
  72. package/dist/cjs/ShardManager.js.map +1 -0
  73. package/dist/cjs/ShardManagerClient.js +53 -0
  74. package/dist/cjs/ShardManagerClient.js.map +1 -0
  75. package/dist/cjs/Sharding.js +129 -0
  76. package/dist/cjs/Sharding.js.map +1 -0
  77. package/dist/cjs/ShardingConfig.js +64 -0
  78. package/dist/cjs/ShardingConfig.js.map +1 -0
  79. package/dist/cjs/ShardingEvent.js +72 -0
  80. package/dist/cjs/ShardingEvent.js.map +1 -0
  81. package/dist/cjs/ShardingException.js +130 -0
  82. package/dist/cjs/ShardingException.js.map +1 -0
  83. package/dist/cjs/ShardingRegistrationEvent.js +44 -0
  84. package/dist/cjs/ShardingRegistrationEvent.js.map +1 -0
  85. package/dist/cjs/Storage.js +63 -0
  86. package/dist/cjs/Storage.js.map +1 -0
  87. package/dist/cjs/index.js +88 -0
  88. package/dist/cjs/index.js.map +1 -0
  89. package/dist/cjs/internal/atLeastOnce.js +58 -0
  90. package/dist/cjs/internal/atLeastOnce.js.map +1 -0
  91. package/dist/cjs/internal/atLeastOnceStorage.js +186 -0
  92. package/dist/cjs/internal/atLeastOnceStorage.js.map +1 -0
  93. package/dist/cjs/internal/entityManager.js +191 -0
  94. package/dist/cjs/internal/entityManager.js.map +1 -0
  95. package/dist/cjs/internal/entityState.js +70 -0
  96. package/dist/cjs/internal/entityState.js.map +1 -0
  97. package/dist/cjs/internal/managerConfig.js +69 -0
  98. package/dist/cjs/internal/managerConfig.js.map +1 -0
  99. package/dist/cjs/internal/message.js +68 -0
  100. package/dist/cjs/internal/message.js.map +1 -0
  101. package/dist/cjs/internal/messageState.js +102 -0
  102. package/dist/cjs/internal/messageState.js.map +1 -0
  103. package/dist/cjs/internal/podWithMetadata.js +77 -0
  104. package/dist/cjs/internal/podWithMetadata.js.map +1 -0
  105. package/dist/cjs/internal/pods.js +58 -0
  106. package/dist/cjs/internal/pods.js.map +1 -0
  107. package/dist/cjs/internal/podsHealth.js +63 -0
  108. package/dist/cjs/internal/podsHealth.js.map +1 -0
  109. package/dist/cjs/internal/recipientBehaviour.js +75 -0
  110. package/dist/cjs/internal/recipientBehaviour.js.map +1 -0
  111. package/dist/cjs/internal/recipientBehaviourContext.js +59 -0
  112. package/dist/cjs/internal/recipientBehaviourContext.js.map +1 -0
  113. package/dist/cjs/internal/serialization.js +72 -0
  114. package/dist/cjs/internal/serialization.js.map +1 -0
  115. package/dist/cjs/internal/shardManager.js +291 -0
  116. package/dist/cjs/internal/shardManager.js.map +1 -0
  117. package/dist/cjs/internal/shardManagerClient.js +71 -0
  118. package/dist/cjs/internal/shardManagerClient.js.map +1 -0
  119. package/dist/cjs/internal/shardManagerState.js +67 -0
  120. package/dist/cjs/internal/shardManagerState.js.map +1 -0
  121. package/dist/cjs/internal/sharding.js +329 -0
  122. package/dist/cjs/internal/sharding.js.map +1 -0
  123. package/dist/cjs/internal/shardingConfig.js +79 -0
  124. package/dist/cjs/internal/shardingConfig.js.map +1 -0
  125. package/dist/cjs/internal/storage.js +75 -0
  126. package/dist/cjs/internal/storage.js.map +1 -0
  127. package/dist/cjs/internal/utils.js +92 -0
  128. package/dist/cjs/internal/utils.js.map +1 -0
  129. package/dist/dts/AtLeastOnce.d.ts +20 -0
  130. package/dist/dts/AtLeastOnce.d.ts.map +1 -0
  131. package/dist/dts/AtLeastOnceStorage.d.ts +75 -0
  132. package/dist/dts/AtLeastOnceStorage.d.ts.map +1 -0
  133. package/dist/dts/Broadcaster.d.ts +32 -0
  134. package/dist/dts/Broadcaster.d.ts.map +1 -0
  135. package/dist/dts/ManagerConfig.d.ts +61 -0
  136. package/dist/dts/ManagerConfig.d.ts.map +1 -0
  137. package/dist/dts/Message.d.ts +106 -0
  138. package/dist/dts/Message.d.ts.map +1 -0
  139. package/dist/dts/MessageState.d.ts +107 -0
  140. package/dist/dts/MessageState.d.ts.map +1 -0
  141. package/dist/dts/Messenger.d.ts +32 -0
  142. package/dist/dts/Messenger.d.ts.map +1 -0
  143. package/dist/dts/Pod.d.ts +81 -0
  144. package/dist/dts/Pod.d.ts.map +1 -0
  145. package/dist/dts/PodAddress.d.ts +80 -0
  146. package/dist/dts/PodAddress.d.ts.map +1 -0
  147. package/dist/dts/Pods.d.ts +78 -0
  148. package/dist/dts/Pods.d.ts.map +1 -0
  149. package/dist/dts/PodsHealth.d.ts +66 -0
  150. package/dist/dts/PodsHealth.d.ts.map +1 -0
  151. package/dist/dts/PoisonPill.d.ts +78 -0
  152. package/dist/dts/PoisonPill.d.ts.map +1 -0
  153. package/dist/dts/RecipientAddress.d.ts +57 -0
  154. package/dist/dts/RecipientAddress.d.ts.map +1 -0
  155. package/dist/dts/RecipientBehaviour.d.ts +72 -0
  156. package/dist/dts/RecipientBehaviour.d.ts.map +1 -0
  157. package/dist/dts/RecipientBehaviourContext.d.ts +83 -0
  158. package/dist/dts/RecipientBehaviourContext.d.ts.map +1 -0
  159. package/dist/dts/RecipientType.d.ts +96 -0
  160. package/dist/dts/RecipientType.d.ts.map +1 -0
  161. package/dist/dts/Serialization.d.ts +58 -0
  162. package/dist/dts/Serialization.d.ts.map +1 -0
  163. package/dist/dts/SerializedEnvelope.d.ts +87 -0
  164. package/dist/dts/SerializedEnvelope.d.ts.map +1 -0
  165. package/dist/dts/SerializedMessage.d.ts +66 -0
  166. package/dist/dts/SerializedMessage.d.ts.map +1 -0
  167. package/dist/dts/ShardId.d.ts +70 -0
  168. package/dist/dts/ShardId.d.ts.map +1 -0
  169. package/dist/dts/ShardManager.d.ts +44 -0
  170. package/dist/dts/ShardManager.d.ts.map +1 -0
  171. package/dist/dts/ShardManagerClient.d.ts +50 -0
  172. package/dist/dts/ShardManagerClient.d.ts.map +1 -0
  173. package/dist/dts/Sharding.d.ts +146 -0
  174. package/dist/dts/Sharding.d.ts.map +1 -0
  175. package/dist/dts/ShardingConfig.d.ts +69 -0
  176. package/dist/dts/ShardingConfig.d.ts.map +1 -0
  177. package/dist/dts/ShardingEvent.d.ts +90 -0
  178. package/dist/dts/ShardingEvent.d.ts.map +1 -0
  179. package/dist/dts/ShardingException.d.ts +125 -0
  180. package/dist/dts/ShardingException.d.ts.map +1 -0
  181. package/dist/dts/ShardingRegistrationEvent.d.ts +44 -0
  182. package/dist/dts/ShardingRegistrationEvent.d.ts.map +1 -0
  183. package/dist/dts/Storage.d.ts +78 -0
  184. package/dist/dts/Storage.d.ts.map +1 -0
  185. package/dist/dts/index.d.ts +113 -0
  186. package/dist/dts/index.d.ts.map +1 -0
  187. package/dist/dts/internal/atLeastOnce.d.ts +2 -0
  188. package/dist/dts/internal/atLeastOnce.d.ts.map +1 -0
  189. package/dist/dts/internal/atLeastOnceStorage.d.ts +2 -0
  190. package/dist/dts/internal/atLeastOnceStorage.d.ts.map +1 -0
  191. package/dist/dts/internal/entityManager.d.ts +2 -0
  192. package/dist/dts/internal/entityManager.d.ts.map +1 -0
  193. package/dist/dts/internal/entityState.d.ts +21 -0
  194. package/dist/dts/internal/entityState.d.ts.map +1 -0
  195. package/dist/dts/internal/managerConfig.d.ts +2 -0
  196. package/dist/dts/internal/managerConfig.d.ts.map +1 -0
  197. package/dist/dts/internal/message.d.ts +9 -0
  198. package/dist/dts/internal/message.d.ts.map +1 -0
  199. package/dist/dts/internal/messageState.d.ts +2 -0
  200. package/dist/dts/internal/messageState.d.ts.map +1 -0
  201. package/dist/dts/internal/podWithMetadata.d.ts +2 -0
  202. package/dist/dts/internal/podWithMetadata.d.ts.map +1 -0
  203. package/dist/dts/internal/pods.d.ts +2 -0
  204. package/dist/dts/internal/pods.d.ts.map +1 -0
  205. package/dist/dts/internal/podsHealth.d.ts +2 -0
  206. package/dist/dts/internal/podsHealth.d.ts.map +1 -0
  207. package/dist/dts/internal/recipientBehaviour.d.ts +2 -0
  208. package/dist/dts/internal/recipientBehaviour.d.ts.map +1 -0
  209. package/dist/dts/internal/recipientBehaviourContext.d.ts +2 -0
  210. package/dist/dts/internal/recipientBehaviourContext.d.ts.map +1 -0
  211. package/dist/dts/internal/serialization.d.ts +2 -0
  212. package/dist/dts/internal/serialization.d.ts.map +1 -0
  213. package/dist/dts/internal/shardManager.d.ts +12 -0
  214. package/dist/dts/internal/shardManager.d.ts.map +1 -0
  215. package/dist/dts/internal/shardManagerClient.d.ts +2 -0
  216. package/dist/dts/internal/shardManagerClient.d.ts.map +1 -0
  217. package/dist/dts/internal/shardManagerState.d.ts +26 -0
  218. package/dist/dts/internal/shardManagerState.d.ts.map +1 -0
  219. package/dist/dts/internal/sharding.d.ts +2 -0
  220. package/dist/dts/internal/sharding.d.ts.map +1 -0
  221. package/dist/dts/internal/shardingConfig.d.ts +2 -0
  222. package/dist/dts/internal/shardingConfig.d.ts.map +1 -0
  223. package/dist/dts/internal/storage.d.ts +2 -0
  224. package/dist/dts/internal/storage.d.ts.map +1 -0
  225. package/dist/dts/internal/utils.d.ts +2 -0
  226. package/dist/dts/internal/utils.d.ts.map +1 -0
  227. package/dist/esm/AtLeastOnce.js +12 -0
  228. package/dist/esm/AtLeastOnce.js.map +1 -0
  229. package/dist/esm/AtLeastOnceStorage.js +17 -0
  230. package/dist/esm/AtLeastOnceStorage.js.map +1 -0
  231. package/dist/esm/Broadcaster.js +2 -0
  232. package/dist/esm/Broadcaster.js.map +1 -0
  233. package/dist/esm/ManagerConfig.js +26 -0
  234. package/dist/esm/ManagerConfig.js.map +1 -0
  235. package/dist/esm/Message.js +33 -0
  236. package/dist/esm/Message.js.map +1 -0
  237. package/dist/esm/MessageState.js +47 -0
  238. package/dist/esm/MessageState.js.map +1 -0
  239. package/dist/esm/Messenger.js +2 -0
  240. package/dist/esm/Messenger.js.map +1 -0
  241. package/dist/esm/Pod.js +65 -0
  242. package/dist/esm/Pod.js.map +1 -0
  243. package/dist/esm/PodAddress.js +64 -0
  244. package/dist/esm/PodAddress.js.map +1 -0
  245. package/dist/esm/Pods.js +27 -0
  246. package/dist/esm/Pods.js.map +1 -0
  247. package/dist/esm/PodsHealth.js +33 -0
  248. package/dist/esm/PodsHealth.js.map +1 -0
  249. package/dist/esm/PoisonPill.js +65 -0
  250. package/dist/esm/PoisonPill.js.map +1 -0
  251. package/dist/esm/RecipientAddress.js +67 -0
  252. package/dist/esm/RecipientAddress.js.map +1 -0
  253. package/dist/esm/RecipientBehaviour.js +30 -0
  254. package/dist/esm/RecipientBehaviour.js.map +1 -0
  255. package/dist/esm/RecipientBehaviourContext.js +56 -0
  256. package/dist/esm/RecipientBehaviourContext.js.map +1 -0
  257. package/dist/esm/RecipientType.js +105 -0
  258. package/dist/esm/RecipientType.js.map +1 -0
  259. package/dist/esm/Serialization.js +24 -0
  260. package/dist/esm/Serialization.js.map +1 -0
  261. package/dist/esm/SerializedEnvelope.js +75 -0
  262. package/dist/esm/SerializedEnvelope.js.map +1 -0
  263. package/dist/esm/SerializedMessage.js +51 -0
  264. package/dist/esm/SerializedMessage.js.map +1 -0
  265. package/dist/esm/ShardId.js +54 -0
  266. package/dist/esm/ShardId.js.map +1 -0
  267. package/dist/esm/ShardManager.js +17 -0
  268. package/dist/esm/ShardManager.js.map +1 -0
  269. package/dist/esm/ShardManagerClient.js +22 -0
  270. package/dist/esm/ShardManagerClient.js.map +1 -0
  271. package/dist/esm/Sharding.js +98 -0
  272. package/dist/esm/Sharding.js.map +1 -0
  273. package/dist/esm/ShardingConfig.js +33 -0
  274. package/dist/esm/ShardingConfig.js.map +1 -0
  275. package/dist/esm/ShardingEvent.js +62 -0
  276. package/dist/esm/ShardingEvent.js.map +1 -0
  277. package/dist/esm/ShardingException.js +91 -0
  278. package/dist/esm/ShardingException.js.map +1 -0
  279. package/dist/esm/ShardingRegistrationEvent.js +36 -0
  280. package/dist/esm/ShardingRegistrationEvent.js.map +1 -0
  281. package/dist/esm/Storage.js +32 -0
  282. package/dist/esm/Storage.js.map +1 -0
  283. package/dist/esm/index.js +113 -0
  284. package/dist/esm/index.js.map +1 -0
  285. package/dist/esm/internal/atLeastOnce.js +26 -0
  286. package/dist/esm/internal/atLeastOnce.js.map +1 -0
  287. package/dist/esm/internal/atLeastOnceStorage.js +154 -0
  288. package/dist/esm/internal/atLeastOnceStorage.js.map +1 -0
  289. package/dist/esm/internal/entityManager.js +159 -0
  290. package/dist/esm/internal/entityManager.js.map +1 -0
  291. package/dist/esm/internal/entityState.js +35 -0
  292. package/dist/esm/internal/entityState.js.map +1 -0
  293. package/dist/esm/internal/managerConfig.js +38 -0
  294. package/dist/esm/internal/managerConfig.js.map +1 -0
  295. package/dist/esm/internal/message.js +32 -0
  296. package/dist/esm/internal/message.js.map +1 -0
  297. package/dist/esm/internal/messageState.js +66 -0
  298. package/dist/esm/internal/messageState.js.map +1 -0
  299. package/dist/esm/internal/podWithMetadata.js +41 -0
  300. package/dist/esm/internal/podWithMetadata.js.map +1 -0
  301. package/dist/esm/internal/pods.js +25 -0
  302. package/dist/esm/internal/pods.js.map +1 -0
  303. package/dist/esm/internal/podsHealth.js +30 -0
  304. package/dist/esm/internal/podsHealth.js.map +1 -0
  305. package/dist/esm/internal/recipientBehaviour.js +42 -0
  306. package/dist/esm/internal/recipientBehaviour.js.map +1 -0
  307. package/dist/esm/internal/recipientBehaviourContext.js +26 -0
  308. package/dist/esm/internal/recipientBehaviourContext.js.map +1 -0
  309. package/dist/esm/internal/serialization.js +39 -0
  310. package/dist/esm/internal/serialization.js.map +1 -0
  311. package/dist/esm/internal/shardManager.js +256 -0
  312. package/dist/esm/internal/shardManager.js.map +1 -0
  313. package/dist/esm/internal/shardManagerClient.js +38 -0
  314. package/dist/esm/internal/shardManagerClient.js.map +1 -0
  315. package/dist/esm/internal/shardManagerState.js +36 -0
  316. package/dist/esm/internal/shardManagerState.js.map +1 -0
  317. package/dist/esm/internal/sharding.js +288 -0
  318. package/dist/esm/internal/sharding.js.map +1 -0
  319. package/dist/esm/internal/shardingConfig.js +47 -0
  320. package/dist/esm/internal/shardingConfig.js.map +1 -0
  321. package/dist/esm/internal/storage.js +42 -0
  322. package/dist/esm/internal/storage.js.map +1 -0
  323. package/dist/esm/internal/utils.js +56 -0
  324. package/dist/esm/internal/utils.js.map +1 -0
  325. package/dist/esm/package.json +4 -0
  326. package/package.json +259 -0
  327. package/src/AtLeastOnce.ts +28 -0
  328. package/src/AtLeastOnceStorage.ts +96 -0
  329. package/src/Broadcaster.ts +48 -0
  330. package/src/ManagerConfig.ts +67 -0
  331. package/src/Message.ts +132 -0
  332. package/src/MessageState.ts +126 -0
  333. package/src/Messenger.ts +40 -0
  334. package/src/Pod.ts +95 -0
  335. package/src/PodAddress.ts +94 -0
  336. package/src/Pods.ts +100 -0
  337. package/src/PodsHealth.ts +74 -0
  338. package/src/PoisonPill.ts +105 -0
  339. package/src/RecipientAddress.ts +72 -0
  340. package/src/RecipientBehaviour.ts +108 -0
  341. package/src/RecipientBehaviourContext.ts +101 -0
  342. package/src/RecipientType.ts +134 -0
  343. package/src/Serialization.ts +72 -0
  344. package/src/SerializedEnvelope.ts +109 -0
  345. package/src/SerializedMessage.ts +82 -0
  346. package/src/ShardId.ts +79 -0
  347. package/src/ShardManager.ts +53 -0
  348. package/src/ShardManagerClient.ts +57 -0
  349. package/src/Sharding.ts +214 -0
  350. package/src/ShardingConfig.ts +76 -0
  351. package/src/ShardingEvent.ts +121 -0
  352. package/src/ShardingException.ts +151 -0
  353. package/src/ShardingRegistrationEvent.ts +62 -0
  354. package/src/Storage.ts +92 -0
  355. package/src/index.ts +139 -0
  356. package/src/internal/atLeastOnce.ts +59 -0
  357. package/src/internal/atLeastOnceStorage.ts +218 -0
  358. package/src/internal/entityManager.ts +404 -0
  359. package/src/internal/entityState.ts +64 -0
  360. package/src/internal/managerConfig.ts +84 -0
  361. package/src/internal/message.ts +64 -0
  362. package/src/internal/messageState.ts +98 -0
  363. package/src/internal/podWithMetadata.ts +72 -0
  364. package/src/internal/pods.ts +29 -0
  365. package/src/internal/podsHealth.ts +39 -0
  366. package/src/internal/recipientBehaviour.ts +133 -0
  367. package/src/internal/recipientBehaviourContext.ts +70 -0
  368. package/src/internal/serialization.ts +59 -0
  369. package/src/internal/shardManager.ts +593 -0
  370. package/src/internal/shardManagerClient.ts +49 -0
  371. package/src/internal/shardManagerState.ts +80 -0
  372. package/src/internal/sharding.ts +793 -0
  373. package/src/internal/shardingConfig.ts +97 -0
  374. package/src/internal/storage.ts +60 -0
  375. package/src/internal/utils.ts +54 -0
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.local = exports.ShardManagerClientTypeId = void 0;
7
+ exports.make = make;
8
+ exports.shardManagerClientTag = void 0;
9
+ var Context = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Context"));
10
+ var Effect = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Effect"));
11
+ var _Function = /*#__PURE__*/require("effect/Function");
12
+ var HashMap = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/HashMap"));
13
+ var Layer = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Layer"));
14
+ var Option = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Option"));
15
+ var PodAddress = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("../PodAddress.js"));
16
+ var ShardId = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("../ShardId.js"));
17
+ var ShardingConfig = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("../ShardingConfig.js"));
18
+ function _getRequireWildcardCache(e) {
19
+ if ("function" != typeof WeakMap) return null;
20
+ var r = new WeakMap(),
21
+ t = new WeakMap();
22
+ return (_getRequireWildcardCache = function (e) {
23
+ return e ? t : r;
24
+ })(e);
25
+ }
26
+ function _interopRequireWildcard(e, r) {
27
+ if (!r && e && e.__esModule) return e;
28
+ if (null === e || "object" != typeof e && "function" != typeof e) return {
29
+ default: e
30
+ };
31
+ var t = _getRequireWildcardCache(r);
32
+ if (t && t.has(e)) return t.get(e);
33
+ var n = {
34
+ __proto__: null
35
+ },
36
+ a = Object.defineProperty && Object.getOwnPropertyDescriptor;
37
+ for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) {
38
+ var i = a ? Object.getOwnPropertyDescriptor(e, u) : null;
39
+ i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u];
40
+ }
41
+ return n.default = e, t && t.set(e, n), n;
42
+ }
43
+ /** @internal */
44
+ const ShardManagerSymbolKey = "@effect/cluster/ShardManagerClient";
45
+ /** @internal */
46
+ const ShardManagerClientTypeId = exports.ShardManagerClientTypeId = /*#__PURE__*/Symbol.for(ShardManagerSymbolKey);
47
+ /** @internal */
48
+ const shardManagerClientTag = exports.shardManagerClientTag = /*#__PURE__*/Context.GenericTag(ShardManagerSymbolKey);
49
+ /** @internal */
50
+ function make(args) {
51
+ return {
52
+ [ShardManagerClientTypeId]: ShardManagerClientTypeId,
53
+ ...args
54
+ };
55
+ }
56
+ /** @internal */
57
+ const local = exports.local = /*#__PURE__*/(0, _Function.pipe)( /*#__PURE__*/Layer.effect(shardManagerClientTag, /*#__PURE__*/Effect.gen(function* ($) {
58
+ const config = yield* $(ShardingConfig.ShardingConfig);
59
+ const pod = PodAddress.make(config.selfHost, config.shardingPort);
60
+ let shards = HashMap.empty();
61
+ for (let i = 1; i <= config.numberOfShards; i++) {
62
+ shards = HashMap.set(shards, ShardId.make(i), Option.some(pod));
63
+ }
64
+ return make({
65
+ register: () => Effect.void,
66
+ unregister: () => Effect.void,
67
+ notifyUnhealthyPod: () => Effect.void,
68
+ getAssignments: Effect.succeed(shards)
69
+ });
70
+ })));
71
+ //# sourceMappingURL=shardManagerClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shardManagerClient.js","names":["Context","_interopRequireWildcard","require","Effect","_Function","HashMap","Layer","Option","PodAddress","ShardId","ShardingConfig","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ShardManagerSymbolKey","ShardManagerClientTypeId","exports","Symbol","for","shardManagerClientTag","GenericTag","make","args","local","pipe","effect","gen","$","config","pod","selfHost","shardingPort","shards","empty","numberOfShards","some","register","void","unregister","notifyUnhealthyPod","getAssignments","succeed"],"sources":["../../../src/internal/shardManagerClient.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.make = make;
7
+ var _Equal = /*#__PURE__*/require("effect/Equal");
8
+ var _Function = /*#__PURE__*/require("effect/Function");
9
+ var HashMap = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/HashMap"));
10
+ var HashSet = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/HashSet"));
11
+ var List = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/List"));
12
+ var Option = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Option"));
13
+ var ShardId = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("../ShardId.js"));
14
+ var PodWithMetadata = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("./podWithMetadata.js"));
15
+ function _getRequireWildcardCache(e) {
16
+ if ("function" != typeof WeakMap) return null;
17
+ var r = new WeakMap(),
18
+ t = new WeakMap();
19
+ return (_getRequireWildcardCache = function (e) {
20
+ return e ? t : r;
21
+ })(e);
22
+ }
23
+ function _interopRequireWildcard(e, r) {
24
+ if (!r && e && e.__esModule) return e;
25
+ if (null === e || "object" != typeof e && "function" != typeof e) return {
26
+ default: e
27
+ };
28
+ var t = _getRequireWildcardCache(r);
29
+ if (t && t.has(e)) return t.get(e);
30
+ var n = {
31
+ __proto__: null
32
+ },
33
+ a = Object.defineProperty && Object.getOwnPropertyDescriptor;
34
+ for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) {
35
+ var i = a ? Object.getOwnPropertyDescriptor(e, u) : null;
36
+ i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u];
37
+ }
38
+ return n.default = e, t && t.set(e, n), n;
39
+ }
40
+ /**
41
+ * @since 1.0.0
42
+ * @category constructors
43
+ */
44
+ function make(pods, shards) {
45
+ const podVersions = (0, _Function.pipe)(HashMap.values(pods), List.fromIterable, List.map(PodWithMetadata.extractVersion));
46
+ const maxVersion = (0, _Function.pipe)(podVersions, List.reduce(List.empty(), (curr, a) => PodWithMetadata.compareVersion(curr, a) === -1 ? a : curr), result => List.size(result) === 0 ? Option.none() : Option.some(result));
47
+ const shardsPerPodPods = (0, _Function.pipe)(HashMap.reduce(shards, HashMap.empty(), (curr, optionPod, shardId) => {
48
+ if (Option.isNone(optionPod)) return curr;
49
+ if (HashMap.has(curr, optionPod.value)) {
50
+ return HashMap.modify(curr, optionPod.value, HashSet.add(shardId));
51
+ } else {
52
+ return HashMap.set(curr, optionPod.value, HashSet.fromIterable([shardId]));
53
+ }
54
+ }));
55
+ const shardsPerPod = (0, _Function.pipe)(HashMap.map(pods, () => HashSet.empty()), HashMap.union(shardsPerPodPods));
56
+ const allPodsHaveMaxVersion = List.every(podVersions, _ => (0, _Equal.equals)(Option.some(_))(maxVersion));
57
+ return {
58
+ pods,
59
+ shards,
60
+ unassignedShards: (0, _Function.pipe)(HashMap.filter(shards, (a, _) => Option.isNone(a)), HashSet.fromIterable, HashSet.map(([k, _]) => k)),
61
+ averageShardsPerPod: (0, _Function.pipe)(HashMap.isEmpty(pods) ? ShardId.make(0) : ShardId.make(HashMap.size(shards) / HashMap.size(pods))),
62
+ shardsPerPod,
63
+ maxVersion,
64
+ allPodsHaveMaxVersion
65
+ };
66
+ }
67
+ //# sourceMappingURL=shardManagerState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shardManagerState.js","names":["_Equal","require","_Function","HashMap","_interopRequireWildcard","HashSet","List","Option","ShardId","PodWithMetadata","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","make","pods","shards","podVersions","pipe","values","fromIterable","map","extractVersion","maxVersion","reduce","empty","curr","compareVersion","result","size","none","some","shardsPerPodPods","optionPod","shardId","isNone","value","modify","add","shardsPerPod","union","allPodsHaveMaxVersion","every","_","equals","unassignedShards","filter","k","averageShardsPerPod","isEmpty"],"sources":["../../../src/internal/shardManagerState.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,329 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ShardingTypeId = void 0;
7
+ exports.broadcaster = broadcaster;
8
+ exports.live = exports.getPods = exports.getAssignedShardIds = void 0;
9
+ exports.messenger = messenger;
10
+ exports.register = void 0;
11
+ exports.registerEntity = registerEntity;
12
+ exports.registerScoped = void 0;
13
+ exports.registerSingleton = registerSingleton;
14
+ exports.registerTopic = registerTopic;
15
+ exports.unregister = exports.shardingTag = exports.sendMessageToLocalEntityManagerWithoutRetries = void 0;
16
+ var Clock = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Clock"));
17
+ var Context = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Context"));
18
+ var Duration = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Duration"));
19
+ var Effect = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Effect"));
20
+ var _Equal = /*#__PURE__*/require("effect/Equal");
21
+ var Fiber = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Fiber"));
22
+ var _Function = /*#__PURE__*/require("effect/Function");
23
+ var HashMap = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/HashMap"));
24
+ var HashSet = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/HashSet"));
25
+ var Layer = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Layer"));
26
+ var List = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/List"));
27
+ var Option = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Option"));
28
+ var PrimaryKey = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/PrimaryKey"));
29
+ var PubSub = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/PubSub"));
30
+ var Ref = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Ref"));
31
+ var Schedule = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Schedule"));
32
+ var Stream = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Stream"));
33
+ var Synchronized = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/SynchronizedRef"));
34
+ var Unify = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Unify"));
35
+ var Message = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("../Message.js"));
36
+ var MessageState = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("../MessageState.js"));
37
+ var PodAddress = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("../PodAddress.js"));
38
+ var Pods = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("../Pods.js"));
39
+ var RecipientAddress = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("../RecipientAddress.js"));
40
+ var RecipientType = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("../RecipientType.js"));
41
+ var Serialization = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("../Serialization.js"));
42
+ var SerializedEnvelope = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("../SerializedEnvelope.js"));
43
+ var ShardId = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("../ShardId.js"));
44
+ var ShardingConfig = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("../ShardingConfig.js"));
45
+ var ShardingException = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("../ShardingException.js"));
46
+ var ShardingRegistrationEvent = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("../ShardingRegistrationEvent.js"));
47
+ var ShardManagerClient = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("../ShardManagerClient.js"));
48
+ var Storage = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("../Storage.js"));
49
+ var EntityManager = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("./entityManager.js"));
50
+ function _getRequireWildcardCache(e) {
51
+ if ("function" != typeof WeakMap) return null;
52
+ var r = new WeakMap(),
53
+ t = new WeakMap();
54
+ return (_getRequireWildcardCache = function (e) {
55
+ return e ? t : r;
56
+ })(e);
57
+ }
58
+ function _interopRequireWildcard(e, r) {
59
+ if (!r && e && e.__esModule) return e;
60
+ if (null === e || "object" != typeof e && "function" != typeof e) return {
61
+ default: e
62
+ };
63
+ var t = _getRequireWildcardCache(r);
64
+ if (t && t.has(e)) return t.get(e);
65
+ var n = {
66
+ __proto__: null
67
+ },
68
+ a = Object.defineProperty && Object.getOwnPropertyDescriptor;
69
+ for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) {
70
+ var i = a ? Object.getOwnPropertyDescriptor(e, u) : null;
71
+ i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u];
72
+ }
73
+ return n.default = e, t && t.set(e, n), n;
74
+ }
75
+ /** @internal */
76
+ const ShardingSymbolKey = "@effect/cluster/Sharding";
77
+ /** @internal */
78
+ const ShardingTypeId = exports.ShardingTypeId = /*#__PURE__*/Symbol.for(ShardingSymbolKey);
79
+ /**
80
+ * @internal
81
+ */
82
+ const shardingTag = exports.shardingTag = /*#__PURE__*/Context.GenericTag(ShardingSymbolKey);
83
+ /**
84
+ * @internal
85
+ */
86
+ const register = exports.register = /*#__PURE__*/Effect.flatMap(shardingTag, _ => _.register);
87
+ /**
88
+ * @internal
89
+ */
90
+ const unregister = exports.unregister = /*#__PURE__*/Effect.flatMap(shardingTag, _ => _.unregister);
91
+ /**
92
+ * @internal
93
+ */
94
+ const registerScoped = exports.registerScoped = /*#__PURE__*/(0, _Function.pipe)(register, /*#__PURE__*/Effect.zipRight( /*#__PURE__*/Effect.addFinalizer(() => unregister)));
95
+ /**
96
+ * @internal
97
+ */
98
+ function registerSingleton(name, run) {
99
+ return Effect.flatMap(shardingTag, _ => _.registerSingleton(name, run));
100
+ }
101
+ /**
102
+ * @internal
103
+ */
104
+ function registerEntity(entityType) {
105
+ return (behavior, options) => Effect.flatMap(shardingTag, _ => _.registerEntity(entityType)(behavior, options));
106
+ }
107
+ /**
108
+ * @internal
109
+ */
110
+ function registerTopic(topicType) {
111
+ return (behavior, options) => Effect.flatMap(shardingTag, _ => _.registerTopic(topicType)(behavior, options));
112
+ }
113
+ /**
114
+ * @internal
115
+ */
116
+ function messenger(entityType) {
117
+ return Effect.map(shardingTag, _ => _.messenger(entityType));
118
+ }
119
+ /**
120
+ * @internal
121
+ */
122
+ function broadcaster(topicType) {
123
+ return Effect.map(shardingTag, _ => _.broadcaster(topicType));
124
+ }
125
+ /**
126
+ * @internal
127
+ */
128
+ const getPods = exports.getPods = /*#__PURE__*/Effect.flatMap(shardingTag, _ => _.getPods);
129
+ /**
130
+ * @internal
131
+ */
132
+ const sendMessageToLocalEntityManagerWithoutRetries = message => Effect.flatMap(shardingTag, _ => _.sendMessageToLocalEntityManagerWithoutRetries(message));
133
+ /**
134
+ * @internal
135
+ */
136
+ exports.sendMessageToLocalEntityManagerWithoutRetries = sendMessageToLocalEntityManagerWithoutRetries;
137
+ const getAssignedShardIds = exports.getAssignedShardIds = /*#__PURE__*/Effect.flatMap(shardingTag, _ => _.getAssignedShardIds);
138
+ /**
139
+ * @internal
140
+ */
141
+ function make(layerScope, address, config, shardAssignments, entityManagers, singletons, lastUnhealthyNodeReported, isShuttingDownRef, shardManager, pods, storage, serialization, eventsHub) {
142
+ function getEntityManagerByEntityTypeName(entityType) {
143
+ return (0, _Function.pipe)(Ref.get(entityManagers), Effect.map(HashMap.get(entityType)), Effect.flatMap(_ => Unify.unify(Option.match(_, {
144
+ onNone: () => Effect.fail(new ShardingException.EntityTypeNotRegisteredException({
145
+ entityType,
146
+ podAddress: address
147
+ })),
148
+ onSome: entityManager => Effect.succeed(entityManager)
149
+ }))));
150
+ }
151
+ function getShardId(recipientAddress) {
152
+ return RecipientType.getShardId(recipientAddress.entityId, config.numberOfShards);
153
+ }
154
+ const register = (0, _Function.pipe)(Effect.logDebug(`Registering pod ${address} to Shard Manager`), Effect.zipRight((0, _Function.pipe)(isShuttingDownRef, Ref.set(false))), Effect.zipRight(shardManager.register(address)));
155
+ const unregister = (0, _Function.pipe)(Effect.logDebug("Begin unregistering from ShardManager..."), Effect.zipRight(shardManager.getAssignments), Effect.matchCauseEffect({
156
+ onFailure: _ => Effect.logWarning("Shard Manager not available. Can't unregister cleanly", _),
157
+ onSuccess: () => (0, _Function.pipe)(Effect.logDebug(`Stopping local entities`), Effect.zipRight((0, _Function.pipe)(isShuttingDownRef, Ref.set(true))), Effect.zipRight((0, _Function.pipe)(Ref.get(entityManagers), Effect.flatMap(Effect.forEach(([name, entityManager]) => (0, _Function.pipe)(entityManager.terminateAllEntities, Effect.catchAllCause(_ => Effect.logError("Error during stop of entity " + name, _))), {
158
+ discard: true
159
+ })))), Effect.zipRight(Effect.logDebug(`Unregistering pod ${address} to Shard Manager`)), Effect.zipRight(shardManager.unregister(address)))
160
+ }));
161
+ const isSingletonNode = (0, _Function.pipe)(Ref.get(shardAssignments), Effect.map(_ => (0, _Function.pipe)(HashMap.get(_, ShardId.make(1)), Option.match({
162
+ onNone: () => false,
163
+ onSome: (0, _Equal.equals)(address)
164
+ }))));
165
+ const startSingletonsIfNeeded = (0, _Function.pipe)(Synchronized.updateEffect(singletons, singletons => (0, _Function.pipe)(Effect.forEach(singletons, ([name, run, maybeExecutionFiber]) => Option.match(maybeExecutionFiber, {
166
+ onNone: () => (0, _Function.pipe)(Effect.logDebug("Starting singleton " + name), Effect.zipRight(Effect.map(Effect.forkIn(layerScope)(run), fiber => [name, run, Option.some(fiber)]))),
167
+ onSome: _ => Effect.succeed([name, run, maybeExecutionFiber])
168
+ })), Effect.map(List.fromIterable))), Effect.whenEffect(isSingletonNode), Effect.asVoid);
169
+ const stopSingletonsIfNeeded = (0, _Function.pipe)(Synchronized.updateEffect(singletons, singletons => (0, _Function.pipe)(Effect.forEach(singletons, ([name, run, maybeExecutionFiber]) => Option.match(maybeExecutionFiber, {
170
+ onNone: () => Effect.succeed([name, run, maybeExecutionFiber]),
171
+ onSome: fiber => (0, _Function.pipe)(Effect.logDebug("Stopping singleton " + name), Effect.zipRight(Effect.as(Fiber.interrupt(fiber), [name, run, Option.none()])))
172
+ })), Effect.map(List.fromIterable))), Effect.unlessEffect(isSingletonNode), Effect.asVoid);
173
+ function registerSingleton(name, run) {
174
+ return (0, _Function.pipe)(Effect.context(), Effect.flatMap(context => Synchronized.update(singletons, list => List.prepend(list, [name, Effect.provide(run, context), Option.none()]))), Effect.zipLeft(startSingletonsIfNeeded), Effect.zipRight(PubSub.publish(eventsHub, ShardingRegistrationEvent.SingletonRegistered(name))));
175
+ }
176
+ const isShuttingDown = Ref.get(isShuttingDownRef);
177
+ function assign(shards) {
178
+ return (0, _Function.pipe)(Ref.update(shardAssignments, _ => HashSet.reduce(shards, _, (_, shardId) => HashMap.set(_, shardId, address))), Effect.zipRight(startSingletonsIfNeeded), Effect.zipLeft(Effect.logDebug("Assigned shards: " + shards)), Effect.unlessEffect(isShuttingDown), Effect.asVoid);
179
+ }
180
+ function unassign(shards) {
181
+ return (0, _Function.pipe)(Ref.update(shardAssignments, _ => HashSet.reduce(shards, _, (_, shardId) => {
182
+ const value = HashMap.get(_, shardId);
183
+ if (Option.isSome(value) && (0, _Equal.equals)(value.value, address)) {
184
+ return HashMap.remove(_, shardId);
185
+ }
186
+ return _;
187
+ })), Effect.zipRight(stopSingletonsIfNeeded), Effect.zipLeft(Effect.logDebug("Unassigning shards: " + shards)));
188
+ }
189
+ function getPodAddressForShardId(shardId) {
190
+ return (0, _Function.pipe)(Ref.get(shardAssignments), Effect.map(shards => HashMap.get(shards, shardId)));
191
+ }
192
+ function isEntityOnLocalShards(recipientAddress) {
193
+ return (0, _Function.pipe)(getPodAddressForShardId(getShardId(recipientAddress)), Effect.map(_ => (0, _Equal.equals)(_, Option.some(address))));
194
+ }
195
+ const getPods = (0, _Function.pipe)(Ref.get(shardAssignments), Effect.map(_ => HashSet.fromIterable(HashMap.values(_))));
196
+ const getAssignedShardIds = (0, _Function.pipe)(Ref.get(shardAssignments), Effect.map(HashMap.filter(_ => (0, _Equal.equals)(_, address))), Effect.map(HashMap.keySet));
197
+ function updateAssignments(assignmentsOpt, fromShardManager) {
198
+ const assignments = HashMap.map(assignmentsOpt, (v, _) => Option.getOrElse(v, () => address));
199
+ if (fromShardManager) {
200
+ return Ref.update(shardAssignments, map => HashMap.isEmpty(map) ? assignments : map);
201
+ }
202
+ return Ref.update(shardAssignments, map => {
203
+ // we keep self assignments (we don't override them with the new assignments
204
+ // because only the Shard Manager is able to change assignments of the current node, via assign/unassign
205
+ return HashMap.union((0, _Function.pipe)(assignments, HashMap.filter((pod, _) => !(0, _Equal.equals)(pod, address))), (0, _Function.pipe)(map, HashMap.filter((pod, _) => (0, _Equal.equals)(pod, address))));
206
+ });
207
+ }
208
+ const refreshAssignments = (0, _Function.pipe)(Stream.fromEffect(Effect.map(shardManager.getAssignments, _ => [_, true])), Stream.merge((0, _Function.pipe)(storage.assignmentsStream, Stream.map(_ => [_, false]))), Stream.mapEffect(([assignmentsOpt, fromShardManager]) => updateAssignments(assignmentsOpt, fromShardManager)), Stream.tap(() => startSingletonsIfNeeded), Stream.runDrain, Effect.retry(Schedule.fixed(config.refreshAssignmentsRetryInterval)), Effect.interruptible, Effect.forkScoped, Effect.asVoid);
209
+ function sendMessageToLocalEntityManagerWithoutRetries(envelope) {
210
+ return (0, _Function.pipe)(getEntityManagerByEntityTypeName(envelope.recipientAddress.recipientTypeName), Effect.flatMap(entityManager => entityManager.sendAndGetState(envelope)), Effect.annotateLogs("envelope", envelope));
211
+ }
212
+ function sendMessageToRemotePodWithoutRetries(pod, envelope) {
213
+ return (0, _Function.pipe)(pods.sendAndGetState(pod, envelope), Effect.tapError(error => {
214
+ if (ShardingException.isPodUnavailableException(error)) {
215
+ const notify = (0, _Function.pipe)(Clock.currentTimeMillis, Effect.flatMap(cdt => (0, _Function.pipe)(Ref.updateAndGet(lastUnhealthyNodeReported, old => old + Duration.toMillis(config.unhealthyPodReportInterval) < cdt ? cdt : old), Effect.map(_ => _ === cdt))));
216
+ return (0, _Function.pipe)(shardManager.notifyUnhealthyPod(pod), Effect.zipRight(shardManager.getAssignments), Effect.flatMap(_ => updateAssignments(_, true)), Effect.forkDaemon, Effect.whenEffect(notify), Effect.asVoid);
217
+ }
218
+ return Effect.void;
219
+ }), Effect.annotateLogs("pod", pod), Effect.annotateLogs("envelope", envelope));
220
+ }
221
+ function sendMessageToPodWithoutRetries(pod, envelope) {
222
+ return (0, _Equal.equals)(pod, address) ? sendMessageToLocalEntityManagerWithoutRetries(envelope) : sendMessageToRemotePodWithoutRetries(pod, envelope);
223
+ }
224
+ function messenger(entityType) {
225
+ function sendDiscard(entityId) {
226
+ return message => (0, _Function.pipe)(sendMessage(entityId, message), Effect.asVoid);
227
+ }
228
+ function send(entityId) {
229
+ return message => {
230
+ return (0, _Function.pipe)(sendMessage(entityId, message), Effect.flatMap(state => MessageState.mapEffect(state, body => serialization.decode(Message.exitSchema(message), body))), Effect.flatMap(state => Unify.unify((0, _Function.pipe)(state, MessageState.match({
231
+ onAcknowledged: () => Effect.fail(new ShardingException.NoResultInProcessedMessageStateException()),
232
+ onProcessed: state => Effect.succeed(state.result)
233
+ })))), Effect.retry((0, _Function.pipe)(Schedule.fixed(100), Schedule.whileInput(error => ShardingException.isNoResultInProcessedMessageStateException(error)))), Effect.flatten, Effect.interruptible);
234
+ };
235
+ }
236
+ function sendMessage(entityId, message) {
237
+ const recipientAddress = RecipientAddress.makeRecipientAddress(entityType.name, entityId);
238
+ const shardId = getShardId(recipientAddress);
239
+ return Effect.flatMap(serialization.encode(entityType.schema, message), body => (0, _Function.pipe)(getPodAddressForShardId(shardId), Effect.flatMap(pod => Option.isSome(pod) ? Effect.succeed(pod.value) : Effect.fail(new ShardingException.EntityNotManagedByThisPodException({
240
+ recipientAddress
241
+ }))), Effect.flatMap(pod => sendMessageToPodWithoutRetries(pod, SerializedEnvelope.make(recipientAddress, PrimaryKey.value(message), body))), Effect.retry((0, _Function.pipe)(Schedule.fixed(Duration.millis(100)), Schedule.whileInput(error => ShardingException.isPodUnavailableException(error) || ShardingException.isEntityNotManagedByThisPodException(error))))));
242
+ }
243
+ return {
244
+ sendDiscard,
245
+ send
246
+ };
247
+ }
248
+ function broadcaster(topicType) {
249
+ function sendMessage(topicId, message) {
250
+ return Effect.flatMap(serialization.encode(topicType.schema, message), body => (0, _Function.pipe)(getPods, Effect.flatMap(pods => Effect.forEach(pods, pod => (0, _Function.pipe)(sendMessageToPodWithoutRetries(pod, SerializedEnvelope.make(RecipientAddress.makeRecipientAddress(topicType.name, topicId), PrimaryKey.value(message), body)), Effect.retry((0, _Function.pipe)(Schedule.fixed(Duration.millis(100)), Schedule.whileInput(error => ShardingException.isPodUnavailableException(error) || ShardingException.isEntityNotManagedByThisPodException(error)))), Effect.either, Effect.map(res => [pod, res])), {
251
+ concurrency: "inherit"
252
+ })), Effect.map(_ => HashMap.fromIterable(_))));
253
+ }
254
+ function broadcastDiscard(topicId) {
255
+ return message => (0, _Function.pipe)(sendMessage(topicId, message), Effect.asVoid);
256
+ }
257
+ function broadcast(topicId) {
258
+ return message => {
259
+ return (0, _Function.pipe)(sendMessage(topicId, message), Effect.flatMap(results => (0, _Function.pipe)(Effect.forEach(results, ([pod, eitherResult]) => (0, _Function.pipe)(eitherResult, Effect.flatMap(state => MessageState.mapEffect(state, body => serialization.decode(Message.exitSchema(message), body))), Effect.flatMap(state => Unify.unify((0, _Function.pipe)(state, MessageState.match({
260
+ onAcknowledged: () => Effect.fail(new ShardingException.NoResultInProcessedMessageStateException()),
261
+ onProcessed: state => Effect.succeed(state.result)
262
+ })))), Effect.retry((0, _Function.pipe)(Schedule.fixed(100), Schedule.whileInput(error => ShardingException.isNoResultInProcessedMessageStateException(error)))), Effect.flatMap(_ => _), Effect.either, Effect.map(res => [pod, res]))))), Effect.map(_ => HashMap.fromIterable(_)));
263
+ };
264
+ }
265
+ return {
266
+ broadcast,
267
+ broadcastDiscard
268
+ };
269
+ }
270
+ function registerEntity(entityType) {
271
+ return (behavior, options) => (0, _Function.pipe)(registerRecipient(entityType, behavior, options), Effect.zipRight(PubSub.publish(eventsHub, ShardingRegistrationEvent.EntityRegistered(entityType))), Effect.asVoid);
272
+ }
273
+ function registerTopic(topicType) {
274
+ return (behavior, options) => (0, _Function.pipe)(registerRecipient(topicType, behavior, options), Effect.zipRight(PubSub.publish(eventsHub, ShardingRegistrationEvent.TopicRegistered(topicType))), Effect.asVoid);
275
+ }
276
+ const getShardingRegistrationEvents = Stream.fromPubSub(eventsHub);
277
+ function registerRecipient(recipientType, behavior, options) {
278
+ return Effect.gen(function* ($) {
279
+ const entityManager = yield* $(EntityManager.make(recipientType, behavior, self, config, serialization, options));
280
+ yield* $(Ref.update(entityManagers, HashMap.set(recipientType.name, entityManager)));
281
+ });
282
+ }
283
+ const registerScoped = Effect.acquireRelease(register, _ => unregister);
284
+ const self = {
285
+ [ShardingTypeId]: ShardingTypeId,
286
+ getShardId,
287
+ register,
288
+ unregister,
289
+ registerScoped,
290
+ messenger,
291
+ broadcaster,
292
+ isEntityOnLocalShards,
293
+ isShuttingDown,
294
+ registerSingleton,
295
+ registerEntity,
296
+ registerTopic,
297
+ assign,
298
+ unassign,
299
+ getShardingRegistrationEvents,
300
+ getPods,
301
+ getAssignedShardIds,
302
+ refreshAssignments,
303
+ sendMessageToLocalEntityManagerWithoutRetries
304
+ };
305
+ return self;
306
+ }
307
+ /**
308
+ * @internal
309
+ */
310
+ const live = exports.live = /*#__PURE__*/Layer.scoped(shardingTag, /*#__PURE__*/Effect.gen(function* (_) {
311
+ const config = yield* _(ShardingConfig.ShardingConfig);
312
+ const pods = yield* _(Pods.Pods);
313
+ const shardManager = yield* _(ShardManagerClient.ShardManagerClient);
314
+ const storage = yield* _(Storage.Storage);
315
+ const serialization = yield* _(Serialization.Serialization);
316
+ const shardsCache = yield* _(Ref.make(HashMap.empty()));
317
+ const entityManagers = yield* _(Ref.make(HashMap.empty()));
318
+ const shuttingDown = yield* _(Ref.make(false));
319
+ const eventsHub = yield* _(PubSub.unbounded());
320
+ const singletons = yield* _(Synchronized.make(List.nil()));
321
+ const layerScope = yield* _(Effect.scope);
322
+ const cdt = yield* _(Clock.currentTimeMillis);
323
+ const lastUnhealthyNodeReported = yield* _(Ref.make(cdt));
324
+ yield* _(Effect.addFinalizer(() => (0, _Function.pipe)(Synchronized.get(singletons), Effect.flatMap(Effect.forEach(([_, __, fa]) => Option.isSome(fa) ? Fiber.interrupt(fa.value) : Effect.void)))));
325
+ const sharding = make(layerScope, PodAddress.make(config.selfHost, config.shardingPort), config, shardsCache, entityManagers, singletons, lastUnhealthyNodeReported, shuttingDown, shardManager, pods, storage, serialization, eventsHub);
326
+ yield* _(sharding.refreshAssignments);
327
+ return sharding;
328
+ }));
329
+ //# sourceMappingURL=sharding.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sharding.js","names":["Clock","_interopRequireWildcard","require","Context","Duration","Effect","_Equal","Fiber","_Function","HashMap","HashSet","Layer","List","Option","PrimaryKey","PubSub","Ref","Schedule","Stream","Synchronized","Unify","Message","MessageState","PodAddress","Pods","RecipientAddress","RecipientType","Serialization","SerializedEnvelope","ShardId","ShardingConfig","ShardingException","ShardingRegistrationEvent","ShardManagerClient","Storage","EntityManager","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ShardingSymbolKey","ShardingTypeId","exports","Symbol","for","shardingTag","GenericTag","register","flatMap","_","unregister","registerScoped","pipe","zipRight","addFinalizer","registerSingleton","name","run","registerEntity","entityType","behavior","options","registerTopic","topicType","messenger","map","broadcaster","getPods","sendMessageToLocalEntityManagerWithoutRetries","message","getAssignedShardIds","make","layerScope","address","config","shardAssignments","entityManagers","singletons","lastUnhealthyNodeReported","isShuttingDownRef","shardManager","pods","storage","serialization","eventsHub","getEntityManagerByEntityTypeName","unify","match","onNone","fail","EntityTypeNotRegisteredException","podAddress","onSome","entityManager","succeed","getShardId","recipientAddress","entityId","numberOfShards","logDebug","getAssignments","matchCauseEffect","onFailure","logWarning","onSuccess","forEach","terminateAllEntities","catchAllCause","logError","discard","isSingletonNode","equals","startSingletonsIfNeeded","updateEffect","maybeExecutionFiber","forkIn","fiber","some","fromIterable","whenEffect","asVoid","stopSingletonsIfNeeded","as","interrupt","none","unlessEffect","context","update","list","prepend","provide","zipLeft","publish","SingletonRegistered","isShuttingDown","assign","shards","reduce","shardId","unassign","value","isSome","remove","getPodAddressForShardId","isEntityOnLocalShards","values","filter","keySet","updateAssignments","assignmentsOpt","fromShardManager","assignments","v","getOrElse","isEmpty","union","pod","refreshAssignments","fromEffect","merge","assignmentsStream","mapEffect","tap","runDrain","retry","fixed","refreshAssignmentsRetryInterval","interruptible","forkScoped","envelope","recipientTypeName","sendAndGetState","annotateLogs","sendMessageToRemotePodWithoutRetries","tapError","error","isPodUnavailableException","notify","currentTimeMillis","cdt","updateAndGet","old","toMillis","unhealthyPodReportInterval","notifyUnhealthyPod","forkDaemon","void","sendMessageToPodWithoutRetries","sendDiscard","sendMessage","send","state","body","decode","exitSchema","onAcknowledged","NoResultInProcessedMessageStateException","onProcessed","result","whileInput","isNoResultInProcessedMessageStateException","flatten","makeRecipientAddress","encode","schema","EntityNotManagedByThisPodException","millis","isEntityNotManagedByThisPodException","topicId","either","res","concurrency","broadcastDiscard","broadcast","results","eitherResult","registerRecipient","EntityRegistered","TopicRegistered","getShardingRegistrationEvents","fromPubSub","recipientType","gen","$","self","acquireRelease","live","scoped","shardsCache","empty","shuttingDown","unbounded","nil","scope","__","fa","sharding","selfHost","shardingPort"],"sources":["../../../src/internal/sharding.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.shardingConfigTag = exports.fromConfig = exports.defaults = exports.ShardingConfigTypeId = void 0;
7
+ exports.withDefaults = withDefaults;
8
+ var Config = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Config"));
9
+ var Context = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Context"));
10
+ var Duration = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Duration"));
11
+ var _Function = /*#__PURE__*/require("effect/Function");
12
+ var Layer = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Layer"));
13
+ function _getRequireWildcardCache(e) {
14
+ if ("function" != typeof WeakMap) return null;
15
+ var r = new WeakMap(),
16
+ t = new WeakMap();
17
+ return (_getRequireWildcardCache = function (e) {
18
+ return e ? t : r;
19
+ })(e);
20
+ }
21
+ function _interopRequireWildcard(e, r) {
22
+ if (!r && e && e.__esModule) return e;
23
+ if (null === e || "object" != typeof e && "function" != typeof e) return {
24
+ default: e
25
+ };
26
+ var t = _getRequireWildcardCache(r);
27
+ if (t && t.has(e)) return t.get(e);
28
+ var n = {
29
+ __proto__: null
30
+ },
31
+ a = Object.defineProperty && Object.getOwnPropertyDescriptor;
32
+ for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) {
33
+ var i = a ? Object.getOwnPropertyDescriptor(e, u) : null;
34
+ i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u];
35
+ }
36
+ return n.default = e, t && t.set(e, n), n;
37
+ }
38
+ /** @internal */
39
+ const ShardingConfigSymbolKey = "@effect/cluster/ShardingConfig";
40
+ /** @internal */
41
+ const ShardingConfigTypeId = exports.ShardingConfigTypeId = /*#__PURE__*/Symbol.for(ShardingConfigSymbolKey);
42
+ /** @internal */
43
+ const shardingConfigTag = exports.shardingConfigTag = /*#__PURE__*/Context.GenericTag(ShardingConfigSymbolKey);
44
+ /** @internal */
45
+ const defaultValues = {
46
+ numberOfShards: 300,
47
+ selfHost: "localhost",
48
+ shardingPort: 54321,
49
+ shardManagerUri: "http://localhost:8080/api/rest",
50
+ serverVersion: "1.0.0",
51
+ entityMaxIdleTime: /*#__PURE__*/Duration.minutes(1),
52
+ entityTerminationTimeout: /*#__PURE__*/Duration.seconds(3),
53
+ refreshAssignmentsRetryInterval: /*#__PURE__*/Duration.seconds(5),
54
+ unhealthyPodReportInterval: /*#__PURE__*/Duration.seconds(5)
55
+ };
56
+ /** @internal */
57
+ const defaults = exports.defaults = /*#__PURE__*/Layer.succeed(shardingConfigTag, defaultValues);
58
+ /** @internal */
59
+ function withDefaults(customs) {
60
+ return Layer.succeed(shardingConfigTag, {
61
+ ...defaultValues,
62
+ ...customs
63
+ });
64
+ }
65
+ /** @internal */
66
+ const config = /*#__PURE__*/Config.all({
67
+ numberOfShards: /*#__PURE__*/(0, _Function.pipe)( /*#__PURE__*/Config.number("NUMBER_OF_SHARDS"), /*#__PURE__*/Config.withDefault(defaultValues.numberOfShards), /*#__PURE__*/Config.withDescription("Number of shards")),
68
+ selfHost: /*#__PURE__*/(0, _Function.pipe)( /*#__PURE__*/Config.string("SELF_HOST"), /*#__PURE__*/Config.withDefault(defaultValues.selfHost), /*#__PURE__*/Config.withDescription("Fully qualified name of the current host address")),
69
+ shardingPort: /*#__PURE__*/(0, _Function.pipe)( /*#__PURE__*/Config.integer("PORT"), /*#__PURE__*/Config.withDefault(defaultValues.shardingPort), /*#__PURE__*/Config.withDescription("Port of the Pod API service")),
70
+ shardManagerUri: /*#__PURE__*/(0, _Function.pipe)( /*#__PURE__*/Config.string("SHARD_MANAGER_URI"), /*#__PURE__*/Config.withDefault(defaultValues.shardManagerUri), /*#__PURE__*/Config.withDescription("API address of the Shard Manager URI")),
71
+ serverVersion: /*#__PURE__*/(0, _Function.pipe)( /*#__PURE__*/Config.string("SERVER_VERSION"), /*#__PURE__*/Config.withDefault(defaultValues.serverVersion), /*#__PURE__*/Config.withDescription("Server version")),
72
+ entityMaxIdleTime: /*#__PURE__*/(0, _Function.pipe)( /*#__PURE__*/Config.map( /*#__PURE__*/Config.integer("ENTITY_MAX_IDLE_TIME"), Duration.millis), /*#__PURE__*/Config.withDefault(defaultValues.entityMaxIdleTime), /*#__PURE__*/Config.withDescription("Max entity idle time (millis)")),
73
+ entityTerminationTimeout: /*#__PURE__*/(0, _Function.pipe)( /*#__PURE__*/Config.map( /*#__PURE__*/Config.integer("ENTITY_TERMINATION_TIMEOUT"), Duration.millis), /*#__PURE__*/Config.withDefault(defaultValues.entityTerminationTimeout), /*#__PURE__*/Config.withDescription("Max time to wait for entity to terminate (millis)")),
74
+ refreshAssignmentsRetryInterval: /*#__PURE__*/(0, _Function.pipe)( /*#__PURE__*/Config.map( /*#__PURE__*/Config.integer("REFRESH_ASSIGNMENTS_INTERVAL"), Duration.millis), /*#__PURE__*/Config.withDefault(defaultValues.refreshAssignmentsRetryInterval), /*#__PURE__*/Config.withDescription("Interval on which retry getting assignments (millis)")),
75
+ unhealthyPodReportInterval: /*#__PURE__*/(0, _Function.pipe)( /*#__PURE__*/Config.map( /*#__PURE__*/Config.integer("UNHEALTHY_POD_REPORT_INTERVAL"), Duration.millis), /*#__PURE__*/Config.withDefault(defaultValues.unhealthyPodReportInterval), /*#__PURE__*/Config.withDescription("Interval on which report unhealthy pods (millis)"))
76
+ });
77
+ /** @internal */
78
+ const fromConfig = exports.fromConfig = /*#__PURE__*/Layer.effect(shardingConfigTag, config);
79
+ //# sourceMappingURL=shardingConfig.js.map