@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.
- package/AtLeastOnce/package.json +6 -0
- package/AtLeastOnceStorage/package.json +6 -0
- package/Broadcaster/package.json +6 -0
- package/LICENSE +21 -0
- package/ManagerConfig/package.json +6 -0
- package/Message/package.json +6 -0
- package/MessageState/package.json +6 -0
- package/Messenger/package.json +6 -0
- package/Pod/package.json +6 -0
- package/PodAddress/package.json +6 -0
- package/Pods/package.json +6 -0
- package/PodsHealth/package.json +6 -0
- package/PoisonPill/package.json +6 -0
- package/README.md +3 -0
- package/RecipientAddress/package.json +6 -0
- package/RecipientBehaviour/package.json +6 -0
- package/RecipientBehaviourContext/package.json +6 -0
- package/RecipientType/package.json +6 -0
- package/Serialization/package.json +6 -0
- package/SerializedEnvelope/package.json +6 -0
- package/SerializedMessage/package.json +6 -0
- package/ShardId/package.json +6 -0
- package/ShardManager/package.json +6 -0
- package/ShardManagerClient/package.json +6 -0
- package/Sharding/package.json +6 -0
- package/ShardingConfig/package.json +6 -0
- package/ShardingEvent/package.json +6 -0
- package/ShardingException/package.json +6 -0
- package/ShardingRegistrationEvent/package.json +6 -0
- package/Storage/package.json +6 -0
- package/dist/cjs/AtLeastOnce.js +43 -0
- package/dist/cjs/AtLeastOnce.js.map +1 -0
- package/dist/cjs/AtLeastOnceStorage.js +48 -0
- package/dist/cjs/AtLeastOnceStorage.js.map +1 -0
- package/dist/cjs/Broadcaster.js +6 -0
- package/dist/cjs/Broadcaster.js.map +1 -0
- package/dist/cjs/ManagerConfig.js +57 -0
- package/dist/cjs/ManagerConfig.js.map +1 -0
- package/dist/cjs/Message.js +64 -0
- package/dist/cjs/Message.js.map +1 -0
- package/dist/cjs/MessageState.js +78 -0
- package/dist/cjs/MessageState.js.map +1 -0
- package/dist/cjs/Messenger.js +6 -0
- package/dist/cjs/Messenger.js.map +1 -0
- package/dist/cjs/Pod.js +101 -0
- package/dist/cjs/Pod.js.map +1 -0
- package/dist/cjs/PodAddress.js +100 -0
- package/dist/cjs/PodAddress.js.map +1 -0
- package/dist/cjs/Pods.js +58 -0
- package/dist/cjs/Pods.js.map +1 -0
- package/dist/cjs/PodsHealth.js +64 -0
- package/dist/cjs/PodsHealth.js.map +1 -0
- package/dist/cjs/PoisonPill.js +101 -0
- package/dist/cjs/PoisonPill.js.map +1 -0
- package/dist/cjs/RecipientAddress.js +102 -0
- package/dist/cjs/RecipientAddress.js.map +1 -0
- package/dist/cjs/RecipientBehaviour.js +61 -0
- package/dist/cjs/RecipientBehaviour.js.map +1 -0
- package/dist/cjs/RecipientBehaviourContext.js +87 -0
- package/dist/cjs/RecipientBehaviourContext.js.map +1 -0
- package/dist/cjs/RecipientType.js +142 -0
- package/dist/cjs/RecipientType.js.map +1 -0
- package/dist/cjs/Serialization.js +55 -0
- package/dist/cjs/Serialization.js.map +1 -0
- package/dist/cjs/SerializedEnvelope.js +111 -0
- package/dist/cjs/SerializedEnvelope.js.map +1 -0
- package/dist/cjs/SerializedMessage.js +87 -0
- package/dist/cjs/SerializedMessage.js.map +1 -0
- package/dist/cjs/ShardId.js +89 -0
- package/dist/cjs/ShardId.js.map +1 -0
- package/dist/cjs/ShardManager.js +48 -0
- package/dist/cjs/ShardManager.js.map +1 -0
- package/dist/cjs/ShardManagerClient.js +53 -0
- package/dist/cjs/ShardManagerClient.js.map +1 -0
- package/dist/cjs/Sharding.js +129 -0
- package/dist/cjs/Sharding.js.map +1 -0
- package/dist/cjs/ShardingConfig.js +64 -0
- package/dist/cjs/ShardingConfig.js.map +1 -0
- package/dist/cjs/ShardingEvent.js +72 -0
- package/dist/cjs/ShardingEvent.js.map +1 -0
- package/dist/cjs/ShardingException.js +130 -0
- package/dist/cjs/ShardingException.js.map +1 -0
- package/dist/cjs/ShardingRegistrationEvent.js +44 -0
- package/dist/cjs/ShardingRegistrationEvent.js.map +1 -0
- package/dist/cjs/Storage.js +63 -0
- package/dist/cjs/Storage.js.map +1 -0
- package/dist/cjs/index.js +88 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/internal/atLeastOnce.js +58 -0
- package/dist/cjs/internal/atLeastOnce.js.map +1 -0
- package/dist/cjs/internal/atLeastOnceStorage.js +186 -0
- package/dist/cjs/internal/atLeastOnceStorage.js.map +1 -0
- package/dist/cjs/internal/entityManager.js +191 -0
- package/dist/cjs/internal/entityManager.js.map +1 -0
- package/dist/cjs/internal/entityState.js +70 -0
- package/dist/cjs/internal/entityState.js.map +1 -0
- package/dist/cjs/internal/managerConfig.js +69 -0
- package/dist/cjs/internal/managerConfig.js.map +1 -0
- package/dist/cjs/internal/message.js +68 -0
- package/dist/cjs/internal/message.js.map +1 -0
- package/dist/cjs/internal/messageState.js +102 -0
- package/dist/cjs/internal/messageState.js.map +1 -0
- package/dist/cjs/internal/podWithMetadata.js +77 -0
- package/dist/cjs/internal/podWithMetadata.js.map +1 -0
- package/dist/cjs/internal/pods.js +58 -0
- package/dist/cjs/internal/pods.js.map +1 -0
- package/dist/cjs/internal/podsHealth.js +63 -0
- package/dist/cjs/internal/podsHealth.js.map +1 -0
- package/dist/cjs/internal/recipientBehaviour.js +75 -0
- package/dist/cjs/internal/recipientBehaviour.js.map +1 -0
- package/dist/cjs/internal/recipientBehaviourContext.js +59 -0
- package/dist/cjs/internal/recipientBehaviourContext.js.map +1 -0
- package/dist/cjs/internal/serialization.js +72 -0
- package/dist/cjs/internal/serialization.js.map +1 -0
- package/dist/cjs/internal/shardManager.js +291 -0
- package/dist/cjs/internal/shardManager.js.map +1 -0
- package/dist/cjs/internal/shardManagerClient.js +71 -0
- package/dist/cjs/internal/shardManagerClient.js.map +1 -0
- package/dist/cjs/internal/shardManagerState.js +67 -0
- package/dist/cjs/internal/shardManagerState.js.map +1 -0
- package/dist/cjs/internal/sharding.js +329 -0
- package/dist/cjs/internal/sharding.js.map +1 -0
- package/dist/cjs/internal/shardingConfig.js +79 -0
- package/dist/cjs/internal/shardingConfig.js.map +1 -0
- package/dist/cjs/internal/storage.js +75 -0
- package/dist/cjs/internal/storage.js.map +1 -0
- package/dist/cjs/internal/utils.js +92 -0
- package/dist/cjs/internal/utils.js.map +1 -0
- package/dist/dts/AtLeastOnce.d.ts +20 -0
- package/dist/dts/AtLeastOnce.d.ts.map +1 -0
- package/dist/dts/AtLeastOnceStorage.d.ts +75 -0
- package/dist/dts/AtLeastOnceStorage.d.ts.map +1 -0
- package/dist/dts/Broadcaster.d.ts +32 -0
- package/dist/dts/Broadcaster.d.ts.map +1 -0
- package/dist/dts/ManagerConfig.d.ts +61 -0
- package/dist/dts/ManagerConfig.d.ts.map +1 -0
- package/dist/dts/Message.d.ts +106 -0
- package/dist/dts/Message.d.ts.map +1 -0
- package/dist/dts/MessageState.d.ts +107 -0
- package/dist/dts/MessageState.d.ts.map +1 -0
- package/dist/dts/Messenger.d.ts +32 -0
- package/dist/dts/Messenger.d.ts.map +1 -0
- package/dist/dts/Pod.d.ts +81 -0
- package/dist/dts/Pod.d.ts.map +1 -0
- package/dist/dts/PodAddress.d.ts +80 -0
- package/dist/dts/PodAddress.d.ts.map +1 -0
- package/dist/dts/Pods.d.ts +78 -0
- package/dist/dts/Pods.d.ts.map +1 -0
- package/dist/dts/PodsHealth.d.ts +66 -0
- package/dist/dts/PodsHealth.d.ts.map +1 -0
- package/dist/dts/PoisonPill.d.ts +78 -0
- package/dist/dts/PoisonPill.d.ts.map +1 -0
- package/dist/dts/RecipientAddress.d.ts +57 -0
- package/dist/dts/RecipientAddress.d.ts.map +1 -0
- package/dist/dts/RecipientBehaviour.d.ts +72 -0
- package/dist/dts/RecipientBehaviour.d.ts.map +1 -0
- package/dist/dts/RecipientBehaviourContext.d.ts +83 -0
- package/dist/dts/RecipientBehaviourContext.d.ts.map +1 -0
- package/dist/dts/RecipientType.d.ts +96 -0
- package/dist/dts/RecipientType.d.ts.map +1 -0
- package/dist/dts/Serialization.d.ts +58 -0
- package/dist/dts/Serialization.d.ts.map +1 -0
- package/dist/dts/SerializedEnvelope.d.ts +87 -0
- package/dist/dts/SerializedEnvelope.d.ts.map +1 -0
- package/dist/dts/SerializedMessage.d.ts +66 -0
- package/dist/dts/SerializedMessage.d.ts.map +1 -0
- package/dist/dts/ShardId.d.ts +70 -0
- package/dist/dts/ShardId.d.ts.map +1 -0
- package/dist/dts/ShardManager.d.ts +44 -0
- package/dist/dts/ShardManager.d.ts.map +1 -0
- package/dist/dts/ShardManagerClient.d.ts +50 -0
- package/dist/dts/ShardManagerClient.d.ts.map +1 -0
- package/dist/dts/Sharding.d.ts +146 -0
- package/dist/dts/Sharding.d.ts.map +1 -0
- package/dist/dts/ShardingConfig.d.ts +69 -0
- package/dist/dts/ShardingConfig.d.ts.map +1 -0
- package/dist/dts/ShardingEvent.d.ts +90 -0
- package/dist/dts/ShardingEvent.d.ts.map +1 -0
- package/dist/dts/ShardingException.d.ts +125 -0
- package/dist/dts/ShardingException.d.ts.map +1 -0
- package/dist/dts/ShardingRegistrationEvent.d.ts +44 -0
- package/dist/dts/ShardingRegistrationEvent.d.ts.map +1 -0
- package/dist/dts/Storage.d.ts +78 -0
- package/dist/dts/Storage.d.ts.map +1 -0
- package/dist/dts/index.d.ts +113 -0
- package/dist/dts/index.d.ts.map +1 -0
- package/dist/dts/internal/atLeastOnce.d.ts +2 -0
- package/dist/dts/internal/atLeastOnce.d.ts.map +1 -0
- package/dist/dts/internal/atLeastOnceStorage.d.ts +2 -0
- package/dist/dts/internal/atLeastOnceStorage.d.ts.map +1 -0
- package/dist/dts/internal/entityManager.d.ts +2 -0
- package/dist/dts/internal/entityManager.d.ts.map +1 -0
- package/dist/dts/internal/entityState.d.ts +21 -0
- package/dist/dts/internal/entityState.d.ts.map +1 -0
- package/dist/dts/internal/managerConfig.d.ts +2 -0
- package/dist/dts/internal/managerConfig.d.ts.map +1 -0
- package/dist/dts/internal/message.d.ts +9 -0
- package/dist/dts/internal/message.d.ts.map +1 -0
- package/dist/dts/internal/messageState.d.ts +2 -0
- package/dist/dts/internal/messageState.d.ts.map +1 -0
- package/dist/dts/internal/podWithMetadata.d.ts +2 -0
- package/dist/dts/internal/podWithMetadata.d.ts.map +1 -0
- package/dist/dts/internal/pods.d.ts +2 -0
- package/dist/dts/internal/pods.d.ts.map +1 -0
- package/dist/dts/internal/podsHealth.d.ts +2 -0
- package/dist/dts/internal/podsHealth.d.ts.map +1 -0
- package/dist/dts/internal/recipientBehaviour.d.ts +2 -0
- package/dist/dts/internal/recipientBehaviour.d.ts.map +1 -0
- package/dist/dts/internal/recipientBehaviourContext.d.ts +2 -0
- package/dist/dts/internal/recipientBehaviourContext.d.ts.map +1 -0
- package/dist/dts/internal/serialization.d.ts +2 -0
- package/dist/dts/internal/serialization.d.ts.map +1 -0
- package/dist/dts/internal/shardManager.d.ts +12 -0
- package/dist/dts/internal/shardManager.d.ts.map +1 -0
- package/dist/dts/internal/shardManagerClient.d.ts +2 -0
- package/dist/dts/internal/shardManagerClient.d.ts.map +1 -0
- package/dist/dts/internal/shardManagerState.d.ts +26 -0
- package/dist/dts/internal/shardManagerState.d.ts.map +1 -0
- package/dist/dts/internal/sharding.d.ts +2 -0
- package/dist/dts/internal/sharding.d.ts.map +1 -0
- package/dist/dts/internal/shardingConfig.d.ts +2 -0
- package/dist/dts/internal/shardingConfig.d.ts.map +1 -0
- package/dist/dts/internal/storage.d.ts +2 -0
- package/dist/dts/internal/storage.d.ts.map +1 -0
- package/dist/dts/internal/utils.d.ts +2 -0
- package/dist/dts/internal/utils.d.ts.map +1 -0
- package/dist/esm/AtLeastOnce.js +12 -0
- package/dist/esm/AtLeastOnce.js.map +1 -0
- package/dist/esm/AtLeastOnceStorage.js +17 -0
- package/dist/esm/AtLeastOnceStorage.js.map +1 -0
- package/dist/esm/Broadcaster.js +2 -0
- package/dist/esm/Broadcaster.js.map +1 -0
- package/dist/esm/ManagerConfig.js +26 -0
- package/dist/esm/ManagerConfig.js.map +1 -0
- package/dist/esm/Message.js +33 -0
- package/dist/esm/Message.js.map +1 -0
- package/dist/esm/MessageState.js +47 -0
- package/dist/esm/MessageState.js.map +1 -0
- package/dist/esm/Messenger.js +2 -0
- package/dist/esm/Messenger.js.map +1 -0
- package/dist/esm/Pod.js +65 -0
- package/dist/esm/Pod.js.map +1 -0
- package/dist/esm/PodAddress.js +64 -0
- package/dist/esm/PodAddress.js.map +1 -0
- package/dist/esm/Pods.js +27 -0
- package/dist/esm/Pods.js.map +1 -0
- package/dist/esm/PodsHealth.js +33 -0
- package/dist/esm/PodsHealth.js.map +1 -0
- package/dist/esm/PoisonPill.js +65 -0
- package/dist/esm/PoisonPill.js.map +1 -0
- package/dist/esm/RecipientAddress.js +67 -0
- package/dist/esm/RecipientAddress.js.map +1 -0
- package/dist/esm/RecipientBehaviour.js +30 -0
- package/dist/esm/RecipientBehaviour.js.map +1 -0
- package/dist/esm/RecipientBehaviourContext.js +56 -0
- package/dist/esm/RecipientBehaviourContext.js.map +1 -0
- package/dist/esm/RecipientType.js +105 -0
- package/dist/esm/RecipientType.js.map +1 -0
- package/dist/esm/Serialization.js +24 -0
- package/dist/esm/Serialization.js.map +1 -0
- package/dist/esm/SerializedEnvelope.js +75 -0
- package/dist/esm/SerializedEnvelope.js.map +1 -0
- package/dist/esm/SerializedMessage.js +51 -0
- package/dist/esm/SerializedMessage.js.map +1 -0
- package/dist/esm/ShardId.js +54 -0
- package/dist/esm/ShardId.js.map +1 -0
- package/dist/esm/ShardManager.js +17 -0
- package/dist/esm/ShardManager.js.map +1 -0
- package/dist/esm/ShardManagerClient.js +22 -0
- package/dist/esm/ShardManagerClient.js.map +1 -0
- package/dist/esm/Sharding.js +98 -0
- package/dist/esm/Sharding.js.map +1 -0
- package/dist/esm/ShardingConfig.js +33 -0
- package/dist/esm/ShardingConfig.js.map +1 -0
- package/dist/esm/ShardingEvent.js +62 -0
- package/dist/esm/ShardingEvent.js.map +1 -0
- package/dist/esm/ShardingException.js +91 -0
- package/dist/esm/ShardingException.js.map +1 -0
- package/dist/esm/ShardingRegistrationEvent.js +36 -0
- package/dist/esm/ShardingRegistrationEvent.js.map +1 -0
- package/dist/esm/Storage.js +32 -0
- package/dist/esm/Storage.js.map +1 -0
- package/dist/esm/index.js +113 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/internal/atLeastOnce.js +26 -0
- package/dist/esm/internal/atLeastOnce.js.map +1 -0
- package/dist/esm/internal/atLeastOnceStorage.js +154 -0
- package/dist/esm/internal/atLeastOnceStorage.js.map +1 -0
- package/dist/esm/internal/entityManager.js +159 -0
- package/dist/esm/internal/entityManager.js.map +1 -0
- package/dist/esm/internal/entityState.js +35 -0
- package/dist/esm/internal/entityState.js.map +1 -0
- package/dist/esm/internal/managerConfig.js +38 -0
- package/dist/esm/internal/managerConfig.js.map +1 -0
- package/dist/esm/internal/message.js +32 -0
- package/dist/esm/internal/message.js.map +1 -0
- package/dist/esm/internal/messageState.js +66 -0
- package/dist/esm/internal/messageState.js.map +1 -0
- package/dist/esm/internal/podWithMetadata.js +41 -0
- package/dist/esm/internal/podWithMetadata.js.map +1 -0
- package/dist/esm/internal/pods.js +25 -0
- package/dist/esm/internal/pods.js.map +1 -0
- package/dist/esm/internal/podsHealth.js +30 -0
- package/dist/esm/internal/podsHealth.js.map +1 -0
- package/dist/esm/internal/recipientBehaviour.js +42 -0
- package/dist/esm/internal/recipientBehaviour.js.map +1 -0
- package/dist/esm/internal/recipientBehaviourContext.js +26 -0
- package/dist/esm/internal/recipientBehaviourContext.js.map +1 -0
- package/dist/esm/internal/serialization.js +39 -0
- package/dist/esm/internal/serialization.js.map +1 -0
- package/dist/esm/internal/shardManager.js +256 -0
- package/dist/esm/internal/shardManager.js.map +1 -0
- package/dist/esm/internal/shardManagerClient.js +38 -0
- package/dist/esm/internal/shardManagerClient.js.map +1 -0
- package/dist/esm/internal/shardManagerState.js +36 -0
- package/dist/esm/internal/shardManagerState.js.map +1 -0
- package/dist/esm/internal/sharding.js +288 -0
- package/dist/esm/internal/sharding.js.map +1 -0
- package/dist/esm/internal/shardingConfig.js +47 -0
- package/dist/esm/internal/shardingConfig.js.map +1 -0
- package/dist/esm/internal/storage.js +42 -0
- package/dist/esm/internal/storage.js.map +1 -0
- package/dist/esm/internal/utils.js +56 -0
- package/dist/esm/internal/utils.js.map +1 -0
- package/dist/esm/package.json +4 -0
- package/package.json +259 -0
- package/src/AtLeastOnce.ts +28 -0
- package/src/AtLeastOnceStorage.ts +96 -0
- package/src/Broadcaster.ts +48 -0
- package/src/ManagerConfig.ts +67 -0
- package/src/Message.ts +132 -0
- package/src/MessageState.ts +126 -0
- package/src/Messenger.ts +40 -0
- package/src/Pod.ts +95 -0
- package/src/PodAddress.ts +94 -0
- package/src/Pods.ts +100 -0
- package/src/PodsHealth.ts +74 -0
- package/src/PoisonPill.ts +105 -0
- package/src/RecipientAddress.ts +72 -0
- package/src/RecipientBehaviour.ts +108 -0
- package/src/RecipientBehaviourContext.ts +101 -0
- package/src/RecipientType.ts +134 -0
- package/src/Serialization.ts +72 -0
- package/src/SerializedEnvelope.ts +109 -0
- package/src/SerializedMessage.ts +82 -0
- package/src/ShardId.ts +79 -0
- package/src/ShardManager.ts +53 -0
- package/src/ShardManagerClient.ts +57 -0
- package/src/Sharding.ts +214 -0
- package/src/ShardingConfig.ts +76 -0
- package/src/ShardingEvent.ts +121 -0
- package/src/ShardingException.ts +151 -0
- package/src/ShardingRegistrationEvent.ts +62 -0
- package/src/Storage.ts +92 -0
- package/src/index.ts +139 -0
- package/src/internal/atLeastOnce.ts +59 -0
- package/src/internal/atLeastOnceStorage.ts +218 -0
- package/src/internal/entityManager.ts +404 -0
- package/src/internal/entityState.ts +64 -0
- package/src/internal/managerConfig.ts +84 -0
- package/src/internal/message.ts +64 -0
- package/src/internal/messageState.ts +98 -0
- package/src/internal/podWithMetadata.ts +72 -0
- package/src/internal/pods.ts +29 -0
- package/src/internal/podsHealth.ts +39 -0
- package/src/internal/recipientBehaviour.ts +133 -0
- package/src/internal/recipientBehaviourContext.ts +70 -0
- package/src/internal/serialization.ts +59 -0
- package/src/internal/shardManager.ts +593 -0
- package/src/internal/shardManagerClient.ts +49 -0
- package/src/internal/shardManagerState.ts +80 -0
- package/src/internal/sharding.ts +793 -0
- package/src/internal/shardingConfig.ts +97 -0
- package/src/internal/storage.ts +60 -0
- package/src/internal/utils.ts +54 -0
@@ -0,0 +1,71 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.local = exports.ShardManagerClientTypeId = void 0;
|
7
|
+
exports.make = make;
|
8
|
+
exports.shardManagerClientTag = void 0;
|
9
|
+
var Context = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Context"));
|
10
|
+
var Effect = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Effect"));
|
11
|
+
var _Function = /*#__PURE__*/require("effect/Function");
|
12
|
+
var HashMap = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/HashMap"));
|
13
|
+
var Layer = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Layer"));
|
14
|
+
var Option = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Option"));
|
15
|
+
var PodAddress = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("../PodAddress.js"));
|
16
|
+
var ShardId = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("../ShardId.js"));
|
17
|
+
var ShardingConfig = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("../ShardingConfig.js"));
|
18
|
+
function _getRequireWildcardCache(e) {
|
19
|
+
if ("function" != typeof WeakMap) return null;
|
20
|
+
var r = new WeakMap(),
|
21
|
+
t = new WeakMap();
|
22
|
+
return (_getRequireWildcardCache = function (e) {
|
23
|
+
return e ? t : r;
|
24
|
+
})(e);
|
25
|
+
}
|
26
|
+
function _interopRequireWildcard(e, r) {
|
27
|
+
if (!r && e && e.__esModule) return e;
|
28
|
+
if (null === e || "object" != typeof e && "function" != typeof e) return {
|
29
|
+
default: e
|
30
|
+
};
|
31
|
+
var t = _getRequireWildcardCache(r);
|
32
|
+
if (t && t.has(e)) return t.get(e);
|
33
|
+
var n = {
|
34
|
+
__proto__: null
|
35
|
+
},
|
36
|
+
a = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
37
|
+
for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) {
|
38
|
+
var i = a ? Object.getOwnPropertyDescriptor(e, u) : null;
|
39
|
+
i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u];
|
40
|
+
}
|
41
|
+
return n.default = e, t && t.set(e, n), n;
|
42
|
+
}
|
43
|
+
/** @internal */
|
44
|
+
const ShardManagerSymbolKey = "@effect/cluster/ShardManagerClient";
|
45
|
+
/** @internal */
|
46
|
+
const ShardManagerClientTypeId = exports.ShardManagerClientTypeId = /*#__PURE__*/Symbol.for(ShardManagerSymbolKey);
|
47
|
+
/** @internal */
|
48
|
+
const shardManagerClientTag = exports.shardManagerClientTag = /*#__PURE__*/Context.GenericTag(ShardManagerSymbolKey);
|
49
|
+
/** @internal */
|
50
|
+
function make(args) {
|
51
|
+
return {
|
52
|
+
[ShardManagerClientTypeId]: ShardManagerClientTypeId,
|
53
|
+
...args
|
54
|
+
};
|
55
|
+
}
|
56
|
+
/** @internal */
|
57
|
+
const local = exports.local = /*#__PURE__*/(0, _Function.pipe)( /*#__PURE__*/Layer.effect(shardManagerClientTag, /*#__PURE__*/Effect.gen(function* ($) {
|
58
|
+
const config = yield* $(ShardingConfig.ShardingConfig);
|
59
|
+
const pod = PodAddress.make(config.selfHost, config.shardingPort);
|
60
|
+
let shards = HashMap.empty();
|
61
|
+
for (let i = 1; i <= config.numberOfShards; i++) {
|
62
|
+
shards = HashMap.set(shards, ShardId.make(i), Option.some(pod));
|
63
|
+
}
|
64
|
+
return make({
|
65
|
+
register: () => Effect.void,
|
66
|
+
unregister: () => Effect.void,
|
67
|
+
notifyUnhealthyPod: () => Effect.void,
|
68
|
+
getAssignments: Effect.succeed(shards)
|
69
|
+
});
|
70
|
+
})));
|
71
|
+
//# sourceMappingURL=shardManagerClient.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"shardManagerClient.js","names":["Context","_interopRequireWildcard","require","Effect","_Function","HashMap","Layer","Option","PodAddress","ShardId","ShardingConfig","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ShardManagerSymbolKey","ShardManagerClientTypeId","exports","Symbol","for","shardManagerClientTag","GenericTag","make","args","local","pipe","effect","gen","$","config","pod","selfHost","shardingPort","shards","empty","numberOfShards","some","register","void","unregister","notifyUnhealthyPod","getAssignments","succeed"],"sources":["../../../src/internal/shardManagerClient.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
@@ -0,0 +1,67 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.make = make;
|
7
|
+
var _Equal = /*#__PURE__*/require("effect/Equal");
|
8
|
+
var _Function = /*#__PURE__*/require("effect/Function");
|
9
|
+
var HashMap = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/HashMap"));
|
10
|
+
var HashSet = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/HashSet"));
|
11
|
+
var List = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/List"));
|
12
|
+
var Option = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Option"));
|
13
|
+
var ShardId = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("../ShardId.js"));
|
14
|
+
var PodWithMetadata = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("./podWithMetadata.js"));
|
15
|
+
function _getRequireWildcardCache(e) {
|
16
|
+
if ("function" != typeof WeakMap) return null;
|
17
|
+
var r = new WeakMap(),
|
18
|
+
t = new WeakMap();
|
19
|
+
return (_getRequireWildcardCache = function (e) {
|
20
|
+
return e ? t : r;
|
21
|
+
})(e);
|
22
|
+
}
|
23
|
+
function _interopRequireWildcard(e, r) {
|
24
|
+
if (!r && e && e.__esModule) return e;
|
25
|
+
if (null === e || "object" != typeof e && "function" != typeof e) return {
|
26
|
+
default: e
|
27
|
+
};
|
28
|
+
var t = _getRequireWildcardCache(r);
|
29
|
+
if (t && t.has(e)) return t.get(e);
|
30
|
+
var n = {
|
31
|
+
__proto__: null
|
32
|
+
},
|
33
|
+
a = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
34
|
+
for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) {
|
35
|
+
var i = a ? Object.getOwnPropertyDescriptor(e, u) : null;
|
36
|
+
i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u];
|
37
|
+
}
|
38
|
+
return n.default = e, t && t.set(e, n), n;
|
39
|
+
}
|
40
|
+
/**
|
41
|
+
* @since 1.0.0
|
42
|
+
* @category constructors
|
43
|
+
*/
|
44
|
+
function make(pods, shards) {
|
45
|
+
const podVersions = (0, _Function.pipe)(HashMap.values(pods), List.fromIterable, List.map(PodWithMetadata.extractVersion));
|
46
|
+
const maxVersion = (0, _Function.pipe)(podVersions, List.reduce(List.empty(), (curr, a) => PodWithMetadata.compareVersion(curr, a) === -1 ? a : curr), result => List.size(result) === 0 ? Option.none() : Option.some(result));
|
47
|
+
const shardsPerPodPods = (0, _Function.pipe)(HashMap.reduce(shards, HashMap.empty(), (curr, optionPod, shardId) => {
|
48
|
+
if (Option.isNone(optionPod)) return curr;
|
49
|
+
if (HashMap.has(curr, optionPod.value)) {
|
50
|
+
return HashMap.modify(curr, optionPod.value, HashSet.add(shardId));
|
51
|
+
} else {
|
52
|
+
return HashMap.set(curr, optionPod.value, HashSet.fromIterable([shardId]));
|
53
|
+
}
|
54
|
+
}));
|
55
|
+
const shardsPerPod = (0, _Function.pipe)(HashMap.map(pods, () => HashSet.empty()), HashMap.union(shardsPerPodPods));
|
56
|
+
const allPodsHaveMaxVersion = List.every(podVersions, _ => (0, _Equal.equals)(Option.some(_))(maxVersion));
|
57
|
+
return {
|
58
|
+
pods,
|
59
|
+
shards,
|
60
|
+
unassignedShards: (0, _Function.pipe)(HashMap.filter(shards, (a, _) => Option.isNone(a)), HashSet.fromIterable, HashSet.map(([k, _]) => k)),
|
61
|
+
averageShardsPerPod: (0, _Function.pipe)(HashMap.isEmpty(pods) ? ShardId.make(0) : ShardId.make(HashMap.size(shards) / HashMap.size(pods))),
|
62
|
+
shardsPerPod,
|
63
|
+
maxVersion,
|
64
|
+
allPodsHaveMaxVersion
|
65
|
+
};
|
66
|
+
}
|
67
|
+
//# sourceMappingURL=shardManagerState.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"shardManagerState.js","names":["_Equal","require","_Function","HashMap","_interopRequireWildcard","HashSet","List","Option","ShardId","PodWithMetadata","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","make","pods","shards","podVersions","pipe","values","fromIterable","map","extractVersion","maxVersion","reduce","empty","curr","compareVersion","result","size","none","some","shardsPerPodPods","optionPod","shardId","isNone","value","modify","add","shardsPerPod","union","allPodsHaveMaxVersion","every","_","equals","unassignedShards","filter","k","averageShardsPerPod","isEmpty"],"sources":["../../../src/internal/shardManagerState.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA,IAAAA,MAAA,gBAAAC,OAAA;AACA,IAAAC,SAAA,gBAAAD,OAAA;AACA,IAAAE,OAAA,gBAAAC,uBAAA,eAAAH,OAAA;AACA,IAAAI,OAAA,gBAAAD,uBAAA,eAAAH,OAAA;AACA,IAAAK,IAAA,gBAAAF,uBAAA,eAAAH,OAAA;AACA,IAAAM,MAAA,gBAAAH,uBAAA,eAAAH,OAAA;AAEA,IAAAO,OAAA,gBAAAJ,uBAAA,eAAAH,OAAA;AACA,IAAAQ,eAAA,gBAAAL,uBAAA,eAAAH,OAAA;AAAuD,SAAAS,yBAAAC,CAAA;EAAA,yBAAAC,OAAA;EAAA,IAAAC,CAAA,OAAAD,OAAA;IAAAE,CAAA,OAAAF,OAAA;EAAA,QAAAF,wBAAA,YAAAA,CAAAC,CAAA;IAAA,OAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA;EAAA,GAAAF,CAAA;AAAA;AAAA,SAAAP,wBAAAO,CAAA,EAAAE,CAAA;EAAA,KAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA;EAAA,aAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA;IAAAK,OAAA,EAAAL;EAAA;EAAA,IAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA;EAAA,IAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA;EAAA,IAAAQ,CAAA;MAAAC,SAAA;IAAA;IAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA;EAAA,SAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA;IAAA,IAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA;IAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA;EAAA;EAAA,OAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA;AAgBvD;;;;AAIM,SAAUW,IAAIA,CAClBC,IAA6E,EAC7EC,MAA8E;EAE9E,MAAMC,WAAW,GAAG,IAAA/B,SAAA,CAAAgC,IAAI,EACtB/B,OAAO,CAACgC,MAAM,CAACJ,IAAI,CAAC,EACpBzB,IAAI,CAAC8B,YAAY,EACjB9B,IAAI,CAAC+B,GAAG,CAAC5B,eAAe,CAAC6B,cAAc,CAAC,CACzC;EACD,MAAMC,UAAU,GAAG,IAAArC,SAAA,CAAAgC,IAAI,EACrBD,WAAW,EACX3B,IAAI,CAACkC,MAAM,CAAClC,IAAI,CAACmC,KAAK,EAAU,EAAE,CAACC,IAAI,EAAErB,CAAC,KAAKZ,eAAe,CAACkC,cAAc,CAACD,IAAI,EAAErB,CAAC,CAAC,KAAK,CAAC,CAAC,GAAGA,CAAC,GAAGqB,IAAI,CAAC,EACxGE,MAAM,IAAMtC,IAAI,CAACuC,IAAI,CAACD,MAAM,CAAC,KAAK,CAAC,GAAGrC,MAAM,CAACuC,IAAI,EAAE,GAAGvC,MAAM,CAACwC,IAAI,CAACH,MAAM,CAAE,CAC5E;EACD,MAAMI,gBAAgB,GAAG,IAAA9C,SAAA,CAAAgC,IAAI,EAC3B/B,OAAO,CAACqC,MAAM,CACZR,MAAM,EACN7B,OAAO,CAACsC,KAAK,EAA2D,EACxE,CAACC,IAAI,EAAEO,SAAS,EAAEC,OAAO,KAAI;IAC3B,IAAI3C,MAAM,CAAC4C,MAAM,CAACF,SAAS,CAAC,EAAE,OAAOP,IAAI;IACzC,IAAIvC,OAAO,CAACc,GAAG,CAACyB,IAAI,EAAEO,SAAS,CAACG,KAAK,CAAC,EAAE;MACtC,OAAOjD,OAAO,CAACkD,MAAM,CAACX,IAAI,EAAEO,SAAS,CAACG,KAAK,EAAE/C,OAAO,CAACiD,GAAG,CAACJ,OAAO,CAAC,CAAC;IACpE,CAAC,MAAM;MACL,OAAO/C,OAAO,CAAC0B,GAAG,CAACa,IAAI,EAAEO,SAAS,CAACG,KAAK,EAAE/C,OAAO,CAAC+B,YAAY,CAAC,CAACc,OAAO,CAAC,CAAC,CAAC;IAC5E;EACF,CAAC,CACF,CACF;EACD,MAAMK,YAAY,GAAG,IAAArD,SAAA,CAAAgC,IAAI,EACvB/B,OAAO,CAACkC,GAAG,CAACN,IAAI,EAAE,MAAM1B,OAAO,CAACoC,KAAK,EAAmB,CAAC,EACzDtC,OAAO,CAACqD,KAAK,CAACR,gBAAgB,CAAC,CAChC;EAED,MAAMS,qBAAqB,GAAGnD,IAAI,CAACoD,KAAK,CAACzB,WAAW,EAAG0B,CAAC,IAAK,IAAA3D,MAAA,CAAA4D,MAAM,EAACrD,MAAM,CAACwC,IAAI,CAACY,CAAC,CAAC,CAAC,CAACpB,UAAU,CAAC,CAAC;EAChG,OAAO;IACLR,IAAI;IACJC,MAAM;IACN6B,gBAAgB,EAAE,IAAA3D,SAAA,CAAAgC,IAAI,EACpB/B,OAAO,CAAC2D,MAAM,CAAC9B,MAAM,EAAE,CAACX,CAAC,EAAEsC,CAAC,KAAKpD,MAAM,CAAC4C,MAAM,CAAC9B,CAAC,CAAC,CAAC,EAClDhB,OAAO,CAAC+B,YAAY,EACpB/B,OAAO,CAACgC,GAAG,CAAC,CAAC,CAAC0B,CAAC,EAAEJ,CAAC,CAAC,KAAKI,CAAC,CAAC,CAC3B;IACDC,mBAAmB,EAAE,IAAA9D,SAAA,CAAAgC,IAAI,EACvB/B,OAAO,CAAC8D,OAAO,CAAClC,IAAI,CAAC,GACjBvB,OAAO,CAACsB,IAAI,CAAC,CAAC,CAAC,GACftB,OAAO,CAACsB,IAAI,CAAC3B,OAAO,CAAC0C,IAAI,CAACb,MAAM,CAAC,GAAG7B,OAAO,CAAC0C,IAAI,CAACd,IAAI,CAAC,CAAC,CAC5D;IACDwB,YAAY;IACZhB,UAAU;IACVkB;GACD;AACH","ignoreList":[]}
|
@@ -0,0 +1,329 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.ShardingTypeId = void 0;
|
7
|
+
exports.broadcaster = broadcaster;
|
8
|
+
exports.live = exports.getPods = exports.getAssignedShardIds = void 0;
|
9
|
+
exports.messenger = messenger;
|
10
|
+
exports.register = void 0;
|
11
|
+
exports.registerEntity = registerEntity;
|
12
|
+
exports.registerScoped = void 0;
|
13
|
+
exports.registerSingleton = registerSingleton;
|
14
|
+
exports.registerTopic = registerTopic;
|
15
|
+
exports.unregister = exports.shardingTag = exports.sendMessageToLocalEntityManagerWithoutRetries = void 0;
|
16
|
+
var Clock = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Clock"));
|
17
|
+
var Context = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Context"));
|
18
|
+
var Duration = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Duration"));
|
19
|
+
var Effect = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Effect"));
|
20
|
+
var _Equal = /*#__PURE__*/require("effect/Equal");
|
21
|
+
var Fiber = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Fiber"));
|
22
|
+
var _Function = /*#__PURE__*/require("effect/Function");
|
23
|
+
var HashMap = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/HashMap"));
|
24
|
+
var HashSet = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/HashSet"));
|
25
|
+
var Layer = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Layer"));
|
26
|
+
var List = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/List"));
|
27
|
+
var Option = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Option"));
|
28
|
+
var PrimaryKey = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/PrimaryKey"));
|
29
|
+
var PubSub = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/PubSub"));
|
30
|
+
var Ref = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Ref"));
|
31
|
+
var Schedule = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Schedule"));
|
32
|
+
var Stream = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Stream"));
|
33
|
+
var Synchronized = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/SynchronizedRef"));
|
34
|
+
var Unify = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Unify"));
|
35
|
+
var Message = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("../Message.js"));
|
36
|
+
var MessageState = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("../MessageState.js"));
|
37
|
+
var PodAddress = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("../PodAddress.js"));
|
38
|
+
var Pods = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("../Pods.js"));
|
39
|
+
var RecipientAddress = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("../RecipientAddress.js"));
|
40
|
+
var RecipientType = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("../RecipientType.js"));
|
41
|
+
var Serialization = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("../Serialization.js"));
|
42
|
+
var SerializedEnvelope = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("../SerializedEnvelope.js"));
|
43
|
+
var ShardId = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("../ShardId.js"));
|
44
|
+
var ShardingConfig = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("../ShardingConfig.js"));
|
45
|
+
var ShardingException = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("../ShardingException.js"));
|
46
|
+
var ShardingRegistrationEvent = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("../ShardingRegistrationEvent.js"));
|
47
|
+
var ShardManagerClient = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("../ShardManagerClient.js"));
|
48
|
+
var Storage = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("../Storage.js"));
|
49
|
+
var EntityManager = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("./entityManager.js"));
|
50
|
+
function _getRequireWildcardCache(e) {
|
51
|
+
if ("function" != typeof WeakMap) return null;
|
52
|
+
var r = new WeakMap(),
|
53
|
+
t = new WeakMap();
|
54
|
+
return (_getRequireWildcardCache = function (e) {
|
55
|
+
return e ? t : r;
|
56
|
+
})(e);
|
57
|
+
}
|
58
|
+
function _interopRequireWildcard(e, r) {
|
59
|
+
if (!r && e && e.__esModule) return e;
|
60
|
+
if (null === e || "object" != typeof e && "function" != typeof e) return {
|
61
|
+
default: e
|
62
|
+
};
|
63
|
+
var t = _getRequireWildcardCache(r);
|
64
|
+
if (t && t.has(e)) return t.get(e);
|
65
|
+
var n = {
|
66
|
+
__proto__: null
|
67
|
+
},
|
68
|
+
a = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
69
|
+
for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) {
|
70
|
+
var i = a ? Object.getOwnPropertyDescriptor(e, u) : null;
|
71
|
+
i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u];
|
72
|
+
}
|
73
|
+
return n.default = e, t && t.set(e, n), n;
|
74
|
+
}
|
75
|
+
/** @internal */
|
76
|
+
const ShardingSymbolKey = "@effect/cluster/Sharding";
|
77
|
+
/** @internal */
|
78
|
+
const ShardingTypeId = exports.ShardingTypeId = /*#__PURE__*/Symbol.for(ShardingSymbolKey);
|
79
|
+
/**
|
80
|
+
* @internal
|
81
|
+
*/
|
82
|
+
const shardingTag = exports.shardingTag = /*#__PURE__*/Context.GenericTag(ShardingSymbolKey);
|
83
|
+
/**
|
84
|
+
* @internal
|
85
|
+
*/
|
86
|
+
const register = exports.register = /*#__PURE__*/Effect.flatMap(shardingTag, _ => _.register);
|
87
|
+
/**
|
88
|
+
* @internal
|
89
|
+
*/
|
90
|
+
const unregister = exports.unregister = /*#__PURE__*/Effect.flatMap(shardingTag, _ => _.unregister);
|
91
|
+
/**
|
92
|
+
* @internal
|
93
|
+
*/
|
94
|
+
const registerScoped = exports.registerScoped = /*#__PURE__*/(0, _Function.pipe)(register, /*#__PURE__*/Effect.zipRight( /*#__PURE__*/Effect.addFinalizer(() => unregister)));
|
95
|
+
/**
|
96
|
+
* @internal
|
97
|
+
*/
|
98
|
+
function registerSingleton(name, run) {
|
99
|
+
return Effect.flatMap(shardingTag, _ => _.registerSingleton(name, run));
|
100
|
+
}
|
101
|
+
/**
|
102
|
+
* @internal
|
103
|
+
*/
|
104
|
+
function registerEntity(entityType) {
|
105
|
+
return (behavior, options) => Effect.flatMap(shardingTag, _ => _.registerEntity(entityType)(behavior, options));
|
106
|
+
}
|
107
|
+
/**
|
108
|
+
* @internal
|
109
|
+
*/
|
110
|
+
function registerTopic(topicType) {
|
111
|
+
return (behavior, options) => Effect.flatMap(shardingTag, _ => _.registerTopic(topicType)(behavior, options));
|
112
|
+
}
|
113
|
+
/**
|
114
|
+
* @internal
|
115
|
+
*/
|
116
|
+
function messenger(entityType) {
|
117
|
+
return Effect.map(shardingTag, _ => _.messenger(entityType));
|
118
|
+
}
|
119
|
+
/**
|
120
|
+
* @internal
|
121
|
+
*/
|
122
|
+
function broadcaster(topicType) {
|
123
|
+
return Effect.map(shardingTag, _ => _.broadcaster(topicType));
|
124
|
+
}
|
125
|
+
/**
|
126
|
+
* @internal
|
127
|
+
*/
|
128
|
+
const getPods = exports.getPods = /*#__PURE__*/Effect.flatMap(shardingTag, _ => _.getPods);
|
129
|
+
/**
|
130
|
+
* @internal
|
131
|
+
*/
|
132
|
+
const sendMessageToLocalEntityManagerWithoutRetries = message => Effect.flatMap(shardingTag, _ => _.sendMessageToLocalEntityManagerWithoutRetries(message));
|
133
|
+
/**
|
134
|
+
* @internal
|
135
|
+
*/
|
136
|
+
exports.sendMessageToLocalEntityManagerWithoutRetries = sendMessageToLocalEntityManagerWithoutRetries;
|
137
|
+
const getAssignedShardIds = exports.getAssignedShardIds = /*#__PURE__*/Effect.flatMap(shardingTag, _ => _.getAssignedShardIds);
|
138
|
+
/**
|
139
|
+
* @internal
|
140
|
+
*/
|
141
|
+
function make(layerScope, address, config, shardAssignments, entityManagers, singletons, lastUnhealthyNodeReported, isShuttingDownRef, shardManager, pods, storage, serialization, eventsHub) {
|
142
|
+
function getEntityManagerByEntityTypeName(entityType) {
|
143
|
+
return (0, _Function.pipe)(Ref.get(entityManagers), Effect.map(HashMap.get(entityType)), Effect.flatMap(_ => Unify.unify(Option.match(_, {
|
144
|
+
onNone: () => Effect.fail(new ShardingException.EntityTypeNotRegisteredException({
|
145
|
+
entityType,
|
146
|
+
podAddress: address
|
147
|
+
})),
|
148
|
+
onSome: entityManager => Effect.succeed(entityManager)
|
149
|
+
}))));
|
150
|
+
}
|
151
|
+
function getShardId(recipientAddress) {
|
152
|
+
return RecipientType.getShardId(recipientAddress.entityId, config.numberOfShards);
|
153
|
+
}
|
154
|
+
const register = (0, _Function.pipe)(Effect.logDebug(`Registering pod ${address} to Shard Manager`), Effect.zipRight((0, _Function.pipe)(isShuttingDownRef, Ref.set(false))), Effect.zipRight(shardManager.register(address)));
|
155
|
+
const unregister = (0, _Function.pipe)(Effect.logDebug("Begin unregistering from ShardManager..."), Effect.zipRight(shardManager.getAssignments), Effect.matchCauseEffect({
|
156
|
+
onFailure: _ => Effect.logWarning("Shard Manager not available. Can't unregister cleanly", _),
|
157
|
+
onSuccess: () => (0, _Function.pipe)(Effect.logDebug(`Stopping local entities`), Effect.zipRight((0, _Function.pipe)(isShuttingDownRef, Ref.set(true))), Effect.zipRight((0, _Function.pipe)(Ref.get(entityManagers), Effect.flatMap(Effect.forEach(([name, entityManager]) => (0, _Function.pipe)(entityManager.terminateAllEntities, Effect.catchAllCause(_ => Effect.logError("Error during stop of entity " + name, _))), {
|
158
|
+
discard: true
|
159
|
+
})))), Effect.zipRight(Effect.logDebug(`Unregistering pod ${address} to Shard Manager`)), Effect.zipRight(shardManager.unregister(address)))
|
160
|
+
}));
|
161
|
+
const isSingletonNode = (0, _Function.pipe)(Ref.get(shardAssignments), Effect.map(_ => (0, _Function.pipe)(HashMap.get(_, ShardId.make(1)), Option.match({
|
162
|
+
onNone: () => false,
|
163
|
+
onSome: (0, _Equal.equals)(address)
|
164
|
+
}))));
|
165
|
+
const startSingletonsIfNeeded = (0, _Function.pipe)(Synchronized.updateEffect(singletons, singletons => (0, _Function.pipe)(Effect.forEach(singletons, ([name, run, maybeExecutionFiber]) => Option.match(maybeExecutionFiber, {
|
166
|
+
onNone: () => (0, _Function.pipe)(Effect.logDebug("Starting singleton " + name), Effect.zipRight(Effect.map(Effect.forkIn(layerScope)(run), fiber => [name, run, Option.some(fiber)]))),
|
167
|
+
onSome: _ => Effect.succeed([name, run, maybeExecutionFiber])
|
168
|
+
})), Effect.map(List.fromIterable))), Effect.whenEffect(isSingletonNode), Effect.asVoid);
|
169
|
+
const stopSingletonsIfNeeded = (0, _Function.pipe)(Synchronized.updateEffect(singletons, singletons => (0, _Function.pipe)(Effect.forEach(singletons, ([name, run, maybeExecutionFiber]) => Option.match(maybeExecutionFiber, {
|
170
|
+
onNone: () => Effect.succeed([name, run, maybeExecutionFiber]),
|
171
|
+
onSome: fiber => (0, _Function.pipe)(Effect.logDebug("Stopping singleton " + name), Effect.zipRight(Effect.as(Fiber.interrupt(fiber), [name, run, Option.none()])))
|
172
|
+
})), Effect.map(List.fromIterable))), Effect.unlessEffect(isSingletonNode), Effect.asVoid);
|
173
|
+
function registerSingleton(name, run) {
|
174
|
+
return (0, _Function.pipe)(Effect.context(), Effect.flatMap(context => Synchronized.update(singletons, list => List.prepend(list, [name, Effect.provide(run, context), Option.none()]))), Effect.zipLeft(startSingletonsIfNeeded), Effect.zipRight(PubSub.publish(eventsHub, ShardingRegistrationEvent.SingletonRegistered(name))));
|
175
|
+
}
|
176
|
+
const isShuttingDown = Ref.get(isShuttingDownRef);
|
177
|
+
function assign(shards) {
|
178
|
+
return (0, _Function.pipe)(Ref.update(shardAssignments, _ => HashSet.reduce(shards, _, (_, shardId) => HashMap.set(_, shardId, address))), Effect.zipRight(startSingletonsIfNeeded), Effect.zipLeft(Effect.logDebug("Assigned shards: " + shards)), Effect.unlessEffect(isShuttingDown), Effect.asVoid);
|
179
|
+
}
|
180
|
+
function unassign(shards) {
|
181
|
+
return (0, _Function.pipe)(Ref.update(shardAssignments, _ => HashSet.reduce(shards, _, (_, shardId) => {
|
182
|
+
const value = HashMap.get(_, shardId);
|
183
|
+
if (Option.isSome(value) && (0, _Equal.equals)(value.value, address)) {
|
184
|
+
return HashMap.remove(_, shardId);
|
185
|
+
}
|
186
|
+
return _;
|
187
|
+
})), Effect.zipRight(stopSingletonsIfNeeded), Effect.zipLeft(Effect.logDebug("Unassigning shards: " + shards)));
|
188
|
+
}
|
189
|
+
function getPodAddressForShardId(shardId) {
|
190
|
+
return (0, _Function.pipe)(Ref.get(shardAssignments), Effect.map(shards => HashMap.get(shards, shardId)));
|
191
|
+
}
|
192
|
+
function isEntityOnLocalShards(recipientAddress) {
|
193
|
+
return (0, _Function.pipe)(getPodAddressForShardId(getShardId(recipientAddress)), Effect.map(_ => (0, _Equal.equals)(_, Option.some(address))));
|
194
|
+
}
|
195
|
+
const getPods = (0, _Function.pipe)(Ref.get(shardAssignments), Effect.map(_ => HashSet.fromIterable(HashMap.values(_))));
|
196
|
+
const getAssignedShardIds = (0, _Function.pipe)(Ref.get(shardAssignments), Effect.map(HashMap.filter(_ => (0, _Equal.equals)(_, address))), Effect.map(HashMap.keySet));
|
197
|
+
function updateAssignments(assignmentsOpt, fromShardManager) {
|
198
|
+
const assignments = HashMap.map(assignmentsOpt, (v, _) => Option.getOrElse(v, () => address));
|
199
|
+
if (fromShardManager) {
|
200
|
+
return Ref.update(shardAssignments, map => HashMap.isEmpty(map) ? assignments : map);
|
201
|
+
}
|
202
|
+
return Ref.update(shardAssignments, map => {
|
203
|
+
// we keep self assignments (we don't override them with the new assignments
|
204
|
+
// because only the Shard Manager is able to change assignments of the current node, via assign/unassign
|
205
|
+
return HashMap.union((0, _Function.pipe)(assignments, HashMap.filter((pod, _) => !(0, _Equal.equals)(pod, address))), (0, _Function.pipe)(map, HashMap.filter((pod, _) => (0, _Equal.equals)(pod, address))));
|
206
|
+
});
|
207
|
+
}
|
208
|
+
const refreshAssignments = (0, _Function.pipe)(Stream.fromEffect(Effect.map(shardManager.getAssignments, _ => [_, true])), Stream.merge((0, _Function.pipe)(storage.assignmentsStream, Stream.map(_ => [_, false]))), Stream.mapEffect(([assignmentsOpt, fromShardManager]) => updateAssignments(assignmentsOpt, fromShardManager)), Stream.tap(() => startSingletonsIfNeeded), Stream.runDrain, Effect.retry(Schedule.fixed(config.refreshAssignmentsRetryInterval)), Effect.interruptible, Effect.forkScoped, Effect.asVoid);
|
209
|
+
function sendMessageToLocalEntityManagerWithoutRetries(envelope) {
|
210
|
+
return (0, _Function.pipe)(getEntityManagerByEntityTypeName(envelope.recipientAddress.recipientTypeName), Effect.flatMap(entityManager => entityManager.sendAndGetState(envelope)), Effect.annotateLogs("envelope", envelope));
|
211
|
+
}
|
212
|
+
function sendMessageToRemotePodWithoutRetries(pod, envelope) {
|
213
|
+
return (0, _Function.pipe)(pods.sendAndGetState(pod, envelope), Effect.tapError(error => {
|
214
|
+
if (ShardingException.isPodUnavailableException(error)) {
|
215
|
+
const notify = (0, _Function.pipe)(Clock.currentTimeMillis, Effect.flatMap(cdt => (0, _Function.pipe)(Ref.updateAndGet(lastUnhealthyNodeReported, old => old + Duration.toMillis(config.unhealthyPodReportInterval) < cdt ? cdt : old), Effect.map(_ => _ === cdt))));
|
216
|
+
return (0, _Function.pipe)(shardManager.notifyUnhealthyPod(pod), Effect.zipRight(shardManager.getAssignments), Effect.flatMap(_ => updateAssignments(_, true)), Effect.forkDaemon, Effect.whenEffect(notify), Effect.asVoid);
|
217
|
+
}
|
218
|
+
return Effect.void;
|
219
|
+
}), Effect.annotateLogs("pod", pod), Effect.annotateLogs("envelope", envelope));
|
220
|
+
}
|
221
|
+
function sendMessageToPodWithoutRetries(pod, envelope) {
|
222
|
+
return (0, _Equal.equals)(pod, address) ? sendMessageToLocalEntityManagerWithoutRetries(envelope) : sendMessageToRemotePodWithoutRetries(pod, envelope);
|
223
|
+
}
|
224
|
+
function messenger(entityType) {
|
225
|
+
function sendDiscard(entityId) {
|
226
|
+
return message => (0, _Function.pipe)(sendMessage(entityId, message), Effect.asVoid);
|
227
|
+
}
|
228
|
+
function send(entityId) {
|
229
|
+
return message => {
|
230
|
+
return (0, _Function.pipe)(sendMessage(entityId, message), Effect.flatMap(state => MessageState.mapEffect(state, body => serialization.decode(Message.exitSchema(message), body))), Effect.flatMap(state => Unify.unify((0, _Function.pipe)(state, MessageState.match({
|
231
|
+
onAcknowledged: () => Effect.fail(new ShardingException.NoResultInProcessedMessageStateException()),
|
232
|
+
onProcessed: state => Effect.succeed(state.result)
|
233
|
+
})))), Effect.retry((0, _Function.pipe)(Schedule.fixed(100), Schedule.whileInput(error => ShardingException.isNoResultInProcessedMessageStateException(error)))), Effect.flatten, Effect.interruptible);
|
234
|
+
};
|
235
|
+
}
|
236
|
+
function sendMessage(entityId, message) {
|
237
|
+
const recipientAddress = RecipientAddress.makeRecipientAddress(entityType.name, entityId);
|
238
|
+
const shardId = getShardId(recipientAddress);
|
239
|
+
return Effect.flatMap(serialization.encode(entityType.schema, message), body => (0, _Function.pipe)(getPodAddressForShardId(shardId), Effect.flatMap(pod => Option.isSome(pod) ? Effect.succeed(pod.value) : Effect.fail(new ShardingException.EntityNotManagedByThisPodException({
|
240
|
+
recipientAddress
|
241
|
+
}))), Effect.flatMap(pod => sendMessageToPodWithoutRetries(pod, SerializedEnvelope.make(recipientAddress, PrimaryKey.value(message), body))), Effect.retry((0, _Function.pipe)(Schedule.fixed(Duration.millis(100)), Schedule.whileInput(error => ShardingException.isPodUnavailableException(error) || ShardingException.isEntityNotManagedByThisPodException(error))))));
|
242
|
+
}
|
243
|
+
return {
|
244
|
+
sendDiscard,
|
245
|
+
send
|
246
|
+
};
|
247
|
+
}
|
248
|
+
function broadcaster(topicType) {
|
249
|
+
function sendMessage(topicId, message) {
|
250
|
+
return Effect.flatMap(serialization.encode(topicType.schema, message), body => (0, _Function.pipe)(getPods, Effect.flatMap(pods => Effect.forEach(pods, pod => (0, _Function.pipe)(sendMessageToPodWithoutRetries(pod, SerializedEnvelope.make(RecipientAddress.makeRecipientAddress(topicType.name, topicId), PrimaryKey.value(message), body)), Effect.retry((0, _Function.pipe)(Schedule.fixed(Duration.millis(100)), Schedule.whileInput(error => ShardingException.isPodUnavailableException(error) || ShardingException.isEntityNotManagedByThisPodException(error)))), Effect.either, Effect.map(res => [pod, res])), {
|
251
|
+
concurrency: "inherit"
|
252
|
+
})), Effect.map(_ => HashMap.fromIterable(_))));
|
253
|
+
}
|
254
|
+
function broadcastDiscard(topicId) {
|
255
|
+
return message => (0, _Function.pipe)(sendMessage(topicId, message), Effect.asVoid);
|
256
|
+
}
|
257
|
+
function broadcast(topicId) {
|
258
|
+
return message => {
|
259
|
+
return (0, _Function.pipe)(sendMessage(topicId, message), Effect.flatMap(results => (0, _Function.pipe)(Effect.forEach(results, ([pod, eitherResult]) => (0, _Function.pipe)(eitherResult, Effect.flatMap(state => MessageState.mapEffect(state, body => serialization.decode(Message.exitSchema(message), body))), Effect.flatMap(state => Unify.unify((0, _Function.pipe)(state, MessageState.match({
|
260
|
+
onAcknowledged: () => Effect.fail(new ShardingException.NoResultInProcessedMessageStateException()),
|
261
|
+
onProcessed: state => Effect.succeed(state.result)
|
262
|
+
})))), Effect.retry((0, _Function.pipe)(Schedule.fixed(100), Schedule.whileInput(error => ShardingException.isNoResultInProcessedMessageStateException(error)))), Effect.flatMap(_ => _), Effect.either, Effect.map(res => [pod, res]))))), Effect.map(_ => HashMap.fromIterable(_)));
|
263
|
+
};
|
264
|
+
}
|
265
|
+
return {
|
266
|
+
broadcast,
|
267
|
+
broadcastDiscard
|
268
|
+
};
|
269
|
+
}
|
270
|
+
function registerEntity(entityType) {
|
271
|
+
return (behavior, options) => (0, _Function.pipe)(registerRecipient(entityType, behavior, options), Effect.zipRight(PubSub.publish(eventsHub, ShardingRegistrationEvent.EntityRegistered(entityType))), Effect.asVoid);
|
272
|
+
}
|
273
|
+
function registerTopic(topicType) {
|
274
|
+
return (behavior, options) => (0, _Function.pipe)(registerRecipient(topicType, behavior, options), Effect.zipRight(PubSub.publish(eventsHub, ShardingRegistrationEvent.TopicRegistered(topicType))), Effect.asVoid);
|
275
|
+
}
|
276
|
+
const getShardingRegistrationEvents = Stream.fromPubSub(eventsHub);
|
277
|
+
function registerRecipient(recipientType, behavior, options) {
|
278
|
+
return Effect.gen(function* ($) {
|
279
|
+
const entityManager = yield* $(EntityManager.make(recipientType, behavior, self, config, serialization, options));
|
280
|
+
yield* $(Ref.update(entityManagers, HashMap.set(recipientType.name, entityManager)));
|
281
|
+
});
|
282
|
+
}
|
283
|
+
const registerScoped = Effect.acquireRelease(register, _ => unregister);
|
284
|
+
const self = {
|
285
|
+
[ShardingTypeId]: ShardingTypeId,
|
286
|
+
getShardId,
|
287
|
+
register,
|
288
|
+
unregister,
|
289
|
+
registerScoped,
|
290
|
+
messenger,
|
291
|
+
broadcaster,
|
292
|
+
isEntityOnLocalShards,
|
293
|
+
isShuttingDown,
|
294
|
+
registerSingleton,
|
295
|
+
registerEntity,
|
296
|
+
registerTopic,
|
297
|
+
assign,
|
298
|
+
unassign,
|
299
|
+
getShardingRegistrationEvents,
|
300
|
+
getPods,
|
301
|
+
getAssignedShardIds,
|
302
|
+
refreshAssignments,
|
303
|
+
sendMessageToLocalEntityManagerWithoutRetries
|
304
|
+
};
|
305
|
+
return self;
|
306
|
+
}
|
307
|
+
/**
|
308
|
+
* @internal
|
309
|
+
*/
|
310
|
+
const live = exports.live = /*#__PURE__*/Layer.scoped(shardingTag, /*#__PURE__*/Effect.gen(function* (_) {
|
311
|
+
const config = yield* _(ShardingConfig.ShardingConfig);
|
312
|
+
const pods = yield* _(Pods.Pods);
|
313
|
+
const shardManager = yield* _(ShardManagerClient.ShardManagerClient);
|
314
|
+
const storage = yield* _(Storage.Storage);
|
315
|
+
const serialization = yield* _(Serialization.Serialization);
|
316
|
+
const shardsCache = yield* _(Ref.make(HashMap.empty()));
|
317
|
+
const entityManagers = yield* _(Ref.make(HashMap.empty()));
|
318
|
+
const shuttingDown = yield* _(Ref.make(false));
|
319
|
+
const eventsHub = yield* _(PubSub.unbounded());
|
320
|
+
const singletons = yield* _(Synchronized.make(List.nil()));
|
321
|
+
const layerScope = yield* _(Effect.scope);
|
322
|
+
const cdt = yield* _(Clock.currentTimeMillis);
|
323
|
+
const lastUnhealthyNodeReported = yield* _(Ref.make(cdt));
|
324
|
+
yield* _(Effect.addFinalizer(() => (0, _Function.pipe)(Synchronized.get(singletons), Effect.flatMap(Effect.forEach(([_, __, fa]) => Option.isSome(fa) ? Fiber.interrupt(fa.value) : Effect.void)))));
|
325
|
+
const sharding = make(layerScope, PodAddress.make(config.selfHost, config.shardingPort), config, shardsCache, entityManagers, singletons, lastUnhealthyNodeReported, shuttingDown, shardManager, pods, storage, serialization, eventsHub);
|
326
|
+
yield* _(sharding.refreshAssignments);
|
327
|
+
return sharding;
|
328
|
+
}));
|
329
|
+
//# sourceMappingURL=sharding.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"sharding.js","names":["Clock","_interopRequireWildcard","require","Context","Duration","Effect","_Equal","Fiber","_Function","HashMap","HashSet","Layer","List","Option","PrimaryKey","PubSub","Ref","Schedule","Stream","Synchronized","Unify","Message","MessageState","PodAddress","Pods","RecipientAddress","RecipientType","Serialization","SerializedEnvelope","ShardId","ShardingConfig","ShardingException","ShardingRegistrationEvent","ShardManagerClient","Storage","EntityManager","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ShardingSymbolKey","ShardingTypeId","exports","Symbol","for","shardingTag","GenericTag","register","flatMap","_","unregister","registerScoped","pipe","zipRight","addFinalizer","registerSingleton","name","run","registerEntity","entityType","behavior","options","registerTopic","topicType","messenger","map","broadcaster","getPods","sendMessageToLocalEntityManagerWithoutRetries","message","getAssignedShardIds","make","layerScope","address","config","shardAssignments","entityManagers","singletons","lastUnhealthyNodeReported","isShuttingDownRef","shardManager","pods","storage","serialization","eventsHub","getEntityManagerByEntityTypeName","unify","match","onNone","fail","EntityTypeNotRegisteredException","podAddress","onSome","entityManager","succeed","getShardId","recipientAddress","entityId","numberOfShards","logDebug","getAssignments","matchCauseEffect","onFailure","logWarning","onSuccess","forEach","terminateAllEntities","catchAllCause","logError","discard","isSingletonNode","equals","startSingletonsIfNeeded","updateEffect","maybeExecutionFiber","forkIn","fiber","some","fromIterable","whenEffect","asVoid","stopSingletonsIfNeeded","as","interrupt","none","unlessEffect","context","update","list","prepend","provide","zipLeft","publish","SingletonRegistered","isShuttingDown","assign","shards","reduce","shardId","unassign","value","isSome","remove","getPodAddressForShardId","isEntityOnLocalShards","values","filter","keySet","updateAssignments","assignmentsOpt","fromShardManager","assignments","v","getOrElse","isEmpty","union","pod","refreshAssignments","fromEffect","merge","assignmentsStream","mapEffect","tap","runDrain","retry","fixed","refreshAssignmentsRetryInterval","interruptible","forkScoped","envelope","recipientTypeName","sendAndGetState","annotateLogs","sendMessageToRemotePodWithoutRetries","tapError","error","isPodUnavailableException","notify","currentTimeMillis","cdt","updateAndGet","old","toMillis","unhealthyPodReportInterval","notifyUnhealthyPod","forkDaemon","void","sendMessageToPodWithoutRetries","sendDiscard","sendMessage","send","state","body","decode","exitSchema","onAcknowledged","NoResultInProcessedMessageStateException","onProcessed","result","whileInput","isNoResultInProcessedMessageStateException","flatten","makeRecipientAddress","encode","schema","EntityNotManagedByThisPodException","millis","isEntityNotManagedByThisPodException","topicId","either","res","concurrency","broadcastDiscard","broadcast","results","eitherResult","registerRecipient","EntityRegistered","TopicRegistered","getShardingRegistrationEvents","fromPubSub","recipientType","gen","$","self","acquireRelease","live","scoped","shardsCache","empty","shuttingDown","unbounded","nil","scope","__","fa","sharding","selfHost","shardingPort"],"sources":["../../../src/internal/sharding.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
@@ -0,0 +1,79 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.shardingConfigTag = exports.fromConfig = exports.defaults = exports.ShardingConfigTypeId = void 0;
|
7
|
+
exports.withDefaults = withDefaults;
|
8
|
+
var Config = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Config"));
|
9
|
+
var Context = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Context"));
|
10
|
+
var Duration = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Duration"));
|
11
|
+
var _Function = /*#__PURE__*/require("effect/Function");
|
12
|
+
var Layer = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Layer"));
|
13
|
+
function _getRequireWildcardCache(e) {
|
14
|
+
if ("function" != typeof WeakMap) return null;
|
15
|
+
var r = new WeakMap(),
|
16
|
+
t = new WeakMap();
|
17
|
+
return (_getRequireWildcardCache = function (e) {
|
18
|
+
return e ? t : r;
|
19
|
+
})(e);
|
20
|
+
}
|
21
|
+
function _interopRequireWildcard(e, r) {
|
22
|
+
if (!r && e && e.__esModule) return e;
|
23
|
+
if (null === e || "object" != typeof e && "function" != typeof e) return {
|
24
|
+
default: e
|
25
|
+
};
|
26
|
+
var t = _getRequireWildcardCache(r);
|
27
|
+
if (t && t.has(e)) return t.get(e);
|
28
|
+
var n = {
|
29
|
+
__proto__: null
|
30
|
+
},
|
31
|
+
a = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
32
|
+
for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) {
|
33
|
+
var i = a ? Object.getOwnPropertyDescriptor(e, u) : null;
|
34
|
+
i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u];
|
35
|
+
}
|
36
|
+
return n.default = e, t && t.set(e, n), n;
|
37
|
+
}
|
38
|
+
/** @internal */
|
39
|
+
const ShardingConfigSymbolKey = "@effect/cluster/ShardingConfig";
|
40
|
+
/** @internal */
|
41
|
+
const ShardingConfigTypeId = exports.ShardingConfigTypeId = /*#__PURE__*/Symbol.for(ShardingConfigSymbolKey);
|
42
|
+
/** @internal */
|
43
|
+
const shardingConfigTag = exports.shardingConfigTag = /*#__PURE__*/Context.GenericTag(ShardingConfigSymbolKey);
|
44
|
+
/** @internal */
|
45
|
+
const defaultValues = {
|
46
|
+
numberOfShards: 300,
|
47
|
+
selfHost: "localhost",
|
48
|
+
shardingPort: 54321,
|
49
|
+
shardManagerUri: "http://localhost:8080/api/rest",
|
50
|
+
serverVersion: "1.0.0",
|
51
|
+
entityMaxIdleTime: /*#__PURE__*/Duration.minutes(1),
|
52
|
+
entityTerminationTimeout: /*#__PURE__*/Duration.seconds(3),
|
53
|
+
refreshAssignmentsRetryInterval: /*#__PURE__*/Duration.seconds(5),
|
54
|
+
unhealthyPodReportInterval: /*#__PURE__*/Duration.seconds(5)
|
55
|
+
};
|
56
|
+
/** @internal */
|
57
|
+
const defaults = exports.defaults = /*#__PURE__*/Layer.succeed(shardingConfigTag, defaultValues);
|
58
|
+
/** @internal */
|
59
|
+
function withDefaults(customs) {
|
60
|
+
return Layer.succeed(shardingConfigTag, {
|
61
|
+
...defaultValues,
|
62
|
+
...customs
|
63
|
+
});
|
64
|
+
}
|
65
|
+
/** @internal */
|
66
|
+
const config = /*#__PURE__*/Config.all({
|
67
|
+
numberOfShards: /*#__PURE__*/(0, _Function.pipe)( /*#__PURE__*/Config.number("NUMBER_OF_SHARDS"), /*#__PURE__*/Config.withDefault(defaultValues.numberOfShards), /*#__PURE__*/Config.withDescription("Number of shards")),
|
68
|
+
selfHost: /*#__PURE__*/(0, _Function.pipe)( /*#__PURE__*/Config.string("SELF_HOST"), /*#__PURE__*/Config.withDefault(defaultValues.selfHost), /*#__PURE__*/Config.withDescription("Fully qualified name of the current host address")),
|
69
|
+
shardingPort: /*#__PURE__*/(0, _Function.pipe)( /*#__PURE__*/Config.integer("PORT"), /*#__PURE__*/Config.withDefault(defaultValues.shardingPort), /*#__PURE__*/Config.withDescription("Port of the Pod API service")),
|
70
|
+
shardManagerUri: /*#__PURE__*/(0, _Function.pipe)( /*#__PURE__*/Config.string("SHARD_MANAGER_URI"), /*#__PURE__*/Config.withDefault(defaultValues.shardManagerUri), /*#__PURE__*/Config.withDescription("API address of the Shard Manager URI")),
|
71
|
+
serverVersion: /*#__PURE__*/(0, _Function.pipe)( /*#__PURE__*/Config.string("SERVER_VERSION"), /*#__PURE__*/Config.withDefault(defaultValues.serverVersion), /*#__PURE__*/Config.withDescription("Server version")),
|
72
|
+
entityMaxIdleTime: /*#__PURE__*/(0, _Function.pipe)( /*#__PURE__*/Config.map( /*#__PURE__*/Config.integer("ENTITY_MAX_IDLE_TIME"), Duration.millis), /*#__PURE__*/Config.withDefault(defaultValues.entityMaxIdleTime), /*#__PURE__*/Config.withDescription("Max entity idle time (millis)")),
|
73
|
+
entityTerminationTimeout: /*#__PURE__*/(0, _Function.pipe)( /*#__PURE__*/Config.map( /*#__PURE__*/Config.integer("ENTITY_TERMINATION_TIMEOUT"), Duration.millis), /*#__PURE__*/Config.withDefault(defaultValues.entityTerminationTimeout), /*#__PURE__*/Config.withDescription("Max time to wait for entity to terminate (millis)")),
|
74
|
+
refreshAssignmentsRetryInterval: /*#__PURE__*/(0, _Function.pipe)( /*#__PURE__*/Config.map( /*#__PURE__*/Config.integer("REFRESH_ASSIGNMENTS_INTERVAL"), Duration.millis), /*#__PURE__*/Config.withDefault(defaultValues.refreshAssignmentsRetryInterval), /*#__PURE__*/Config.withDescription("Interval on which retry getting assignments (millis)")),
|
75
|
+
unhealthyPodReportInterval: /*#__PURE__*/(0, _Function.pipe)( /*#__PURE__*/Config.map( /*#__PURE__*/Config.integer("UNHEALTHY_POD_REPORT_INTERVAL"), Duration.millis), /*#__PURE__*/Config.withDefault(defaultValues.unhealthyPodReportInterval), /*#__PURE__*/Config.withDescription("Interval on which report unhealthy pods (millis)"))
|
76
|
+
});
|
77
|
+
/** @internal */
|
78
|
+
const fromConfig = exports.fromConfig = /*#__PURE__*/Layer.effect(shardingConfigTag, config);
|
79
|
+
//# sourceMappingURL=shardingConfig.js.map
|