@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 @@
1
+ {"version":3,"file":"RecipientBehaviourContext.d.ts","sourceRoot":"","sources":["../../src/RecipientBehaviourContext.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,KAAK,OAAO,MAAM,gBAAgB,CAAA;AAC9C,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAE5C,OAAO,KAAK,KAAK,OAAO,MAAM,cAAc,CAAA;AAC5C,OAAO,KAAK,KAAK,gBAAgB,MAAM,uBAAuB,CAAA;AAC9D,OAAO,KAAK,KAAK,aAAa,MAAM,oBAAoB,CAAA;AACxD,OAAO,KAAK,KAAK,OAAO,MAAM,cAAc,CAAA;AAE5C;;;GAGG;AACH,eAAO,MAAM,+BAA+B,EAAE,OAAO,MAAiD,CAAA;AAEtG;;;GAGG;AACH,MAAM,MAAM,+BAA+B,GAAG,OAAO,+BAA+B,CAAA;AAEpF;;;;;;GAMG;AACH,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,CAAC,+BAA+B,CAAC,EAAE,+BAA+B,CAAA;IAC3E,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,gBAAgB,CAAA;IAC5D,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAA;IACjC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IACxE,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;CAC3C;AAED;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB,EAAE,OAAO,CAAC,GAAG,CAAC,yBAAyB,EAAE,yBAAyB,CACjE,CAAA;AAEvC;;;;;GAKG;AACH,eAAO,MAAM,IAAI,EAAE,CACjB,IAAI,EAAE,IAAI,CAAC,yBAAyB,EAAE,OAAO,+BAA+B,CAAC,KAC1E,yBAAyC,CAAA;AAE9C;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,yBAAyB,CAAqB,CAAA;AAElG;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,KAAK,EAAE,yBAAyB,CACrF,CAAA;AAE3B;;;;;GAKG;AACH,eAAO,MAAM,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,yBAAyB,CAAoB,CAAA;AAEzG;;;;;GAKG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,CACvC,aAAa,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAChD,KAAK,EACL,yBAAyB,CACD,CAAA;AAE1B;;;;;GAKG;AACH,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,yBAAyB,CAAyB,CAAA"}
@@ -0,0 +1,96 @@
1
+ /**
2
+ * @since 1.0.0
3
+ */
4
+ import type * as Schema from "@effect/schema/Schema";
5
+ import * as Equal from "effect/Equal";
6
+ import * as Hash from "effect/Hash";
7
+ import type * as Message from "./Message.js";
8
+ /**
9
+ * @since 1.0.0
10
+ * @category symbols
11
+ */
12
+ export declare const RecipientTypeTypeId: unique symbol;
13
+ declare const EntityType_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => Readonly<A> & {
14
+ readonly _tag: "EntityType";
15
+ };
16
+ /**
17
+ * An EntityType is a RecipientType that is ensured to be alive only on a single Pod at a time.
18
+ *
19
+ * @since 1.0.0
20
+ * @category models
21
+ */
22
+ export declare class EntityType<Msg extends Message.Message.Any> extends EntityType_base<{
23
+ readonly name: string;
24
+ readonly schema: Schema.Schema<Msg, unknown>;
25
+ }> {
26
+ /**
27
+ * @since 1.0.0
28
+ */
29
+ readonly [RecipientTypeTypeId]: symbol;
30
+ /**
31
+ * @since 1.0.0
32
+ */
33
+ [Hash.symbol](): number;
34
+ /**
35
+ * @since 1.0.0
36
+ */
37
+ [Equal.symbol](this: TopicType<Msg>, that: Equal.Equal): boolean;
38
+ }
39
+ declare const TopicType_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => Readonly<A> & {
40
+ readonly _tag: "TopicType";
41
+ };
42
+ /**
43
+ * A TopicType can live on multiple Pods at the same time.
44
+ *
45
+ * @since 1.0.0
46
+ * @category models
47
+ */
48
+ export declare class TopicType<Msg extends Message.Message.Any> extends TopicType_base<{
49
+ readonly name: string;
50
+ readonly schema: Schema.Schema<Msg, unknown>;
51
+ }> {
52
+ /**
53
+ * @since 1.0.0
54
+ */
55
+ readonly [RecipientTypeTypeId]: symbol;
56
+ /**
57
+ * @since 1.0.0
58
+ */
59
+ [Hash.symbol](): number;
60
+ /**
61
+ * @since 1.0.0
62
+ */
63
+ [Equal.symbol](this: EntityType<Msg>, that: Equal.Equal): boolean;
64
+ }
65
+ /**
66
+ * A RecipientType is basically a pointer to a logical grouping of multiple enties having the same RecipientBehaviour.
67
+ * This value is required to be able to message with an entity/topic since it holds the Schema for the messages over the wire.
68
+ * Without the schema, you cannot ensure that the messages sent are what the receiver expects.
69
+ * Ideally, you can share this definition between the caller and the receiver.
70
+ *
71
+ * @since 1.0.0
72
+ * @category models
73
+ */
74
+ export type RecipientType<Msg extends Message.Message.Any> = EntityType<Msg> | TopicType<Msg>;
75
+ /**
76
+ * Ensure that given value is a RecipientType
77
+ * @since 1.0.0
78
+ * @category constructors
79
+ */
80
+ export declare function isRecipientType<A extends Message.Message.Any>(value: unknown): value is RecipientType<A>;
81
+ /**
82
+ * Given a name and a schema for the protocol, constructs an EntityType.
83
+ *
84
+ * @since 1.0.0
85
+ * @category constructors
86
+ */
87
+ export declare function makeEntityType<Msg extends Message.Message.Any, I>(name: string, schema: Schema.Schema<Msg, I>): EntityType<Msg>;
88
+ /**
89
+ * Given a name and a schema for the protocol, constructs an TopicType.
90
+ *
91
+ * @since 1.0.0
92
+ * @category constructors
93
+ */
94
+ export declare function makeTopicType<Msg extends Message.Message.Any, I>(name: string, schema: Schema.Schema<Msg, I>): TopicType<Msg>;
95
+ export {};
96
+ //# sourceMappingURL=RecipientType.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RecipientType.d.ts","sourceRoot":"","sources":["../../src/RecipientType.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,KAAK,MAAM,MAAM,uBAAuB,CAAA;AAEpD,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,IAAI,MAAM,aAAa,CAAA;AACnC,OAAO,KAAK,KAAK,OAAO,MAAM,cAAc,CAAA;AAK5C;;;GAGG;AACH,eAAO,MAAM,mBAAmB,EAAE,OAAO,MAA2C,CAAA;;;;AAEpF;;;;;GAKG;AACH,qBAAa,UAAU,CAAC,GAAG,SAAS,OAAO,CAAC,OAAO,CAAC,GAAG,CAAE,SAAQ,gBAA+B;IAC9F,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;CAC7C,CAAC;IACA;;OAEG;IACH,QAAQ,CAAC,CAAC,mBAAmB,CAAC,SAAuB;IAErD;;OAEG;IACH,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,MAAM;IAIvB;;OAEG;IACH,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,GAAG,OAAO;CAMjE;;;;AAED;;;;;GAKG;AACH,qBAAa,SAAS,CAAC,GAAG,SAAS,OAAO,CAAC,OAAO,CAAC,GAAG,CAAE,SAAQ,eAA8B;IAC5F,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;CAC7C,CAAC;IACA;;OAEG;IACH,QAAQ,CAAC,CAAC,mBAAmB,CAAC,SAAuB;IAErD;;OAEG;IACH,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,MAAM;IAIvB;;OAEG;IACH,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,GAAG,OAAO;CAMlE;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,aAAa,CAAC,GAAG,SAAS,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,CAAA;AAE7F;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,CAAC,SAAS,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,aAAa,CAAC,CAAC,CAAC,CAGxG;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,GAAG,SAAS,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAC/D,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,GAC5B,UAAU,CAAC,GAAG,CAAC,CAEjB;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,GAAG,SAAS,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAC9D,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,GAC5B,SAAS,CAAC,GAAG,CAAC,CAEhB"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * @since 1.0.0
3
+ */
4
+ import type * as Schema from "@effect/schema/Schema";
5
+ import type * as Context from "effect/Context";
6
+ import type * as Effect from "effect/Effect";
7
+ import type * as Layer from "effect/Layer";
8
+ import type * as SerializedMessage from "./SerializedMessage.js";
9
+ import type * as ShardingException from "./ShardingException.js";
10
+ /**
11
+ * @since 1.0.0
12
+ * @category symbols
13
+ */
14
+ export declare const SerializationTypeId: unique symbol;
15
+ /**
16
+ * @since 1.0.0
17
+ * @category symbols
18
+ */
19
+ export type SerializationTypeId = typeof SerializationTypeId;
20
+ /**
21
+ * An interface to serialize user messages that will be sent between pods.
22
+ * @since 1.0.0
23
+ * @category models
24
+ */
25
+ export interface Serialization {
26
+ /**
27
+ * @since 1.0.0
28
+ */
29
+ readonly [SerializationTypeId]: SerializationTypeId;
30
+ /**
31
+ * Transforms the given message into binary
32
+ * @since 1.0.0
33
+ */
34
+ readonly encode: <A, I>(schema: Schema.Schema<A, I>, message: A) => Effect.Effect<SerializedMessage.SerializedMessage, ShardingException.SerializationException>;
35
+ /**
36
+ * Transform binary back into the given type
37
+ * @since 1.0.0
38
+ */
39
+ readonly decode: <A, I>(schema: Schema.Schema<A, I>, bytes: SerializedMessage.SerializedMessage) => Effect.Effect<A, ShardingException.SerializationException>;
40
+ }
41
+ /**
42
+ * @since 1.0.0
43
+ * @category context
44
+ */
45
+ export declare const Serialization: Context.Tag<Serialization, Serialization>;
46
+ /**
47
+ * @since 1.0.0
48
+ * @category constructors
49
+ */
50
+ export declare const make: (args: Omit<Serialization, typeof SerializationTypeId>) => Serialization;
51
+ /**
52
+ * A layer that uses JSON serialization for encoding and decoding messages.
53
+ * This is useful for testing and not recommended to use in production.
54
+ * @since 1.0.0
55
+ * @category layers
56
+ */
57
+ export declare const json: Layer.Layer<Serialization>;
58
+ //# sourceMappingURL=Serialization.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Serialization.d.ts","sourceRoot":"","sources":["../../src/Serialization.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,KAAK,MAAM,MAAM,uBAAuB,CAAA;AACpD,OAAO,KAAK,KAAK,OAAO,MAAM,gBAAgB,CAAA;AAC9C,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAE1C,OAAO,KAAK,KAAK,iBAAiB,MAAM,wBAAwB,CAAA;AAChE,OAAO,KAAK,KAAK,iBAAiB,MAAM,wBAAwB,CAAA;AAEhE;;;GAGG;AACH,eAAO,MAAM,mBAAmB,EAAE,OAAO,MAAqC,CAAA;AAE9E;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG,OAAO,mBAAmB,CAAA;AAE5D;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,QAAQ,CAAC,CAAC,mBAAmB,CAAC,EAAE,mBAAmB,CAAA;IAEnD;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EACpB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAC3B,OAAO,EAAE,CAAC,KACP,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,sBAAsB,CAAC,CAAA;IAEjG;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EACpB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAC3B,KAAK,EAAE,iBAAiB,CAAC,iBAAiB,KACvC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,iBAAiB,CAAC,sBAAsB,CAAC,CAAA;CAChE;AAED;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,aAAa,CAA6B,CAAA;AAEjG;;;GAGG;AACH,eAAO,MAAM,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,mBAAmB,CAAC,KAAK,aAA6B,CAAA;AAE3G;;;;;GAKG;AACH,eAAO,MAAM,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,aAAa,CAAiB,CAAA"}
@@ -0,0 +1,87 @@
1
+ /**
2
+ * @since 1.0.0
3
+ */
4
+ import * as Schema from "@effect/schema/Schema";
5
+ import * as Serializable from "@effect/schema/Serializable";
6
+ import * as PrimaryKey from "effect/PrimaryKey";
7
+ import * as RecipientAddress from "./RecipientAddress.js";
8
+ import * as SerializedMessage from "./SerializedMessage.js";
9
+ /**
10
+ * @since 1.0.0
11
+ * @category symbols
12
+ */
13
+ export declare const SerializedEnvelopeTypeId: unique symbol;
14
+ /**
15
+ * @since 1.0.0
16
+ * @category symbols
17
+ */
18
+ export type SerializedEnvelopeTypeId = typeof SerializedEnvelopeTypeId;
19
+ declare const SerializedEnvelope_base: Schema.Class<SerializedEnvelope, {
20
+ [SerializedEnvelopeTypeId]: Schema.PropertySignature<":", typeof SerializedEnvelopeTypeId, "@effect/cluster/SerializedEnvelope", ":", "@effect/cluster/SerializedEnvelope", false, never>;
21
+ recipientAddress: typeof RecipientAddress.RecipientAddress;
22
+ messageId: typeof Schema.String;
23
+ body: Schema.Schema<SerializedMessage.SerializedMessage, SerializedMessage.SerializedMessage.Encoded, never>;
24
+ }, Schema.Struct.Encoded<{
25
+ [SerializedEnvelopeTypeId]: Schema.PropertySignature<":", typeof SerializedEnvelopeTypeId, "@effect/cluster/SerializedEnvelope", ":", "@effect/cluster/SerializedEnvelope", false, never>;
26
+ recipientAddress: typeof RecipientAddress.RecipientAddress;
27
+ messageId: typeof Schema.String;
28
+ body: Schema.Schema<SerializedMessage.SerializedMessage, SerializedMessage.SerializedMessage.Encoded, never>;
29
+ }>, never, {
30
+ readonly recipientAddress: RecipientAddress.RecipientAddress;
31
+ } & {
32
+ readonly [SerializedEnvelopeTypeId]: typeof SerializedEnvelopeTypeId;
33
+ } & {
34
+ readonly messageId: string;
35
+ } & {
36
+ readonly body: SerializedMessage.SerializedMessage;
37
+ }, {}, {}>;
38
+ /**
39
+ * A SerializedEnvelope is the message that goes over the wire between pods.
40
+ * Inside the Envelope, you have the encoded messages, plus some informations on where it should be routed to.
41
+ *
42
+ * @since 1.0.0
43
+ * @category models
44
+ */
45
+ export declare class SerializedEnvelope extends SerializedEnvelope_base {
46
+ get [Serializable.symbol](): Function;
47
+ get [Serializable.symbolResult](): {
48
+ Success: typeof Schema.Void;
49
+ Failure: typeof Schema.Never;
50
+ };
51
+ get [PrimaryKey.symbol](): string;
52
+ }
53
+ /**
54
+ * @since 1.0.0
55
+ * @category models
56
+ */
57
+ export declare namespace SerializedEnvelope {
58
+ /**
59
+ * @since 1.0.0
60
+ * @category models
61
+ */
62
+ interface Encoded extends Schema.Schema.Encoded<typeof SerializedEnvelope> {
63
+ }
64
+ }
65
+ /**
66
+ * Construct a new `SerializedEnvelope`
67
+ *
68
+ * @since 1.0.0
69
+ * @category constructors
70
+ */
71
+ export declare function make(recipientAddress: RecipientAddress.RecipientAddress, messageId: string, body: SerializedMessage.SerializedMessage): SerializedEnvelope;
72
+ /**
73
+ * Ensures that the given value is a SerializedEnvelope.
74
+ *
75
+ * @since 1.0.0
76
+ * @category utils
77
+ */
78
+ export declare function isSerializedEnvelope(value: unknown): value is SerializedEnvelope;
79
+ /**
80
+ * This is the schema for a value.
81
+ *
82
+ * @since 1.0.0
83
+ * @category schema
84
+ */
85
+ export declare const schema: Schema.Schema<SerializedEnvelope, SerializedEnvelope.Encoded, never>;
86
+ export {};
87
+ //# sourceMappingURL=SerializedEnvelope.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SerializedEnvelope.d.ts","sourceRoot":"","sources":["../../src/SerializedEnvelope.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAA;AAC/C,OAAO,KAAK,YAAY,MAAM,6BAA6B,CAAA;AAC3D,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAA;AAE/C,OAAO,KAAK,gBAAgB,MAAM,uBAAuB,CAAA;AACzD,OAAO,KAAK,iBAAiB,MAAM,wBAAwB,CAAA;AAK3D;;;GAGG;AACH,eAAO,MAAM,wBAAwB,EAAE,OAAO,MAAgD,CAAA;AAK9F;;;GAGG;AACH,MAAM,MAAM,wBAAwB,GAAG,OAAO,wBAAwB,CAAA;;;;;;;;;;;;;;;;;;;;AAEtE;;;;;;GAMG;AACH,qBAAa,kBAAmB,SAAQ,uBAOtC;IACA,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,aAExB;IACD,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;;;MAE9B;IACD,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,WAEtB;CACF;AAED;;;GAGG;AACH,yBAAiB,kBAAkB,CAAC;IAClC;;;OAGG;IACH,UAAiB,OAAQ,SAAQ,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,kBAAkB,CAAC;KAAG;CACrF;AAED;;;;;GAKG;AACH,wBAAgB,IAAI,CAClB,gBAAgB,EAAE,gBAAgB,CAAC,gBAAgB,EACnD,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,iBAAiB,CAAC,iBAAiB,GACxC,kBAAkB,CAOpB;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,kBAAkB,CAOhF;AAED;;;;;GAKG;AACH,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,OAAO,EAAE,KAAK,CAEvF,CAAA"}
@@ -0,0 +1,66 @@
1
+ /**
2
+ * @since 1.0.0
3
+ */
4
+ import * as Schema from "@effect/schema/Schema";
5
+ /**
6
+ * @since 1.0.0
7
+ * @category symbols
8
+ */
9
+ export declare const SerializedMessageTypeId: unique symbol;
10
+ /**
11
+ * @since 1.0.0
12
+ * @category symbols
13
+ */
14
+ export type SerializedMessageTypeId = typeof SerializedMessageTypeId;
15
+ declare const SerializedMessage_base: Schema.Class<SerializedMessage, {
16
+ [SerializedMessageTypeId]: Schema.PropertySignature<":", typeof SerializedMessageTypeId, "@effect/cluster/SerializedMessage", ":", "@effect/cluster/SerializedMessage", false, never>;
17
+ value: typeof Schema.String;
18
+ }, Schema.Struct.Encoded<{
19
+ [SerializedMessageTypeId]: Schema.PropertySignature<":", typeof SerializedMessageTypeId, "@effect/cluster/SerializedMessage", ":", "@effect/cluster/SerializedMessage", false, never>;
20
+ value: typeof Schema.String;
21
+ }>, never, {
22
+ readonly [SerializedMessageTypeId]: typeof SerializedMessageTypeId;
23
+ } & {
24
+ readonly value: string;
25
+ }, {}, {}>;
26
+ /**
27
+ * Represents a Message that has been serialized.
28
+ *
29
+ * @since 1.0.0
30
+ * @category models
31
+ */
32
+ export declare class SerializedMessage extends SerializedMessage_base {
33
+ }
34
+ /**
35
+ * @since 1.0.0
36
+ * @category models
37
+ */
38
+ export declare namespace SerializedMessage {
39
+ /**
40
+ * @since 1.0.0
41
+ * @category models
42
+ */
43
+ interface Encoded extends Schema.Schema.Encoded<typeof SerializedMessage> {
44
+ }
45
+ }
46
+ /**
47
+ * Construct a new `SerializedMessage` from its internal string value.
48
+ *
49
+ * @since 1.0.0
50
+ * @category constructors
51
+ */
52
+ export declare function make(value: string): SerializedMessage;
53
+ /**
54
+ * @since 1.0.0
55
+ * @category utils
56
+ */
57
+ export declare function isSerializedMessage(value: unknown): value is SerializedMessage;
58
+ /**
59
+ * This is the schema for a value.
60
+ *
61
+ * @since 1.0.0
62
+ * @category schema
63
+ */
64
+ export declare const schema: Schema.Schema<SerializedMessage, SerializedMessage.Encoded>;
65
+ export {};
66
+ //# sourceMappingURL=SerializedMessage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SerializedMessage.d.ts","sourceRoot":"","sources":["../../src/SerializedMessage.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAA;AAM/C;;;GAGG;AACH,eAAO,MAAM,uBAAuB,EAAE,OAAO,MAA+C,CAAA;AAE5F;;;GAGG;AACH,MAAM,MAAM,uBAAuB,GAAG,OAAO,uBAAuB,CAAA;;;;;;;;;;;;AAKpE;;;;;GAKG;AACH,qBAAa,iBAAkB,SAAQ,sBAKrC;CAAG;AAEL;;;GAGG;AACH,yBAAiB,iBAAiB,CAAC;IACjC;;;OAGG;IACH,UAAiB,OAAQ,SAAQ,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,iBAAiB,CAAC;KAAG;CACpF;AAED;;;;;GAKG;AACH,wBAAgB,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,iBAAiB,CAErD;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,iBAAiB,CAO9E;AAED;;;;;GAKG;AACH,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,MAAM,CAChC,iBAAiB,EACjB,iBAAiB,CAAC,OAAO,CACW,CAAA"}
@@ -0,0 +1,70 @@
1
+ /**
2
+ * @since 1.0.0
3
+ */
4
+ import * as Schema from "@effect/schema/Schema";
5
+ /**
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
33
+ */
34
+ export declare class ShardId extends ShardId_base {
35
+ /**
36
+ * @since 1.0.0
37
+ */
38
+ toString(): string;
39
+ }
40
+ /**
41
+ * @since 1.0.0
42
+ * @category models
43
+ */
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;
62
+ /**
63
+ * This is the schema for a ShardId.
64
+ *
65
+ * @since 1.0.0
66
+ * @category schema
67
+ */
68
+ export declare const schema: Schema.Schema<ShardId, ShardId.Encoded>;
69
+ export {};
70
+ //# sourceMappingURL=ShardId.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ShardId.d.ts","sourceRoot":"","sources":["../../src/ShardId.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAA;AAM/C;;;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"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * @since 1.0.0
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";
12
+ /**
13
+ * @since 1.0.0
14
+ * @category symbols
15
+ */
16
+ export declare const ShardManagerTypeId: unique symbol;
17
+ /**
18
+ * @since 1.0.0
19
+ * @category symbols
20
+ */
21
+ export type ShardManagerTypeId = typeof ShardManagerTypeId;
22
+ /**
23
+ * @since 1.0.0
24
+ * @category context
25
+ */
26
+ export declare const ShardManager: import("effect/Context").Tag<ShardManager, ShardManager>;
27
+ /**
28
+ * @since 1.0.0
29
+ * @category models
30
+ */
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>>>;
38
+ }
39
+ /**
40
+ * @since 1.0.0
41
+ * @category layers
42
+ */
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>;
44
+ //# sourceMappingURL=ShardManager.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * @since 1.0.0
3
+ */
4
+ import type * as Context from "effect/Context";
5
+ import type * as Effect from "effect/Effect";
6
+ import type * as HashMap from "effect/HashMap";
7
+ import type * as Layer from "effect/Layer";
8
+ import type * as Option from "effect/Option";
9
+ import type * as PodAddress from "./PodAddress.js";
10
+ import type * as ShardId from "./ShardId.js";
11
+ import type * as ShardingConfig from "./ShardingConfig.js";
12
+ /**
13
+ * @since 1.0.0
14
+ * @category symbols
15
+ */
16
+ export declare const ShardManagerClientTypeId: unique symbol;
17
+ /**
18
+ * @since 1.0.0
19
+ * @category models
20
+ */
21
+ export type ShardManagerClientTypeId = typeof ShardManagerClientTypeId;
22
+ /**
23
+ * ShardManagerClient provides the methods exposed by the ShardManager and called by the Pod.
24
+ *
25
+ * @since 1.0.0
26
+ * @category models
27
+ */
28
+ export interface ShardManagerClient {
29
+ readonly [ShardManagerClientTypeId]: ShardManagerClientTypeId;
30
+ readonly register: (podAddress: PodAddress.PodAddress) => Effect.Effect<void>;
31
+ readonly unregister: (podAddress: PodAddress.PodAddress) => Effect.Effect<void>;
32
+ readonly notifyUnhealthyPod: (podAddress: PodAddress.PodAddress) => Effect.Effect<void>;
33
+ readonly getAssignments: Effect.Effect<HashMap.HashMap<ShardId.ShardId, Option.Option<PodAddress.PodAddress>>>;
34
+ }
35
+ /**
36
+ * @since 1.0.0
37
+ * @category constructors
38
+ */
39
+ export declare const make: (args: Omit<ShardManagerClient, typeof ShardManagerClientTypeId>) => ShardManagerClient;
40
+ /**
41
+ * @since 1.0.0
42
+ * @category context
43
+ */
44
+ export declare const ShardManagerClient: Context.Tag<ShardManagerClient, ShardManagerClient>;
45
+ /**
46
+ * @since 1.0.0
47
+ * @category layers
48
+ */
49
+ export declare const local: Layer.Layer<ShardManagerClient, never, ShardingConfig.ShardingConfig>;
50
+ //# sourceMappingURL=ShardManagerClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ShardManagerClient.d.ts","sourceRoot":"","sources":["../../src/ShardManagerClient.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,KAAK,OAAO,MAAM,gBAAgB,CAAA;AAC9C,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,KAAK,OAAO,MAAM,gBAAgB,CAAA;AAC9C,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAE5C,OAAO,KAAK,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAClD,OAAO,KAAK,KAAK,OAAO,MAAM,cAAc,CAAA;AAC5C,OAAO,KAAK,KAAK,cAAc,MAAM,qBAAqB,CAAA;AAE1D;;;GAGG;AACH,eAAO,MAAM,wBAAwB,EAAE,OAAO,MAA0C,CAAA;AAExF;;;GAGG;AACH,MAAM,MAAM,wBAAwB,GAAG,OAAO,wBAAwB,CAAA;AAEtE;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,CAAC,wBAAwB,CAAC,EAAE,wBAAwB,CAAA;IAC7D,QAAQ,CAAC,QAAQ,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,UAAU,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAC7E,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,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;CAC/G;AAED;;;GAGG;AACH,eAAO,MAAM,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,kBAAkB,EAAE,OAAO,wBAAwB,CAAC,KAAK,kBACzE,CAAA;AAEf;;;GAGG;AACH,eAAO,MAAM,kBAAkB,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,kBAAkB,CAAkC,CAAA;AAErH;;;GAGG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,kBAAkB,EAAE,KAAK,EAAE,cAAc,CAAC,cAAc,CAAkB,CAAA"}
@@ -0,0 +1,146 @@
1
+ /**
2
+ * @since 1.0.0
3
+ */
4
+ import type * as Effect from "effect/Effect";
5
+ import type * as HashSet from "effect/HashSet";
6
+ import type * as Scope from "effect/Scope";
7
+ import type * as Stream from "effect/Stream";
8
+ import type { Broadcaster } from "./Broadcaster.js";
9
+ import type * as Message from "./Message.js";
10
+ import type * as MessageState from "./MessageState.js";
11
+ import type { Messenger } from "./Messenger.js";
12
+ import type * as PodAddress from "./PodAddress.js";
13
+ import type * as RecipientAddress from "./RecipientAddress.js";
14
+ import type * as RecipientBehaviour from "./RecipientBehaviour.js";
15
+ import type * as RecipientBehaviourContext from "./RecipientBehaviourContext.js";
16
+ import type * as RecipentType from "./RecipientType.js";
17
+ import type * as SerializedEnvelope from "./SerializedEnvelope.js";
18
+ import type * as SerializedMessage from "./SerializedMessage.js";
19
+ import type * as ShardId from "./ShardId.js";
20
+ import type * as ShardingException from "./ShardingException.js";
21
+ import type * as ShardingRegistrationEvent from "./ShardingRegistrationEvent.js";
22
+ /**
23
+ * @since 1.0.0
24
+ * @category symbols
25
+ */
26
+ export declare const ShardingTypeId: unique symbol;
27
+ /**
28
+ * @since 1.0.0
29
+ * @category symbols
30
+ */
31
+ export type ShardingTypeId = typeof ShardingTypeId;
32
+ /**
33
+ * @since 1.0.0
34
+ * @category models
35
+ */
36
+ export interface Sharding {
37
+ readonly [ShardingTypeId]: ShardingTypeId;
38
+ readonly register: Effect.Effect<void>;
39
+ readonly unregister: Effect.Effect<void>;
40
+ readonly messenger: <Msg extends Message.Message.Any>(entityType: RecipentType.EntityType<Msg>) => Messenger<Msg>;
41
+ readonly broadcaster: <Msg extends Message.Message.Any>(topicType: RecipentType.TopicType<Msg>) => Broadcaster<Msg>;
42
+ readonly isEntityOnLocalShards: (recipientAddress: RecipientAddress.RecipientAddress) => Effect.Effect<boolean>;
43
+ readonly isShuttingDown: Effect.Effect<boolean>;
44
+ readonly registerScoped: Effect.Effect<void, never, Scope.Scope>;
45
+ readonly registerEntity: <Msg extends Message.Message.Any>(entityType: RecipentType.EntityType<Msg>) => <R>(behaviour: RecipientBehaviour.RecipientBehaviour<Msg, R>, options?: RecipientBehaviour.EntityBehaviourOptions) => Effect.Effect<void, never, Exclude<R, RecipientBehaviourContext.RecipientBehaviourContext>>;
46
+ readonly registerTopic: <Msg extends Message.Message.Any>(topicType: RecipentType.TopicType<Msg>) => <R>(behaviour: RecipientBehaviour.RecipientBehaviour<Msg, R>, options?: RecipientBehaviour.EntityBehaviourOptions) => Effect.Effect<void, never, Exclude<R, RecipientBehaviourContext.RecipientBehaviourContext>>;
47
+ readonly getShardingRegistrationEvents: Stream.Stream<ShardingRegistrationEvent.ShardingRegistrationEvent>;
48
+ readonly registerSingleton: <R>(name: string, run: Effect.Effect<void, never, R>) => Effect.Effect<void, never, R>;
49
+ readonly assign: (shards: HashSet.HashSet<ShardId.ShardId>) => Effect.Effect<void>;
50
+ readonly unassign: (shards: HashSet.HashSet<ShardId.ShardId>) => Effect.Effect<void>;
51
+ readonly sendMessageToLocalEntityManagerWithoutRetries: (message: SerializedEnvelope.SerializedEnvelope) => Effect.Effect<MessageState.MessageState<SerializedMessage.SerializedMessage>, ShardingException.ShardingException>;
52
+ readonly getPods: Effect.Effect<HashSet.HashSet<PodAddress.PodAddress>>;
53
+ readonly getAssignedShardIds: Effect.Effect<HashSet.HashSet<ShardId.ShardId>>;
54
+ }
55
+ /**
56
+ * @since 1.0.0
57
+ * @category context
58
+ */
59
+ export declare const Tag: import("effect/Context").Tag<Sharding, Sharding>;
60
+ /**
61
+ * @since 1.0.0
62
+ * @category layers
63
+ */
64
+ export declare const live: import("effect/Layer").Layer<Sharding, never, import("./Serialization.js").Serialization | import("./Pods.js").Pods | import("./ShardingConfig.js").ShardingConfig | import("./ShardManagerClient.js").ShardManagerClient | import("./Storage.js").Storage>;
65
+ /**
66
+ * Notify the shard manager that shards can now be assigned to this pod.
67
+ *
68
+ * @since 1.0.0
69
+ * @category utils
70
+ */
71
+ export declare const register: Effect.Effect<void, never, Sharding>;
72
+ /**
73
+ * Notify the shard manager that shards must be unassigned from this pod.
74
+ *
75
+ * @since 1.0.0
76
+ * @category utils
77
+ */
78
+ export declare const unregister: Effect.Effect<void, never, Sharding>;
79
+ /**
80
+ * Same as `register`, but will automatically call `unregister` when the `Scope` is terminated.
81
+ *
82
+ * @since 1.0.0
83
+ * @category utils
84
+ */
85
+ export declare const registerScoped: Effect.Effect<void, never, Scope.Scope | Sharding>;
86
+ /**
87
+ * Start a computation that is guaranteed to run only on a single pod.
88
+ * Each pod should call `registerSingleton` but only a single pod will actually run it at any given time.
89
+ *
90
+ * @since 1.0.0
91
+ * @category utils
92
+ */
93
+ export declare const registerSingleton: <R>(name: string, run: Effect.Effect<void, never, R>) => Effect.Effect<void, never, Sharding | R>;
94
+ /**
95
+ * Register a new entity type, allowing pods to send messages to entities of this type.
96
+ *
97
+ * @since 1.0.0
98
+ * @category utils
99
+ */
100
+ export declare const registerEntity: <Msg extends Message.Message.Any>(entityType: RecipentType.EntityType<Msg>) => <R>(behavior: RecipientBehaviour.RecipientBehaviour<Msg, R>, options?: RecipientBehaviour.EntityBehaviourOptions | undefined) => Effect.Effect<void, never, Sharding | Exclude<R, RecipientBehaviourContext.RecipientBehaviourContext>>;
101
+ /**
102
+ * Register a new topic type, allowing pods to broadcast messages to subscribers.
103
+ *
104
+ * @since 1.0.0
105
+ * @category utils
106
+ */
107
+ export declare const registerTopic: <Msg extends Message.Message.Any>(topicType: RecipentType.TopicType<Msg>) => <R>(behavior: RecipientBehaviour.RecipientBehaviour<Msg, R>, options?: RecipientBehaviour.EntityBehaviourOptions | undefined) => Effect.Effect<void, never, Sharding | Exclude<R, RecipientBehaviourContext.RecipientBehaviourContext>>;
108
+ /**
109
+ * Get an object that allows sending messages to a given entity type.
110
+ * You can provide a custom send timeout to override the one globally defined.
111
+ *
112
+ * @since 1.0.0
113
+ * @category utils
114
+ */
115
+ export declare const messenger: <Msg extends Message.Message.Any>(entityType: RecipentType.EntityType<Msg>) => Effect.Effect<Messenger<Msg>, never, Sharding>;
116
+ /**
117
+ * Get an object that allows broadcasting messages to a given topic type.
118
+ * You can provide a custom send timeout to override the one globally defined.
119
+ *
120
+ * @since 1.0.0
121
+ * @category utils
122
+ */
123
+ export declare const broadcaster: <Msg extends Message.Message.Any>(topicType: RecipentType.TopicType<Msg>) => Effect.Effect<Broadcaster<Msg>, never, Sharding>;
124
+ /**
125
+ * Get the list of pods currently registered to the Shard Manager
126
+ *
127
+ * @since 1.0.0
128
+ * @category utils
129
+ */
130
+ export declare const getPods: Effect.Effect<HashSet.HashSet<PodAddress.PodAddress>, never, Sharding>;
131
+ /**
132
+ * Sends a raw message to the local entity manager without performing reties.
133
+ * Those are up to the caller.
134
+ *
135
+ * @since 1.0.0
136
+ * @category utils
137
+ */
138
+ export declare const sendMessageToLocalEntityManagerWithoutRetries: (message: SerializedEnvelope.SerializedEnvelope) => Effect.Effect<MessageState.MessageState<SerializedMessage.SerializedMessage>, ShardingException.ShardingException, Sharding>;
139
+ /**
140
+ * Gets the list of shardIds assigned to the current Pod
141
+ *
142
+ * @since 1.0.0
143
+ * @category utils
144
+ */
145
+ export declare const getAssignedShardIds: Effect.Effect<HashSet.HashSet<ShardId.ShardId>, never, Sharding>;
146
+ //# sourceMappingURL=Sharding.d.ts.map