@effect/cluster 0.34.0 → 0.34.2
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/dist/cjs/Entity.js +80 -1
- package/dist/cjs/Entity.js.map +1 -1
- package/dist/cjs/Sharding.js.map +1 -1
- package/dist/dts/Entity.d.ts +12 -6
- package/dist/dts/Entity.d.ts.map +1 -1
- package/dist/dts/ShardManager.d.ts +1 -1
- package/dist/dts/Sharding.d.ts +2 -2
- package/dist/dts/Sharding.d.ts.map +1 -1
- package/dist/esm/Entity.js +79 -0
- package/dist/esm/Entity.js.map +1 -1
- package/dist/esm/Sharding.js.map +1 -1
- package/package.json +5 -5
- package/src/Entity.ts +108 -7
- package/src/Sharding.ts +6 -2
package/dist/cjs/Entity.js
CHANGED
@@ -3,8 +3,10 @@
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
4
4
|
value: true
|
5
5
|
});
|
6
|
-
exports.make = exports.isEntity = exports.fromRpcGroup = exports.TypeId = exports.Request = exports.CurrentRunnerAddress = exports.CurrentAddress = void 0;
|
6
|
+
exports.makeTestClient = exports.make = exports.isEntity = exports.fromRpcGroup = exports.TypeId = exports.Request = exports.CurrentRunnerAddress = exports.CurrentAddress = void 0;
|
7
|
+
var RpcClient = _interopRequireWildcard(require("@effect/rpc/RpcClient"));
|
7
8
|
var RpcGroup = _interopRequireWildcard(require("@effect/rpc/RpcGroup"));
|
9
|
+
var RpcServer = _interopRequireWildcard(require("@effect/rpc/RpcServer"));
|
8
10
|
var Arr = _interopRequireWildcard(require("effect/Array"));
|
9
11
|
var Context = _interopRequireWildcard(require("effect/Context"));
|
10
12
|
var Data = _interopRequireWildcard(require("effect/Data"));
|
@@ -16,7 +18,16 @@ var Layer = _interopRequireWildcard(require("effect/Layer"));
|
|
16
18
|
var Mailbox = _interopRequireWildcard(require("effect/Mailbox"));
|
17
19
|
var Option = _interopRequireWildcard(require("effect/Option"));
|
18
20
|
var Predicate = _interopRequireWildcard(require("effect/Predicate"));
|
21
|
+
var _Scope = require("effect/Scope");
|
22
|
+
var _EntityAddress = require("./EntityAddress.js");
|
19
23
|
var _EntityType = require("./EntityType.js");
|
24
|
+
var Envelope = _interopRequireWildcard(require("./Envelope.js"));
|
25
|
+
var _hash = require("./internal/hash.js");
|
26
|
+
var _resourceMap = require("./internal/resourceMap.js");
|
27
|
+
var _RunnerAddress = require("./RunnerAddress.js");
|
28
|
+
var ShardId = _interopRequireWildcard(require("./ShardId.js"));
|
29
|
+
var _ShardingConfig = require("./ShardingConfig.js");
|
30
|
+
var Snowflake = _interopRequireWildcard(require("./Snowflake.js"));
|
20
31
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
21
32
|
/**
|
22
33
|
* @since 1.0.0
|
@@ -183,4 +194,72 @@ class Request extends Data.Class {
|
|
183
194
|
}
|
184
195
|
exports.Request = Request;
|
185
196
|
const shardingTag = /*#__PURE__*/Context.GenericTag("@effect/cluster/Sharding");
|
197
|
+
/**
|
198
|
+
* @since 1.0.0
|
199
|
+
* @category Testing
|
200
|
+
*/
|
201
|
+
const makeTestClient = exports.makeTestClient = /*#__PURE__*/Effect.fnUntraced(function* (entity, layer) {
|
202
|
+
const config = yield* _ShardingConfig.ShardingConfig;
|
203
|
+
const makeShardId = entityId => ShardId.make(Math.abs((0, _hash.hashString)(entityId) % config.numberOfShards) + 1);
|
204
|
+
const snowflakeGen = yield* Snowflake.makeGenerator;
|
205
|
+
const runnerAddress = new _RunnerAddress.RunnerAddress({
|
206
|
+
host: "localhost",
|
207
|
+
port: 3000
|
208
|
+
});
|
209
|
+
const entityMap = new Map();
|
210
|
+
const sharding = shardingTag.of({
|
211
|
+
...{},
|
212
|
+
registerEntity: (entity, handlers, options) => Effect.contextWith(context => {
|
213
|
+
entityMap.set(entity.type, {
|
214
|
+
context: context,
|
215
|
+
concurrency: options?.concurrency ?? 1,
|
216
|
+
build: entity.protocol.toHandlersContext(handlers).pipe(Effect.provide(context.pipe(Context.add(CurrentRunnerAddress, runnerAddress), Context.omit(_Scope.Scope))))
|
217
|
+
});
|
218
|
+
})
|
219
|
+
});
|
220
|
+
yield* Layer.build(Layer.provide(layer, Layer.succeed(shardingTag, sharding)));
|
221
|
+
const entityEntry = entityMap.get(entity.type);
|
222
|
+
if (!entityEntry) {
|
223
|
+
return yield* Effect.dieMessage(`Entity.makeTestClient: ${entity.type} was not registered by layer`);
|
224
|
+
}
|
225
|
+
const map = yield* _resourceMap.ResourceMap.make(Effect.fnUntraced(function* (entityId) {
|
226
|
+
const address = new _EntityAddress.EntityAddress({
|
227
|
+
entityType: entity.type,
|
228
|
+
entityId: entityId,
|
229
|
+
shardId: makeShardId(entityId)
|
230
|
+
});
|
231
|
+
const handlers = yield* entityEntry.build.pipe(Effect.provideService(CurrentAddress, address));
|
232
|
+
// eslint-disable-next-line prefer-const
|
233
|
+
let client;
|
234
|
+
const server = yield* RpcServer.makeNoSerialization(entity.protocol, {
|
235
|
+
concurrency: entityEntry.concurrency,
|
236
|
+
onFromServer(response) {
|
237
|
+
return client.write(response);
|
238
|
+
}
|
239
|
+
}).pipe(Effect.provide(handlers));
|
240
|
+
client = yield* RpcClient.makeNoSerialization(entity.protocol, {
|
241
|
+
supportsAck: true,
|
242
|
+
generateRequestId: () => snowflakeGen.unsafeNext(),
|
243
|
+
onFromClient({
|
244
|
+
message
|
245
|
+
}) {
|
246
|
+
if (message._tag === "Request") {
|
247
|
+
return server.write(0, {
|
248
|
+
...message,
|
249
|
+
payload: new Request({
|
250
|
+
...message,
|
251
|
+
[Envelope.TypeId]: Envelope.TypeId,
|
252
|
+
address,
|
253
|
+
requestId: Snowflake.Snowflake(message.id),
|
254
|
+
lastSentChunk: Option.none()
|
255
|
+
})
|
256
|
+
});
|
257
|
+
}
|
258
|
+
return server.write(0, message);
|
259
|
+
}
|
260
|
+
});
|
261
|
+
return client.client;
|
262
|
+
}));
|
263
|
+
return entityId => map.get(entityId);
|
264
|
+
});
|
186
265
|
//# sourceMappingURL=Entity.js.map
|
package/dist/cjs/Entity.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Entity.js","names":["RpcGroup","_interopRequireWildcard","require","Arr","Context","Data","Effect","Equal","Exit","Hash","Layer","Mailbox","Option","Predicate","_EntityType","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","TypeId","exports","Symbol","for","isEntity","u","hasProperty","Proto","symbol","structure","type","that","annotate","tag","value","fromRpcGroup","protocol","annotateRpcs","annotateContext","context","annotateRpcsContext","client","shardingTag","pipe","flatMap","sharding","makeClient","toLayer","build","options","registerEntity","isEffect","succeed","effectDiscard","toLayerMailbox","buildHandlers","gen","behaviour","mailbox","make","handler","envelope","async","resume","unsafeOffer","resumes","handlers","rpc","requests","keys","Map","complete","request","exit","sync","delete","replier","fail","error","failCause","cause","catchAllCause","values","void","interruptible","forkScoped","concurrency","self","create","EntityType","CurrentAddress","Tag","CurrentRunnerAddress","Request","Class","lastSentChunkValue","lastSentChunk","map","chunk","lastNonEmpty","nextSequence","isNone","sequence","GenericTag"],"sources":["../../src/Entity.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"file":"Entity.js","names":["RpcClient","_interopRequireWildcard","require","RpcGroup","RpcServer","Arr","Context","Data","Effect","Equal","Exit","Hash","Layer","Mailbox","Option","Predicate","_Scope","_EntityAddress","_EntityType","Envelope","_hash","_resourceMap","_RunnerAddress","ShardId","_ShardingConfig","Snowflake","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","TypeId","exports","Symbol","for","isEntity","u","hasProperty","Proto","symbol","structure","type","that","annotate","tag","value","fromRpcGroup","protocol","annotateRpcs","annotateContext","context","annotateRpcsContext","client","shardingTag","pipe","flatMap","sharding","makeClient","toLayer","build","options","registerEntity","isEffect","succeed","effectDiscard","toLayerMailbox","buildHandlers","gen","behaviour","mailbox","make","handler","envelope","async","resume","unsafeOffer","resumes","handlers","rpc","requests","keys","Map","complete","request","exit","sync","delete","replier","fail","error","failCause","cause","catchAllCause","values","void","interruptible","forkScoped","concurrency","self","create","EntityType","CurrentAddress","Tag","CurrentRunnerAddress","Request","Class","lastSentChunkValue","lastSentChunk","map","chunk","lastNonEmpty","nextSequence","isNone","sequence","GenericTag","makeTestClient","fnUntraced","entity","layer","config","ShardingConfig","makeShardId","entityId","Math","abs","hashString","numberOfShards","snowflakeGen","makeGenerator","runnerAddress","RunnerAddress","host","port","entityMap","of","contextWith","toHandlersContext","provide","add","omit","Scope","entityEntry","dieMessage","ResourceMap","address","EntityAddress","entityType","shardId","provideService","server","makeNoSerialization","onFromServer","response","write","supportsAck","generateRequestId","unsafeNext","onFromClient","message","_tag","payload","requestId","id","none"],"sources":["../../src/Entity.ts"],"sourcesContent":[null],"mappings":";;;;;;AAIA,IAAAA,SAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,QAAA,GAAAF,uBAAA,CAAAC,OAAA;AACA,IAAAE,SAAA,GAAAH,uBAAA,CAAAC,OAAA;AACA,IAAAG,GAAA,GAAAJ,uBAAA,CAAAC,OAAA;AAEA,IAAAI,OAAA,GAAAL,uBAAA,CAAAC,OAAA;AACA,IAAAK,IAAA,GAAAN,uBAAA,CAAAC,OAAA;AAEA,IAAAM,MAAA,GAAAP,uBAAA,CAAAC,OAAA;AACA,IAAAO,KAAA,GAAAR,uBAAA,CAAAC,OAAA;AACA,IAAAQ,IAAA,GAAAT,uBAAA,CAAAC,OAAA;AACA,IAAAS,IAAA,GAAAV,uBAAA,CAAAC,OAAA;AACA,IAAAU,KAAA,GAAAX,uBAAA,CAAAC,OAAA;AACA,IAAAW,OAAA,GAAAZ,uBAAA,CAAAC,OAAA;AACA,IAAAY,MAAA,GAAAb,uBAAA,CAAAC,OAAA;AACA,IAAAa,SAAA,GAAAd,uBAAA,CAAAC,OAAA;AACA,IAAAc,MAAA,GAAAd,OAAA;AAQA,IAAAe,cAAA,GAAAf,OAAA;AAEA,IAAAgB,WAAA,GAAAhB,OAAA;AACA,IAAAiB,QAAA,GAAAlB,uBAAA,CAAAC,OAAA;AACA,IAAAkB,KAAA,GAAAlB,OAAA;AACA,IAAAmB,YAAA,GAAAnB,OAAA;AAEA,IAAAoB,cAAA,GAAApB,OAAA;AACA,IAAAqB,OAAA,GAAAtB,uBAAA,CAAAC,OAAA;AAEA,IAAAsB,eAAA,GAAAtB,OAAA;AACA,IAAAuB,SAAA,GAAAxB,uBAAA,CAAAC,OAAA;AAA2C,SAAAD,wBAAAyB,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAA3B,uBAAA,YAAAA,CAAAyB,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAE3C;;;;AAIO,MAAMkB,MAAM,GAAAC,OAAA,CAAAD,MAAA,gBAAkBE,MAAM,CAACC,GAAG,CAAC,wBAAwB,CAAC;AAwIzE;;;;AAIO,MAAMC,QAAQ,GAAIC,CAAU,IAAenC,SAAS,CAACoC,WAAW,CAACD,CAAC,EAAEL,MAAM,CAAC;AAAAC,OAAA,CAAAG,QAAA,GAAAA,QAAA;AAElF,MAAMG,KAAK,GAAG;EACZ,CAACP,MAAM,GAAGA,MAAM;EAChB,CAAClC,IAAI,CAAC0C,MAAM,IAAC;IACX,OAAO1C,IAAI,CAAC2C,SAAS,CAAC;MAAEC,IAAI,EAAE,IAAI,CAACA;IAAI,CAAE,CAAC;EAC5C,CAAC;EACD,CAAC9C,KAAK,CAAC4C,MAAM,EAAqBG,IAAiB;IACjD,OAAOP,QAAQ,CAACO,IAAI,CAAC,IAAI,IAAI,CAACD,IAAI,KAAKC,IAAI,CAACD,IAAI;EAClD,CAAC;EACDE,QAAQA,CAA0BC,GAAsB,EAAEC,KAAQ;IAChE,OAAOC,YAAY,CAAC,IAAI,CAACL,IAAI,EAAE,IAAI,CAACM,QAAQ,CAACJ,QAAQ,CAACC,GAAG,EAAEC,KAAK,CAAC,CAAC;EACpE,CAAC;EACDG,YAAYA,CAA0BJ,GAAsB,EAAEC,KAAQ;IACpE,OAAOC,YAAY,CAAC,IAAI,CAACL,IAAI,EAAE,IAAI,CAACM,QAAQ,CAACC,YAAY,CAACJ,GAAG,EAAEC,KAAK,CAAC,CAAC;EACxE,CAAC;EACDI,eAAeA,CAAuBC,OAA2B;IAC/D,OAAOJ,YAAY,CAAC,IAAI,CAACL,IAAI,EAAE,IAAI,CAACM,QAAQ,CAACE,eAAe,CAACC,OAAO,CAAC,CAAC;EACxE,CAAC;EACDC,mBAAmBA,CAAuBD,OAA2B;IACnE,OAAOJ,YAAY,CAAC,IAAI,CAACL,IAAI,EAAE,IAAI,CAACM,QAAQ,CAACI,mBAAmB,CAACD,OAAO,CAAC,CAAC;EAC5E,CAAC;EACD,IAAIE,MAAMA,CAAA;IACR,OAAOC,WAAW,CAACC,IAAI,CACrB5D,MAAM,CAAC6D,OAAO,CAAEC,QAAQ,IAAKA,QAAQ,CAACC,UAAU,CAAC,IAAW,CAAC,CAAC,CAC/D;EACH,CAAC;EACDC,OAAOA,CAMLC,KAAoD,EACpDC,OAGC;IAUD,OAAOP,WAAW,CAACC,IAAI,CACrB5D,MAAM,CAAC6D,OAAO,CAAEC,QAAQ,IACtBA,QAAQ,CAACK,cAAc,CACrB,IAAI,EACJnE,MAAM,CAACoE,QAAQ,CAACH,KAAK,CAAC,GAAGA,KAAK,GAAGjE,MAAM,CAACqE,OAAO,CAACJ,KAAK,CAAC,EACtDC,OAAO,CACR,CACF,EACD9D,KAAK,CAACkE,aAAa,CACpB;EACH,CAAC;EACDC,cAAcA,CAMZN,KAYG,EACHC,OAEC;IAED,MAAMM,aAAa,GAAGxE,MAAM,CAACyE,GAAG,CAAC,IAAI,EAAE,aAAS;MAC9C,MAAMC,SAAS,GAAG1E,MAAM,CAACoE,QAAQ,CAACH,KAAK,CAAC,GAAG,OAAOA,KAAK,GAAGA,KAAK;MAC/D,MAAMU,OAAO,GAAG,OAAOtE,OAAO,CAACuE,IAAI,EAA0B;MAE7D;MACA,MAAMC,OAAO,GAAIC,QAAa,IAAI;QAChC,OAAO9E,MAAM,CAAC+E,KAAK,CAAYC,MAAM,IAAI;UACvCL,OAAO,CAACM,WAAW,CAACH,QAAQ,CAAC;UAC7BI,OAAO,CAACnD,GAAG,CAAC+C,QAAQ,EAAEE,MAAM,CAAC;QAC/B,CAAC,CAAC;MACJ,CAAC;MACD,MAAMG,QAAQ,GAAwB,EAAE;MACxC,KAAK,MAAMC,GAAG,IAAI,IAAI,CAAC/B,QAAQ,CAACgC,QAAQ,CAACC,IAAI,EAAE,EAAE;QAC/CH,QAAQ,CAACC,GAAG,CAAC,GAAGP,OAAO;MACzB;MAEA;MACA,MAAMK,OAAO,GAAG,IAAIK,GAAG,EAA8D;MACrF,MAAMC,QAAQ,GAAGA,CAACC,OAA8B,EAAEC,IAAyB,KACzE1F,MAAM,CAAC2F,IAAI,CAAC,MAAK;QACf,MAAMX,MAAM,GAAGE,OAAO,CAACpD,GAAG,CAAC2D,OAAO,CAAC;QACnC,IAAIT,MAAM,EAAE;UACVE,OAAO,CAACU,MAAM,CAACH,OAAO,CAAC;UACvBT,MAAM,CAACU,IAAI,CAAC;QACd;MACF,CAAC,CAAC;MACJ,MAAMG,OAAO,GAAkB;QAC7BxB,OAAO,EAAEA,CAACoB,OAAO,EAAEtC,KAAK,KAAKqC,QAAQ,CAACC,OAAO,EAAEvF,IAAI,CAACmE,OAAO,CAAClB,KAAK,CAAC,CAAC;QACnE2C,IAAI,EAAEA,CAACL,OAAO,EAAEM,KAAK,KAAKP,QAAQ,CAACC,OAAO,EAAEvF,IAAI,CAAC4F,IAAI,CAACC,KAAK,CAAC,CAAC;QAC7DC,SAAS,EAAEA,CAACP,OAAO,EAAEQ,KAAK,KAAKT,QAAQ,CAACC,OAAO,EAAEvF,IAAI,CAAC8F,SAAS,CAACC,KAAK,CAAC,CAAC;QACvET;OACD;MAED;MACA,OAAOd,SAAS,CAACC,OAAO,EAAEkB,OAAO,CAAC,CAACjC,IAAI,CACrC5D,MAAM,CAACkG,aAAa,CAAED,KAAK,IAAI;QAC7B,MAAMP,IAAI,GAAGxF,IAAI,CAAC8F,SAAS,CAACC,KAAK,CAAC;QAClC,KAAK,MAAMjB,MAAM,IAAIE,OAAO,CAACiB,MAAM,EAAE,EAAE;UACrCnB,MAAM,CAACU,IAAI,CAAC;QACd;QACA,OAAO1F,MAAM,CAACoG,IAAI;MACpB,CAAC,CAAC,EACFpG,MAAM,CAACqG,aAAa,EACpBrG,MAAM,CAACsG,UAAU,CAClB;MAED,OAAOnB,QAAe;IACxB,CAAC,CAAC;IAEF,OAAO,IAAI,CAACnB,OAAO,CAACQ,aAAa,EAAE;MACjC,GAAGN,OAAO;MACVqC,WAAW,EAAE;KACd,CAAC;EACJ;CACD;AAED;;;;;;;AAOO,MAAMnD,YAAY,GAAGA;AAC1B;;;AAGAL,IAAY;AACZ;;;;AAIAM,QAAiC,KACjB;EAChB,MAAMmD,IAAI,GAAGtE,MAAM,CAACuE,MAAM,CAAC7D,KAAK,CAAC;EACjC4D,IAAI,CAACzD,IAAI,GAAG2D,sBAAU,CAAC9B,IAAI,CAAC7B,IAAI,CAAC;EACjCyD,IAAI,CAACnD,QAAQ,GAAGA,QAAQ;EACxB,OAAOmD,IAAI;AACb,CAAC;AAED;;;;;;;AAAAlE,OAAA,CAAAc,YAAA,GAAAA,YAAA;AAOO,MAAMwB,IAAI,GAAGA;AAClB;;;AAGA7B,IAAY;AACZ;;;;AAIAM,QAAc,KACWD,YAAY,CAACL,IAAI,EAAEpD,QAAQ,CAACiF,IAAI,CAAC,GAAGvB,QAAQ,CAAC,CAAC;AAEzE;;;;;;AAAAf,OAAA,CAAAsC,IAAA,GAAAA,IAAA;AAMM,MAAO+B,cAAe,sBAAQ7G,OAAO,CAAC8G,GAAG,CAAC,sCAAsC,CAAC,EAGpF;AAEH;;;;;;AAAAtE,OAAA,CAAAqE,cAAA,GAAAA,cAAA;AAMM,MAAOE,oBAAqB,sBAAQ/G,OAAO,CAAC8G,GAAG,CAAC,sCAAsC,CAAC,EAG1F;AA0CH;;;;AAAAtE,OAAA,CAAAuE,oBAAA,GAAAA,oBAAA;AAIM,MAAOC,OAA6B,SAAQ/G,IAAI,CAACgH,KAItD;EACC;;;EAGA,IAAIC,kBAAkBA,CAAA;IACpB,OAAO,IAAI,CAACC,aAAa,CAACrD,IAAI,CAACtD,MAAM,CAAC4G,GAAG,CAAEC,KAAK,IAAKtH,GAAG,CAACuH,YAAY,CAACD,KAAK,CAAChB,MAAM,CAAC,CAAC,CAAC;EACvF;EAEA;;;EAGA,IAAIkB,YAAYA,CAAA;IACd,IAAI/G,MAAM,CAACgH,MAAM,CAAC,IAAI,CAACL,aAAa,CAAC,EAAE;MACrC,OAAO,CAAC;IACV;IACA,OAAO,IAAI,CAACA,aAAa,CAAC9D,KAAK,CAACoE,QAAQ,GAAG,CAAC;EAC9C;;;AAGF,MAAM5D,WAAW,gBAAG7D,OAAO,CAAC0H,UAAU,CAA6B,0BAA0B,CAAC;AAE9F;;;;AAIO,MAAMC,cAAc,GAAAnF,OAAA,CAAAmF,cAAA,gBAOvBzH,MAAM,CAAC0H,UAAU,CAAC,WACpBC,MAAoB,EACpBC,KAA8B;EAE9B,MAAMC,MAAM,GAAG,OAAOC,8BAAc;EACpC,MAAMC,WAAW,GAAIC,QAAgB,IAAKjH,OAAO,CAAC6D,IAAI,CAAEqD,IAAI,CAACC,GAAG,CAAC,IAAAC,gBAAU,EAACH,QAAQ,CAAC,GAAGH,MAAM,CAACO,cAAc,CAAC,GAAI,CAAC,CAAC;EACpH,MAAMC,YAAY,GAAG,OAAOpH,SAAS,CAACqH,aAAa;EACnD,MAAMC,aAAa,GAAG,IAAIC,4BAAa,CAAC;IAAEC,IAAI,EAAE,WAAW;IAAEC,IAAI,EAAE;EAAI,CAAE,CAAC;EAC1E,MAAMC,SAAS,GAAG,IAAIpD,GAAG,EAQrB;EACJ,MAAMzB,QAAQ,GAAGH,WAAW,CAACiF,EAAE,CAAC;IAC9B,GAAI,EAAuB;IAC3BzE,cAAc,EAAEA,CAACwD,MAAM,EAAExC,QAAQ,EAAEjB,OAAO,KACxClE,MAAM,CAAC6I,WAAW,CAAErF,OAAO,IAAI;MAC7BmF,SAAS,CAAC5G,GAAG,CAAC4F,MAAM,CAAC5E,IAAI,EAAE;QACzBS,OAAO,EAAEA,OAAc;QACvB+C,WAAW,EAAErC,OAAO,EAAEqC,WAAW,IAAI,CAAC;QACtCtC,KAAK,EAAE0D,MAAM,CAACtE,QAAQ,CAACyF,iBAAiB,CAAC3D,QAAQ,CAAC,CAACvB,IAAI,CACrD5D,MAAM,CAAC+I,OAAO,CAACvF,OAAO,CAACI,IAAI,CACzB9D,OAAO,CAACkJ,GAAG,CAACnC,oBAAoB,EAAE0B,aAAa,CAAC,EAChDzI,OAAO,CAACmJ,IAAI,CAACC,YAAK,CAAC,CACpB,CAAC;OAEL,CAAC;IACJ,CAAC;GACJ,CAAC;EACF,OAAO9I,KAAK,CAAC6D,KAAK,CAAC7D,KAAK,CAAC2I,OAAO,CAACnB,KAAK,EAAExH,KAAK,CAACiE,OAAO,CAACV,WAAW,EAAEG,QAAQ,CAAC,CAAC,CAAC;EAC9E,MAAMqF,WAAW,GAAGR,SAAS,CAAC7G,GAAG,CAAC6F,MAAM,CAAC5E,IAAI,CAAC;EAC9C,IAAI,CAACoG,WAAW,EAAE;IAChB,OAAO,OAAOnJ,MAAM,CAACoJ,UAAU,CAAC,0BAA0BzB,MAAM,CAAC5E,IAAI,8BAA8B,CAAC;EACtG;EAEA,MAAMmE,GAAG,GAAG,OAAOmC,wBAAW,CAACzE,IAAI,CAAC5E,MAAM,CAAC0H,UAAU,CAAC,WAAUM,QAAgB;IAC9E,MAAMsB,OAAO,GAAG,IAAIC,4BAAa,CAAC;MAChCC,UAAU,EAAE7B,MAAM,CAAC5E,IAAI;MACvBiF,QAAQ,EAAEA,QAAoB;MAC9ByB,OAAO,EAAE1B,WAAW,CAACC,QAAQ;KAC9B,CAAC;IACF,MAAM7C,QAAQ,GAAG,OAAOgE,WAAW,CAAClF,KAAK,CAACL,IAAI,CAC5C5D,MAAM,CAAC0J,cAAc,CAAC/C,cAAc,EAAE2C,OAAO,CAAC,CAC/C;IAED;IACA,IAAI5F,MAA6F;IACjG,MAAMiG,MAAM,GAAG,OAAO/J,SAAS,CAACgK,mBAAmB,CAACjC,MAAM,CAACtE,QAAQ,EAAE;MACnEkD,WAAW,EAAE4C,WAAW,CAAC5C,WAAW;MACpCsD,YAAYA,CAACC,QAAQ;QACnB,OAAOpG,MAAM,CAACqG,KAAK,CAACD,QAAQ,CAAC;MAC/B;KACD,CAAC,CAAClG,IAAI,CAAC5D,MAAM,CAAC+I,OAAO,CAAC5D,QAAQ,CAAC,CAAC;IAEjCzB,MAAM,GAAG,OAAOlE,SAAS,CAACoK,mBAAmB,CAACjC,MAAM,CAACtE,QAAQ,EAAE;MAC7D2G,WAAW,EAAE,IAAI;MACjBC,iBAAiB,EAAEA,CAAA,KAAM5B,YAAY,CAAC6B,UAAU,EAAS;MACzDC,YAAYA,CAAC;QAAEC;MAAO,CAAE;QACtB,IAAIA,OAAO,CAACC,IAAI,KAAK,SAAS,EAAE;UAC9B,OAAOV,MAAM,CAACI,KAAK,CAAC,CAAC,EAAE;YACrB,GAAGK,OAAO;YACVE,OAAO,EAAE,IAAIxD,OAAO,CAAC;cACnB,GAAGsD,OAAO;cACV,CAACzJ,QAAQ,CAAC0B,MAAM,GAAG1B,QAAQ,CAAC0B,MAAM;cAClCiH,OAAO;cACPiB,SAAS,EAAEtJ,SAAS,CAACA,SAAS,CAACmJ,OAAO,CAACI,EAAE,CAAC;cAC1CvD,aAAa,EAAE3G,MAAM,CAACmK,IAAI;aAC3B;WACF,CAAC;QACJ;QACA,OAAOd,MAAM,CAACI,KAAK,CAAC,CAAC,EAAEK,OAAO,CAAC;MACjC;KACD,CAAC;IACF,OAAO1G,MAAM,CAACA,MAAM;EACtB,CAAC,CAAC,CAAC;EAEH,OAAQsE,QAAgB,IAAKd,GAAG,CAACpF,GAAG,CAACkG,QAAQ,CAAC;AAChD,CAAC,CAAC","ignoreList":[]}
|
package/dist/cjs/Sharding.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Sharding.js","names":["RpcClient","_interopRequireWildcard","require","_RpcMessage","Arr","Cause","Context","Deferred","Effect","Equal","Exit","Fiber","FiberHandle","FiberMap","FiberRef","_Function","HashMap","Iterable","Layer","MutableHashMap","MutableRef","Option","Predicate","PubSub","Schedule","Scope","Stream","_ClusterError","_ClusterSchema","_EntityAddress","_EntityId","Envelope","EntityManager","_entityReaper","_hash","_interruptors","_resourceMap","Message","MessageStorage","Reply","_Runners","_ShardId","_ShardingConfig","_ShardingRegistrationEvent","_ShardManager","_ShardStorage","_SingletonAddress","Snowflake","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","Sharding","Tag","exports","make","gen","config","ShardingConfig","runners","Runners","shardManager","ShardManagerClient","snowflakeGen","Generator","shardingScope","scope","isShutdown","storage","storageEnabled","noop","shardStorage","ShardStorage","entityManagers","Map","shardAssignments","empty","selfShards","Set","acquiredShards","activeShardsLatch","makeLatch","events","unbounded","getRegistrationEvents","fromPubSub","isLocalRunner","address","isSome","runnerAddress","equals","value","getShardId","entityId","ShardId","Math","abs","hashString","numberOfShards","isEntityOnLocalShards","shardId","selfAddress","addFinalizerExit","ignore","releaseAll","releasingShards","await","delete","add","unacquiredShards","size","forkIn","syncSingletons","releaseShards","close","acquired","acquire","resetShards","length","storageReadLatch","open","sleep","pipe","catchAllCause","cause","logWarning","repeat","spaced","entityMessagePollInterval","annotateLogs","package","module","fiber","runner","interruptible","suspend","refresh","flatMap","includes","andThen","void","retry","times","schedule","logError","clearSelfShards","delay","forever","releaseShardsLock","unsafeMakeSemaphore","withPermits","forEach","values","state","manager","interruptShard","concurrency","discard","release","clear","singletons","singletonFibers","withSingletonLock","registerSingleton","fnUntraced","name","run","SingletonAddress","EntityId","map","dieMessage","context","wrappedRun","locally","currentLogAnnotations","never","scoped","provide","orDie","publish","SingletonRegistered","logDebug","running","unsafeHas","shouldBeRunning","internalInterruptors","fiberId","remove","openStorageReadLatch","constant","storageReadLock","withStorageReadLock","storageAlreadyProcessed","_message","addFinalizer","sentRequestIds","sentRequestIdSets","message","envelope","requestId","entityType","isProcessingFor","excludeReplies","unsafeClose","take","messages","unprocessedMessages","currentSentRequestIds","send","index","_tag","respond","ReplyWithContext","fromDefect","id","unsafeNext","defect","EntityNotManagedByRunner","isProcessing","resumptionState","entityResumptionState","unprocessed","interrupts","error","failureOption","isNone","saveReply","squash","resumeEntityFromStorage","whileLoop","while","step","body","oldest","unsafeHead","ensuring","lastReceivedMessage","resumeEntityFromStorageImpl","getOrThrow","done","messageIds","push","unprocessedMessagesById","sendWithRetry","catchTags","fail","EntityNotAssignedToRunner","interrupt","MailboxFull","sendRetryInterval","AlreadyProcessingMessage","sync","effect","entity","sendLocal","simulateRemoteSerialization","notifyLocal","notify","envelopeId","isTransientError","or","RunnerUnavailable","is","sendOutgoing","retries","catchIf","maybeRunner","isPersisted","rpc","annotations","Persisted","runnerIsLocal","die","shardManagerTimeoutFiber","extend","startShardManagerTimeout","shardManagerUnavailableTimeout","onlyIfMissing","stopShardManagerTimeout","machineId","register","setMachineId","mailbox","shardingEvents","startedLatch","eventsFiber","takeAll","event","shard","shards","intoDeferred","forkScoped","syncFiber","syncAssignments","refreshAssignmentsInterval","joinAll","zipRight","exponential","union","assignments","getAssignments","clientRequests","clients","ResourceMap","client","makeNoSerialization","protocol","supportsAck","generateRequestId","RequestId","onFromClient","options","unsafeGet","ClientAddressTag","getCurrentFiber","requests","tag","entry","currentContext","makeClientRespond","write","clientRespondDiscard","OutgoingRequest","makeRequest","payload","headers","traceId","spanId","sampled","lastReceivedReply","none","OutgoingEnvelope","AckChunk","replyId","lastChunkId","isTransientInterrupt","interruptors","some","Interrupt","wrappedClient","method","keys","merge","currentClientAddress","withFiberRuntime","EntityAddress","type","makeClient","_reply","reply","clientId","exit","reaper","EntityReaper","registerEntity","build","sharding","EntityRegistered","unregister","activeEntityCount","count","of","layer","layerGenerator","Default","GenericTag","Symbol","for","key"],"sources":["../../src/Sharding.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"file":"Sharding.js","names":["RpcClient","_interopRequireWildcard","require","_RpcMessage","Arr","Cause","Context","Deferred","Effect","Equal","Exit","Fiber","FiberHandle","FiberMap","FiberRef","_Function","HashMap","Iterable","Layer","MutableHashMap","MutableRef","Option","Predicate","PubSub","Schedule","Scope","Stream","_ClusterError","_ClusterSchema","_EntityAddress","_EntityId","Envelope","EntityManager","_entityReaper","_hash","_interruptors","_resourceMap","Message","MessageStorage","Reply","_Runners","_ShardId","_ShardingConfig","_ShardingRegistrationEvent","_ShardManager","_ShardStorage","_SingletonAddress","Snowflake","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","Sharding","Tag","exports","make","gen","config","ShardingConfig","runners","Runners","shardManager","ShardManagerClient","snowflakeGen","Generator","shardingScope","scope","isShutdown","storage","storageEnabled","noop","shardStorage","ShardStorage","entityManagers","Map","shardAssignments","empty","selfShards","Set","acquiredShards","activeShardsLatch","makeLatch","events","unbounded","getRegistrationEvents","fromPubSub","isLocalRunner","address","isSome","runnerAddress","equals","value","getShardId","entityId","ShardId","Math","abs","hashString","numberOfShards","isEntityOnLocalShards","shardId","selfAddress","addFinalizerExit","ignore","releaseAll","releasingShards","await","delete","add","unacquiredShards","size","forkIn","syncSingletons","releaseShards","close","acquired","acquire","resetShards","length","storageReadLatch","open","sleep","pipe","catchAllCause","cause","logWarning","repeat","spaced","entityMessagePollInterval","annotateLogs","package","module","fiber","runner","interruptible","suspend","refresh","flatMap","includes","andThen","void","retry","times","schedule","logError","clearSelfShards","delay","forever","releaseShardsLock","unsafeMakeSemaphore","withPermits","forEach","values","state","manager","interruptShard","concurrency","discard","release","clear","singletons","singletonFibers","withSingletonLock","registerSingleton","fnUntraced","name","run","SingletonAddress","EntityId","map","dieMessage","context","wrappedRun","locally","currentLogAnnotations","never","scoped","provide","orDie","publish","SingletonRegistered","logDebug","running","unsafeHas","shouldBeRunning","internalInterruptors","fiberId","remove","openStorageReadLatch","constant","storageReadLock","withStorageReadLock","storageAlreadyProcessed","_message","addFinalizer","sentRequestIds","sentRequestIdSets","message","envelope","requestId","entityType","isProcessingFor","excludeReplies","unsafeClose","take","messages","unprocessedMessages","currentSentRequestIds","send","index","_tag","respond","ReplyWithContext","fromDefect","id","unsafeNext","defect","EntityNotManagedByRunner","isProcessing","resumptionState","entityResumptionState","unprocessed","interrupts","error","failureOption","isNone","saveReply","squash","resumeEntityFromStorage","whileLoop","while","step","body","oldest","unsafeHead","ensuring","lastReceivedMessage","resumeEntityFromStorageImpl","getOrThrow","done","messageIds","push","unprocessedMessagesById","sendWithRetry","catchTags","fail","EntityNotAssignedToRunner","interrupt","MailboxFull","sendRetryInterval","AlreadyProcessingMessage","sync","effect","entity","sendLocal","simulateRemoteSerialization","notifyLocal","notify","envelopeId","isTransientError","or","RunnerUnavailable","is","sendOutgoing","retries","catchIf","maybeRunner","isPersisted","rpc","annotations","Persisted","runnerIsLocal","die","shardManagerTimeoutFiber","extend","startShardManagerTimeout","shardManagerUnavailableTimeout","onlyIfMissing","stopShardManagerTimeout","machineId","register","setMachineId","mailbox","shardingEvents","startedLatch","eventsFiber","takeAll","event","shard","shards","intoDeferred","forkScoped","syncFiber","syncAssignments","refreshAssignmentsInterval","joinAll","zipRight","exponential","union","assignments","getAssignments","clientRequests","clients","ResourceMap","client","makeNoSerialization","protocol","supportsAck","generateRequestId","RequestId","onFromClient","options","unsafeGet","ClientAddressTag","getCurrentFiber","requests","tag","entry","currentContext","makeClientRespond","write","clientRespondDiscard","OutgoingRequest","makeRequest","payload","headers","traceId","spanId","sampled","lastReceivedReply","none","OutgoingEnvelope","AckChunk","replyId","lastChunkId","isTransientInterrupt","interruptors","some","Interrupt","wrappedClient","method","keys","merge","currentClientAddress","withFiberRuntime","EntityAddress","type","makeClient","_reply","reply","clientId","exit","reaper","EntityReaper","registerEntity","build","sharding","EntityRegistered","unregister","activeEntityCount","count","of","layer","layerGenerator","Default","GenericTag","Symbol","for","key"],"sources":["../../src/Sharding.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/dts/Entity.d.ts
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
* @since 1.0.0
|
3
3
|
*/
|
4
4
|
import type * as Rpc from "@effect/rpc/Rpc";
|
5
|
-
import
|
5
|
+
import * as RpcClient from "@effect/rpc/RpcClient";
|
6
6
|
import * as RpcGroup from "@effect/rpc/RpcGroup";
|
7
7
|
import type * as Cause from "effect/Cause";
|
8
8
|
import * as Context from "effect/Context";
|
@@ -14,15 +14,16 @@ import * as Exit from "effect/Exit";
|
|
14
14
|
import * as Layer from "effect/Layer";
|
15
15
|
import * as Mailbox from "effect/Mailbox";
|
16
16
|
import * as Option from "effect/Option";
|
17
|
-
import
|
17
|
+
import { Scope } from "effect/Scope";
|
18
18
|
import type * as Stream from "effect/Stream";
|
19
19
|
import type { AlreadyProcessingMessage, EntityNotManagedByRunner, MailboxFull, PersistenceError } from "./ClusterError.js";
|
20
|
-
import
|
20
|
+
import { EntityAddress } from "./EntityAddress.js";
|
21
21
|
import { EntityType } from "./EntityType.js";
|
22
|
-
import
|
22
|
+
import * as Envelope from "./Envelope.js";
|
23
23
|
import type * as Reply from "./Reply.js";
|
24
|
-
import
|
24
|
+
import { RunnerAddress } from "./RunnerAddress.js";
|
25
25
|
import type { Sharding } from "./Sharding.js";
|
26
|
+
import { ShardingConfig } from "./ShardingConfig.js";
|
26
27
|
/**
|
27
28
|
* @since 1.0.0
|
28
29
|
* @category type ids
|
@@ -86,7 +87,7 @@ export interface Entity<in out Rpcs extends Rpc.Any> extends Equal.Equal {
|
|
86
87
|
toLayerMailbox<R, RX = never>(build: ((mailbox: Mailbox.ReadonlyMailbox<Envelope.Request<Rpcs>>, replier: Replier<Rpcs>) => Effect.Effect<never, never, R>) | Effect.Effect<(mailbox: Mailbox.ReadonlyMailbox<Envelope.Request<Rpcs>>, replier: Replier<Rpcs>) => Effect.Effect<never, never, R>, never, RX>, options?: {
|
87
88
|
readonly maxIdleTime?: DurationInput | undefined;
|
88
89
|
readonly mailboxCapacity?: number | "unbounded" | undefined;
|
89
|
-
}): Layer.Layer<never, never, Exclude<RX, Scope | CurrentAddress> | R | Rpc.Context<Rpcs> | Rpc.Middleware<Rpcs> | Sharding>;
|
90
|
+
}): Layer.Layer<never, never, Exclude<RX, Scope | CurrentAddress | CurrentRunnerAddress> | R | Rpc.Context<Rpcs> | Rpc.Middleware<Rpcs> | Sharding>;
|
90
91
|
}
|
91
92
|
/**
|
92
93
|
* @since 1.0.0
|
@@ -194,5 +195,10 @@ export declare class Request<Rpc extends Rpc.Any> extends Data.Class<Envelope.Re
|
|
194
195
|
*/
|
195
196
|
get nextSequence(): number;
|
196
197
|
}
|
198
|
+
/**
|
199
|
+
* @since 1.0.0
|
200
|
+
* @category Testing
|
201
|
+
*/
|
202
|
+
export declare const makeTestClient: <Rpcs extends Rpc.Any, LA, LE, LR>(entity: Entity<Rpcs>, layer: Layer.Layer<LA, LE, LR>) => Effect.Effect<(entityId: string) => Effect.Effect<RpcClient.RpcClient<Rpcs>>, LE, Scope | ShardingConfig | Exclude<LR, Sharding> | Rpc.MiddlewareClient<Rpcs>>;
|
197
203
|
export {};
|
198
204
|
//# sourceMappingURL=Entity.d.ts.map
|
package/dist/dts/Entity.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Entity.d.ts","sourceRoot":"","sources":["../../src/Entity.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,KAAK,GAAG,MAAM,iBAAiB,CAAA;AAC3C,OAAO,KAAK,
|
1
|
+
{"version":3,"file":"Entity.d.ts","sourceRoot":"","sources":["../../src/Entity.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,KAAK,GAAG,MAAM,iBAAiB,CAAA;AAC3C,OAAO,KAAK,SAAS,MAAM,uBAAuB,CAAA;AAClD,OAAO,KAAK,QAAQ,MAAM,sBAAsB,CAAA;AAGhD,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,IAAI,MAAM,aAAa,CAAA;AACnC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AACpD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,IAAI,MAAM,aAAa,CAAA;AAEnC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AACpC,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,EACV,wBAAwB,EACxB,wBAAwB,EACxB,WAAW,EACX,gBAAgB,EACjB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAElD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AAGzC,OAAO,KAAK,KAAK,KAAK,MAAM,YAAY,CAAA;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAElD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAGpD;;;GAGG;AACH,eAAO,MAAM,MAAM,EAAE,OAAO,MAA6C,CAAA;AAEzE;;;GAGG;AACH,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAA;AAElC;;;GAGG;AACH,MAAM,WAAW,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,SAAS,GAAG,CAAC,GAAG,CAAE,SAAQ,KAAK,CAAC,KAAK;IACtE,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACzB;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;IAEzB;;;OAGG;IACH,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;IAE1C;;OAEG;IACH,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;IAE9D;;OAEG;IACH,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;IAElE;;OAEG;IACH,eAAe,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;IAE7D;;OAEG;IACH,mBAAmB,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;IAEjE;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAC5B,CACE,QAAQ,EAAE,MAAM,KACb,SAAS,CAAC,SAAS,CACtB,IAAI,EACJ,WAAW,GAAG,wBAAwB,GAAG,gBAAgB,GAAG,wBAAwB,CACrF,EACD,KAAK,EACL,QAAQ,CACT,CAAA;IAED;;;;OAIG;IACH,OAAO,CACL,QAAQ,SAAS,YAAY,CAAC,IAAI,CAAC,EACnC,EAAE,GAAG,KAAK,EAEV,KAAK,EAAE,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC,EACpD,OAAO,CAAC,EAAE;QACR,QAAQ,CAAC,WAAW,CAAC,EAAE,aAAa,GAAG,SAAS,CAAA;QAChD,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAAA;QACvD,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAAA;KAC5D,GACA,KAAK,CAAC,KAAK,CACZ,KAAK,EACL,KAAK,EACH,OAAO,CAAC,EAAE,EAAE,KAAK,GAAG,cAAc,GAAG,oBAAoB,CAAC,GAC1D,QAAQ,CAAC,eAAe,CAAC,IAAI,EAAE,QAAQ,CAAC,GACxC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,GACjB,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,GACpB,QAAQ,CACX,CAAA;IAED;;;;OAIG;IACH,cAAc,CACZ,CAAC,EACD,EAAE,GAAG,KAAK,EAEV,KAAK,EACD,CAAC,CACD,OAAO,EAAE,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EACxD,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,KACnB,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,GAClC,MAAM,CAAC,MAAM,CACb,CACE,OAAO,EAAE,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EACxD,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,KACnB,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,EACnC,KAAK,EACL,EAAE,CACH,EACH,OAAO,CAAC,EAAE;QACR,QAAQ,CAAC,WAAW,CAAC,EAAE,aAAa,GAAG,SAAS,CAAA;QAChD,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAAA;KAC5D,GACA,KAAK,CAAC,KAAK,CACZ,KAAK,EACL,KAAK,EACH,OAAO,CAAC,EAAE,EAAE,KAAK,GAAG,cAAc,GAAG,oBAAoB,CAAC,GAC1D,CAAC,GACD,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,GACjB,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,GACpB,QAAQ,CACX,CAAA;CACF;AACD;;;GAGG;AACH,MAAM,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;AAEjC;;;GAGG;AACH,MAAM,MAAM,YAAY,CAAC,GAAG,SAAS,GAAG,CAAC,GAAG,IAAI;IAC9C,QAAQ,EAAE,OAAO,IAAI,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,GAAG,CAC5C,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,KACvB,GAAG,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;CAC3E,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,QAAQ,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,GAAuC,CAAA;AAyIlF;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,GAAI,IAAI,SAAS,GAAG,CAAC,GAAG;AAC/C;;GAEG;AACH,MAAM,MAAM;AACZ;;;GAGG;AACH,UAAU,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,KAChC,MAAM,CAAC,IAAI,CAKb,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,IAAI,GAAI,IAAI,SAAS,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC;AACtD;;GAEG;AACH,MAAM,MAAM;AACZ;;;GAGG;AACH,UAAU,IAAI,KACb,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAmD,CAAA;;AAEzE;;;;;GAKG;AACH,qBAAa,cAAe,SAAQ,mBAGjC;CAAG;;AAEN;;;;;GAKG;AACH,qBAAa,oBAAqB,SAAQ,yBAGvC;CAAG;AAEN;;;GAGG;AACH,MAAM,WAAW,OAAO,CAAC,IAAI,SAAS,GAAG,CAAC,GAAG;IAC3C,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,SAAS,IAAI,EAC/B,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAC5B,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KACtB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAExB,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,SAAS,IAAI,EAC5B,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAC5B,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,KAChB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAExB,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,EACjC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAC5B,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAC7B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAExB,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,SAAS,IAAI,EAChC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAC5B,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAC9C,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;CACzB;AAED;;;GAGG;AACH,MAAM,CAAC,OAAO,WAAW,OAAO,CAAC;IAC/B;;;OAGG;IACH,KAAY,OAAO,CAAC,CAAC,SAAS,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,GACzG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GACvF,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;CACnB;AAED;;;GAGG;AACH,qBAAa,OAAO,CAAC,GAAG,SAAS,GAAG,CAAC,GAAG,CAAE,SAAQ,IAAI,CAAC,KAAK,CAC1D,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG;IACtB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA;CACxD,CACF;IACC;;OAEG;IACH,IAAI,kBAAkB,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAE7D;IAED;;OAEG;IACH,IAAI,YAAY,IAAI,MAAM,CAKzB;CACF;AAID;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,CAAC,IAAI,SAAS,GAAG,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAC5D,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,EACpB,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,KAC3B,MAAM,CAAC,MAAM,CAChB,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAC9D,EAAE,EACF,KAAK,GAAG,cAAc,GAAG,OAAO,CAAC,EAAE,EAAE,QAAQ,CAAC,GAAG,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAkF3E,CAAA"}
|
@@ -436,7 +436,7 @@ export declare const make: Effect.Effect<{
|
|
436
436
|
* Check and repot on the health of all runners in the cluster.
|
437
437
|
*/
|
438
438
|
readonly checkRunnerHealth: Effect.Effect<void>;
|
439
|
-
}, never,
|
439
|
+
}, never, Scope | ShardingConfig | Runners | RunnerHealth | ShardStorage | Config>;
|
440
440
|
/**
|
441
441
|
* @since 1.0.0
|
442
442
|
* @category layer
|
package/dist/dts/Sharding.d.ts
CHANGED
@@ -11,7 +11,7 @@ import * as Scope from "effect/Scope";
|
|
11
11
|
import * as Stream from "effect/Stream";
|
12
12
|
import type { MailboxFull, PersistenceError } from "./ClusterError.js";
|
13
13
|
import { AlreadyProcessingMessage, EntityNotAssignedToRunner, EntityNotManagedByRunner } from "./ClusterError.js";
|
14
|
-
import type { CurrentAddress, Entity, HandlersFrom } from "./Entity.js";
|
14
|
+
import type { CurrentAddress, CurrentRunnerAddress, Entity, HandlersFrom } from "./Entity.js";
|
15
15
|
import { EntityId } from "./EntityId.js";
|
16
16
|
import * as Message from "./Message.js";
|
17
17
|
import * as MessageStorage from "./MessageStorage.js";
|
@@ -48,7 +48,7 @@ declare const Sharding_base: Context.TagClass<Sharding, "@effect/cluster/Shardin
|
|
48
48
|
readonly maxIdleTime?: DurationInput | undefined;
|
49
49
|
readonly concurrency?: number | "unbounded" | undefined;
|
50
50
|
readonly mailboxCapacity?: number | "unbounded" | undefined;
|
51
|
-
}) => Effect.Effect<void, never, Rpc.Context<Rpcs> | Rpc.Middleware<Rpcs> | Exclude<RX, Scope.Scope | CurrentAddress>>;
|
51
|
+
}) => Effect.Effect<void, never, Rpc.Context<Rpcs> | Rpc.Middleware<Rpcs> | Exclude<RX, Scope.Scope | CurrentAddress | CurrentRunnerAddress>>;
|
52
52
|
/**
|
53
53
|
* Registers a new singleton with the runner.
|
54
54
|
*/
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Sharding.d.ts","sourceRoot":"","sources":["../../src/Sharding.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,KAAK,GAAG,MAAM,iBAAiB,CAAA;AAC3C,OAAO,KAAK,SAAS,MAAM,uBAAuB,CAAA;AAIlD,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AAEzC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AACpD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAUvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAOrC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AACtE,OAAO,EACL,wBAAwB,EACxB,yBAAyB,EACzB,wBAAwB,EAEzB,MAAM,mBAAmB,CAAA;AAE1B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;
|
1
|
+
{"version":3,"file":"Sharding.d.ts","sourceRoot":"","sources":["../../src/Sharding.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/Entity.js
CHANGED
@@ -1,4 +1,6 @@
|
|
1
|
+
import * as RpcClient from "@effect/rpc/RpcClient";
|
1
2
|
import * as RpcGroup from "@effect/rpc/RpcGroup";
|
3
|
+
import * as RpcServer from "@effect/rpc/RpcServer";
|
2
4
|
import * as Arr from "effect/Array";
|
3
5
|
import * as Context from "effect/Context";
|
4
6
|
import * as Data from "effect/Data";
|
@@ -10,7 +12,16 @@ import * as Layer from "effect/Layer";
|
|
10
12
|
import * as Mailbox from "effect/Mailbox";
|
11
13
|
import * as Option from "effect/Option";
|
12
14
|
import * as Predicate from "effect/Predicate";
|
15
|
+
import { Scope } from "effect/Scope";
|
16
|
+
import { EntityAddress } from "./EntityAddress.js";
|
13
17
|
import { EntityType } from "./EntityType.js";
|
18
|
+
import * as Envelope from "./Envelope.js";
|
19
|
+
import { hashString } from "./internal/hash.js";
|
20
|
+
import { ResourceMap } from "./internal/resourceMap.js";
|
21
|
+
import { RunnerAddress } from "./RunnerAddress.js";
|
22
|
+
import * as ShardId from "./ShardId.js";
|
23
|
+
import { ShardingConfig } from "./ShardingConfig.js";
|
24
|
+
import * as Snowflake from "./Snowflake.js";
|
14
25
|
/**
|
15
26
|
* @since 1.0.0
|
16
27
|
* @category type ids
|
@@ -170,4 +181,72 @@ export class Request extends Data.Class {
|
|
170
181
|
}
|
171
182
|
}
|
172
183
|
const shardingTag = /*#__PURE__*/Context.GenericTag("@effect/cluster/Sharding");
|
184
|
+
/**
|
185
|
+
* @since 1.0.0
|
186
|
+
* @category Testing
|
187
|
+
*/
|
188
|
+
export const makeTestClient = /*#__PURE__*/Effect.fnUntraced(function* (entity, layer) {
|
189
|
+
const config = yield* ShardingConfig;
|
190
|
+
const makeShardId = entityId => ShardId.make(Math.abs(hashString(entityId) % config.numberOfShards) + 1);
|
191
|
+
const snowflakeGen = yield* Snowflake.makeGenerator;
|
192
|
+
const runnerAddress = new RunnerAddress({
|
193
|
+
host: "localhost",
|
194
|
+
port: 3000
|
195
|
+
});
|
196
|
+
const entityMap = new Map();
|
197
|
+
const sharding = shardingTag.of({
|
198
|
+
...{},
|
199
|
+
registerEntity: (entity, handlers, options) => Effect.contextWith(context => {
|
200
|
+
entityMap.set(entity.type, {
|
201
|
+
context: context,
|
202
|
+
concurrency: options?.concurrency ?? 1,
|
203
|
+
build: entity.protocol.toHandlersContext(handlers).pipe(Effect.provide(context.pipe(Context.add(CurrentRunnerAddress, runnerAddress), Context.omit(Scope))))
|
204
|
+
});
|
205
|
+
})
|
206
|
+
});
|
207
|
+
yield* Layer.build(Layer.provide(layer, Layer.succeed(shardingTag, sharding)));
|
208
|
+
const entityEntry = entityMap.get(entity.type);
|
209
|
+
if (!entityEntry) {
|
210
|
+
return yield* Effect.dieMessage(`Entity.makeTestClient: ${entity.type} was not registered by layer`);
|
211
|
+
}
|
212
|
+
const map = yield* ResourceMap.make(Effect.fnUntraced(function* (entityId) {
|
213
|
+
const address = new EntityAddress({
|
214
|
+
entityType: entity.type,
|
215
|
+
entityId: entityId,
|
216
|
+
shardId: makeShardId(entityId)
|
217
|
+
});
|
218
|
+
const handlers = yield* entityEntry.build.pipe(Effect.provideService(CurrentAddress, address));
|
219
|
+
// eslint-disable-next-line prefer-const
|
220
|
+
let client;
|
221
|
+
const server = yield* RpcServer.makeNoSerialization(entity.protocol, {
|
222
|
+
concurrency: entityEntry.concurrency,
|
223
|
+
onFromServer(response) {
|
224
|
+
return client.write(response);
|
225
|
+
}
|
226
|
+
}).pipe(Effect.provide(handlers));
|
227
|
+
client = yield* RpcClient.makeNoSerialization(entity.protocol, {
|
228
|
+
supportsAck: true,
|
229
|
+
generateRequestId: () => snowflakeGen.unsafeNext(),
|
230
|
+
onFromClient({
|
231
|
+
message
|
232
|
+
}) {
|
233
|
+
if (message._tag === "Request") {
|
234
|
+
return server.write(0, {
|
235
|
+
...message,
|
236
|
+
payload: new Request({
|
237
|
+
...message,
|
238
|
+
[Envelope.TypeId]: Envelope.TypeId,
|
239
|
+
address,
|
240
|
+
requestId: Snowflake.Snowflake(message.id),
|
241
|
+
lastSentChunk: Option.none()
|
242
|
+
})
|
243
|
+
});
|
244
|
+
}
|
245
|
+
return server.write(0, message);
|
246
|
+
}
|
247
|
+
});
|
248
|
+
return client.client;
|
249
|
+
}));
|
250
|
+
return entityId => map.get(entityId);
|
251
|
+
});
|
173
252
|
//# sourceMappingURL=Entity.js.map
|
package/dist/esm/Entity.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Entity.js","names":["RpcGroup","Arr","Context","Data","Effect","Equal","Exit","Hash","Layer","Mailbox","Option","Predicate","EntityType","TypeId","Symbol","for","isEntity","u","hasProperty","Proto","symbol","structure","type","that","annotate","tag","value","fromRpcGroup","protocol","annotateRpcs","annotateContext","context","annotateRpcsContext","client","shardingTag","pipe","flatMap","sharding","makeClient","toLayer","build","options","registerEntity","isEffect","succeed","effectDiscard","toLayerMailbox","buildHandlers","gen","behaviour","mailbox","make","handler","envelope","async","resume","unsafeOffer","resumes","set","handlers","rpc","requests","keys","Map","complete","request","exit","sync","get","delete","replier","fail","error","failCause","cause","catchAllCause","values","void","interruptible","forkScoped","concurrency","self","Object","create","CurrentAddress","Tag","CurrentRunnerAddress","Request","Class","lastSentChunkValue","lastSentChunk","map","chunk","lastNonEmpty","nextSequence","isNone","sequence","GenericTag"],"sources":["../../src/Entity.ts"],"sourcesContent":[null],"mappings":"
|
1
|
+
{"version":3,"file":"Entity.js","names":["RpcClient","RpcGroup","RpcServer","Arr","Context","Data","Effect","Equal","Exit","Hash","Layer","Mailbox","Option","Predicate","Scope","EntityAddress","EntityType","Envelope","hashString","ResourceMap","RunnerAddress","ShardId","ShardingConfig","Snowflake","TypeId","Symbol","for","isEntity","u","hasProperty","Proto","symbol","structure","type","that","annotate","tag","value","fromRpcGroup","protocol","annotateRpcs","annotateContext","context","annotateRpcsContext","client","shardingTag","pipe","flatMap","sharding","makeClient","toLayer","build","options","registerEntity","isEffect","succeed","effectDiscard","toLayerMailbox","buildHandlers","gen","behaviour","mailbox","make","handler","envelope","async","resume","unsafeOffer","resumes","set","handlers","rpc","requests","keys","Map","complete","request","exit","sync","get","delete","replier","fail","error","failCause","cause","catchAllCause","values","void","interruptible","forkScoped","concurrency","self","Object","create","CurrentAddress","Tag","CurrentRunnerAddress","Request","Class","lastSentChunkValue","lastSentChunk","map","chunk","lastNonEmpty","nextSequence","isNone","sequence","GenericTag","makeTestClient","fnUntraced","entity","layer","config","makeShardId","entityId","Math","abs","numberOfShards","snowflakeGen","makeGenerator","runnerAddress","host","port","entityMap","of","contextWith","toHandlersContext","provide","add","omit","entityEntry","dieMessage","address","entityType","shardId","provideService","server","makeNoSerialization","onFromServer","response","write","supportsAck","generateRequestId","unsafeNext","onFromClient","message","_tag","payload","requestId","id","none"],"sources":["../../src/Entity.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/esm/Sharding.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Sharding.js","names":["RpcClient","RequestId","Arr","Cause","Context","Deferred","Effect","Equal","Exit","Fiber","FiberHandle","FiberMap","FiberRef","constant","HashMap","Iterable","Layer","MutableHashMap","MutableRef","Option","Predicate","PubSub","Schedule","Scope","Stream","AlreadyProcessingMessage","EntityNotAssignedToRunner","EntityNotManagedByRunner","RunnerUnavailable","Persisted","EntityAddress","EntityId","Envelope","EntityManager","EntityReaper","hashString","internalInterruptors","ResourceMap","Message","MessageStorage","Reply","Runners","ShardId","ShardingConfig","EntityRegistered","SingletonRegistered","ShardManagerClient","ShardStorage","SingletonAddress","Snowflake","Sharding","Tag","make","gen","config","runners","shardManager","snowflakeGen","Generator","shardingScope","scope","isShutdown","storage","storageEnabled","noop","shardStorage","entityManagers","Map","shardAssignments","empty","selfShards","Set","acquiredShards","activeShardsLatch","makeLatch","events","unbounded","getRegistrationEvents","fromPubSub","isLocalRunner","address","isSome","runnerAddress","equals","value","getShardId","entityId","Math","abs","numberOfShards","isEntityOnLocalShards","has","shardId","selfAddress","addFinalizerExit","ignore","releaseAll","releasingShards","await","delete","add","unacquiredShards","size","forkIn","syncSingletons","releaseShards","close","acquired","acquire","resetShards","length","storageReadLatch","open","sleep","pipe","catchAllCause","cause","logWarning","repeat","spaced","entityMessagePollInterval","annotateLogs","package","module","fiber","runner","interruptible","suspend","refresh","flatMap","includes","andThen","void","retry","times","schedule","logError","clearSelfShards","delay","forever","releaseShardsLock","unsafeMakeSemaphore","withPermits","forEach","values","state","manager","interruptShard","concurrency","discard","release","clear","singletons","singletonFibers","withSingletonLock","registerSingleton","fnUntraced","name","run","map","get","set","dieMessage","context","wrappedRun","locally","currentLogAnnotations","never","scoped","provide","orDie","publish","logDebug","running","unsafeHas","shouldBeRunning","fiberId","remove","openStorageReadLatch","storageReadLock","withStorageReadLock","storageAlreadyProcessed","_message","addFinalizer","sentRequestIds","sentRequestIdSets","message","envelope","requestId","entityType","isProcessingFor","excludeReplies","unsafeClose","take","messages","unprocessedMessages","currentSentRequestIds","send","index","_tag","respond","ReplyWithContext","fromDefect","id","unsafeNext","defect","isProcessing","resumptionState","entityResumptionState","unprocessed","interrupts","error","failureOption","isNone","saveReply","squash","resumeEntityFromStorage","whileLoop","while","step","body","oldest","unsafeHead","ensuring","lastReceivedMessage","resumeEntityFromStorageImpl","getOrThrow","done","messageIds","push","unprocessedMessagesById","sendWithRetry","catchTags","fail","interrupt","MailboxFull","sendRetryInterval","sync","e","effect","entity","sendLocal","simulateRemoteSerialization","notifyLocal","notify","envelopeId","isTransientError","or","is","sendOutgoing","retries","catchIf","maybeRunner","isPersisted","rpc","annotations","runnerIsLocal","die","shardManagerTimeoutFiber","extend","startShardManagerTimeout","shardManagerUnavailableTimeout","onlyIfMissing","stopShardManagerTimeout","machineId","register","setMachineId","mailbox","shardingEvents","startedLatch","eventsFiber","takeAll","event","shard","shards","intoDeferred","forkScoped","syncFiber","syncAssignments","refreshAssignmentsInterval","joinAll","zipRight","exponential","union","assignments","getAssignments","clientRequests","clients","client","makeNoSerialization","protocol","supportsAck","generateRequestId","onFromClient","options","unsafeGet","ClientAddressTag","getCurrentFiber","requests","tag","entry","currentContext","makeClientRespond","write","clientRespondDiscard","OutgoingRequest","makeRequest","payload","headers","traceId","spanId","sampled","lastReceivedReply","none","OutgoingEnvelope","AckChunk","replyId","lastChunkId","isTransientInterrupt","interruptors","some","Interrupt","wrappedClient","method","Object","keys","merge","currentClientAddress","withFiberRuntime","type","makeClient","_reply","reply","clientId","exit","reaper","registerEntity","build","sharding","unregister","activeEntityCount","count","of","layer","layerGenerator","Default","GenericTag","Symbol","for","key"],"sources":["../../src/Sharding.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"file":"Sharding.js","names":["RpcClient","RequestId","Arr","Cause","Context","Deferred","Effect","Equal","Exit","Fiber","FiberHandle","FiberMap","FiberRef","constant","HashMap","Iterable","Layer","MutableHashMap","MutableRef","Option","Predicate","PubSub","Schedule","Scope","Stream","AlreadyProcessingMessage","EntityNotAssignedToRunner","EntityNotManagedByRunner","RunnerUnavailable","Persisted","EntityAddress","EntityId","Envelope","EntityManager","EntityReaper","hashString","internalInterruptors","ResourceMap","Message","MessageStorage","Reply","Runners","ShardId","ShardingConfig","EntityRegistered","SingletonRegistered","ShardManagerClient","ShardStorage","SingletonAddress","Snowflake","Sharding","Tag","make","gen","config","runners","shardManager","snowflakeGen","Generator","shardingScope","scope","isShutdown","storage","storageEnabled","noop","shardStorage","entityManagers","Map","shardAssignments","empty","selfShards","Set","acquiredShards","activeShardsLatch","makeLatch","events","unbounded","getRegistrationEvents","fromPubSub","isLocalRunner","address","isSome","runnerAddress","equals","value","getShardId","entityId","Math","abs","numberOfShards","isEntityOnLocalShards","has","shardId","selfAddress","addFinalizerExit","ignore","releaseAll","releasingShards","await","delete","add","unacquiredShards","size","forkIn","syncSingletons","releaseShards","close","acquired","acquire","resetShards","length","storageReadLatch","open","sleep","pipe","catchAllCause","cause","logWarning","repeat","spaced","entityMessagePollInterval","annotateLogs","package","module","fiber","runner","interruptible","suspend","refresh","flatMap","includes","andThen","void","retry","times","schedule","logError","clearSelfShards","delay","forever","releaseShardsLock","unsafeMakeSemaphore","withPermits","forEach","values","state","manager","interruptShard","concurrency","discard","release","clear","singletons","singletonFibers","withSingletonLock","registerSingleton","fnUntraced","name","run","map","get","set","dieMessage","context","wrappedRun","locally","currentLogAnnotations","never","scoped","provide","orDie","publish","logDebug","running","unsafeHas","shouldBeRunning","fiberId","remove","openStorageReadLatch","storageReadLock","withStorageReadLock","storageAlreadyProcessed","_message","addFinalizer","sentRequestIds","sentRequestIdSets","message","envelope","requestId","entityType","isProcessingFor","excludeReplies","unsafeClose","take","messages","unprocessedMessages","currentSentRequestIds","send","index","_tag","respond","ReplyWithContext","fromDefect","id","unsafeNext","defect","isProcessing","resumptionState","entityResumptionState","unprocessed","interrupts","error","failureOption","isNone","saveReply","squash","resumeEntityFromStorage","whileLoop","while","step","body","oldest","unsafeHead","ensuring","lastReceivedMessage","resumeEntityFromStorageImpl","getOrThrow","done","messageIds","push","unprocessedMessagesById","sendWithRetry","catchTags","fail","interrupt","MailboxFull","sendRetryInterval","sync","e","effect","entity","sendLocal","simulateRemoteSerialization","notifyLocal","notify","envelopeId","isTransientError","or","is","sendOutgoing","retries","catchIf","maybeRunner","isPersisted","rpc","annotations","runnerIsLocal","die","shardManagerTimeoutFiber","extend","startShardManagerTimeout","shardManagerUnavailableTimeout","onlyIfMissing","stopShardManagerTimeout","machineId","register","setMachineId","mailbox","shardingEvents","startedLatch","eventsFiber","takeAll","event","shard","shards","intoDeferred","forkScoped","syncFiber","syncAssignments","refreshAssignmentsInterval","joinAll","zipRight","exponential","union","assignments","getAssignments","clientRequests","clients","client","makeNoSerialization","protocol","supportsAck","generateRequestId","onFromClient","options","unsafeGet","ClientAddressTag","getCurrentFiber","requests","tag","entry","currentContext","makeClientRespond","write","clientRespondDiscard","OutgoingRequest","makeRequest","payload","headers","traceId","spanId","sampled","lastReceivedReply","none","OutgoingEnvelope","AckChunk","replyId","lastChunkId","isTransientInterrupt","interruptors","some","Interrupt","wrappedClient","method","Object","keys","merge","currentClientAddress","withFiberRuntime","type","makeClient","_reply","reply","clientId","exit","reaper","registerEntity","build","sharding","unregister","activeEntityCount","count","of","layer","layerGenerator","Default","GenericTag","Symbol","for","key"],"sources":["../../src/Sharding.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@effect/cluster",
|
3
|
-
"version": "0.34.
|
3
|
+
"version": "0.34.2",
|
4
4
|
"description": "Unified interfaces for common cluster-specific services",
|
5
5
|
"license": "MIT",
|
6
6
|
"repository": {
|
@@ -11,10 +11,10 @@
|
|
11
11
|
"sideEffects": [],
|
12
12
|
"homepage": "https://effect.website",
|
13
13
|
"peerDependencies": {
|
14
|
-
"@effect/platform": "^0.82.
|
15
|
-
"@effect/rpc": "^0.59.
|
16
|
-
"@effect/sql": "^0.35.
|
17
|
-
"effect": "^3.15.
|
14
|
+
"@effect/platform": "^0.82.5",
|
15
|
+
"@effect/rpc": "^0.59.6",
|
16
|
+
"@effect/sql": "^0.35.5",
|
17
|
+
"effect": "^3.15.3"
|
18
18
|
},
|
19
19
|
"publishConfig": {
|
20
20
|
"provenance": true
|
package/src/Entity.ts
CHANGED
@@ -2,8 +2,9 @@
|
|
2
2
|
* @since 1.0.0
|
3
3
|
*/
|
4
4
|
import type * as Rpc from "@effect/rpc/Rpc"
|
5
|
-
import
|
5
|
+
import * as RpcClient from "@effect/rpc/RpcClient"
|
6
6
|
import * as RpcGroup from "@effect/rpc/RpcGroup"
|
7
|
+
import * as RpcServer from "@effect/rpc/RpcServer"
|
7
8
|
import * as Arr from "effect/Array"
|
8
9
|
import type * as Cause from "effect/Cause"
|
9
10
|
import * as Context from "effect/Context"
|
@@ -17,7 +18,7 @@ import * as Layer from "effect/Layer"
|
|
17
18
|
import * as Mailbox from "effect/Mailbox"
|
18
19
|
import * as Option from "effect/Option"
|
19
20
|
import * as Predicate from "effect/Predicate"
|
20
|
-
import
|
21
|
+
import { Scope } from "effect/Scope"
|
21
22
|
import type * as Stream from "effect/Stream"
|
22
23
|
import type {
|
23
24
|
AlreadyProcessingMessage,
|
@@ -25,12 +26,18 @@ import type {
|
|
25
26
|
MailboxFull,
|
26
27
|
PersistenceError
|
27
28
|
} from "./ClusterError.js"
|
28
|
-
import
|
29
|
+
import { EntityAddress } from "./EntityAddress.js"
|
30
|
+
import type { EntityId } from "./EntityId.js"
|
29
31
|
import { EntityType } from "./EntityType.js"
|
30
|
-
import
|
32
|
+
import * as Envelope from "./Envelope.js"
|
33
|
+
import { hashString } from "./internal/hash.js"
|
34
|
+
import { ResourceMap } from "./internal/resourceMap.js"
|
31
35
|
import type * as Reply from "./Reply.js"
|
32
|
-
import
|
36
|
+
import { RunnerAddress } from "./RunnerAddress.js"
|
37
|
+
import * as ShardId from "./ShardId.js"
|
33
38
|
import type { Sharding } from "./Sharding.js"
|
39
|
+
import { ShardingConfig } from "./ShardingConfig.js"
|
40
|
+
import * as Snowflake from "./Snowflake.js"
|
34
41
|
|
35
42
|
/**
|
36
43
|
* @since 1.0.0
|
@@ -149,7 +156,7 @@ export interface Entity<in out Rpcs extends Rpc.Any> extends Equal.Equal {
|
|
149
156
|
): Layer.Layer<
|
150
157
|
never,
|
151
158
|
never,
|
152
|
-
| Exclude<RX, Scope | CurrentAddress>
|
159
|
+
| Exclude<RX, Scope | CurrentAddress | CurrentRunnerAddress>
|
153
160
|
| R
|
154
161
|
| Rpc.Context<Rpcs>
|
155
162
|
| Rpc.Middleware<Rpcs>
|
@@ -217,7 +224,7 @@ const Proto = {
|
|
217
224
|
): Layer.Layer<
|
218
225
|
never,
|
219
226
|
never,
|
220
|
-
| Exclude<RX, Scope | CurrentAddress>
|
227
|
+
| Exclude<RX, Scope | CurrentAddress | CurrentRunnerAddress>
|
221
228
|
| RpcGroup.HandlersContext<Rpcs, Handlers>
|
222
229
|
| Rpc.Context<Rpcs>
|
223
230
|
| Rpc.Middleware<Rpcs>
|
@@ -446,3 +453,97 @@ export class Request<Rpc extends Rpc.Any> extends Data.Class<
|
|
446
453
|
}
|
447
454
|
|
448
455
|
const shardingTag = Context.GenericTag<Sharding, Sharding["Type"]>("@effect/cluster/Sharding")
|
456
|
+
|
457
|
+
/**
|
458
|
+
* @since 1.0.0
|
459
|
+
* @category Testing
|
460
|
+
*/
|
461
|
+
export const makeTestClient: <Rpcs extends Rpc.Any, LA, LE, LR>(
|
462
|
+
entity: Entity<Rpcs>,
|
463
|
+
layer: Layer.Layer<LA, LE, LR>
|
464
|
+
) => Effect.Effect<
|
465
|
+
(entityId: string) => Effect.Effect<RpcClient.RpcClient<Rpcs>>,
|
466
|
+
LE,
|
467
|
+
Scope | ShardingConfig | Exclude<LR, Sharding> | Rpc.MiddlewareClient<Rpcs>
|
468
|
+
> = Effect.fnUntraced(function*<Rpcs extends Rpc.Any, LA, LE, LR>(
|
469
|
+
entity: Entity<Rpcs>,
|
470
|
+
layer: Layer.Layer<LA, LE, LR>
|
471
|
+
) {
|
472
|
+
const config = yield* ShardingConfig
|
473
|
+
const makeShardId = (entityId: string) => ShardId.make((Math.abs(hashString(entityId) % config.numberOfShards)) + 1)
|
474
|
+
const snowflakeGen = yield* Snowflake.makeGenerator
|
475
|
+
const runnerAddress = new RunnerAddress({ host: "localhost", port: 3000 })
|
476
|
+
const entityMap = new Map<string, {
|
477
|
+
readonly context: Context.Context<Rpc.Context<Rpcs> | Rpc.Middleware<Rpcs> | LR>
|
478
|
+
readonly concurrency: number | "unbounded"
|
479
|
+
readonly build: Effect.Effect<
|
480
|
+
Context.Context<Rpc.ToHandler<Rpcs>>,
|
481
|
+
never,
|
482
|
+
Scope | CurrentAddress
|
483
|
+
>
|
484
|
+
}>()
|
485
|
+
const sharding = shardingTag.of({
|
486
|
+
...({} as Sharding["Type"]),
|
487
|
+
registerEntity: (entity, handlers, options) =>
|
488
|
+
Effect.contextWith((context) => {
|
489
|
+
entityMap.set(entity.type, {
|
490
|
+
context: context as any,
|
491
|
+
concurrency: options?.concurrency ?? 1,
|
492
|
+
build: entity.protocol.toHandlersContext(handlers).pipe(
|
493
|
+
Effect.provide(context.pipe(
|
494
|
+
Context.add(CurrentRunnerAddress, runnerAddress),
|
495
|
+
Context.omit(Scope)
|
496
|
+
))
|
497
|
+
) as any
|
498
|
+
})
|
499
|
+
})
|
500
|
+
})
|
501
|
+
yield* Layer.build(Layer.provide(layer, Layer.succeed(shardingTag, sharding)))
|
502
|
+
const entityEntry = entityMap.get(entity.type)
|
503
|
+
if (!entityEntry) {
|
504
|
+
return yield* Effect.dieMessage(`Entity.makeTestClient: ${entity.type} was not registered by layer`)
|
505
|
+
}
|
506
|
+
|
507
|
+
const map = yield* ResourceMap.make(Effect.fnUntraced(function*(entityId: string) {
|
508
|
+
const address = new EntityAddress({
|
509
|
+
entityType: entity.type,
|
510
|
+
entityId: entityId as EntityId,
|
511
|
+
shardId: makeShardId(entityId)
|
512
|
+
})
|
513
|
+
const handlers = yield* entityEntry.build.pipe(
|
514
|
+
Effect.provideService(CurrentAddress, address)
|
515
|
+
)
|
516
|
+
|
517
|
+
// eslint-disable-next-line prefer-const
|
518
|
+
let client!: Effect.Effect.Success<ReturnType<typeof RpcClient.makeNoSerialization<Rpcs, never>>>
|
519
|
+
const server = yield* RpcServer.makeNoSerialization(entity.protocol, {
|
520
|
+
concurrency: entityEntry.concurrency,
|
521
|
+
onFromServer(response) {
|
522
|
+
return client.write(response)
|
523
|
+
}
|
524
|
+
}).pipe(Effect.provide(handlers))
|
525
|
+
|
526
|
+
client = yield* RpcClient.makeNoSerialization(entity.protocol, {
|
527
|
+
supportsAck: true,
|
528
|
+
generateRequestId: () => snowflakeGen.unsafeNext() as any,
|
529
|
+
onFromClient({ message }) {
|
530
|
+
if (message._tag === "Request") {
|
531
|
+
return server.write(0, {
|
532
|
+
...message,
|
533
|
+
payload: new Request({
|
534
|
+
...message,
|
535
|
+
[Envelope.TypeId]: Envelope.TypeId,
|
536
|
+
address,
|
537
|
+
requestId: Snowflake.Snowflake(message.id),
|
538
|
+
lastSentChunk: Option.none()
|
539
|
+
}) as any
|
540
|
+
})
|
541
|
+
}
|
542
|
+
return server.write(0, message)
|
543
|
+
}
|
544
|
+
})
|
545
|
+
return client.client
|
546
|
+
}))
|
547
|
+
|
548
|
+
return (entityId: string) => map.get(entityId)
|
549
|
+
})
|
package/src/Sharding.ts
CHANGED
@@ -36,7 +36,7 @@ import {
|
|
36
36
|
RunnerUnavailable
|
37
37
|
} from "./ClusterError.js"
|
38
38
|
import { Persisted } from "./ClusterSchema.js"
|
39
|
-
import type { CurrentAddress, Entity, HandlersFrom } from "./Entity.js"
|
39
|
+
import type { CurrentAddress, CurrentRunnerAddress, Entity, HandlersFrom } from "./Entity.js"
|
40
40
|
import { EntityAddress } from "./EntityAddress.js"
|
41
41
|
import { EntityId } from "./EntityId.js"
|
42
42
|
import type { EntityType } from "./EntityType.js"
|
@@ -104,7 +104,11 @@ export class Sharding extends Context.Tag("@effect/cluster/Sharding")<Sharding,
|
|
104
104
|
readonly concurrency?: number | "unbounded" | undefined
|
105
105
|
readonly mailboxCapacity?: number | "unbounded" | undefined
|
106
106
|
}
|
107
|
-
) => Effect.Effect<
|
107
|
+
) => Effect.Effect<
|
108
|
+
void,
|
109
|
+
never,
|
110
|
+
Rpc.Context<Rpcs> | Rpc.Middleware<Rpcs> | Exclude<RX, Scope.Scope | CurrentAddress | CurrentRunnerAddress>
|
111
|
+
>
|
108
112
|
|
109
113
|
/**
|
110
114
|
* Registers a new singleton with the runner.
|