@effect/cluster 0.28.4 → 0.29.0

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 (626) hide show
  1. package/ClusterError/package.json +6 -0
  2. package/ClusterMetrics/package.json +6 -0
  3. package/ClusterSchema/package.json +6 -0
  4. package/DeliverAt/package.json +6 -0
  5. package/Entity/package.json +6 -0
  6. package/EntityAddress/package.json +6 -0
  7. package/EntityId/package.json +6 -0
  8. package/EntityType/package.json +6 -0
  9. package/Envelope/package.json +6 -0
  10. package/HttpCommon/package.json +6 -0
  11. package/HttpRunner/package.json +6 -0
  12. package/HttpShardManager/package.json +6 -0
  13. package/MachineId/package.json +6 -0
  14. package/MessageStorage/package.json +6 -0
  15. package/README.md +2 -2
  16. package/Reply/package.json +6 -0
  17. package/Runner/package.json +6 -0
  18. package/RunnerAddress/package.json +6 -0
  19. package/RunnerHealth/package.json +6 -0
  20. package/RunnerServer/package.json +6 -0
  21. package/Runners/package.json +6 -0
  22. package/ShardStorage/package.json +6 -0
  23. package/Singleton/package.json +6 -0
  24. package/SingletonAddress/package.json +6 -0
  25. package/Snowflake/package.json +6 -0
  26. package/SocketRunner/package.json +6 -0
  27. package/SocketShardManager/package.json +6 -0
  28. package/SqlMessageStorage/package.json +6 -0
  29. package/SqlShardStorage/package.json +6 -0
  30. package/SynchronizedClock/package.json +6 -0
  31. package/dist/cjs/ClusterError.js +180 -0
  32. package/dist/cjs/ClusterError.js.map +1 -0
  33. package/dist/cjs/ClusterMetrics.js +63 -0
  34. package/dist/cjs/ClusterMetrics.js.map +1 -0
  35. package/dist/cjs/{Pods.js → ClusterSchema.js} +10 -22
  36. package/dist/cjs/ClusterSchema.js.map +1 -0
  37. package/dist/cjs/DeliverAt.js +30 -0
  38. package/dist/cjs/DeliverAt.js.map +1 -0
  39. package/dist/cjs/Entity.js +187 -0
  40. package/dist/cjs/Entity.js.map +1 -0
  41. package/dist/cjs/EntityAddress.js +54 -0
  42. package/dist/cjs/EntityAddress.js.map +1 -0
  43. package/dist/cjs/{AtLeastOnce.js → EntityId.js} +6 -7
  44. package/dist/cjs/EntityId.js.map +1 -0
  45. package/dist/cjs/{ShardManagerClient.js → EntityType.js} +5 -16
  46. package/dist/cjs/EntityType.js.map +1 -0
  47. package/dist/cjs/Envelope.js +168 -0
  48. package/dist/cjs/Envelope.js.map +1 -0
  49. package/dist/cjs/HttpCommon.js +49 -0
  50. package/dist/cjs/HttpCommon.js.map +1 -0
  51. package/dist/cjs/HttpRunner.js +108 -0
  52. package/dist/cjs/HttpRunner.js.map +1 -0
  53. package/dist/cjs/HttpShardManager.js +140 -0
  54. package/dist/cjs/HttpShardManager.js.map +1 -0
  55. package/dist/cjs/{AtLeastOnceStorage.js → MachineId.js} +11 -9
  56. package/dist/cjs/MachineId.js.map +1 -0
  57. package/dist/cjs/Message.js +99 -18
  58. package/dist/cjs/Message.js.map +1 -1
  59. package/dist/cjs/MessageStorage.js +356 -0
  60. package/dist/cjs/MessageStorage.js.map +1 -0
  61. package/dist/cjs/Reply.js +200 -0
  62. package/dist/cjs/Reply.js.map +1 -0
  63. package/dist/cjs/Runner.js +79 -0
  64. package/dist/cjs/Runner.js.map +1 -0
  65. package/dist/cjs/RunnerAddress.js +63 -0
  66. package/dist/cjs/RunnerAddress.js.map +1 -0
  67. package/dist/cjs/RunnerHealth.js +68 -0
  68. package/dist/cjs/RunnerHealth.js.map +1 -0
  69. package/dist/cjs/RunnerServer.js +125 -0
  70. package/dist/cjs/RunnerServer.js.map +1 -0
  71. package/dist/cjs/Runners.js +344 -0
  72. package/dist/cjs/Runners.js.map +1 -0
  73. package/dist/cjs/ShardId.js +7 -46
  74. package/dist/cjs/ShardId.js.map +1 -1
  75. package/dist/cjs/ShardManager.js +493 -8
  76. package/dist/cjs/ShardManager.js.map +1 -1
  77. package/dist/cjs/ShardStorage.js +139 -0
  78. package/dist/cjs/ShardStorage.js.map +1 -0
  79. package/dist/cjs/Sharding.js +732 -88
  80. package/dist/cjs/Sharding.js.map +1 -1
  81. package/dist/cjs/ShardingConfig.js +85 -18
  82. package/dist/cjs/ShardingConfig.js.map +1 -1
  83. package/dist/cjs/ShardingRegistrationEvent.js +26 -32
  84. package/dist/cjs/ShardingRegistrationEvent.js.map +1 -1
  85. package/dist/cjs/{ManagerConfig.js → Singleton.js} +11 -20
  86. package/dist/cjs/Singleton.js.map +1 -0
  87. package/dist/cjs/SingletonAddress.js +50 -0
  88. package/dist/cjs/SingletonAddress.js.map +1 -0
  89. package/dist/cjs/Snowflake.js +133 -0
  90. package/dist/cjs/Snowflake.js.map +1 -0
  91. package/dist/cjs/SocketRunner.js +40 -0
  92. package/dist/cjs/SocketRunner.js.map +1 -0
  93. package/dist/cjs/SocketShardManager.js +33 -0
  94. package/dist/cjs/SocketShardManager.js.map +1 -0
  95. package/dist/cjs/SqlMessageStorage.js +668 -0
  96. package/dist/cjs/SqlMessageStorage.js.map +1 -0
  97. package/dist/cjs/SqlShardStorage.js +228 -0
  98. package/dist/cjs/SqlShardStorage.js.map +1 -0
  99. package/dist/cjs/SynchronizedClock.js +66 -0
  100. package/dist/cjs/SynchronizedClock.js.map +1 -0
  101. package/dist/cjs/index.js +57 -45
  102. package/dist/cjs/internal/entityManager.js +311 -143
  103. package/dist/cjs/internal/entityManager.js.map +1 -1
  104. package/dist/cjs/internal/entityReaper.js +47 -0
  105. package/dist/cjs/internal/entityReaper.js.map +1 -0
  106. package/dist/cjs/internal/hash.js +20 -0
  107. package/dist/cjs/internal/hash.js.map +1 -0
  108. package/dist/cjs/internal/interruptors.js +9 -0
  109. package/dist/cjs/internal/interruptors.js.map +1 -0
  110. package/dist/cjs/internal/resourceMap.js +88 -0
  111. package/dist/cjs/internal/resourceMap.js.map +1 -0
  112. package/dist/cjs/internal/resourceRef.js +92 -0
  113. package/dist/cjs/internal/resourceRef.js.map +1 -0
  114. package/dist/cjs/internal/shardManager.js +219 -235
  115. package/dist/cjs/internal/shardManager.js.map +1 -1
  116. package/dist/dts/ClusterError.d.ts +169 -0
  117. package/dist/dts/ClusterError.d.ts.map +1 -0
  118. package/dist/dts/ClusterMetrics.d.ts +50 -0
  119. package/dist/dts/ClusterMetrics.d.ts.map +1 -0
  120. package/dist/dts/ClusterSchema.d.ts +13 -0
  121. package/dist/dts/ClusterSchema.d.ts.map +1 -0
  122. package/dist/dts/DeliverAt.d.ts +27 -0
  123. package/dist/dts/DeliverAt.d.ts.map +1 -0
  124. package/dist/dts/Entity.d.ts +180 -0
  125. package/dist/dts/Entity.d.ts.map +1 -0
  126. package/dist/dts/EntityAddress.d.ts +55 -0
  127. package/dist/dts/EntityAddress.d.ts.map +1 -0
  128. package/dist/dts/EntityId.d.ts +15 -0
  129. package/dist/dts/EntityId.d.ts.map +1 -0
  130. package/dist/dts/EntityType.d.ts +15 -0
  131. package/dist/dts/EntityType.d.ts.map +1 -0
  132. package/dist/dts/Envelope.d.ts +252 -0
  133. package/dist/dts/Envelope.d.ts.map +1 -0
  134. package/dist/dts/HttpCommon.d.ts +25 -0
  135. package/dist/dts/HttpCommon.d.ts.map +1 -0
  136. package/dist/dts/HttpRunner.d.ts +76 -0
  137. package/dist/dts/HttpRunner.d.ts.map +1 -0
  138. package/dist/dts/HttpShardManager.d.ts +119 -0
  139. package/dist/dts/HttpShardManager.d.ts.map +1 -0
  140. package/dist/dts/MachineId.d.ts +20 -0
  141. package/dist/dts/MachineId.d.ts.map +1 -0
  142. package/dist/dts/Message.d.ts +91 -74
  143. package/dist/dts/Message.d.ts.map +1 -1
  144. package/dist/dts/MessageStorage.d.ts +336 -0
  145. package/dist/dts/MessageStorage.d.ts.map +1 -0
  146. package/dist/dts/Reply.d.ts +171 -0
  147. package/dist/dts/Reply.d.ts.map +1 -0
  148. package/dist/dts/Runner.d.ts +81 -0
  149. package/dist/dts/Runner.d.ts.map +1 -0
  150. package/dist/dts/RunnerAddress.d.ts +56 -0
  151. package/dist/dts/RunnerAddress.d.ts.map +1 -0
  152. package/dist/dts/RunnerHealth.d.ts +54 -0
  153. package/dist/dts/RunnerHealth.d.ts.map +1 -0
  154. package/dist/dts/RunnerServer.d.ts +44 -0
  155. package/dist/dts/RunnerServer.d.ts.map +1 -0
  156. package/dist/dts/Runners.d.ts +161 -0
  157. package/dist/dts/Runners.d.ts.map +1 -0
  158. package/dist/dts/ShardId.d.ts +5 -55
  159. package/dist/dts/ShardId.d.ts.map +1 -1
  160. package/dist/dts/ShardManager.d.ts +435 -23
  161. package/dist/dts/ShardManager.d.ts.map +1 -1
  162. package/dist/dts/ShardStorage.d.ts +200 -0
  163. package/dist/dts/ShardStorage.d.ts.map +1 -0
  164. package/dist/dts/Sharding.d.ts +109 -131
  165. package/dist/dts/Sharding.d.ts.map +1 -1
  166. package/dist/dts/ShardingConfig.d.ts +147 -44
  167. package/dist/dts/ShardingConfig.d.ts.map +1 -1
  168. package/dist/dts/ShardingRegistrationEvent.d.ts +38 -23
  169. package/dist/dts/ShardingRegistrationEvent.d.ts.map +1 -1
  170. package/dist/dts/Singleton.d.ts +13 -0
  171. package/dist/dts/Singleton.d.ts.map +1 -0
  172. package/dist/dts/SingletonAddress.d.ts +49 -0
  173. package/dist/dts/SingletonAddress.d.ts.map +1 -0
  174. package/dist/dts/Snowflake.d.ts +121 -0
  175. package/dist/dts/Snowflake.d.ts.map +1 -0
  176. package/dist/dts/SocketRunner.d.ts +22 -0
  177. package/dist/dts/SocketRunner.d.ts.map +1 -0
  178. package/dist/dts/SocketShardManager.d.ts +17 -0
  179. package/dist/dts/SocketShardManager.d.ts.map +1 -0
  180. package/dist/dts/SqlMessageStorage.d.ts +43 -0
  181. package/dist/dts/SqlMessageStorage.d.ts.map +1 -0
  182. package/dist/dts/SqlShardStorage.d.ts +38 -0
  183. package/dist/dts/SqlShardStorage.d.ts.map +1 -0
  184. package/dist/dts/SynchronizedClock.d.ts +19 -0
  185. package/dist/dts/SynchronizedClock.d.ts.map +1 -0
  186. package/dist/dts/index.d.ts +48 -24
  187. package/dist/dts/index.d.ts.map +1 -1
  188. package/dist/dts/internal/entityReaper.d.ts +2 -0
  189. package/dist/dts/internal/entityReaper.d.ts.map +1 -0
  190. package/dist/dts/internal/hash.d.ts +2 -0
  191. package/dist/dts/internal/hash.d.ts.map +1 -0
  192. package/dist/dts/internal/interruptors.d.ts +2 -0
  193. package/dist/dts/internal/interruptors.d.ts.map +1 -0
  194. package/dist/dts/internal/resourceMap.d.ts +22 -0
  195. package/dist/dts/internal/resourceMap.d.ts.map +1 -0
  196. package/dist/dts/internal/resourceRef.d.ts +25 -0
  197. package/dist/dts/internal/resourceRef.d.ts.map +1 -0
  198. package/dist/dts/internal/shardManager.d.ts +1 -11
  199. package/dist/dts/internal/shardManager.d.ts.map +1 -1
  200. package/dist/esm/ClusterError.js +164 -0
  201. package/dist/esm/ClusterError.js.map +1 -0
  202. package/dist/esm/ClusterMetrics.js +54 -0
  203. package/dist/esm/ClusterMetrics.js.map +1 -0
  204. package/dist/esm/ClusterSchema.js +13 -0
  205. package/dist/esm/ClusterSchema.js.map +1 -0
  206. package/dist/esm/DeliverAt.js +22 -0
  207. package/dist/esm/DeliverAt.js.map +1 -0
  208. package/dist/esm/Entity.js +173 -0
  209. package/dist/esm/Entity.js.map +1 -0
  210. package/dist/esm/EntityAddress.js +44 -0
  211. package/dist/esm/EntityAddress.js.map +1 -0
  212. package/dist/esm/EntityId.js +10 -0
  213. package/dist/esm/EntityId.js.map +1 -0
  214. package/dist/esm/EntityType.js +10 -0
  215. package/dist/esm/EntityType.js.map +1 -0
  216. package/dist/esm/Envelope.js +154 -0
  217. package/dist/esm/Envelope.js.map +1 -0
  218. package/dist/esm/HttpCommon.js +38 -0
  219. package/dist/esm/HttpCommon.js.map +1 -0
  220. package/dist/esm/HttpRunner.js +98 -0
  221. package/dist/esm/HttpRunner.js.map +1 -0
  222. package/dist/esm/HttpShardManager.js +128 -0
  223. package/dist/esm/HttpShardManager.js.map +1 -0
  224. package/dist/esm/MachineId.js +17 -0
  225. package/dist/esm/MachineId.js.map +1 -0
  226. package/dist/esm/Message.js +88 -17
  227. package/dist/esm/Message.js.map +1 -1
  228. package/dist/esm/MessageStorage.js +345 -0
  229. package/dist/esm/MessageStorage.js.map +1 -0
  230. package/dist/esm/Reply.js +184 -0
  231. package/dist/esm/Reply.js.map +1 -0
  232. package/dist/esm/Runner.js +68 -0
  233. package/dist/esm/Runner.js.map +1 -0
  234. package/dist/esm/RunnerAddress.js +52 -0
  235. package/dist/esm/RunnerAddress.js.map +1 -0
  236. package/dist/esm/RunnerHealth.js +58 -0
  237. package/dist/esm/RunnerHealth.js.map +1 -0
  238. package/dist/esm/RunnerServer.js +116 -0
  239. package/dist/esm/RunnerServer.js.map +1 -0
  240. package/dist/esm/Runners.js +332 -0
  241. package/dist/esm/Runners.js.map +1 -0
  242. package/dist/esm/ShardId.js +5 -42
  243. package/dist/esm/ShardId.js.map +1 -1
  244. package/dist/esm/ShardManager.js +486 -7
  245. package/dist/esm/ShardManager.js.map +1 -1
  246. package/dist/esm/ShardStorage.js +129 -0
  247. package/dist/esm/ShardStorage.js.map +1 -0
  248. package/dist/esm/Sharding.js +730 -87
  249. package/dist/esm/Sharding.js.map +1 -1
  250. package/dist/esm/ShardingConfig.js +80 -17
  251. package/dist/esm/ShardingConfig.js.map +1 -1
  252. package/dist/esm/ShardingRegistrationEvent.js +19 -29
  253. package/dist/esm/ShardingRegistrationEvent.js.map +1 -1
  254. package/dist/esm/Singleton.js +15 -0
  255. package/dist/esm/Singleton.js.map +1 -0
  256. package/dist/esm/SingletonAddress.js +40 -0
  257. package/dist/esm/SingletonAddress.js.map +1 -0
  258. package/dist/esm/Snowflake.js +117 -0
  259. package/dist/esm/Snowflake.js.map +1 -0
  260. package/dist/esm/SocketRunner.js +31 -0
  261. package/dist/esm/SocketRunner.js.map +1 -0
  262. package/dist/esm/SocketShardManager.js +24 -0
  263. package/dist/esm/SocketShardManager.js.map +1 -0
  264. package/dist/esm/SqlMessageStorage.js +658 -0
  265. package/dist/esm/SqlMessageStorage.js.map +1 -0
  266. package/dist/esm/SqlShardStorage.js +218 -0
  267. package/dist/esm/SqlShardStorage.js.map +1 -0
  268. package/dist/esm/SynchronizedClock.js +57 -0
  269. package/dist/esm/SynchronizedClock.js.map +1 -0
  270. package/dist/esm/index.js +48 -24
  271. package/dist/esm/index.js.map +1 -1
  272. package/dist/esm/internal/entityManager.js +311 -142
  273. package/dist/esm/internal/entityManager.js.map +1 -1
  274. package/dist/esm/internal/entityReaper.js +38 -0
  275. package/dist/esm/internal/entityReaper.js.map +1 -0
  276. package/dist/esm/internal/hash.js +12 -0
  277. package/dist/esm/internal/hash.js.map +1 -0
  278. package/dist/esm/internal/interruptors.js +3 -0
  279. package/dist/esm/internal/interruptors.js.map +1 -0
  280. package/dist/esm/internal/resourceMap.js +79 -0
  281. package/dist/esm/internal/resourceMap.js.map +1 -0
  282. package/dist/esm/internal/resourceRef.js +83 -0
  283. package/dist/esm/internal/resourceRef.js.map +1 -0
  284. package/dist/esm/internal/shardManager.js +217 -233
  285. package/dist/esm/internal/shardManager.js.map +1 -1
  286. package/package.json +212 -154
  287. package/src/ClusterError.ts +193 -0
  288. package/src/ClusterMetrics.ts +62 -0
  289. package/src/ClusterSchema.ts +13 -0
  290. package/src/DeliverAt.ts +36 -0
  291. package/src/Entity.ts +438 -0
  292. package/src/EntityAddress.ts +55 -0
  293. package/src/EntityId.ts +16 -0
  294. package/src/EntityType.ts +16 -0
  295. package/src/Envelope.ts +352 -0
  296. package/src/HttpCommon.ts +73 -0
  297. package/src/HttpRunner.ts +196 -0
  298. package/src/HttpShardManager.ts +273 -0
  299. package/src/MachineId.ts +27 -0
  300. package/src/Message.ts +143 -92
  301. package/src/MessageStorage.ts +697 -0
  302. package/src/Reply.ts +295 -0
  303. package/src/Runner.ts +84 -0
  304. package/src/RunnerAddress.ts +61 -0
  305. package/src/RunnerHealth.ts +87 -0
  306. package/src/RunnerServer.ts +156 -0
  307. package/src/Runners.ts +533 -0
  308. package/src/ShardId.ts +10 -62
  309. package/src/ShardManager.ts +780 -29
  310. package/src/ShardStorage.ts +289 -0
  311. package/src/Sharding.ts +1060 -183
  312. package/src/ShardingConfig.ts +186 -45
  313. package/src/ShardingRegistrationEvent.ts +38 -39
  314. package/src/Singleton.ts +20 -0
  315. package/src/SingletonAddress.ts +47 -0
  316. package/src/Snowflake.ts +194 -0
  317. package/src/SocketRunner.ts +59 -0
  318. package/src/SocketShardManager.ts +48 -0
  319. package/src/SqlMessageStorage.ts +833 -0
  320. package/src/SqlShardStorage.ts +292 -0
  321. package/src/SynchronizedClock.ts +82 -0
  322. package/src/index.ts +54 -24
  323. package/src/internal/entityManager.ts +464 -361
  324. package/src/internal/entityReaper.ts +53 -0
  325. package/src/internal/hash.ts +11 -0
  326. package/src/internal/interruptors.ts +4 -0
  327. package/src/internal/resourceMap.ts +89 -0
  328. package/src/internal/resourceRef.ts +88 -0
  329. package/src/internal/shardManager.ts +273 -546
  330. package/AtLeastOnce/package.json +0 -6
  331. package/AtLeastOnceStorage/package.json +0 -6
  332. package/Broadcaster/package.json +0 -6
  333. package/ManagerConfig/package.json +0 -6
  334. package/MessageState/package.json +0 -6
  335. package/Messenger/package.json +0 -6
  336. package/Pod/package.json +0 -6
  337. package/PodAddress/package.json +0 -6
  338. package/Pods/package.json +0 -6
  339. package/PodsHealth/package.json +0 -6
  340. package/PoisonPill/package.json +0 -6
  341. package/RecipientAddress/package.json +0 -6
  342. package/RecipientBehaviour/package.json +0 -6
  343. package/RecipientBehaviourContext/package.json +0 -6
  344. package/RecipientType/package.json +0 -6
  345. package/Serialization/package.json +0 -6
  346. package/SerializedEnvelope/package.json +0 -6
  347. package/SerializedMessage/package.json +0 -6
  348. package/ShardManagerClient/package.json +0 -6
  349. package/ShardingEvent/package.json +0 -6
  350. package/ShardingException/package.json +0 -6
  351. package/Storage/package.json +0 -6
  352. package/dist/cjs/AtLeastOnce.js.map +0 -1
  353. package/dist/cjs/AtLeastOnceStorage.js.map +0 -1
  354. package/dist/cjs/Broadcaster.js +0 -6
  355. package/dist/cjs/Broadcaster.js.map +0 -1
  356. package/dist/cjs/ManagerConfig.js.map +0 -1
  357. package/dist/cjs/MessageState.js +0 -55
  358. package/dist/cjs/MessageState.js.map +0 -1
  359. package/dist/cjs/Messenger.js +0 -6
  360. package/dist/cjs/Messenger.js.map +0 -1
  361. package/dist/cjs/Pod.js +0 -78
  362. package/dist/cjs/Pod.js.map +0 -1
  363. package/dist/cjs/PodAddress.js +0 -77
  364. package/dist/cjs/PodAddress.js.map +0 -1
  365. package/dist/cjs/Pods.js.map +0 -1
  366. package/dist/cjs/PodsHealth.js +0 -41
  367. package/dist/cjs/PodsHealth.js.map +0 -1
  368. package/dist/cjs/PoisonPill.js +0 -78
  369. package/dist/cjs/PoisonPill.js.map +0 -1
  370. package/dist/cjs/RecipientAddress.js +0 -79
  371. package/dist/cjs/RecipientAddress.js.map +0 -1
  372. package/dist/cjs/RecipientBehaviour.js +0 -38
  373. package/dist/cjs/RecipientBehaviour.js.map +0 -1
  374. package/dist/cjs/RecipientBehaviourContext.js +0 -64
  375. package/dist/cjs/RecipientBehaviourContext.js.map +0 -1
  376. package/dist/cjs/RecipientType.js +0 -123
  377. package/dist/cjs/RecipientType.js.map +0 -1
  378. package/dist/cjs/Serialization.js +0 -32
  379. package/dist/cjs/Serialization.js.map +0 -1
  380. package/dist/cjs/SerializedEnvelope.js +0 -87
  381. package/dist/cjs/SerializedEnvelope.js.map +0 -1
  382. package/dist/cjs/SerializedMessage.js +0 -64
  383. package/dist/cjs/SerializedMessage.js.map +0 -1
  384. package/dist/cjs/ShardManagerClient.js.map +0 -1
  385. package/dist/cjs/ShardingEvent.js +0 -72
  386. package/dist/cjs/ShardingEvent.js.map +0 -1
  387. package/dist/cjs/ShardingException.js +0 -107
  388. package/dist/cjs/ShardingException.js.map +0 -1
  389. package/dist/cjs/Storage.js +0 -40
  390. package/dist/cjs/Storage.js.map +0 -1
  391. package/dist/cjs/internal/atLeastOnce.js +0 -35
  392. package/dist/cjs/internal/atLeastOnce.js.map +0 -1
  393. package/dist/cjs/internal/atLeastOnceStorage.js +0 -163
  394. package/dist/cjs/internal/atLeastOnceStorage.js.map +0 -1
  395. package/dist/cjs/internal/entityState.js +0 -47
  396. package/dist/cjs/internal/entityState.js.map +0 -1
  397. package/dist/cjs/internal/managerConfig.js +0 -46
  398. package/dist/cjs/internal/managerConfig.js.map +0 -1
  399. package/dist/cjs/internal/message.js +0 -48
  400. package/dist/cjs/internal/message.js.map +0 -1
  401. package/dist/cjs/internal/messageState.js +0 -79
  402. package/dist/cjs/internal/messageState.js.map +0 -1
  403. package/dist/cjs/internal/podWithMetadata.js +0 -54
  404. package/dist/cjs/internal/podWithMetadata.js.map +0 -1
  405. package/dist/cjs/internal/pods.js +0 -35
  406. package/dist/cjs/internal/pods.js.map +0 -1
  407. package/dist/cjs/internal/podsHealth.js +0 -40
  408. package/dist/cjs/internal/podsHealth.js.map +0 -1
  409. package/dist/cjs/internal/recipientBehaviour.js +0 -52
  410. package/dist/cjs/internal/recipientBehaviour.js.map +0 -1
  411. package/dist/cjs/internal/recipientBehaviourContext.js +0 -36
  412. package/dist/cjs/internal/recipientBehaviourContext.js.map +0 -1
  413. package/dist/cjs/internal/serialization.js +0 -48
  414. package/dist/cjs/internal/serialization.js.map +0 -1
  415. package/dist/cjs/internal/shardManagerClient.js +0 -48
  416. package/dist/cjs/internal/shardManagerClient.js.map +0 -1
  417. package/dist/cjs/internal/shardManagerState.js +0 -44
  418. package/dist/cjs/internal/shardManagerState.js.map +0 -1
  419. package/dist/cjs/internal/sharding.js +0 -306
  420. package/dist/cjs/internal/sharding.js.map +0 -1
  421. package/dist/cjs/internal/shardingConfig.js +0 -56
  422. package/dist/cjs/internal/shardingConfig.js.map +0 -1
  423. package/dist/cjs/internal/storage.js +0 -52
  424. package/dist/cjs/internal/storage.js.map +0 -1
  425. package/dist/cjs/internal/utils.js +0 -69
  426. package/dist/cjs/internal/utils.js.map +0 -1
  427. package/dist/dts/AtLeastOnce.d.ts +0 -20
  428. package/dist/dts/AtLeastOnce.d.ts.map +0 -1
  429. package/dist/dts/AtLeastOnceStorage.d.ts +0 -75
  430. package/dist/dts/AtLeastOnceStorage.d.ts.map +0 -1
  431. package/dist/dts/Broadcaster.d.ts +0 -32
  432. package/dist/dts/Broadcaster.d.ts.map +0 -1
  433. package/dist/dts/ManagerConfig.d.ts +0 -61
  434. package/dist/dts/ManagerConfig.d.ts.map +0 -1
  435. package/dist/dts/MessageState.d.ts +0 -107
  436. package/dist/dts/MessageState.d.ts.map +0 -1
  437. package/dist/dts/Messenger.d.ts +0 -32
  438. package/dist/dts/Messenger.d.ts.map +0 -1
  439. package/dist/dts/Pod.d.ts +0 -81
  440. package/dist/dts/Pod.d.ts.map +0 -1
  441. package/dist/dts/PodAddress.d.ts +0 -80
  442. package/dist/dts/PodAddress.d.ts.map +0 -1
  443. package/dist/dts/Pods.d.ts +0 -78
  444. package/dist/dts/Pods.d.ts.map +0 -1
  445. package/dist/dts/PodsHealth.d.ts +0 -66
  446. package/dist/dts/PodsHealth.d.ts.map +0 -1
  447. package/dist/dts/PoisonPill.d.ts +0 -78
  448. package/dist/dts/PoisonPill.d.ts.map +0 -1
  449. package/dist/dts/RecipientAddress.d.ts +0 -57
  450. package/dist/dts/RecipientAddress.d.ts.map +0 -1
  451. package/dist/dts/RecipientBehaviour.d.ts +0 -72
  452. package/dist/dts/RecipientBehaviour.d.ts.map +0 -1
  453. package/dist/dts/RecipientBehaviourContext.d.ts +0 -83
  454. package/dist/dts/RecipientBehaviourContext.d.ts.map +0 -1
  455. package/dist/dts/RecipientType.d.ts +0 -93
  456. package/dist/dts/RecipientType.d.ts.map +0 -1
  457. package/dist/dts/Serialization.d.ts +0 -58
  458. package/dist/dts/Serialization.d.ts.map +0 -1
  459. package/dist/dts/SerializedEnvelope.d.ts +0 -86
  460. package/dist/dts/SerializedEnvelope.d.ts.map +0 -1
  461. package/dist/dts/SerializedMessage.d.ts +0 -66
  462. package/dist/dts/SerializedMessage.d.ts.map +0 -1
  463. package/dist/dts/ShardManagerClient.d.ts +0 -50
  464. package/dist/dts/ShardManagerClient.d.ts.map +0 -1
  465. package/dist/dts/ShardingEvent.d.ts +0 -90
  466. package/dist/dts/ShardingEvent.d.ts.map +0 -1
  467. package/dist/dts/ShardingException.d.ts +0 -125
  468. package/dist/dts/ShardingException.d.ts.map +0 -1
  469. package/dist/dts/Storage.d.ts +0 -78
  470. package/dist/dts/Storage.d.ts.map +0 -1
  471. package/dist/dts/internal/atLeastOnce.d.ts +0 -2
  472. package/dist/dts/internal/atLeastOnce.d.ts.map +0 -1
  473. package/dist/dts/internal/atLeastOnceStorage.d.ts +0 -2
  474. package/dist/dts/internal/atLeastOnceStorage.d.ts.map +0 -1
  475. package/dist/dts/internal/entityState.d.ts +0 -21
  476. package/dist/dts/internal/entityState.d.ts.map +0 -1
  477. package/dist/dts/internal/managerConfig.d.ts +0 -2
  478. package/dist/dts/internal/managerConfig.d.ts.map +0 -1
  479. package/dist/dts/internal/message.d.ts +0 -9
  480. package/dist/dts/internal/message.d.ts.map +0 -1
  481. package/dist/dts/internal/messageState.d.ts +0 -2
  482. package/dist/dts/internal/messageState.d.ts.map +0 -1
  483. package/dist/dts/internal/podWithMetadata.d.ts +0 -2
  484. package/dist/dts/internal/podWithMetadata.d.ts.map +0 -1
  485. package/dist/dts/internal/pods.d.ts +0 -2
  486. package/dist/dts/internal/pods.d.ts.map +0 -1
  487. package/dist/dts/internal/podsHealth.d.ts +0 -2
  488. package/dist/dts/internal/podsHealth.d.ts.map +0 -1
  489. package/dist/dts/internal/recipientBehaviour.d.ts +0 -2
  490. package/dist/dts/internal/recipientBehaviour.d.ts.map +0 -1
  491. package/dist/dts/internal/recipientBehaviourContext.d.ts +0 -2
  492. package/dist/dts/internal/recipientBehaviourContext.d.ts.map +0 -1
  493. package/dist/dts/internal/serialization.d.ts +0 -2
  494. package/dist/dts/internal/serialization.d.ts.map +0 -1
  495. package/dist/dts/internal/shardManagerClient.d.ts +0 -2
  496. package/dist/dts/internal/shardManagerClient.d.ts.map +0 -1
  497. package/dist/dts/internal/shardManagerState.d.ts +0 -26
  498. package/dist/dts/internal/shardManagerState.d.ts.map +0 -1
  499. package/dist/dts/internal/sharding.d.ts +0 -2
  500. package/dist/dts/internal/sharding.d.ts.map +0 -1
  501. package/dist/dts/internal/shardingConfig.d.ts +0 -2
  502. package/dist/dts/internal/shardingConfig.d.ts.map +0 -1
  503. package/dist/dts/internal/storage.d.ts +0 -2
  504. package/dist/dts/internal/storage.d.ts.map +0 -1
  505. package/dist/dts/internal/utils.d.ts +0 -2
  506. package/dist/dts/internal/utils.d.ts.map +0 -1
  507. package/dist/esm/AtLeastOnce.js +0 -12
  508. package/dist/esm/AtLeastOnce.js.map +0 -1
  509. package/dist/esm/AtLeastOnceStorage.js +0 -17
  510. package/dist/esm/AtLeastOnceStorage.js.map +0 -1
  511. package/dist/esm/Broadcaster.js +0 -2
  512. package/dist/esm/Broadcaster.js.map +0 -1
  513. package/dist/esm/ManagerConfig.js +0 -26
  514. package/dist/esm/ManagerConfig.js.map +0 -1
  515. package/dist/esm/MessageState.js +0 -47
  516. package/dist/esm/MessageState.js.map +0 -1
  517. package/dist/esm/Messenger.js +0 -2
  518. package/dist/esm/Messenger.js.map +0 -1
  519. package/dist/esm/Pod.js +0 -65
  520. package/dist/esm/Pod.js.map +0 -1
  521. package/dist/esm/PodAddress.js +0 -64
  522. package/dist/esm/PodAddress.js.map +0 -1
  523. package/dist/esm/Pods.js +0 -27
  524. package/dist/esm/Pods.js.map +0 -1
  525. package/dist/esm/PodsHealth.js +0 -33
  526. package/dist/esm/PodsHealth.js.map +0 -1
  527. package/dist/esm/PoisonPill.js +0 -65
  528. package/dist/esm/PoisonPill.js.map +0 -1
  529. package/dist/esm/RecipientAddress.js +0 -67
  530. package/dist/esm/RecipientAddress.js.map +0 -1
  531. package/dist/esm/RecipientBehaviour.js +0 -30
  532. package/dist/esm/RecipientBehaviour.js.map +0 -1
  533. package/dist/esm/RecipientBehaviourContext.js +0 -56
  534. package/dist/esm/RecipientBehaviourContext.js.map +0 -1
  535. package/dist/esm/RecipientType.js +0 -108
  536. package/dist/esm/RecipientType.js.map +0 -1
  537. package/dist/esm/Serialization.js +0 -24
  538. package/dist/esm/Serialization.js.map +0 -1
  539. package/dist/esm/SerializedEnvelope.js +0 -74
  540. package/dist/esm/SerializedEnvelope.js.map +0 -1
  541. package/dist/esm/SerializedMessage.js +0 -51
  542. package/dist/esm/SerializedMessage.js.map +0 -1
  543. package/dist/esm/ShardManagerClient.js +0 -22
  544. package/dist/esm/ShardManagerClient.js.map +0 -1
  545. package/dist/esm/ShardingEvent.js +0 -62
  546. package/dist/esm/ShardingEvent.js.map +0 -1
  547. package/dist/esm/ShardingException.js +0 -91
  548. package/dist/esm/ShardingException.js.map +0 -1
  549. package/dist/esm/Storage.js +0 -32
  550. package/dist/esm/Storage.js.map +0 -1
  551. package/dist/esm/internal/atLeastOnce.js +0 -26
  552. package/dist/esm/internal/atLeastOnce.js.map +0 -1
  553. package/dist/esm/internal/atLeastOnceStorage.js +0 -154
  554. package/dist/esm/internal/atLeastOnceStorage.js.map +0 -1
  555. package/dist/esm/internal/entityState.js +0 -35
  556. package/dist/esm/internal/entityState.js.map +0 -1
  557. package/dist/esm/internal/managerConfig.js +0 -38
  558. package/dist/esm/internal/managerConfig.js.map +0 -1
  559. package/dist/esm/internal/message.js +0 -35
  560. package/dist/esm/internal/message.js.map +0 -1
  561. package/dist/esm/internal/messageState.js +0 -66
  562. package/dist/esm/internal/messageState.js.map +0 -1
  563. package/dist/esm/internal/podWithMetadata.js +0 -41
  564. package/dist/esm/internal/podWithMetadata.js.map +0 -1
  565. package/dist/esm/internal/pods.js +0 -25
  566. package/dist/esm/internal/pods.js.map +0 -1
  567. package/dist/esm/internal/podsHealth.js +0 -30
  568. package/dist/esm/internal/podsHealth.js.map +0 -1
  569. package/dist/esm/internal/recipientBehaviour.js +0 -42
  570. package/dist/esm/internal/recipientBehaviour.js.map +0 -1
  571. package/dist/esm/internal/recipientBehaviourContext.js +0 -26
  572. package/dist/esm/internal/recipientBehaviourContext.js.map +0 -1
  573. package/dist/esm/internal/serialization.js +0 -38
  574. package/dist/esm/internal/serialization.js.map +0 -1
  575. package/dist/esm/internal/shardManagerClient.js +0 -38
  576. package/dist/esm/internal/shardManagerClient.js.map +0 -1
  577. package/dist/esm/internal/shardManagerState.js +0 -36
  578. package/dist/esm/internal/shardManagerState.js.map +0 -1
  579. package/dist/esm/internal/sharding.js +0 -288
  580. package/dist/esm/internal/sharding.js.map +0 -1
  581. package/dist/esm/internal/shardingConfig.js +0 -47
  582. package/dist/esm/internal/shardingConfig.js.map +0 -1
  583. package/dist/esm/internal/storage.js +0 -42
  584. package/dist/esm/internal/storage.js.map +0 -1
  585. package/dist/esm/internal/utils.js +0 -56
  586. package/dist/esm/internal/utils.js.map +0 -1
  587. package/src/AtLeastOnce.ts +0 -28
  588. package/src/AtLeastOnceStorage.ts +0 -96
  589. package/src/Broadcaster.ts +0 -48
  590. package/src/ManagerConfig.ts +0 -67
  591. package/src/MessageState.ts +0 -126
  592. package/src/Messenger.ts +0 -40
  593. package/src/Pod.ts +0 -95
  594. package/src/PodAddress.ts +0 -94
  595. package/src/Pods.ts +0 -100
  596. package/src/PodsHealth.ts +0 -74
  597. package/src/PoisonPill.ts +0 -105
  598. package/src/RecipientAddress.ts +0 -72
  599. package/src/RecipientBehaviour.ts +0 -108
  600. package/src/RecipientBehaviourContext.ts +0 -101
  601. package/src/RecipientType.ts +0 -134
  602. package/src/Serialization.ts +0 -72
  603. package/src/SerializedEnvelope.ts +0 -108
  604. package/src/SerializedMessage.ts +0 -82
  605. package/src/ShardManagerClient.ts +0 -57
  606. package/src/ShardingEvent.ts +0 -121
  607. package/src/ShardingException.ts +0 -151
  608. package/src/Storage.ts +0 -92
  609. package/src/internal/atLeastOnce.ts +0 -59
  610. package/src/internal/atLeastOnceStorage.ts +0 -218
  611. package/src/internal/entityState.ts +0 -64
  612. package/src/internal/managerConfig.ts +0 -84
  613. package/src/internal/message.ts +0 -63
  614. package/src/internal/messageState.ts +0 -98
  615. package/src/internal/podWithMetadata.ts +0 -72
  616. package/src/internal/pods.ts +0 -29
  617. package/src/internal/podsHealth.ts +0 -39
  618. package/src/internal/recipientBehaviour.ts +0 -133
  619. package/src/internal/recipientBehaviourContext.ts +0 -70
  620. package/src/internal/serialization.ts +0 -63
  621. package/src/internal/shardManagerClient.ts +0 -49
  622. package/src/internal/shardManagerState.ts +0 -80
  623. package/src/internal/sharding.ts +0 -789
  624. package/src/internal/shardingConfig.ts +0 -97
  625. package/src/internal/storage.ts +0 -60
  626. package/src/internal/utils.ts +0 -54
