effect 3.2.8 → 3.3.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/Redacted/package.json +6 -0
- package/dist/cjs/Config.js +9 -1
- package/dist/cjs/Config.js.map +1 -1
- package/dist/cjs/Either.js +2 -1
- package/dist/cjs/Either.js.map +1 -1
- package/dist/cjs/Iterable.js +15 -2
- package/dist/cjs/Iterable.js.map +1 -1
- package/dist/cjs/Layer.js +11 -1
- package/dist/cjs/Layer.js.map +1 -1
- package/dist/cjs/Option.js +7 -1
- package/dist/cjs/Option.js.map +1 -1
- package/dist/cjs/Pool.js +26 -0
- package/dist/cjs/Pool.js.map +1 -1
- package/dist/cjs/Predicate.js +51 -1
- package/dist/cjs/Predicate.js.map +1 -1
- package/dist/cjs/Redacted.js +65 -0
- package/dist/cjs/Redacted.js.map +1 -0
- package/dist/cjs/STM.js.map +1 -1
- package/dist/cjs/Secret.js +7 -0
- package/dist/cjs/Secret.js.map +1 -1
- package/dist/cjs/Stream.js +32 -1
- package/dist/cjs/Stream.js.map +1 -1
- package/dist/cjs/Tuple.js +15 -1
- package/dist/cjs/Tuple.js.map +1 -1
- package/dist/cjs/Utils.js.map +1 -1
- package/dist/cjs/index.js +4 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/internal/cause.js +14 -18
- package/dist/cjs/internal/cause.js.map +1 -1
- package/dist/cjs/internal/clock.js +1 -1
- package/dist/cjs/internal/clock.js.map +1 -1
- package/dist/cjs/internal/config.js +8 -1
- package/dist/cjs/internal/config.js.map +1 -1
- package/dist/cjs/internal/layer.js +14 -2
- package/dist/cjs/internal/layer.js.map +1 -1
- package/dist/cjs/internal/pool.js +206 -235
- package/dist/cjs/internal/pool.js.map +1 -1
- package/dist/cjs/internal/redacted.js +87 -0
- package/dist/cjs/internal/redacted.js.map +1 -0
- package/dist/cjs/internal/secret.js +40 -23
- package/dist/cjs/internal/secret.js.map +1 -1
- package/dist/cjs/internal/stm/stm.js +2 -1
- package/dist/cjs/internal/stm/stm.js.map +1 -1
- package/dist/cjs/internal/stream.js +15 -7
- package/dist/cjs/internal/stream.js.map +1 -1
- package/dist/cjs/internal/version.js +1 -1
- package/dist/dts/Config.d.ts +13 -6
- package/dist/dts/Config.d.ts.map +1 -1
- package/dist/dts/Context.d.ts +1 -1
- package/dist/dts/Context.d.ts.map +1 -1
- package/dist/dts/Either.d.ts.map +1 -1
- package/dist/dts/Iterable.d.ts +7 -0
- package/dist/dts/Iterable.d.ts.map +1 -1
- package/dist/dts/Layer.d.ts +20 -0
- package/dist/dts/Layer.d.ts.map +1 -1
- package/dist/dts/Option.d.ts.map +1 -1
- package/dist/dts/Pool.d.ts +31 -0
- package/dist/dts/Pool.d.ts.map +1 -1
- package/dist/dts/Predicate.d.ts +57 -0
- package/dist/dts/Predicate.d.ts.map +1 -1
- package/dist/dts/Redacted.d.ts +68 -0
- package/dist/dts/Redacted.d.ts.map +1 -0
- package/dist/dts/STM.d.ts +4 -1
- package/dist/dts/STM.d.ts.map +1 -1
- package/dist/dts/Secret.d.ts +14 -1
- package/dist/dts/Secret.d.ts.map +1 -1
- package/dist/dts/Stream.d.ts +61 -4
- package/dist/dts/Stream.d.ts.map +1 -1
- package/dist/dts/Tuple.d.ts +51 -0
- package/dist/dts/Tuple.d.ts.map +1 -1
- package/dist/dts/Types.d.ts +46 -0
- package/dist/dts/Types.d.ts.map +1 -1
- package/dist/dts/Utils.d.ts +6 -5
- package/dist/dts/Utils.d.ts.map +1 -1
- package/dist/dts/index.d.ts +5 -0
- package/dist/dts/index.d.ts.map +1 -1
- package/dist/dts/internal/layer.d.ts +15 -1
- package/dist/dts/internal/layer.d.ts.map +1 -1
- package/dist/dts/internal/redacted.d.ts +2 -0
- package/dist/dts/internal/redacted.d.ts.map +1 -0
- package/dist/dts/internal/stm/stm.d.ts.map +1 -1
- package/dist/dts/internal/stream.d.ts +1 -0
- package/dist/dts/internal/stream.d.ts.map +1 -1
- package/dist/esm/Config.js +8 -0
- package/dist/esm/Config.js.map +1 -1
- package/dist/esm/Either.js +2 -1
- package/dist/esm/Either.js.map +1 -1
- package/dist/esm/Iterable.js +12 -0
- package/dist/esm/Iterable.js.map +1 -1
- package/dist/esm/Layer.js +10 -0
- package/dist/esm/Layer.js.map +1 -1
- package/dist/esm/Option.js +7 -1
- package/dist/esm/Option.js.map +1 -1
- package/dist/esm/Pool.js +26 -0
- package/dist/esm/Pool.js.map +1 -1
- package/dist/esm/Predicate.js +50 -0
- package/dist/esm/Predicate.js.map +1 -1
- package/dist/esm/Redacted.js +33 -0
- package/dist/esm/Redacted.js.map +1 -0
- package/dist/esm/STM.js.map +1 -1
- package/dist/esm/Secret.js +7 -0
- package/dist/esm/Secret.js.map +1 -1
- package/dist/esm/Stream.js +31 -0
- package/dist/esm/Stream.js.map +1 -1
- package/dist/esm/Tuple.js +51 -0
- package/dist/esm/Tuple.js.map +1 -1
- package/dist/esm/Utils.js.map +1 -1
- package/dist/esm/index.js +5 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/internal/cause.js +14 -18
- package/dist/esm/internal/cause.js.map +1 -1
- package/dist/esm/internal/clock.js +1 -1
- package/dist/esm/internal/clock.js.map +1 -1
- package/dist/esm/internal/config.js +6 -0
- package/dist/esm/internal/config.js.map +1 -1
- package/dist/esm/internal/layer.js +12 -0
- package/dist/esm/internal/layer.js.map +1 -1
- package/dist/esm/internal/pool.js +205 -235
- package/dist/esm/internal/pool.js.map +1 -1
- package/dist/esm/internal/redacted.js +52 -0
- package/dist/esm/internal/redacted.js.map +1 -0
- package/dist/esm/internal/secret.js +39 -22
- package/dist/esm/internal/secret.js.map +1 -1
- package/dist/esm/internal/stm/stm.js +2 -1
- package/dist/esm/internal/stm/stm.js.map +1 -1
- package/dist/esm/internal/stream.js +13 -4
- package/dist/esm/internal/stream.js.map +1 -1
- package/dist/esm/internal/version.js +1 -1
- package/package.json +9 -1
- package/src/Config.ts +15 -7
- package/src/Context.ts +1 -1
- package/src/Either.ts +4 -1
- package/src/Iterable.ts +13 -0
- package/src/Layer.ts +22 -0
- package/src/Option.ts +7 -1
- package/src/Pool.ts +39 -6
- package/src/Predicate.ts +59 -0
- package/src/Redacted.ts +79 -0
- package/src/STM.ts +7 -2
- package/src/Secret.ts +14 -1
- package/src/Stream.ts +67 -7
- package/src/Tuple.ts +53 -0
- package/src/Types.ts +48 -0
- package/src/Utils.ts +9 -6
- package/src/index.ts +6 -0
- package/src/internal/cause.ts +14 -17
- package/src/internal/clock.ts +1 -6
- package/src/internal/config.ts +11 -0
- package/src/internal/layer.ts +63 -0
- package/src/internal/pool.ts +320 -447
- package/src/internal/redacted.ts +69 -0
- package/src/internal/secret.ts +39 -28
- package/src/internal/stm/stm.ts +4 -1
- package/src/internal/stream.ts +111 -50
- package/src/internal/version.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layer.js","names":["Cause","Clock","Context","Duration","FiberRefsPatch","dual","pipe","pipeArguments","hasProperty","ScheduleDecision","Intervals","Scope","effect","core","circular","fiberRuntime","EffectOpCodes","OpCodes","ref","runtime","runtimeFlags","synchronized","tracer","LayerSymbolKey","LayerTypeId","Symbol","for","layerVariance","_RIn","_","_E","_ROut","proto","arguments","MemoMapTypeIdKey","MemoMapTypeId","isLayer","u","isFresh","self","_tag","OP_FRESH","MemoMapImpl","constructor","getOrElseMemoize","layer","scope","modifyEffect","map","inMap","get","undefined","acquire","release","cached","flatMap","patch","b","patchFiberRefs","as","onExit","exitMatch","onFailure","void","onSuccess","scopeAddFinalizerExit","succeed","make","observers","deferredMake","deferred","finalizerRef","resource","uninterruptibleMask","restore","scopeMake","innerScope","makeBuilder","f","diffFiberRefs","exit","OP_FAILURE","deferredFailCause","effect_instruction_i0","zipRight","scopeClose","failCause","OP_SUCCESS","set","whenEffect","modify","n","asVoid","update","sync","delete","finalizer","deferredSucceed","memoized","deferredAwait","exitMatchEffect","flatten","makeMemoMap","suspend","makeSynchronized","Map","unsafeMakeMemoMap","unsafeMakeSynchronized","build","scopeWith","buildWithScope","memoMap","run","buildWithMemoMap","inMemoMap","op","matchCauseEffect","cause","failureK","value","successK","first","env","second","provideContext","scopeExtend","evaluate","zipWith","zipK","zipWithOptions","concurrent","catchAll","match","succeedContext","catchAllCause","matchCause","die","defect","dieSync","failCauseSync","discard","empty","context","fromEffectContext","extendScope","Object","create","OP_EXTEND_SCOPE","fail","error","failSync","tag","fresh","fromEffect","a","tagFirst","isTag","service","fromEffectDiscard","OP_FROM_EFFECT","fiberRefLocally","locallyEffect","locally","fiberRefLocallyWith","fiberRefLocallyScoped","scopedDiscard","fiberRefLocallyScopedWith","fromFunction","tagA","tagB","launch","scopedEffect","never","mapError","fold","OP_FOLD","failureOrCause","left","right","memoize","merge","that","mergeAll","layers","final","i","length","orDie","orElse","passthrough","project","unsafeGet","retry","schedule","stateTag","GenericTag","state","initial","retryLoop","retryUpdate","currentTimeMillis","now","step","decision","isDone","sleep","millis","start","intervals","scoped","scopedContext","OP_SCOPED","acquireRelease","close","OP_SUSPEND","syncContext","tap","tapError","e","tapErrorCause","toRuntime","toRuntimeWithMemoMap","provide","provideTo","OP_PROVIDE","OP_PROVIDE_MERGE","enumerable","provideMerge","OP_ZIP_WITH","unwrapEffect","unwrapScoped","withSpan","dataFirst","name","options","addSpanStackTrace","onEnd","makeSpanScoped","span","addFinalizer","withParentSpan","spanTag","provideSomeLayer","acquireUseRelease","provideSomeContext","provideSomeRuntime","rt","patchRefs","diff","defaultRuntime","fiberRefs","patchFlags","withFiberRuntime","fiber","oldContext","getFiberRef","currentContext","oldRefs","getFiberRefs","newRefs","id","oldFlags","_runtimeFlags","newFlags","rollbackRefs","rollbackFlags","setFiberRefs","ensuring","effect_provide","source","isContext"],"sources":["../../../src/internal/layer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"layer.js","names":["Cause","Clock","Context","Duration","FiberRefsPatch","dual","pipe","HashMap","pipeArguments","hasProperty","ScheduleDecision","Intervals","Scope","effect","core","circular","fiberRuntime","EffectOpCodes","OpCodes","ref","runtime","runtimeFlags","synchronized","tracer","LayerSymbolKey","LayerTypeId","Symbol","for","layerVariance","_RIn","_","_E","_ROut","proto","arguments","MemoMapTypeIdKey","MemoMapTypeId","isLayer","u","isFresh","self","_tag","OP_FRESH","MemoMapImpl","constructor","getOrElseMemoize","layer","scope","modifyEffect","map","inMap","get","undefined","acquire","release","cached","flatMap","patch","b","patchFiberRefs","as","onExit","exitMatch","onFailure","void","onSuccess","scopeAddFinalizerExit","succeed","make","observers","deferredMake","deferred","finalizerRef","resource","uninterruptibleMask","restore","scopeMake","innerScope","makeBuilder","f","diffFiberRefs","exit","OP_FAILURE","deferredFailCause","effect_instruction_i0","zipRight","scopeClose","failCause","OP_SUCCESS","set","whenEffect","modify","n","asVoid","update","sync","delete","finalizer","deferredSucceed","memoized","deferredAwait","exitMatchEffect","flatten","makeMemoMap","suspend","makeSynchronized","Map","unsafeMakeMemoMap","unsafeMakeSynchronized","build","scopeWith","buildWithScope","memoMap","run","buildWithMemoMap","inMemoMap","op","matchCauseEffect","cause","failureK","value","successK","first","env","second","provideContext","scopeExtend","evaluate","zipWith","zipK","zipWithOptions","concurrent","catchAll","match","succeedContext","catchAllCause","matchCause","die","defect","dieSync","failCauseSync","discard","empty","context","fromEffectContext","extendScope","Object","create","OP_EXTEND_SCOPE","fail","error","failSync","tag","fresh","fromEffect","a","tagFirst","isTag","service","fromEffectDiscard","OP_FROM_EFFECT","fiberRefLocally","locallyEffect","locally","fiberRefLocallyWith","fiberRefLocallyScoped","scopedDiscard","fiberRefLocallyScopedWith","fromFunction","tagA","tagB","launch","scopedEffect","never","mapError","fold","OP_FOLD","failureOrCause","left","right","memoize","merge","that","mergeAll","layers","final","i","length","orDie","orElse","passthrough","project","unsafeGet","retry","schedule","stateTag","GenericTag","state","initial","retryLoop","retryUpdate","currentTimeMillis","now","step","decision","isDone","sleep","millis","start","intervals","scoped","scopedContext","OP_SCOPED","acquireRelease","close","OP_SUSPEND","syncContext","tap","tapError","e","tapErrorCause","toRuntime","toRuntimeWithMemoMap","provide","provideTo","OP_PROVIDE","OP_PROVIDE_MERGE","enumerable","provideMerge","OP_ZIP_WITH","unwrapEffect","unwrapScoped","annotateLogs","args","currentLogAnnotations","annotations","entries","reduce","acc","key","annotateSpans","currentTracerSpanAnnotations","withSpan","dataFirst","name","options","addSpanStackTrace","onEnd","makeSpanScoped","span","addFinalizer","withParentSpan","spanTag","provideSomeLayer","acquireUseRelease","provideSomeContext","provideSomeRuntime","rt","patchRefs","diff","defaultRuntime","fiberRefs","patchFlags","withFiberRuntime","fiber","oldContext","getFiberRef","currentContext","oldRefs","getFiberRefs","newRefs","id","oldFlags","_runtimeFlags","newFlags","rollbackRefs","rollbackFlags","setFiberRefs","ensuring","effect_provide","source","isContext"],"sources":["../../../src/internal/layer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1,261 +1,231 @@
|
|
|
1
1
|
import * as Context from "../Context.js";
|
|
2
2
|
import * as Duration from "../Duration.js";
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import * as Hash from "../Hash.js";
|
|
6
|
-
import * as HashSet from "../HashSet.js";
|
|
3
|
+
import { dual, identity } from "../Function.js";
|
|
4
|
+
import * as Iterable from "../Iterable.js";
|
|
7
5
|
import { pipeArguments } from "../Pipeable.js";
|
|
8
6
|
import { hasProperty } from "../Predicate.js";
|
|
9
|
-
import * as
|
|
7
|
+
import * as coreEffect from "./core-effect.js";
|
|
10
8
|
import * as core from "./core.js";
|
|
9
|
+
import * as defaultServices from "./defaultServices.js";
|
|
10
|
+
import * as circular from "./effect/circular.js";
|
|
11
11
|
import * as fiberRuntime from "./fiberRuntime.js";
|
|
12
|
-
import * as
|
|
13
|
-
import * as ref from "./ref.js";
|
|
12
|
+
import * as internalQueue from "./queue.js";
|
|
14
13
|
/** @internal */
|
|
15
|
-
const
|
|
16
|
-
/** @internal */
|
|
17
|
-
export const PoolTypeId = /*#__PURE__*/Symbol.for(PoolSymbolKey);
|
|
14
|
+
export const PoolTypeId = /*#__PURE__*/Symbol.for("effect/Pool");
|
|
18
15
|
const poolVariance = {
|
|
19
16
|
/* c8 ignore next */
|
|
20
17
|
_E: _ => _,
|
|
21
18
|
/* c8 ignore next */
|
|
22
19
|
_A: _ => _
|
|
23
20
|
};
|
|
24
|
-
/**
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
}
|
|
52
|
-
track(state) {
|
|
53
|
-
return core.asVoid(core.flatMap(state[0].currentTimeMillis, now => ref.set(state[1], now)));
|
|
54
|
-
}
|
|
55
|
-
run(state, getExcess, shrink) {
|
|
56
|
-
return core.flatMap(getExcess, excess => excess <= 0 ? core.zipRight(state[0].sleep(this.timeToLive), this.run(state, getExcess, shrink)) : pipe(core.zipWith(ref.get(state[1]), state[0].currentTimeMillis, (start, end) => end - start), core.flatMap(duration => {
|
|
57
|
-
if (duration >= Duration.toMillis(this.timeToLive)) {
|
|
58
|
-
return core.zipRight(shrink, this.run(state, getExcess, shrink));
|
|
59
|
-
} else {
|
|
60
|
-
return core.zipRight(state[0].sleep(this.timeToLive), this.run(state, getExcess, shrink));
|
|
61
|
-
}
|
|
62
|
-
})));
|
|
63
|
-
}
|
|
64
|
-
}
|
|
21
|
+
/** @internal */
|
|
22
|
+
export const isPool = u => hasProperty(u, PoolTypeId);
|
|
23
|
+
/** @internal */
|
|
24
|
+
export const makeWith = options => core.uninterruptibleMask(restore => core.flatMap(core.context(), context => {
|
|
25
|
+
const scope = Context.get(context, fiberRuntime.scopeTag);
|
|
26
|
+
const acquire = core.mapInputContext(options.acquire, input => Context.merge(context, input));
|
|
27
|
+
const pool = new PoolImpl(acquire, options.concurrency ?? 1, options.min, options.max, options.strategy, Math.min(Math.max(options.targetUtilization ?? 1, 0.1), 1));
|
|
28
|
+
const initialize = core.tap(fiberRuntime.forkDaemon(restore(pool.resize)), fiber => scope.addFinalizer(() => core.interruptFiber(fiber)));
|
|
29
|
+
const runStrategy = core.tap(fiberRuntime.forkDaemon(restore(options.strategy.run(pool))), fiber => scope.addFinalizer(() => core.interruptFiber(fiber)));
|
|
30
|
+
return core.succeed(pool).pipe(core.zipLeft(scope.addFinalizer(() => pool.shutdown)), core.zipLeft(initialize), core.zipLeft(runStrategy));
|
|
31
|
+
}));
|
|
32
|
+
/** @internal */
|
|
33
|
+
export const make = options => makeWith({
|
|
34
|
+
...options,
|
|
35
|
+
min: options.size,
|
|
36
|
+
max: options.size,
|
|
37
|
+
strategy: strategyNoop()
|
|
38
|
+
});
|
|
39
|
+
/** @internal */
|
|
40
|
+
export const makeWithTTL = options => core.flatMap(options.timeToLiveStrategy === "creation" ? strategyCreationTTL(options.timeToLive) : strategyUsageTTL(options.timeToLive), strategy => makeWith({
|
|
41
|
+
...options,
|
|
42
|
+
strategy
|
|
43
|
+
}));
|
|
44
|
+
/** @internal */
|
|
45
|
+
export const get = self => self.get;
|
|
46
|
+
/** @internal */
|
|
47
|
+
export const invalidate = /*#__PURE__*/dual(2, (self, item) => self.invalidate(item));
|
|
65
48
|
class PoolImpl {
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
this.
|
|
81
|
-
this.
|
|
82
|
-
this.
|
|
83
|
-
this.
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
49
|
+
acquire;
|
|
50
|
+
concurrency;
|
|
51
|
+
minSize;
|
|
52
|
+
maxSize;
|
|
53
|
+
strategy;
|
|
54
|
+
targetUtilization;
|
|
55
|
+
[PoolTypeId];
|
|
56
|
+
isShuttingDown = false;
|
|
57
|
+
semaphore;
|
|
58
|
+
items = new Set();
|
|
59
|
+
available = new Set();
|
|
60
|
+
invalidated = new Set();
|
|
61
|
+
waiters = 0;
|
|
62
|
+
constructor(acquire, concurrency, minSize, maxSize, strategy, targetUtilization) {
|
|
63
|
+
this.acquire = acquire;
|
|
64
|
+
this.concurrency = concurrency;
|
|
65
|
+
this.minSize = minSize;
|
|
66
|
+
this.maxSize = maxSize;
|
|
67
|
+
this.strategy = strategy;
|
|
68
|
+
this.targetUtilization = targetUtilization;
|
|
69
|
+
this[PoolTypeId] = poolVariance;
|
|
70
|
+
this.semaphore = circular.unsafeMakeSemaphore(concurrency * maxSize);
|
|
71
|
+
}
|
|
72
|
+
allocate = core.acquireUseRelease(fiberRuntime.scopeMake(), scope => this.acquire.pipe(fiberRuntime.scopeExtend(scope), core.exit, core.flatMap(exit => {
|
|
73
|
+
const item = {
|
|
74
|
+
exit,
|
|
75
|
+
finalizer: core.catchAllCause(scope.close(exit), reportUnhandledError),
|
|
76
|
+
refCount: 0
|
|
77
|
+
};
|
|
78
|
+
this.items.add(item);
|
|
79
|
+
this.available.add(item);
|
|
80
|
+
return core.as(exit._tag === "Success" ? this.strategy.onAcquire(item) : core.zipRight(item.finalizer, this.strategy.onAcquire(item)), item);
|
|
81
|
+
})), (scope, exit) => exit._tag === "Failure" ? scope.close(exit) : core.void);
|
|
82
|
+
get currentUsage() {
|
|
83
|
+
let count = this.waiters;
|
|
84
|
+
for (const item of this.items) {
|
|
85
|
+
count += item.refCount;
|
|
86
|
+
}
|
|
87
|
+
return count;
|
|
88
|
+
}
|
|
89
|
+
get targetSize() {
|
|
90
|
+
if (this.isShuttingDown) return 0;
|
|
91
|
+
const utilization = this.currentUsage / this.targetUtilization;
|
|
92
|
+
const target = Math.ceil(utilization / this.concurrency);
|
|
93
|
+
return Math.min(Math.max(this.minSize, target), this.maxSize);
|
|
94
|
+
}
|
|
95
|
+
get activeSize() {
|
|
96
|
+
return this.items.size - this.invalidated.size;
|
|
97
|
+
}
|
|
98
|
+
resizeLoop = core.suspend(() => {
|
|
99
|
+
if (this.activeSize >= this.targetSize) {
|
|
100
|
+
return core.void;
|
|
101
|
+
}
|
|
102
|
+
return core.zipRight(this.allocate, this.resizeLoop);
|
|
103
|
+
});
|
|
104
|
+
resizeSemaphore = circular.unsafeMakeSemaphore(1);
|
|
105
|
+
resize = this.resizeSemaphore.withPermits(1)(this.resizeLoop);
|
|
106
|
+
getPoolItem = core.uninterruptibleMask(restore => restore(this.semaphore.take(1)).pipe(core.zipRight(fiberRuntime.scopeTag), core.flatMap(scope => core.suspend(() => {
|
|
107
|
+
this.waiters++;
|
|
108
|
+
if (this.isShuttingDown) {
|
|
109
|
+
return core.interrupt;
|
|
110
|
+
} else if (this.targetSize > this.activeSize) {
|
|
111
|
+
return core.zipRight(restore(this.resize), core.sync(() => Iterable.unsafeHead(this.available)));
|
|
112
|
+
}
|
|
113
|
+
return core.succeed(Iterable.unsafeHead(this.available));
|
|
114
|
+
}).pipe(fiberRuntime.ensuring(core.sync(() => this.waiters--)), core.tap(item => {
|
|
115
|
+
if (item.exit._tag === "Failure") {
|
|
116
|
+
this.items.delete(item);
|
|
117
|
+
this.invalidated.delete(item);
|
|
118
|
+
this.available.delete(item);
|
|
119
|
+
return this.semaphore.release(1);
|
|
120
|
+
}
|
|
121
|
+
item.refCount++;
|
|
122
|
+
this.available.delete(item);
|
|
123
|
+
if (item.refCount < this.concurrency) {
|
|
124
|
+
this.available.add(item);
|
|
125
|
+
}
|
|
126
|
+
return scope.addFinalizer(() => core.zipRight(core.suspend(() => {
|
|
127
|
+
item.refCount--;
|
|
128
|
+
if (this.invalidated.has(item)) {
|
|
129
|
+
return this.invalidatePoolItem(item);
|
|
115
130
|
}
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
...state,
|
|
128
|
-
size: state.size - 1
|
|
129
|
-
}];
|
|
130
|
-
}))),
|
|
131
|
-
onSuccess: item => core.flatMap(ref.get(this.invalidated), set => {
|
|
132
|
-
if (pipe(set, HashSet.has(item))) {
|
|
133
|
-
return finalizeInvalid(this, attempted);
|
|
131
|
+
this.available.add(item);
|
|
132
|
+
return core.void;
|
|
133
|
+
}), this.semaphore.release(1)));
|
|
134
|
+
}), core.onInterrupt(() => this.semaphore.release(1))))));
|
|
135
|
+
get = core.flatMap(core.suspend(() => this.isShuttingDown ? core.interrupt : this.getPoolItem), _ => _.exit);
|
|
136
|
+
invalidate(item) {
|
|
137
|
+
return core.suspend(() => {
|
|
138
|
+
if (this.isShuttingDown) return core.void;
|
|
139
|
+
for (const poolItem of this.items) {
|
|
140
|
+
if (poolItem.exit._tag === "Success" && poolItem.exit.value === item) {
|
|
141
|
+
return core.uninterruptible(this.invalidatePoolItem(poolItem));
|
|
134
142
|
}
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
free: state.free + 1
|
|
138
|
-
})), core.zipRight(queue.offer(this.items, attempted)), core.zipRight(this.track(attempted.result)), core.zipRight(core.whenEffect(getAndShutdown(this), ref.get(this.isShuttingDown))));
|
|
139
|
-
})
|
|
143
|
+
}
|
|
144
|
+
return core.void;
|
|
140
145
|
});
|
|
141
|
-
return pipe(core.uninterruptibleMask(restore => core.tap(acquire(restore), a => fiberRuntime.addFinalizer(_exit => release(a)))), fiberRuntime.withEarlyRelease, fiberRuntime.disconnect, core.flatMap(([release, attempted]) => pipe(effect.when(release, () => isFailure(attempted)), core.zipRight(toEffect(attempted)))));
|
|
142
|
-
}
|
|
143
|
-
invalidate(item) {
|
|
144
|
-
return ref.update(this.invalidated, HashSet.add(item));
|
|
145
146
|
}
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
free: state.free + 1
|
|
161
|
-
}];
|
|
147
|
+
invalidatePoolItem(poolItem) {
|
|
148
|
+
return core.suspend(() => {
|
|
149
|
+
if (!this.items.has(poolItem)) {
|
|
150
|
+
return core.void;
|
|
151
|
+
} else if (poolItem.refCount === 0) {
|
|
152
|
+
this.items.delete(poolItem);
|
|
153
|
+
this.available.delete(poolItem);
|
|
154
|
+
this.invalidated.delete(poolItem);
|
|
155
|
+
return core.zipRight(poolItem.finalizer, this.resize);
|
|
156
|
+
}
|
|
157
|
+
this.invalidated.add(poolItem);
|
|
158
|
+
this.available.delete(poolItem);
|
|
159
|
+
return core.void;
|
|
160
|
+
});
|
|
162
161
|
}
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
}))
|
|
180
|
-
})
|
|
181
|
-
...state,
|
|
182
|
-
free: state.free - 1
|
|
183
|
-
}];
|
|
162
|
+
get shutdown() {
|
|
163
|
+
return core.suspend(() => {
|
|
164
|
+
if (this.isShuttingDown) return core.void;
|
|
165
|
+
this.isShuttingDown = true;
|
|
166
|
+
const size = this.items.size;
|
|
167
|
+
const semaphore = circular.unsafeMakeSemaphore(size);
|
|
168
|
+
return core.forEachSequentialDiscard(this.items, item => {
|
|
169
|
+
if (item.refCount > 0) {
|
|
170
|
+
item.finalizer = core.zipLeft(item.finalizer, semaphore.release(1));
|
|
171
|
+
this.invalidated.add(item);
|
|
172
|
+
return semaphore.take(1);
|
|
173
|
+
}
|
|
174
|
+
this.items.delete(item);
|
|
175
|
+
this.available.delete(item);
|
|
176
|
+
this.invalidated.delete(item);
|
|
177
|
+
return item.finalizer;
|
|
178
|
+
}).pipe(core.zipRight(this.semaphore.releaseAll), core.zipRight(semaphore.take(size)));
|
|
179
|
+
});
|
|
184
180
|
}
|
|
185
|
-
|
|
186
|
-
return
|
|
181
|
+
pipe() {
|
|
182
|
+
return pipeArguments(this, arguments);
|
|
187
183
|
}
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
184
|
+
}
|
|
185
|
+
const strategyNoop = () => ({
|
|
186
|
+
run: _ => core.void,
|
|
187
|
+
onAcquire: _ => core.void
|
|
188
|
+
});
|
|
189
|
+
const strategyCreationTTL = ttl => defaultServices.clockWith(clock => core.map(internalQueue.unbounded(), queue => {
|
|
190
|
+
const ttlMillis = Duration.toMillis(ttl);
|
|
191
|
+
const creationTimes = new WeakMap();
|
|
192
|
+
return identity({
|
|
193
|
+
run: pool => {
|
|
194
|
+
const process = item => core.suspend(() => {
|
|
195
|
+
if (!pool.items.has(item) || pool.invalidated.has(item)) {
|
|
196
|
+
return core.void;
|
|
197
|
+
}
|
|
198
|
+
const now = clock.unsafeCurrentTimeMillis();
|
|
199
|
+
const created = creationTimes.get(item);
|
|
200
|
+
const remaining = ttlMillis - (now - created);
|
|
201
|
+
return remaining > 0 ? coreEffect.delay(process(item), remaining) : pool.invalidatePoolItem(item);
|
|
202
|
+
});
|
|
203
|
+
return queue.take.pipe(core.tap(process), coreEffect.forever);
|
|
204
|
+
},
|
|
205
|
+
onAcquire: item => core.suspend(() => {
|
|
206
|
+
creationTimes.set(item, clock.unsafeCurrentTimeMillis());
|
|
207
|
+
return queue.offer(item);
|
|
208
|
+
})
|
|
209
|
+
});
|
|
192
210
|
}));
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
const
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
})
|
|
205
|
-
discard: true
|
|
211
|
+
const strategyUsageTTL = ttl => core.map(internalQueue.unbounded(), queue => {
|
|
212
|
+
return identity({
|
|
213
|
+
run: pool => {
|
|
214
|
+
const process = core.suspend(() => {
|
|
215
|
+
const excess = pool.activeSize - pool.targetSize;
|
|
216
|
+
if (excess <= 0) return core.void;
|
|
217
|
+
return queue.take.pipe(core.tap(item => pool.invalidatePoolItem(item)), core.zipRight(process));
|
|
218
|
+
});
|
|
219
|
+
return process.pipe(coreEffect.delay(ttl), coreEffect.forever);
|
|
220
|
+
},
|
|
221
|
+
onAcquire: item => queue.offer(item)
|
|
222
|
+
});
|
|
206
223
|
});
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
if (state.size > self.min && state.free > 0) {
|
|
212
|
-
return [pipe(queue.take(self.items), core.flatMap(attempted => pipe(forEach(attempted, a => ref.update(self.invalidated, HashSet.remove(a))), core.zipRight(attempted.finalizer), core.zipRight(ref.update(self.state, state => ({
|
|
213
|
-
...state,
|
|
214
|
-
size: state.size - 1
|
|
215
|
-
})))))), {
|
|
216
|
-
...state,
|
|
217
|
-
free: state.free - 1
|
|
218
|
-
}];
|
|
224
|
+
const reportUnhandledError = cause => core.withFiberRuntime(fiber => {
|
|
225
|
+
const unhandledLogLevel = fiber.getFiberRef(core.currentUnhandledErrorLogLevel);
|
|
226
|
+
if (unhandledLogLevel._tag === "Some") {
|
|
227
|
+
fiber.log("Unhandled error in pool finalizer", cause, unhandledLogLevel);
|
|
219
228
|
}
|
|
220
|
-
return
|
|
221
|
-
})));
|
|
222
|
-
const shutdown = self => core.flatten(ref.modify(self.isShuttingDown, down => down ? [queue.awaitShutdown(self.items), true] : [core.zipRight(getAndShutdown(self), queue.awaitShutdown(self.items)), true]));
|
|
223
|
-
const isFailure = self => core.exitIsFailure(self.result);
|
|
224
|
-
const forEach = (self, f) => core.exitMatch(self.result, {
|
|
225
|
-
onFailure: () => core.void,
|
|
226
|
-
onSuccess: f
|
|
229
|
+
return core.void;
|
|
227
230
|
});
|
|
228
|
-
const toEffect = self => self.result;
|
|
229
|
-
/**
|
|
230
|
-
* A more powerful variant of `make` that allows specifying a `Strategy` that
|
|
231
|
-
* describes how a pool whose excess items are not being used will be shrunk
|
|
232
|
-
* down to the minimum size.
|
|
233
|
-
*/
|
|
234
|
-
const makeWith = options => core.uninterruptibleMask(restore => pipe(fiberRuntime.all([core.context(), ref.make(false), ref.make({
|
|
235
|
-
size: 0,
|
|
236
|
-
free: 0
|
|
237
|
-
}), queue.bounded(options.max), ref.make(HashSet.empty()), options.strategy.initial()]), core.flatMap(([context, down, state, items, inv, initial]) => {
|
|
238
|
-
const pool = new PoolImpl(core.mapInputContext(options.acquire, old => Context.merge(old)(context)), options.min, options.max, down, state, items, inv, exit => options.strategy.track(initial, exit));
|
|
239
|
-
return pipe(fiberRuntime.forkDaemon(restore(initialize(pool))), core.flatMap(fiber => core.flatMap(fiberRuntime.forkDaemon(restore(options.strategy.run(initial, excess(pool), shrink(pool)))), shrink => fiberRuntime.addFinalizer(() => pipe(shutdown(pool), core.zipRight(core.interruptFiber(fiber)), core.zipRight(core.interruptFiber(shrink)))))), core.as(pool));
|
|
240
|
-
})));
|
|
241
|
-
/** @internal */
|
|
242
|
-
export const isPool = u => hasProperty(u, PoolTypeId);
|
|
243
|
-
/** @internal */
|
|
244
|
-
export const make = options => makeWith({
|
|
245
|
-
acquire: options.acquire,
|
|
246
|
-
min: options.size,
|
|
247
|
-
max: options.size,
|
|
248
|
-
strategy: new NoneStrategy()
|
|
249
|
-
});
|
|
250
|
-
/** @internal */
|
|
251
|
-
export const makeWithTTL = options => makeWith({
|
|
252
|
-
acquire: options.acquire,
|
|
253
|
-
min: options.min,
|
|
254
|
-
max: options.max,
|
|
255
|
-
strategy: new TimeToLiveStrategy(Duration.decode(options.timeToLive))
|
|
256
|
-
});
|
|
257
|
-
/** @internal */
|
|
258
|
-
export const get = self => self.get;
|
|
259
|
-
/** @internal */
|
|
260
|
-
export const invalidate = /*#__PURE__*/dual(2, (self, value) => self.invalidate(value));
|
|
261
231
|
//# sourceMappingURL=pool.js.map
|