@effect/cluster 0.50.5 → 0.51.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/RunnerStorage/package.json +6 -0
- package/SqlRunnerStorage/package.json +6 -0
- package/dist/cjs/ClusterError.js +2 -24
- package/dist/cjs/ClusterError.js.map +1 -1
- package/dist/cjs/ClusterMetrics.js +13 -15
- package/dist/cjs/ClusterMetrics.js.map +1 -1
- package/dist/cjs/ClusterWorkflowEngine.js +41 -81
- package/dist/cjs/ClusterWorkflowEngine.js.map +1 -1
- package/dist/cjs/Entity.js.map +1 -1
- package/dist/cjs/EntityAddress.js +9 -1
- package/dist/cjs/EntityAddress.js.map +1 -1
- package/dist/cjs/EntityId.js +7 -1
- package/dist/cjs/EntityId.js.map +1 -1
- package/dist/cjs/EntityProxy.js +1 -1
- package/dist/cjs/EntityProxy.js.map +1 -1
- package/dist/cjs/HttpRunner.js +69 -43
- package/dist/cjs/HttpRunner.js.map +1 -1
- package/dist/cjs/MessageStorage.js +64 -16
- package/dist/cjs/MessageStorage.js.map +1 -1
- package/dist/cjs/Runner.js +3 -3
- package/dist/cjs/Runner.js.map +1 -1
- package/dist/cjs/RunnerAddress.js +7 -0
- package/dist/cjs/RunnerAddress.js.map +1 -1
- package/dist/cjs/RunnerHealth.js +91 -32
- package/dist/cjs/RunnerHealth.js.map +1 -1
- package/dist/cjs/RunnerServer.js +38 -24
- package/dist/cjs/RunnerServer.js.map +1 -1
- package/dist/cjs/RunnerStorage.js +100 -0
- package/dist/cjs/RunnerStorage.js.map +1 -0
- package/dist/cjs/Runners.js +18 -22
- package/dist/cjs/Runners.js.map +1 -1
- package/dist/cjs/ShardId.js +17 -7
- package/dist/cjs/ShardId.js.map +1 -1
- package/dist/cjs/Sharding.js +435 -318
- package/dist/cjs/Sharding.js.map +1 -1
- package/dist/cjs/ShardingConfig.js +10 -14
- package/dist/cjs/ShardingConfig.js.map +1 -1
- package/dist/cjs/Snowflake.js +1 -1
- package/dist/cjs/SocketRunner.js +1 -1
- package/dist/cjs/SocketRunner.js.map +1 -1
- package/dist/cjs/SqlMessageStorage.js +22 -28
- package/dist/cjs/SqlMessageStorage.js.map +1 -1
- package/dist/cjs/SqlRunnerStorage.js +378 -0
- package/dist/cjs/SqlRunnerStorage.js.map +1 -0
- package/dist/cjs/index.js +5 -15
- package/dist/cjs/internal/entityManager.js +40 -9
- package/dist/cjs/internal/entityManager.js.map +1 -1
- package/dist/dts/ClusterError.d.ts +0 -22
- package/dist/dts/ClusterError.d.ts.map +1 -1
- package/dist/dts/ClusterMetrics.d.ts +4 -14
- package/dist/dts/ClusterMetrics.d.ts.map +1 -1
- package/dist/dts/ClusterWorkflowEngine.d.ts.map +1 -1
- package/dist/dts/Entity.d.ts +2 -2
- package/dist/dts/Entity.d.ts.map +1 -1
- package/dist/dts/EntityAddress.d.ts +11 -0
- package/dist/dts/EntityAddress.d.ts.map +1 -1
- package/dist/dts/EntityId.d.ts +5 -0
- package/dist/dts/EntityId.d.ts.map +1 -1
- package/dist/dts/EntityProxy.d.ts +5 -6
- package/dist/dts/EntityProxy.d.ts.map +1 -1
- package/dist/dts/HttpRunner.d.ts +48 -25
- package/dist/dts/HttpRunner.d.ts.map +1 -1
- package/dist/dts/MessageStorage.d.ts +13 -5
- package/dist/dts/MessageStorage.d.ts.map +1 -1
- package/dist/dts/Runner.d.ts +4 -4
- package/dist/dts/Runner.d.ts.map +1 -1
- package/dist/dts/RunnerAddress.d.ts +5 -0
- package/dist/dts/RunnerAddress.d.ts.map +1 -1
- package/dist/dts/RunnerHealth.d.ts +24 -16
- package/dist/dts/RunnerHealth.d.ts.map +1 -1
- package/dist/dts/RunnerServer.d.ts +5 -4
- package/dist/dts/RunnerServer.d.ts.map +1 -1
- package/dist/dts/{ShardStorage.d.ts → RunnerStorage.d.ts} +41 -54
- package/dist/dts/RunnerStorage.d.ts.map +1 -0
- package/dist/dts/Runners.d.ts +15 -11
- package/dist/dts/Runners.d.ts.map +1 -1
- package/dist/dts/ShardId.d.ts +1 -1
- package/dist/dts/ShardId.d.ts.map +1 -1
- package/dist/dts/Sharding.d.ts +20 -10
- package/dist/dts/Sharding.d.ts.map +1 -1
- package/dist/dts/ShardingConfig.d.ts +40 -14
- package/dist/dts/ShardingConfig.d.ts.map +1 -1
- package/dist/dts/SocketRunner.d.ts +4 -3
- package/dist/dts/SocketRunner.d.ts.map +1 -1
- package/dist/dts/SqlMessageStorage.d.ts +2 -3
- package/dist/dts/SqlMessageStorage.d.ts.map +1 -1
- package/dist/dts/SqlRunnerStorage.d.ts +40 -0
- package/dist/dts/SqlRunnerStorage.d.ts.map +1 -0
- package/dist/dts/index.d.ts +4 -24
- package/dist/dts/index.d.ts.map +1 -1
- package/dist/esm/ClusterError.js +0 -21
- package/dist/esm/ClusterError.js.map +1 -1
- package/dist/esm/ClusterMetrics.js +12 -14
- package/dist/esm/ClusterMetrics.js.map +1 -1
- package/dist/esm/ClusterWorkflowEngine.js +41 -81
- package/dist/esm/ClusterWorkflowEngine.js.map +1 -1
- package/dist/esm/Entity.js.map +1 -1
- package/dist/esm/EntityAddress.js +7 -0
- package/dist/esm/EntityAddress.js.map +1 -1
- package/dist/esm/EntityId.js +5 -0
- package/dist/esm/EntityId.js.map +1 -1
- package/dist/esm/EntityProxy.js +2 -2
- package/dist/esm/EntityProxy.js.map +1 -1
- package/dist/esm/HttpRunner.js +62 -39
- package/dist/esm/HttpRunner.js.map +1 -1
- package/dist/esm/MessageStorage.js +65 -17
- package/dist/esm/MessageStorage.js.map +1 -1
- package/dist/esm/Runner.js +3 -3
- package/dist/esm/Runner.js.map +1 -1
- package/dist/esm/RunnerAddress.js +7 -0
- package/dist/esm/RunnerAddress.js.map +1 -1
- package/dist/esm/RunnerHealth.js +88 -30
- package/dist/esm/RunnerHealth.js.map +1 -1
- package/dist/esm/RunnerServer.js +38 -24
- package/dist/esm/RunnerServer.js.map +1 -1
- package/dist/esm/RunnerStorage.js +90 -0
- package/dist/esm/RunnerStorage.js.map +1 -0
- package/dist/esm/Runners.js +19 -23
- package/dist/esm/Runners.js.map +1 -1
- package/dist/esm/ShardId.js +16 -6
- package/dist/esm/ShardId.js.map +1 -1
- package/dist/esm/Sharding.js +438 -321
- package/dist/esm/Sharding.js.map +1 -1
- package/dist/esm/ShardingConfig.js +10 -14
- package/dist/esm/ShardingConfig.js.map +1 -1
- package/dist/esm/Snowflake.js +1 -1
- package/dist/esm/SocketRunner.js +1 -1
- package/dist/esm/SocketRunner.js.map +1 -1
- package/dist/esm/SqlMessageStorage.js +22 -28
- package/dist/esm/SqlMessageStorage.js.map +1 -1
- package/dist/esm/SqlRunnerStorage.js +369 -0
- package/dist/esm/SqlRunnerStorage.js.map +1 -0
- package/dist/esm/index.js +4 -24
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/internal/entityManager.js +40 -9
- package/dist/esm/internal/entityManager.js.map +1 -1
- package/package.json +20 -60
- package/src/ClusterError.ts +0 -24
- package/src/ClusterMetrics.ts +12 -16
- package/src/ClusterWorkflowEngine.ts +38 -78
- package/src/Entity.ts +2 -7
- package/src/EntityAddress.ts +10 -0
- package/src/EntityId.ts +6 -0
- package/src/EntityProxy.ts +10 -10
- package/src/HttpRunner.ts +132 -67
- package/src/MessageStorage.ts +89 -24
- package/src/Runner.ts +4 -4
- package/src/RunnerAddress.ts +8 -0
- package/src/RunnerHealth.ts +119 -56
- package/src/RunnerServer.ts +64 -47
- package/src/RunnerStorage.ts +218 -0
- package/src/Runners.ts +32 -45
- package/src/ShardId.ts +14 -3
- package/src/Sharding.ts +548 -413
- package/src/ShardingConfig.ts +39 -31
- package/src/Snowflake.ts +1 -1
- package/src/SocketRunner.ts +6 -4
- package/src/SqlMessageStorage.ts +28 -30
- package/src/SqlRunnerStorage.ts +541 -0
- package/src/index.ts +4 -29
- package/src/internal/entityManager.ts +44 -10
- package/HttpCommon/package.json +0 -6
- package/HttpShardManager/package.json +0 -6
- package/ShardManager/package.json +0 -6
- package/ShardStorage/package.json +0 -6
- package/SocketShardManager/package.json +0 -6
- package/SqlShardStorage/package.json +0 -6
- package/SynchronizedClock/package.json +0 -6
- package/dist/cjs/HttpCommon.js +0 -48
- package/dist/cjs/HttpCommon.js.map +0 -1
- package/dist/cjs/HttpShardManager.js +0 -139
- package/dist/cjs/HttpShardManager.js.map +0 -1
- package/dist/cjs/ShardManager.js +0 -549
- package/dist/cjs/ShardManager.js.map +0 -1
- package/dist/cjs/ShardStorage.js +0 -151
- package/dist/cjs/ShardStorage.js.map +0 -1
- package/dist/cjs/SocketShardManager.js +0 -32
- package/dist/cjs/SocketShardManager.js.map +0 -1
- package/dist/cjs/SqlShardStorage.js +0 -253
- package/dist/cjs/SqlShardStorage.js.map +0 -1
- package/dist/cjs/SynchronizedClock.js +0 -65
- package/dist/cjs/SynchronizedClock.js.map +0 -1
- package/dist/cjs/internal/shardManager.js +0 -353
- package/dist/cjs/internal/shardManager.js.map +0 -1
- package/dist/dts/HttpCommon.d.ts +0 -25
- package/dist/dts/HttpCommon.d.ts.map +0 -1
- package/dist/dts/HttpShardManager.d.ts +0 -119
- package/dist/dts/HttpShardManager.d.ts.map +0 -1
- package/dist/dts/ShardManager.d.ts +0 -459
- package/dist/dts/ShardManager.d.ts.map +0 -1
- package/dist/dts/ShardStorage.d.ts.map +0 -1
- package/dist/dts/SocketShardManager.d.ts +0 -17
- package/dist/dts/SocketShardManager.d.ts.map +0 -1
- package/dist/dts/SqlShardStorage.d.ts +0 -38
- package/dist/dts/SqlShardStorage.d.ts.map +0 -1
- package/dist/dts/SynchronizedClock.d.ts +0 -19
- package/dist/dts/SynchronizedClock.d.ts.map +0 -1
- package/dist/dts/internal/shardManager.d.ts +0 -2
- package/dist/dts/internal/shardManager.d.ts.map +0 -1
- package/dist/esm/HttpCommon.js +0 -38
- package/dist/esm/HttpCommon.js.map +0 -1
- package/dist/esm/HttpShardManager.js +0 -128
- package/dist/esm/HttpShardManager.js.map +0 -1
- package/dist/esm/ShardManager.js +0 -535
- package/dist/esm/ShardManager.js.map +0 -1
- package/dist/esm/ShardStorage.js +0 -141
- package/dist/esm/ShardStorage.js.map +0 -1
- package/dist/esm/SocketShardManager.js +0 -24
- package/dist/esm/SocketShardManager.js.map +0 -1
- package/dist/esm/SqlShardStorage.js +0 -244
- package/dist/esm/SqlShardStorage.js.map +0 -1
- package/dist/esm/SynchronizedClock.js +0 -57
- package/dist/esm/SynchronizedClock.js.map +0 -1
- package/dist/esm/internal/shardManager.js +0 -342
- package/dist/esm/internal/shardManager.js.map +0 -1
- package/src/HttpCommon.ts +0 -73
- package/src/HttpShardManager.ts +0 -273
- package/src/ShardManager.ts +0 -823
- package/src/ShardStorage.ts +0 -297
- package/src/SocketShardManager.ts +0 -48
- package/src/SqlShardStorage.ts +0 -329
- package/src/SynchronizedClock.ts +0 -82
- package/src/internal/shardManager.ts +0 -412
package/dist/esm/HttpRunner.js
CHANGED
|
@@ -1,19 +1,64 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
/**
|
|
2
|
+
* @since 1.0.0
|
|
3
|
+
*/
|
|
4
|
+
import * as HttpClient from "@effect/platform/HttpClient";
|
|
5
|
+
import * as HttpClientRequest from "@effect/platform/HttpClientRequest";
|
|
6
|
+
import * as HttpRouter from "@effect/platform/HttpLayerRouter";
|
|
7
|
+
import * as Socket from "@effect/platform/Socket";
|
|
8
|
+
import * as RpcClient from "@effect/rpc/RpcClient";
|
|
9
|
+
import * as RpcSerialization from "@effect/rpc/RpcSerialization";
|
|
3
10
|
import * as RpcServer from "@effect/rpc/RpcServer";
|
|
4
11
|
import * as Effect from "effect/Effect";
|
|
5
12
|
import * as Layer from "effect/Layer";
|
|
6
|
-
import { layerClientProtocolHttp, layerClientProtocolWebsocket } from "./HttpCommon.js";
|
|
7
13
|
import * as Runners from "./Runners.js";
|
|
14
|
+
import { RpcClientProtocol } from "./Runners.js";
|
|
8
15
|
import * as RunnerServer from "./RunnerServer.js";
|
|
9
16
|
import * as Sharding from "./Sharding.js";
|
|
10
|
-
|
|
11
|
-
|
|
17
|
+
/**
|
|
18
|
+
* @since 1.0.0
|
|
19
|
+
* @category Layers
|
|
20
|
+
*/
|
|
21
|
+
export const layerClientProtocolHttp = options => Layer.effect(RpcClientProtocol)(Effect.gen(function* () {
|
|
22
|
+
const serialization = yield* RpcSerialization.RpcSerialization;
|
|
23
|
+
const client = yield* HttpClient.HttpClient;
|
|
24
|
+
const https = options.https ?? false;
|
|
25
|
+
return address => {
|
|
26
|
+
const clientWithUrl = HttpClient.mapRequest(client, HttpClientRequest.prependUrl(`http${https ? "s" : ""}://${address.host}:${address.port}/${options.path}`));
|
|
27
|
+
return RpcClient.makeProtocolHttp(clientWithUrl).pipe(Effect.provideService(RpcSerialization.RpcSerialization, serialization));
|
|
28
|
+
};
|
|
29
|
+
}));
|
|
30
|
+
/**
|
|
31
|
+
* @since 1.0.0
|
|
32
|
+
* @category Layers
|
|
33
|
+
*/
|
|
34
|
+
export const layerClientProtocolHttpDefault = /*#__PURE__*/layerClientProtocolHttp({
|
|
35
|
+
path: "/"
|
|
36
|
+
});
|
|
37
|
+
/**
|
|
38
|
+
* @since 1.0.0
|
|
39
|
+
* @category Layers
|
|
40
|
+
*/
|
|
41
|
+
export const layerClientProtocolWebsocket = options => Layer.effect(RpcClientProtocol)(Effect.gen(function* () {
|
|
42
|
+
const serialization = yield* RpcSerialization.RpcSerialization;
|
|
43
|
+
const https = options.https ?? false;
|
|
44
|
+
const constructor = yield* Socket.WebSocketConstructor;
|
|
45
|
+
return Effect.fnUntraced(function* (address) {
|
|
46
|
+
const socket = yield* Socket.makeWebSocket(`ws${https ? "s" : ""}://${address.host}:${address.port}/${options.path}`).pipe(Effect.provideService(Socket.WebSocketConstructor, constructor));
|
|
47
|
+
return yield* RpcClient.makeProtocolSocket().pipe(Effect.provideService(Socket.Socket, socket), Effect.provideService(RpcSerialization.RpcSerialization, serialization));
|
|
48
|
+
});
|
|
49
|
+
}));
|
|
50
|
+
/**
|
|
51
|
+
* @since 1.0.0
|
|
52
|
+
* @category Layers
|
|
53
|
+
*/
|
|
54
|
+
export const layerClientProtocolWebsocketDefault = /*#__PURE__*/layerClientProtocolWebsocket({
|
|
55
|
+
path: "/"
|
|
56
|
+
});
|
|
12
57
|
/**
|
|
13
58
|
* @since 1.0.0
|
|
14
59
|
* @category Http App
|
|
15
60
|
*/
|
|
16
|
-
export const
|
|
61
|
+
export const toHttpEffect = /*#__PURE__*/Effect.gen(function* () {
|
|
17
62
|
const handlers = yield* Layer.build(RunnerServer.layerHandlers);
|
|
18
63
|
return yield* RpcServer.toHttpApp(Runners.Rpcs, {
|
|
19
64
|
spanPrefix: "RunnerServer",
|
|
@@ -24,7 +69,7 @@ export const toHttpApp = /*#__PURE__*/Effect.gen(function* () {
|
|
|
24
69
|
* @since 1.0.0
|
|
25
70
|
* @category Http App
|
|
26
71
|
*/
|
|
27
|
-
export const
|
|
72
|
+
export const toHttpEffectWebsocket = /*#__PURE__*/Effect.gen(function* () {
|
|
28
73
|
const handlers = yield* Layer.build(RunnerServer.layerHandlers);
|
|
29
74
|
return yield* RpcServer.toHttpAppWebsocket(Runners.Rpcs, {
|
|
30
75
|
spanPrefix: "RunnerServer",
|
|
@@ -35,64 +80,42 @@ export const toHttpAppWebsocket = /*#__PURE__*/Effect.gen(function* () {
|
|
|
35
80
|
* @since 1.0.0
|
|
36
81
|
* @category Layers
|
|
37
82
|
*/
|
|
38
|
-
export const layerClient = /*#__PURE__*/Sharding.layer.pipe(/*#__PURE__*/Layer.provideMerge(Runners.layerRpc)
|
|
83
|
+
export const layerClient = /*#__PURE__*/Sharding.layer.pipe(/*#__PURE__*/Layer.provideMerge(Runners.layerRpc));
|
|
39
84
|
/**
|
|
40
85
|
* A HTTP layer for the `Runners` services, that adds a route to the provided
|
|
41
|
-
* `HttpRouter
|
|
42
|
-
*
|
|
43
|
-
* By default, it uses the `HttpRouter.Default` tag.
|
|
86
|
+
* `HttpRouter`.
|
|
44
87
|
*
|
|
45
88
|
* @since 1.0.0
|
|
46
89
|
* @category Layers
|
|
47
90
|
*/
|
|
48
|
-
export const
|
|
49
|
-
const layer = RunnerServer.layerWithClients.pipe(Layer.provide(RpcServer.layerProtocolHttp(options)));
|
|
50
|
-
return options.logAddress ? withLogAddress(layer) : layer;
|
|
51
|
-
};
|
|
91
|
+
export const layerHttpOptions = options => RunnerServer.layerWithClients.pipe(Layer.provide(RpcServer.layerProtocolHttp(options)));
|
|
52
92
|
/**
|
|
53
93
|
* @since 1.0.0
|
|
54
94
|
* @category Layers
|
|
55
95
|
*/
|
|
56
|
-
export const layerWebsocketOptions = options =>
|
|
57
|
-
const layer = RunnerServer.layerWithClients.pipe(Layer.provide(RpcServer.layerProtocolWebsocket(options)));
|
|
58
|
-
return options.logAddress ? withLogAddress(layer) : layer;
|
|
59
|
-
};
|
|
60
|
-
const withLogAddress = layer => Layer.effectDiscard(HttpServer.addressFormattedWith(address => Effect.annotateLogs(Effect.logInfo(`Listening on: ${address}`), {
|
|
61
|
-
package: "@effect/cluster",
|
|
62
|
-
service: "Runner"
|
|
63
|
-
}))).pipe(Layer.provideMerge(layer));
|
|
96
|
+
export const layerWebsocketOptions = options => RunnerServer.layerWithClients.pipe(Layer.provide(RpcServer.layerProtocolWebsocket(options)));
|
|
64
97
|
/**
|
|
65
98
|
* @since 1.0.0
|
|
66
99
|
* @category Layers
|
|
67
100
|
*/
|
|
68
|
-
export const layerHttp = /*#__PURE__*/HttpRouter.
|
|
69
|
-
path: "/",
|
|
70
|
-
logAddress: true
|
|
71
|
-
})), /*#__PURE__*/Layer.provide(/*#__PURE__*/layerClientProtocolHttp({
|
|
101
|
+
export const layerHttp = /*#__PURE__*/HttpRouter.serve(layerHttpOptions({
|
|
72
102
|
path: "/"
|
|
73
|
-
})));
|
|
103
|
+
})).pipe(/*#__PURE__*/Layer.provide(layerClientProtocolHttpDefault));
|
|
74
104
|
/**
|
|
75
105
|
* @since 1.0.0
|
|
76
106
|
* @category Layers
|
|
77
107
|
*/
|
|
78
|
-
export const layerHttpClientOnly = /*#__PURE__*/RunnerServer.layerClientOnly.pipe(/*#__PURE__*/Layer.provide(
|
|
79
|
-
path: "/"
|
|
80
|
-
})));
|
|
108
|
+
export const layerHttpClientOnly = /*#__PURE__*/RunnerServer.layerClientOnly.pipe(/*#__PURE__*/Layer.provide(layerClientProtocolHttpDefault));
|
|
81
109
|
/**
|
|
82
110
|
* @since 1.0.0
|
|
83
111
|
* @category Layers
|
|
84
112
|
*/
|
|
85
|
-
export const layerWebsocket = /*#__PURE__*/HttpRouter.
|
|
86
|
-
path: "/",
|
|
87
|
-
logAddress: true
|
|
88
|
-
})), /*#__PURE__*/Layer.provide(/*#__PURE__*/layerClientProtocolWebsocket({
|
|
113
|
+
export const layerWebsocket = /*#__PURE__*/HttpRouter.serve(layerWebsocketOptions({
|
|
89
114
|
path: "/"
|
|
90
|
-
})));
|
|
115
|
+
})).pipe(/*#__PURE__*/Layer.provide(layerClientProtocolWebsocketDefault));
|
|
91
116
|
/**
|
|
92
117
|
* @since 1.0.0
|
|
93
118
|
* @category Layers
|
|
94
119
|
*/
|
|
95
|
-
export const layerWebsocketClientOnly = /*#__PURE__*/RunnerServer.layerClientOnly.pipe(/*#__PURE__*/Layer.provide(
|
|
96
|
-
path: "/"
|
|
97
|
-
})));
|
|
120
|
+
export const layerWebsocketClientOnly = /*#__PURE__*/RunnerServer.layerClientOnly.pipe(/*#__PURE__*/Layer.provide(layerClientProtocolWebsocketDefault));
|
|
98
121
|
//# sourceMappingURL=HttpRunner.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HttpRunner.js","names":["HttpRouter","
|
|
1
|
+
{"version":3,"file":"HttpRunner.js","names":["HttpClient","HttpClientRequest","HttpRouter","Socket","RpcClient","RpcSerialization","RpcServer","Effect","Layer","Runners","RpcClientProtocol","RunnerServer","Sharding","layerClientProtocolHttp","options","effect","gen","serialization","client","https","address","clientWithUrl","mapRequest","prependUrl","host","port","path","makeProtocolHttp","pipe","provideService","layerClientProtocolHttpDefault","layerClientProtocolWebsocket","constructor","WebSocketConstructor","fnUntraced","socket","makeWebSocket","makeProtocolSocket","layerClientProtocolWebsocketDefault","toHttpEffect","handlers","build","layerHandlers","toHttpApp","Rpcs","spanPrefix","disableTracing","provide","toHttpEffectWebsocket","toHttpAppWebsocket","layerClient","layer","provideMerge","layerRpc","layerHttpOptions","layerWithClients","layerProtocolHttp","layerWebsocketOptions","layerProtocolWebsocket","layerHttp","serve","layerHttpClientOnly","layerClientOnly","layerWebsocket","layerWebsocketClientOnly"],"sources":["../../src/HttpRunner.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -8,12 +8,11 @@ import { globalValue } from "effect/GlobalValue";
|
|
|
8
8
|
import * as Layer from "effect/Layer";
|
|
9
9
|
import * as Option from "effect/Option";
|
|
10
10
|
import * as Schema from "effect/Schema";
|
|
11
|
-
import { MalformedMessage } from "./ClusterError.js";
|
|
11
|
+
import { EntityNotAssignedToRunner, MalformedMessage } from "./ClusterError.js";
|
|
12
12
|
import * as DeliverAt from "./DeliverAt.js";
|
|
13
13
|
import * as Envelope from "./Envelope.js";
|
|
14
14
|
import * as Message from "./Message.js";
|
|
15
15
|
import * as Reply from "./Reply.js";
|
|
16
|
-
import { ShardId } from "./ShardId.js";
|
|
17
16
|
import * as Snowflake from "./Snowflake.js";
|
|
18
17
|
/**
|
|
19
18
|
* @since 1.0.0
|
|
@@ -36,29 +35,77 @@ export const SaveResultEncoded = /*#__PURE__*/Data.taggedEnum();
|
|
|
36
35
|
*/
|
|
37
36
|
export const make = storage => Effect.sync(() => {
|
|
38
37
|
const replyHandlers = new Map();
|
|
38
|
+
const replyHandlersShard = new Map();
|
|
39
39
|
return MessageStorage.of({
|
|
40
40
|
...storage,
|
|
41
|
-
registerReplyHandler:
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
41
|
+
registerReplyHandler: message => {
|
|
42
|
+
const requestId = message.envelope.requestId;
|
|
43
|
+
return Effect.async(resume => {
|
|
44
|
+
const shardId = message.envelope.address.shardId.toString();
|
|
45
|
+
let handlers = replyHandlers.get(requestId);
|
|
46
|
+
if (handlers === undefined) {
|
|
47
|
+
handlers = [];
|
|
48
|
+
replyHandlers.set(requestId, handlers);
|
|
49
|
+
}
|
|
50
|
+
let shardSet = replyHandlersShard.get(shardId);
|
|
51
|
+
if (!shardSet) {
|
|
52
|
+
shardSet = new Set();
|
|
53
|
+
replyHandlersShard.set(shardId, shardSet);
|
|
54
|
+
}
|
|
55
|
+
const entry = {
|
|
56
|
+
message,
|
|
57
|
+
shardSet,
|
|
58
|
+
respond: message._tag === "IncomingRequest" ? message.respond : reply => message.respond(reply.reply),
|
|
59
|
+
resume
|
|
60
|
+
};
|
|
61
|
+
handlers.push(entry);
|
|
62
|
+
shardSet.add(entry);
|
|
63
|
+
return Effect.sync(() => {
|
|
64
|
+
const index = handlers.indexOf(entry);
|
|
65
|
+
handlers.splice(index, 1);
|
|
66
|
+
shardSet.delete(entry);
|
|
67
|
+
});
|
|
45
68
|
});
|
|
46
|
-
}
|
|
47
|
-
unregisterReplyHandler: requestId => Effect.
|
|
48
|
-
const
|
|
49
|
-
if (!
|
|
69
|
+
},
|
|
70
|
+
unregisterReplyHandler: requestId => Effect.sync(() => {
|
|
71
|
+
const handlers = replyHandlers.get(requestId);
|
|
72
|
+
if (!handlers) return Effect.void;
|
|
50
73
|
replyHandlers.delete(requestId);
|
|
51
|
-
|
|
74
|
+
for (let i = 0; i < handlers.length; i++) {
|
|
75
|
+
const handler = handlers[i];
|
|
76
|
+
handler.shardSet.delete(handler);
|
|
77
|
+
handler.resume(Effect.fail(new EntityNotAssignedToRunner({
|
|
78
|
+
address: handler.message.envelope.address
|
|
79
|
+
})));
|
|
80
|
+
}
|
|
81
|
+
}),
|
|
82
|
+
unregisterShardReplyHandlers: shardId => Effect.sync(() => {
|
|
83
|
+
const id = shardId.toString();
|
|
84
|
+
const shardSet = replyHandlersShard.get(id);
|
|
85
|
+
if (!shardSet) return;
|
|
86
|
+
replyHandlersShard.delete(id);
|
|
87
|
+
shardSet.forEach(handler => {
|
|
88
|
+
replyHandlers.delete(handler.message.envelope.requestId);
|
|
89
|
+
handler.resume(Effect.fail(new EntityNotAssignedToRunner({
|
|
90
|
+
address: handler.message.envelope.address
|
|
91
|
+
})));
|
|
92
|
+
});
|
|
52
93
|
}),
|
|
53
94
|
saveReply(reply) {
|
|
95
|
+
const requestId = reply.reply.requestId;
|
|
54
96
|
return Effect.flatMap(storage.saveReply(reply), () => {
|
|
55
|
-
const
|
|
56
|
-
if (!
|
|
97
|
+
const handlers = replyHandlers.get(requestId);
|
|
98
|
+
if (!handlers) {
|
|
57
99
|
return Effect.void;
|
|
58
100
|
} else if (reply.reply._tag === "WithExit") {
|
|
59
|
-
replyHandlers.delete(
|
|
101
|
+
replyHandlers.delete(requestId);
|
|
102
|
+
for (let i = 0; i < handlers.length; i++) {
|
|
103
|
+
const handler = handlers[i];
|
|
104
|
+
handler.shardSet.delete(handler);
|
|
105
|
+
handler.resume(Effect.void);
|
|
106
|
+
}
|
|
60
107
|
}
|
|
61
|
-
return handler.respond(reply);
|
|
108
|
+
return handlers.length === 1 ? handlers[0].respond(reply) : Effect.forEach(handlers, handler => handler.respond(reply));
|
|
62
109
|
});
|
|
63
110
|
}
|
|
64
111
|
});
|
|
@@ -330,8 +377,9 @@ export class MemoryDriver extends /*#__PURE__*/Effect.Service()("@effect/cluster
|
|
|
330
377
|
const messages = Arr.empty();
|
|
331
378
|
for (let index = 0; index < journal.length; index++) {
|
|
332
379
|
const envelope = journal[index];
|
|
333
|
-
const shardId =
|
|
334
|
-
|
|
380
|
+
const shardId = envelope.address.shardId;
|
|
381
|
+
const shardIdStr = `${shardId.group}:${shardId.id}`;
|
|
382
|
+
if (!unprocessed.has(envelope) || !shardIds.includes(shardIdStr)) {
|
|
335
383
|
continue;
|
|
336
384
|
}
|
|
337
385
|
if (envelope._tag === "Request") {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageStorage.js","names":["Arr","Context","Data","Effect","Exit","FiberRef","globalValue","Layer","Option","Schema","MalformedMessage","DeliverAt","Envelope","Message","Reply","ShardId","Snowflake","MessageStorage","Tag","SaveResult","taggedEnum","SaveResultEncoded","make","storage","sync","replyHandlers","Map","of","registerReplyHandler","message","onUnregister","set","envelope","requestId","respond","_tag","reply","unregisterReplyHandler","suspend","handler","get","void","delete","saveReply","flatMap","makeEncoded","fnUntraced","encoded","snowflakeGen","Generator","clock","saveRequest","serializeEnvelope","pipe","saveEnvelope","primaryKey","deliverAt","toMillis","payload","result","lastReceivedReply","succeed","duplicate","schema","rpc","decode","value","locally","currentContext","context","refail","map","Duplicate","originalId","some","asVoid","serialize","clearReplies","repliesFor","messages","requestIds","empty","id","String","push","length","encodedReplies","decodeReplies","repliesForUnfiltered","ids","Array","from","requestIdForPrimaryKey","options","primaryKeyByAddress","unprocessedMessages","shardIds","shards","toString","unsafeCurrentTimeMillis","decodeMessages","unprocessedMessagesById","messageIds","resetAddress","clearAddress","resetShards","envelopes","index","decodeMessage","catchAll","undefined","decodeEnvelopeWithReply","error","ReplyWithContext","fromDefect","unsafeNext","defect","forkDaemon","as","whileLoop","while","body","step","IncomingRequest","lastSentReply","IncomingEnvelope","replies","ignoredRequests","Set","decodeReply","has","add","WithExit","exit","die","noop","runSync","Success","succeedNone","MemoryDriver","Service","dependencies","layerGenerator","effect","gen","requests","requestsByPrimaryKey","unprocessed","replyIds","journal","cursors","WeakMap","unprocessedWith","predicate","now","entry","fromNullable","none","replyLatch","makeLatch","request","isNone","lastReceivedChunk","sequence","envelope_","JSON","parse","stringify","existing","findFirst","r","replyId","orElse","reply_","unsafeOpen","size","shardId","address","includes","last","envelopeIds","i","sameAddress","entityType","entityId","splice","layerNoop","layerMemory","_","provideMerge","Default","EnvelopeWithReply","Struct","PartialEncoded","OptionFromSelf","Encoded"],"sources":["../../src/MessageStorage.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"MessageStorage.js","names":["Arr","Context","Data","Effect","Exit","FiberRef","globalValue","Layer","Option","Schema","EntityNotAssignedToRunner","MalformedMessage","DeliverAt","Envelope","Message","Reply","Snowflake","MessageStorage","Tag","SaveResult","taggedEnum","SaveResultEncoded","make","storage","sync","replyHandlers","Map","replyHandlersShard","of","registerReplyHandler","message","requestId","envelope","async","resume","shardId","address","toString","handlers","get","undefined","set","shardSet","Set","entry","respond","_tag","reply","push","add","index","indexOf","splice","delete","unregisterReplyHandler","void","i","length","handler","fail","unregisterShardReplyHandlers","id","forEach","saveReply","flatMap","makeEncoded","fnUntraced","encoded","snowflakeGen","Generator","clock","saveRequest","serializeEnvelope","pipe","saveEnvelope","primaryKey","deliverAt","toMillis","payload","result","lastReceivedReply","succeed","duplicate","schema","rpc","decode","value","locally","currentContext","context","refail","map","Duplicate","originalId","some","asVoid","serialize","clearReplies","repliesFor","messages","requestIds","empty","String","encodedReplies","decodeReplies","repliesForUnfiltered","ids","Array","from","requestIdForPrimaryKey","options","primaryKeyByAddress","unprocessedMessages","shardIds","shards","suspend","unsafeCurrentTimeMillis","decodeMessages","unprocessedMessagesById","messageIds","resetAddress","clearAddress","resetShards","envelopes","decodeMessage","catchAll","decodeEnvelopeWithReply","error","ReplyWithContext","fromDefect","unsafeNext","defect","forkDaemon","as","whileLoop","while","body","step","IncomingRequest","lastSentReply","IncomingEnvelope","replies","ignoredRequests","decodeReply","has","WithExit","exit","die","noop","runSync","Success","succeedNone","MemoryDriver","Service","dependencies","layerGenerator","effect","gen","requests","requestsByPrimaryKey","unprocessed","replyIds","journal","cursors","WeakMap","unprocessedWith","predicate","now","fromNullable","none","replyLatch","makeLatch","request","isNone","lastReceivedChunk","sequence","envelope_","JSON","parse","stringify","existing","findFirst","r","replyId","orElse","reply_","unsafeOpen","size","shardIdStr","group","includes","last","envelopeIds","sameAddress","entityType","entityId","layerNoop","layerMemory","_","provideMerge","Default","EnvelopeWithReply","Struct","PartialEncoded","OptionFromSelf","Encoded"],"sources":["../../src/MessageStorage.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/esm/Runner.js
CHANGED
|
@@ -29,7 +29,7 @@ export const TypeId = /*#__PURE__*/Symbol.for(SymbolKey);
|
|
|
29
29
|
export class Runner extends /*#__PURE__*/Schema.Class(SymbolKey)({
|
|
30
30
|
address: RunnerAddress,
|
|
31
31
|
groups: /*#__PURE__*/Schema.Array(Schema.String),
|
|
32
|
-
|
|
32
|
+
weight: Schema.Number
|
|
33
33
|
}) {
|
|
34
34
|
/**
|
|
35
35
|
* @since 1.0.0
|
|
@@ -57,13 +57,13 @@ export class Runner extends /*#__PURE__*/Schema.Class(SymbolKey)({
|
|
|
57
57
|
* @since 1.0.0
|
|
58
58
|
*/
|
|
59
59
|
[Equal.symbol](that) {
|
|
60
|
-
return this.address[Equal.symbol](that.address) && this.
|
|
60
|
+
return this.address[Equal.symbol](that.address) && this.weight === that.weight;
|
|
61
61
|
}
|
|
62
62
|
/**
|
|
63
63
|
* @since 1.0.0
|
|
64
64
|
*/
|
|
65
65
|
[Hash.symbol]() {
|
|
66
|
-
return Hash.cached(this, Hash.string(`${this.address.toString()}:${this.
|
|
66
|
+
return Hash.cached(this, Hash.string(`${this.address.toString()}:${this.weight}`));
|
|
67
67
|
}
|
|
68
68
|
}
|
|
69
69
|
/**
|
package/dist/esm/Runner.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Runner.js","names":["Equal","Hash","NodeInspectSymbol","Pretty","Schema","RunnerAddress","SymbolKey","TypeId","Symbol","for","Runner","Class","address","groups","Array","String","
|
|
1
|
+
{"version":3,"file":"Runner.js","names":["Equal","Hash","NodeInspectSymbol","Pretty","Schema","RunnerAddress","SymbolKey","TypeId","Symbol","for","Runner","Class","address","groups","Array","String","weight","Number","pretty","make","decodeSync","parseJson","encodeSync","toString","symbol","that","cached","string","props"],"sources":["../../src/Runner.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,IAAI,MAAM,aAAa;AACnC,SAASC,iBAAiB,QAAQ,oBAAoB;AACtD,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,SAASC,aAAa,QAAQ,oBAAoB;AAElD,MAAMC,SAAS,GAAG,wBAAwB;AAE1C;;;;AAIA,OAAO,MAAMC,MAAM,gBAAkBC,MAAM,CAACC,GAAG,CAACH,SAAS,CAAC;AAQ1D;;;;;;;;;;;;;AAaA,OAAM,MAAOI,MAAO,sBAAQN,MAAM,CAACO,KAAK,CAASL,SAAS,CAAC,CAAC;EAC1DM,OAAO,EAAEP,aAAa;EACtBQ,MAAM,eAAET,MAAM,CAACU,KAAK,CAACV,MAAM,CAACW,MAAM,CAAC;EACnCC,MAAM,EAAEZ,MAAM,CAACa;CAChB,CAAC;EACA;;;EAGA,OAAOC,MAAM,gBAAGf,MAAM,CAACgB,IAAI,CAAC,IAAI,CAAC;EAEjC;;;EAGS,CAACZ,MAAM,IAAIA,MAAM;EAE1B;;;EAGA,OAAgBa,UAAU,gBAAGhB,MAAM,CAACgB,UAAU,cAAChB,MAAM,CAACiB,SAAS,CAACX,MAAM,CAAC,CAAC;EAExE;;;EAGA,OAAgBY,UAAU,gBAAGlB,MAAM,CAACkB,UAAU,cAAClB,MAAM,CAACiB,SAAS,CAACX,MAAM,CAAC,CAAC;EAExE;;;EAGA,CAACR,iBAAiB,IAAC;IACjB,OAAO,IAAI,CAACqB,QAAQ,EAAE;EACxB;EAEA;;;EAGA,CAACvB,KAAK,CAACwB,MAAM,EAAEC,IAAY;IACzB,OAAO,IAAI,CAACb,OAAO,CAACZ,KAAK,CAACwB,MAAM,CAAC,CAACC,IAAI,CAACb,OAAO,CAAC,IAAI,IAAI,CAACI,MAAM,KAAKS,IAAI,CAACT,MAAM;EAChF;EAEA;;;EAGA,CAACf,IAAI,CAACuB,MAAM,IAAC;IACX,OAAOvB,IAAI,CAACyB,MAAM,CAAC,IAAI,EAAEzB,IAAI,CAAC0B,MAAM,CAAC,GAAG,IAAI,CAACf,OAAO,CAACW,QAAQ,EAAE,IAAI,IAAI,CAACP,MAAM,EAAE,CAAC,CAAC;EACpF;;AAGF;;;;;;;;;;;;;AAaA,OAAO,MAAMG,IAAI,GAAIS,KAIpB,IAAa,IAAIlB,MAAM,CAACkB,KAAK,CAAC","ignoreList":[]}
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
import * as Equal from "effect/Equal";
|
|
5
5
|
import * as Hash from "effect/Hash";
|
|
6
6
|
import { NodeInspectSymbol } from "effect/Inspectable";
|
|
7
|
+
import * as PrimaryKey from "effect/PrimaryKey";
|
|
7
8
|
import * as Schema from "effect/Schema";
|
|
8
9
|
const SymbolKey = "@effect/cluster/RunnerAddress";
|
|
9
10
|
/**
|
|
@@ -23,6 +24,12 @@ export class RunnerAddress extends /*#__PURE__*/Schema.Class(SymbolKey)({
|
|
|
23
24
|
* @since 1.0.0
|
|
24
25
|
*/
|
|
25
26
|
[TypeId] = TypeId;
|
|
27
|
+
/**
|
|
28
|
+
* @since 1.0.0
|
|
29
|
+
*/
|
|
30
|
+
[PrimaryKey.symbol]() {
|
|
31
|
+
return `${this.host}:${this.port}`;
|
|
32
|
+
}
|
|
26
33
|
/**
|
|
27
34
|
* @since 1.0.0
|
|
28
35
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RunnerAddress.js","names":["Equal","Hash","NodeInspectSymbol","Schema","SymbolKey","TypeId","Symbol","for","RunnerAddress","Class","host","NonEmptyString","port","Int","symbol","that","cached","string","toString","make"],"sources":["../../src/RunnerAddress.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,IAAI,MAAM,aAAa;AACnC,SAASC,iBAAiB,QAAQ,oBAAoB;AACtD,OAAO,KAAKC,MAAM,MAAM,eAAe;AAEvC,MAAMC,SAAS,GAAG,+BAA+B;AAEjD;;;;AAIA,OAAO,MAAMC,MAAM,gBAAkBC,MAAM,CAACC,GAAG,CAACH,SAAS,CAAC;AAQ1D;;;;AAIA,OAAM,MAAOI,aAAc,sBAAQL,MAAM,CAACM,KAAK,CAAgBL,SAAS,CAAC,CAAC;EACxEM,IAAI,EAAEP,MAAM,CAACQ,cAAc;EAC3BC,IAAI,EAAET,MAAM,CAACU;CACd,CAAC;EACA;;;EAGS,CAACR,MAAM,IAAIA,MAAM;EAE1B;;;EAGA,
|
|
1
|
+
{"version":3,"file":"RunnerAddress.js","names":["Equal","Hash","NodeInspectSymbol","PrimaryKey","Schema","SymbolKey","TypeId","Symbol","for","RunnerAddress","Class","host","NonEmptyString","port","Int","symbol","that","cached","string","toString","make"],"sources":["../../src/RunnerAddress.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,IAAI,MAAM,aAAa;AACnC,SAASC,iBAAiB,QAAQ,oBAAoB;AACtD,OAAO,KAAKC,UAAU,MAAM,mBAAmB;AAC/C,OAAO,KAAKC,MAAM,MAAM,eAAe;AAEvC,MAAMC,SAAS,GAAG,+BAA+B;AAEjD;;;;AAIA,OAAO,MAAMC,MAAM,gBAAkBC,MAAM,CAACC,GAAG,CAACH,SAAS,CAAC;AAQ1D;;;;AAIA,OAAM,MAAOI,aAAc,sBAAQL,MAAM,CAACM,KAAK,CAAgBL,SAAS,CAAC,CAAC;EACxEM,IAAI,EAAEP,MAAM,CAACQ,cAAc;EAC3BC,IAAI,EAAET,MAAM,CAACU;CACd,CAAC;EACA;;;EAGS,CAACR,MAAM,IAAIA,MAAM;EAE1B;;;EAGA,CAACH,UAAU,CAACY,MAAM,IAAC;IACjB,OAAO,GAAG,IAAI,CAACJ,IAAI,IAAI,IAAI,CAACE,IAAI,EAAE;EACpC;EAEA;;;EAGA,CAACb,KAAK,CAACe,MAAM,EAAEC,IAAmB;IAChC,OAAO,IAAI,CAACL,IAAI,KAAKK,IAAI,CAACL,IAAI,IAAI,IAAI,CAACE,IAAI,KAAKG,IAAI,CAACH,IAAI;EAC3D;EAEA;;;EAGA,CAACZ,IAAI,CAACc,MAAM,IAAC;IACX,OAAOd,IAAI,CAACgB,MAAM,CAAC,IAAI,EAAEhB,IAAI,CAACiB,MAAM,CAAC,IAAI,CAACC,QAAQ,EAAE,CAAC,CAAC;EACxD;EAEA;;;EAGAA,QAAQA,CAAA;IACN,OAAO,iBAAiB,IAAI,CAACR,IAAI,IAAI,IAAI,CAACE,IAAI,GAAG;EACnD;EAEA;;;EAGA,CAACX,iBAAiB,IAAC;IACjB,OAAO,IAAI,CAACiB,QAAQ,EAAE;EACxB;;AAGF;;;;AAIA,OAAO,MAAMC,IAAI,GAAGA,CAACT,IAAY,EAAEE,IAAY,KAAoB,IAAIJ,aAAa,CAAC;EAAEE,IAAI;EAAEE;AAAI,CAAE,CAAC","ignoreList":[]}
|