@@ -4,67 +4,17 @@
4
4
  import * as Schema from "effect/Schema";
5
5
  /**
6
6
  * @since 1.0.0
7
- * @category symbols
8
- */
9
- export declare const ShardIdTypeId: unique symbol;
10
- /**
11
- * @since 1.0.0
12
- * @category symbols
13
- */
14
- export type ShardIdTypeId = typeof ShardIdTypeId;
15
- declare const ShardId_base: Schema.Class<ShardId, {
16
- [ShardIdTypeId]: Schema.PropertySignature<":", typeof ShardIdTypeId, "@effect/cluster/ShardId", ":", "@effect/cluster/ShardId", false, never>;
17
- value: typeof Schema.Number;
18
- }, Schema.Struct.Encoded<{
19
- [ShardIdTypeId]: Schema.PropertySignature<":", typeof ShardIdTypeId, "@effect/cluster/ShardId", ":", "@effect/cluster/ShardId", false, never>;
20
- value: typeof Schema.Number;
21
- }>, never, {
22
- readonly value: number;
23
- } & {
24
- readonly [ShardIdTypeId]: typeof ShardIdTypeId;
25
- }, {}, {}>;
26
- /**
27
- * A shard is a logical grouping of multiple entities. There could be thousands of entities in your system,
28
- * so instead of managing every single entity id, the shard manager group them by shard id, and when they are assigned
29
- * or moved around, we always move all the entities with the same shard id.
30
- *
31
- * @since 1.0.0
32
- * @category models
7
+ * @category constructors
33
8
  */
34
- export declare class ShardId extends ShardId_base {
35
- /**
36
- * @since 1.0.0
37
- */
38
- toString(): string;
39
- }
9
+ export declare const ShardId: Schema.brand<typeof Schema.Int, "ShardId">;
40
10
  /**
41
11
  * @since 1.0.0
42
12
  * @category models
43
13
  */
44
- export declare namespace ShardId {
45
- /**
46
- * This is the shape that a shard id has over the wire.
47
- *
48
- * @since 1.0.0
49
- * @category models
50
- */
51
- interface Encoded extends Schema.Schema.Encoded<typeof ShardId> {
52
- }
53
- }
54
- /**
55
- * Constructs a shard id from its numerical value.
56
- * The shard id is currently built up by making the hash of the entity id, and then modulo the max amount of shards configured in ManagerConfig.
57
- *
58
- * @since 1.0.0
59
- * @category constructors
60
- */
61
- export declare function make(value: number): ShardId;
14
+ export type ShardId = typeof ShardId.Type;
62
15
  /**
63
- * This is the schema for a ShardId.
64
- *
65
16
  * @since 1.0.0
66
- * @category schema
17
+ * @category Constructors
67
18
  */
68
- export declare const schema: Schema.Schema<ShardId, ShardId.Encoded>;
69
- export {};
19
+ export declare const make: (shardId: number) => ShardId;
70
20
  //# sourceMappingURL=ShardId.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ShardId.d.ts","sourceRoot":"","sources":["../../src/ShardId.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAMvC;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,OAAO,MAAqC,CAAA;AAExE;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,OAAO,aAAa,CAAA;;;;;;;;;;;;AAKhD;;;;;;;GAOG;AACH,qBAAa,OAAQ,SAAQ,YAG3B;IACA;;OAEG;IACH,QAAQ;CAGT;AAED;;;GAGG;AACH,yBAAiB,OAAO,CAAC;IACvB;;;;;OAKG;IACH,UAAiB,OAAQ,SAAQ,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,OAAO,CAAC;KAAG;CAC1E;AAED;;;;;;GAMG;AACH,wBAAgB,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE3C;AAED;;;;;GAKG;AACH,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,MAAM,CAChC,OAAO,EACP,OAAO,CAAC,OAAO,CACW,CAAA"}
1
+ {"version":3,"file":"ShardId.d.ts","sourceRoot":"","sources":["../../src/ShardId.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC;;;GAGG;AACH,eAAO,MAAM,OAAO,4CAKnB,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,OAAO,GAAG,OAAO,OAAO,CAAC,IAAI,CAAA;AAEzC;;;GAGG;AACH,eAAO,MAAM,IAAI,YAAa,MAAM,KAAG,OAAgC,CAAA"}
@@ -1,44 +1,456 @@
1
1
  /**
2
2
  * @since 1.0.0
3
3
  */
4
- import type * as Effect from "effect/Effect";
5
- import type * as HashMap from "effect/HashMap";
6
- import type * as Option from "effect/Option";
7
- import type * as Stream from "effect/Stream";
8
- import type * as Pod from "./Pod.js";
9
- import type * as PodAddress from "./PodAddress.js";
10
- import type * as ShardId from "./ShardId.js";
11
- import type * as ShardingEvent from "./ShardingEvent.js";
4
+ import * as Rpc from "@effect/rpc/Rpc";
5
+ import * as RpcClient from "@effect/rpc/RpcClient";
6
+ import * as RpcGroup from "@effect/rpc/RpcGroup";
7
+ import * as RpcServer from "@effect/rpc/RpcServer";
8
+ import * as Config_ from "effect/Config";
9
+ import type { ConfigError } from "effect/ConfigError";
10
+ import * as Context from "effect/Context";
11
+ import * as Data from "effect/Data";
12
+ import * as Duration from "effect/Duration";
13
+ import * as Effect from "effect/Effect";
14
+ import * as Layer from "effect/Layer";
15
+ import * as Mailbox from "effect/Mailbox";
16
+ import * as Option from "effect/Option";
17
+ import * as Queue from "effect/Queue";
18
+ import * as Schema from "effect/Schema";
19
+ import type { Scope } from "effect/Scope";
20
+ import * as MachineId from "./MachineId.js";
21
+ import { Runner } from "./Runner.js";
22
+ import { RunnerAddress } from "./RunnerAddress.js";
23
+ import { RunnerHealth } from "./RunnerHealth.js";
24
+ import { RpcClientProtocol, Runners } from "./Runners.js";
25
+ import { ShardId } from "./ShardId.js";
26
+ import { ShardingConfig } from "./ShardingConfig.js";
27
+ import { ShardStorage } from "./ShardStorage.js";
28
+ declare const ShardManager_base: Context.TagClass<ShardManager, "@effect/cluster/ShardManager", {
29
+ /**
30
+ * Get all shard assignments.
31
+ */
32
+ readonly getAssignments: Effect.Effect<ReadonlyMap<ShardId, Option.Option<RunnerAddress>>>;
33
+ /**
34
+ * Get a stream of sharding events emit by the shard manager.
35
+ */
36
+ readonly shardingEvents: Effect.Effect<Queue.Dequeue<ShardingEvent>, never, Scope>;
37
+ /**
38
+ * Register a new runner with the cluster.
39
+ */
40
+ readonly register: (runner: Runner) => Effect.Effect<MachineId.MachineId>;
41
+ /**
42
+ * Unregister a runner from the cluster.
43
+ */
44
+ readonly unregister: (address: RunnerAddress) => Effect.Effect<void>;
45
+ /**
46
+ * Rebalance shards assigned to runners within the cluster.
47
+ */
48
+ readonly rebalance: (immediate: boolean) => Effect.Effect<void>;
49
+ /**
50
+ * Notify the cluster of an unhealthy runner.
51
+ */
52
+ readonly notifyUnhealthyRunner: (address: RunnerAddress) => Effect.Effect<void>;
53
+ /**
54
+ * Check and repot on the health of all runners in the cluster.
55
+ */
56
+ readonly checkRunnerHealth: Effect.Effect<void>;
57
+ }>;
12
58
  /**
13
59
  * @since 1.0.0
14
- * @category symbols
60
+ * @category models
61
+ */
62
+ export declare class ShardManager extends ShardManager_base {
63
+ }
64
+ declare const Config_base: Context.TagClass<Config, "@effect/cluster/ShardManager/Config", {
65
+ /**
66
+ * The duration to wait before rebalancing shards after a change.
67
+ */
68
+ readonly rebalanceDebounce: Duration.DurationInput;
69
+ /**
70
+ * The interval on which regular rebalancing of shards will occur.
71
+ */
72
+ readonly rebalanceInterval: Duration.DurationInput;
73
+ /**
74
+ * The interval on which rebalancing of shards which failed to be
75
+ * rebalanced will be retried.
76
+ */
77
+ readonly rebalanceRetryInterval: Duration.DurationInput;
78
+ /**
79
+ * The maximum ratio of shards to rebalance at once.
80
+ *
81
+ * **Note**: this value should be a number between `0` and `1`.
82
+ */
83
+ readonly rebalanceRate: number;
84
+ /**
85
+ * The interval on which persistence of Runners will be retried if it fails.
86
+ */
87
+ readonly persistRetryInterval: Duration.DurationInput;
88
+ /**
89
+ * The number of times persistence of Runners will be retried if it fails.
90
+ */
91
+ readonly persistRetryCount: number;
92
+ /**
93
+ * The interval on which Runner health will be checked.
94
+ */
95
+ readonly runnerHealthCheckInterval: Duration.DurationInput;
96
+ /**
97
+ * The length of time to wait for a Runner to respond to a ping.
98
+ */
99
+ readonly runnerPingTimeout: Duration.DurationInput;
100
+ }>;
101
+ /**
102
+ * @since 1.0.0
103
+ * @category Config
104
+ */
105
+ export declare class Config extends Config_base {
106
+ /**
107
+ * @since 1.0.0
108
+ */
109
+ static readonly defaults: Config["Type"];
110
+ }
111
+ /**
112
+ * @since 1.0.0
113
+ * @category Config
114
+ */
115
+ export declare const configConfig: Config_.Config<Config["Type"]>;
116
+ /**
117
+ * @since 1.0.0
118
+ * @category Config
15
119
  */
16
- export declare const ShardManagerTypeId: unique symbol;
120
+ export declare const configFromEnv: Effect.Effect<Config["Type"], ConfigError>;
17
121
  /**
18
122
  * @since 1.0.0
19
- * @category symbols
123
+ * @category Config
20
124
  */
21
- export type ShardManagerTypeId = typeof ShardManagerTypeId;
125
+ export declare const layerConfig: (config?: Partial<Config["Type"]>) => Layer.Layer<Config>;
22
126
  /**
23
127
  * @since 1.0.0
24
- * @category context
128
+ * @category Config
25
129
  */
26
- export declare const ShardManager: import("effect/Context").Tag<ShardManager, ShardManager>;
130
+ export declare const layerConfigFromEnv: Layer.Layer<Config, ConfigError>;
131
+ declare const ShardManagerClient_base: Context.TagClass<ShardManagerClient, "@effect/cluster/ShardManager/ShardManagerClient", {
132
+ /**
133
+ * Register a new runner with the cluster.
134
+ */
135
+ readonly register: (address: RunnerAddress) => Effect.Effect<MachineId.MachineId>;
136
+ /**
137
+ * Unregister a runner from the cluster.
138
+ */
139
+ readonly unregister: (address: RunnerAddress) => Effect.Effect<void>;
140
+ /**
141
+ * Notify the cluster of an unhealthy runner.
142
+ */
143
+ readonly notifyUnhealthyRunner: (address: RunnerAddress) => Effect.Effect<void>;
144
+ /**
145
+ * Get all shard assignments.
146
+ */
147
+ readonly getAssignments: Effect.Effect<ReadonlyMap<ShardId, Option.Option<RunnerAddress>>>;
148
+ /**
149
+ * Get a stream of sharding events emit by the shard manager.
150
+ */
151
+ readonly shardingEvents: Effect.Effect<Mailbox.ReadonlyMailbox<ShardingEvent>, never, Scope>;
152
+ /**
153
+ * Get the current time on the shard manager.
154
+ */
155
+ readonly getTime: Effect.Effect<number>;
156
+ }>;
157
+ /**
158
+ * Represents a client which can be used to communicate with the
159
+ * `ShardManager`.
160
+ *
161
+ * @since 1.0.0
162
+ * @category Client
163
+ */
164
+ export declare class ShardManagerClient extends ShardManagerClient_base {
165
+ }
27
166
  /**
28
167
  * @since 1.0.0
29
168
  * @category models
30
169
  */
31
- export interface ShardManager {
32
- readonly getShardingEvents: Stream.Stream<ShardingEvent.ShardingEvent>;
33
- readonly register: (pod: Pod.Pod) => Effect.Effect<void>;
34
- readonly unregister: (podAddress: PodAddress.PodAddress) => Effect.Effect<void>;
35
- readonly notifyUnhealthyPod: (podAddress: PodAddress.PodAddress) => Effect.Effect<void>;
36
- readonly checkAllPodsHealth: Effect.Effect<void>;
37
- readonly getAssignments: Effect.Effect<HashMap.HashMap<ShardId.ShardId, Option.Option<PodAddress.PodAddress>>>;
170
+ export declare const ShardingEventSchema: Schema.Union<[Schema.TaggedStruct<"StreamStarted", {}>, Schema.TaggedStruct<"ShardsAssigned", {
171
+ address: typeof RunnerAddress;
172
+ shards: Schema.Array$<Schema.brand<typeof Schema.Int, "ShardId">>;
173
+ }>, Schema.TaggedStruct<"ShardsUnassigned", {
174
+ address: typeof RunnerAddress;
175
+ shards: Schema.Array$<Schema.brand<typeof Schema.Int, "ShardId">>;
176
+ }>, Schema.TaggedStruct<"RunnerRegistered", {
177
+ address: typeof RunnerAddress;
178
+ }>, Schema.TaggedStruct<"RunnerUnregistered", {
179
+ address: typeof RunnerAddress;
180
+ }>]>;
181
+ declare const Rpcs_base: RpcGroup.RpcGroup<Rpc.Rpc<"Register", Schema.Struct<{
182
+ runner: typeof Runner;
183
+ }>, Schema.brand<typeof Schema.Int, "MachineId">, typeof Schema.Never, never> | Rpc.Rpc<"Unregister", Schema.Struct<{
184
+ address: typeof RunnerAddress;
185
+ }>, typeof Schema.Void, typeof Schema.Never, never> | Rpc.Rpc<"NotifyUnhealthyRunner", Schema.Struct<{
186
+ address: typeof RunnerAddress;
187
+ }>, typeof Schema.Void, typeof Schema.Never, never> | Rpc.Rpc<"GetAssignments", Schema.Struct<{}>, Schema.ReadonlyMap$<Schema.brand<typeof Schema.Int, "ShardId">, Schema.Option<typeof RunnerAddress>>, typeof Schema.Never, never> | Rpc.Rpc<"ShardingEvents", Schema.Struct<{}>, import("@effect/rpc/RpcSchema").Stream<Schema.Union<[Schema.TaggedStruct<"StreamStarted", {}>, Schema.TaggedStruct<"ShardsAssigned", {
188
+ address: typeof RunnerAddress;
189
+ shards: Schema.Array$<Schema.brand<typeof Schema.Int, "ShardId">>;
190
+ }>, Schema.TaggedStruct<"ShardsUnassigned", {
191
+ address: typeof RunnerAddress;
192
+ shards: Schema.Array$<Schema.brand<typeof Schema.Int, "ShardId">>;
193
+ }>, Schema.TaggedStruct<"RunnerRegistered", {
194
+ address: typeof RunnerAddress;
195
+ }>, Schema.TaggedStruct<"RunnerUnregistered", {
196
+ address: typeof RunnerAddress;
197
+ }>]>, typeof Schema.Never>, typeof Schema.Never, never> | Rpc.Rpc<"GetTime", Schema.Struct<{}>, typeof Schema.Number, typeof Schema.Never, never>>;
198
+ /**
199
+ * The messaging protocol for the `ShardManager`.
200
+ *
201
+ * @since 1.0.0
202
+ * @category Rpcs
203
+ */
204
+ export declare class Rpcs extends Rpcs_base {
38
205
  }
39
206
  /**
40
207
  * @since 1.0.0
41
- * @category layers
208
+ * @category models
209
+ */
210
+ export type ShardingEvent = Data.TaggedEnum<{
211
+ StreamStarted: {};
212
+ ShardsAssigned: {
213
+ address: RunnerAddress;
214
+ shards: ReadonlyArray<ShardId>;
215
+ };
216
+ ShardsUnassigned: {
217
+ address: RunnerAddress;
218
+ shards: ReadonlyArray<ShardId>;
219
+ };
220
+ RunnerRegistered: {
221
+ address: RunnerAddress;
222
+ };
223
+ RunnerUnregistered: {
224
+ address: RunnerAddress;
225
+ };
226
+ }>;
227
+ /**
228
+ * @since 1.0.0
229
+ * @category models
230
+ */
231
+ export declare const ShardingEvent: {
232
+ readonly StreamStarted: Data.Case.Constructor<{
233
+ readonly _tag: "StreamStarted";
234
+ }, "_tag">;
235
+ readonly ShardsAssigned: Data.Case.Constructor<{
236
+ readonly _tag: "ShardsAssigned";
237
+ readonly address: RunnerAddress;
238
+ readonly shards: ReadonlyArray<ShardId>;
239
+ }, "_tag">;
240
+ readonly ShardsUnassigned: Data.Case.Constructor<{
241
+ readonly _tag: "ShardsUnassigned";
242
+ readonly address: RunnerAddress;
243
+ readonly shards: ReadonlyArray<ShardId>;
244
+ }, "_tag">;
245
+ readonly RunnerRegistered: Data.Case.Constructor<{
246
+ readonly _tag: "RunnerRegistered";
247
+ readonly address: RunnerAddress;
248
+ }, "_tag">;
249
+ readonly RunnerUnregistered: Data.Case.Constructor<{
250
+ readonly _tag: "RunnerUnregistered";
251
+ readonly address: RunnerAddress;
252
+ }, "_tag">;
253
+ readonly $is: <Tag extends "StreamStarted" | "ShardsAssigned" | "ShardsUnassigned" | "RunnerRegistered" | "RunnerUnregistered">(tag: Tag) => (u: unknown) => u is Extract<{
254
+ readonly _tag: "StreamStarted";
255
+ }, {
256
+ readonly _tag: Tag;
257
+ }> | Extract<{
258
+ readonly _tag: "ShardsAssigned";
259
+ readonly address: RunnerAddress;
260
+ readonly shards: ReadonlyArray<ShardId>;
261
+ }, {
262
+ readonly _tag: Tag;
263
+ }> | Extract<{
264
+ readonly _tag: "ShardsUnassigned";
265
+ readonly address: RunnerAddress;
266
+ readonly shards: ReadonlyArray<ShardId>;
267
+ }, {
268
+ readonly _tag: Tag;
269
+ }> | Extract<{
270
+ readonly _tag: "RunnerRegistered";
271
+ readonly address: RunnerAddress;
272
+ }, {
273
+ readonly _tag: Tag;
274
+ }> | Extract<{
275
+ readonly _tag: "RunnerUnregistered";
276
+ readonly address: RunnerAddress;
277
+ }, {
278
+ readonly _tag: Tag;
279
+ }>;
280
+ readonly $match: {
281
+ <Cases extends {
282
+ readonly StreamStarted: (args: {
283
+ readonly _tag: "StreamStarted";
284
+ }) => any;
285
+ readonly ShardsAssigned: (args: {
286
+ readonly _tag: "ShardsAssigned";
287
+ readonly address: RunnerAddress;
288
+ readonly shards: ReadonlyArray<ShardId>;
289
+ }) => any;
290
+ readonly ShardsUnassigned: (args: {
291
+ readonly _tag: "ShardsUnassigned";
292
+ readonly address: RunnerAddress;
293
+ readonly shards: ReadonlyArray<ShardId>;
294
+ }) => any;
295
+ readonly RunnerRegistered: (args: {
296
+ readonly _tag: "RunnerRegistered";
297
+ readonly address: RunnerAddress;
298
+ }) => any;
299
+ readonly RunnerUnregistered: (args: {
300
+ readonly _tag: "RunnerUnregistered";
301
+ readonly address: RunnerAddress;
302
+ }) => any;
303
+ }>(cases: Cases): (value: {
304
+ readonly _tag: "StreamStarted";
305
+ } | {
306
+ readonly _tag: "ShardsAssigned";
307
+ readonly address: RunnerAddress;
308
+ readonly shards: ReadonlyArray<ShardId>;
309
+ } | {
310
+ readonly _tag: "ShardsUnassigned";
311
+ readonly address: RunnerAddress;
312
+ readonly shards: ReadonlyArray<ShardId>;
313
+ } | {
314
+ readonly _tag: "RunnerRegistered";
315
+ readonly address: RunnerAddress;
316
+ } | {
317
+ readonly _tag: "RunnerUnregistered";
318
+ readonly address: RunnerAddress;
319
+ }) => import("effect/Unify").Unify<ReturnType<Cases["StreamStarted" | "ShardsAssigned" | "ShardsUnassigned" | "RunnerRegistered" | "RunnerUnregistered"]>>;
320
+ <Cases extends {
321
+ readonly StreamStarted: (args: {
322
+ readonly _tag: "StreamStarted";
323
+ }) => any;
324
+ readonly ShardsAssigned: (args: {
325
+ readonly _tag: "ShardsAssigned";
326
+ readonly address: RunnerAddress;
327
+ readonly shards: ReadonlyArray<ShardId>;
328
+ }) => any;
329
+ readonly ShardsUnassigned: (args: {
330
+ readonly _tag: "ShardsUnassigned";
331
+ readonly address: RunnerAddress;
332
+ readonly shards: ReadonlyArray<ShardId>;
333
+ }) => any;
334
+ readonly RunnerRegistered: (args: {
335
+ readonly _tag: "RunnerRegistered";
336
+ readonly address: RunnerAddress;
337
+ }) => any;
338
+ readonly RunnerUnregistered: (args: {
339
+ readonly _tag: "RunnerUnregistered";
340
+ readonly address: RunnerAddress;
341
+ }) => any;
342
+ }>(value: {
343
+ readonly _tag: "StreamStarted";
344
+ } | {
345
+ readonly _tag: "ShardsAssigned";
346
+ readonly address: RunnerAddress;
347
+ readonly shards: ReadonlyArray<ShardId>;
348
+ } | {
349
+ readonly _tag: "ShardsUnassigned";
350
+ readonly address: RunnerAddress;
351
+ readonly shards: ReadonlyArray<ShardId>;
352
+ } | {
353
+ readonly _tag: "RunnerRegistered";
354
+ readonly address: RunnerAddress;
355
+ } | {
356
+ readonly _tag: "RunnerUnregistered";
357
+ readonly address: RunnerAddress;
358
+ }, cases: Cases): import("effect/Unify").Unify<ReturnType<Cases["StreamStarted" | "ShardsAssigned" | "ShardsUnassigned" | "RunnerRegistered" | "RunnerUnregistered"]>>;
359
+ };
360
+ };
361
+ /**
362
+ * @since 1.0.0
363
+ * @category Client
364
+ */
365
+ export declare const makeClientLocal: Effect.Effect<{
366
+ /**
367
+ * Register a new runner with the cluster.
368
+ */
369
+ readonly register: (address: RunnerAddress) => Effect.Effect<MachineId.MachineId>;
370
+ /**
371
+ * Unregister a runner from the cluster.
372
+ */
373
+ readonly unregister: (address: RunnerAddress) => Effect.Effect<void>;
374
+ /**
375
+ * Notify the cluster of an unhealthy runner.
376
+ */
377
+ readonly notifyUnhealthyRunner: (address: RunnerAddress) => Effect.Effect<void>;
378
+ /**
379
+ * Get all shard assignments.
380
+ */
381
+ readonly getAssignments: Effect.Effect<ReadonlyMap<ShardId, Option.Option<RunnerAddress>>>;
382
+ /**
383
+ * Get a stream of sharding events emit by the shard manager.
384
+ */
385
+ readonly shardingEvents: Effect.Effect<Mailbox.ReadonlyMailbox<ShardingEvent>, never, Scope>;
386
+ /**
387
+ * Get the current time on the shard manager.
388
+ */
389
+ readonly getTime: Effect.Effect<number>;
390
+ }, never, ShardingConfig>;
391
+ /**
392
+ * @since 1.0.0
393
+ * @category Client
394
+ */
395
+ export declare const makeClientRpc: Effect.Effect<ShardManagerClient["Type"], never, ShardingConfig | RpcClient.Protocol | Scope>;
396
+ /**
397
+ * @since 1.0.0
398
+ * @category Client
399
+ */
400
+ export declare const layerClientLocal: Layer.Layer<ShardManagerClient, never, ShardingConfig>;
401
+ /**
402
+ * @since 1.0.0
403
+ * @category Client
404
+ */
405
+ export declare const layerClientRpc: Layer.Layer<ShardManagerClient, never, ShardingConfig | RpcClientProtocol>;
406
+ /**
407
+ * @since 1.0.0
408
+ * @category Constructors
409
+ */
410
+ export declare const make: Effect.Effect<{
411
+ /**
412
+ * Get all shard assignments.
413
+ */
414
+ readonly getAssignments: Effect.Effect<ReadonlyMap<ShardId, Option.Option<RunnerAddress>>>;
415
+ /**
416
+ * Get a stream of sharding events emit by the shard manager.
417
+ */
418
+ readonly shardingEvents: Effect.Effect<Queue.Dequeue<ShardingEvent>, never, Scope>;
419
+ /**
420
+ * Register a new runner with the cluster.
421
+ */
422
+ readonly register: (runner: Runner) => Effect.Effect<MachineId.MachineId>;
423
+ /**
424
+ * Unregister a runner from the cluster.
425
+ */
426
+ readonly unregister: (address: RunnerAddress) => Effect.Effect<void>;
427
+ /**
428
+ * Rebalance shards assigned to runners within the cluster.
429
+ */
430
+ readonly rebalance: (immediate: boolean) => Effect.Effect<void>;
431
+ /**
432
+ * Notify the cluster of an unhealthy runner.
433
+ */
434
+ readonly notifyUnhealthyRunner: (address: RunnerAddress) => Effect.Effect<void>;
435
+ /**
436
+ * Check and repot on the health of all runners in the cluster.
437
+ */
438
+ readonly checkRunnerHealth: Effect.Effect<void>;
439
+ }, never, ShardingConfig | Scope | Runners | RunnerHealth | ShardStorage | Config>;
440
+ /**
441
+ * @since 1.0.0
442
+ * @category layer
443
+ */
444
+ export declare const layer: Layer.Layer<ShardManager, never, ShardStorage | RunnerHealth | Runners | Config | ShardingConfig>;
445
+ /**
446
+ * @since 1.0.0
447
+ * @category Server
448
+ */
449
+ export declare const layerServerHandlers: Layer.Layer<Rpc.Handler<"Register"> | Rpc.Handler<"Unregister"> | Rpc.Handler<"NotifyUnhealthyRunner"> | Rpc.Handler<"GetAssignments"> | Rpc.Handler<"ShardingEvents"> | Rpc.Handler<"GetTime">, never, ShardManager>;
450
+ /**
451
+ * @since 1.0.0
452
+ * @category Server
42
453
  */
43
- export declare const live: import("effect/Layer").Layer<ShardManager, never, import("./Pods.js").Pods | import("./Storage.js").Storage | import("./ManagerConfig.js").ManagerConfig | import("./PodsHealth.js").PodsHealth>;
454
+ export declare const layerServer: Layer.Layer<never, never, ShardManager | RpcServer.Protocol>;
455
+ export {};
44
456
  //# sourceMappingURL=ShardManager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ShardManager.d.ts","sourceRoot":"","sources":["../../src/ShardManager.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,KAAK,OAAO,MAAM,gBAAgB,CAAA;AAC9C,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAE5C,OAAO,KAAK,KAAK,GAAG,MAAM,UAAU,CAAA;AACpC,OAAO,KAAK,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAClD,OAAO,KAAK,KAAK,OAAO,MAAM,cAAc,CAAA;AAC5C,OAAO,KAAK,KAAK,aAAa,MAAM,oBAAoB,CAAA;AAExD;;;GAGG;AACH,eAAO,MAAM,kBAAkB,EAAE,OAAO,MAAoC,CAAA;AAE5E;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG,OAAO,kBAAkB,CAAA;AAE1D;;;GAGG;AACH,eAAO,MAAM,YAAY,0DAA2B,CAAA;AAEpD;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,CAAA;IACtE,QAAQ,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACxD,QAAQ,CAAC,UAAU,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,UAAU,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAC/E,QAAQ,CAAC,kBAAkB,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,UAAU,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACvF,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAChD,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;CAK/G;AAED;;;GAGG;AACH,eAAO,MAAM,IAAI,kMAAgB,CAAA"}
1
+ {"version":3,"file":"ShardManager.d.ts","sourceRoot":"","sources":["../../src/ShardManager.ts"],"names":[],"mappings":"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"}