effect 3.2.9 → 3.3.1
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/Chunk.js +16 -6
- package/dist/cjs/Chunk.js.map +1 -1
- package/dist/cjs/Config.js +9 -1
- package/dist/cjs/Config.js.map +1 -1
- package/dist/cjs/Either.js +3 -2
- 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 +8 -2
- 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 +92 -2
- package/dist/cjs/Predicate.js.map +1 -1
- package/dist/cjs/Redacted.js +114 -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/Struct.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/config.js +9 -2
- 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/Chunk.d.ts +11 -1
- package/dist/dts/Chunk.d.ts.map +1 -1
- package/dist/dts/Config.d.ts +10 -1
- package/dist/dts/Config.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 +99 -2
- package/dist/dts/Predicate.d.ts.map +1 -1
- package/dist/dts/Redacted.d.ts +122 -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/Struct.d.ts +7 -7
- package/dist/dts/Struct.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 +10 -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/Chunk.js +16 -5
- package/dist/esm/Chunk.js.map +1 -1
- package/dist/esm/Config.js +8 -0
- package/dist/esm/Config.js.map +1 -1
- package/dist/esm/Either.js +3 -2
- 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 +8 -2
- 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 +91 -1
- package/dist/esm/Predicate.js.map +1 -1
- package/dist/esm/Redacted.js +82 -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/Struct.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 +10 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/internal/config.js +7 -1
- 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/Chunk.ts +17 -5
- package/src/Config.ts +11 -1
- package/src/Either.ts +6 -4
- package/src/Iterable.ts +13 -0
- package/src/Layer.ts +22 -0
- package/src/Option.ts +8 -2
- package/src/Pool.ts +39 -6
- package/src/Predicate.ts +102 -3
- package/src/Redacted.ts +133 -0
- package/src/STM.ts +7 -2
- package/src/Secret.ts +14 -1
- package/src/Stream.ts +67 -7
- package/src/Struct.ts +8 -13
- package/src/Tuple.ts +53 -0
- package/src/Types.ts +48 -0
- package/src/Utils.ts +9 -6
- package/src/index.ts +11 -0
- package/src/internal/config.ts +13 -2
- 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,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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pool.js","names":["Context","Duration","Equal","dual","pipe","Hash","HashSet","pipeArguments","hasProperty","effect","core","fiberRuntime","queue","ref","PoolSymbolKey","PoolTypeId","Symbol","for","poolVariance","_E","_","_A","NoneStrategy","initial","void","track","run","TimeToLiveStrategy","timeToLive","constructor","flatMap","clock","currentTimeMillis","now","map","make","state","asVoid","set","getExcess","shrink","excess","zipRight","sleep","zipWith","get","start","end","duration","toMillis","PoolImpl","creator","min","max","isShuttingDown","items","invalidated","symbol","hash","combine","number","cached","that","isPool","equals","arguments","acquire","restore","down","interrupt","flatten","modify","free","size","take","attempted","exitMatch","result","onFailure","succeed","onSuccess","item","has","finalizeInvalid","allocate","release","finalizer","allocateUinterruptible","update","offer","whenEffect","getAndShutdown","uninterruptibleMask","tap","a","addFinalizer","_exit","withEarlyRelease","disconnect","when","isFailure","toEffect","invalidate","add","self","scopeMake","scope","exit","scopeExtend","scopeClose","exitSucceed","as","Math","forEach","remove","matchCauseEffect","shutdown","initialize","replicateEffect","discard","uninterruptible","awaitShutdown","exitIsFailure","f","makeWith","options","all","context","bounded","empty","strategy","inv","pool","mapInputContext","old","merge","forkDaemon","fiber","interruptFiber","u","makeWithTTL","decode","value"],"sources":["../../../src/internal/pool.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"pool.js","names":["Context","Duration","dual","identity","Iterable","pipeArguments","hasProperty","coreEffect","core","defaultServices","circular","fiberRuntime","internalQueue","PoolTypeId","Symbol","for","poolVariance","_E","_","_A","isPool","u","makeWith","options","uninterruptibleMask","restore","flatMap","context","scope","get","scopeTag","acquire","mapInputContext","input","merge","pool","PoolImpl","concurrency","min","max","strategy","Math","targetUtilization","initialize","tap","forkDaemon","resize","fiber","addFinalizer","interruptFiber","runStrategy","run","succeed","pipe","zipLeft","shutdown","make","size","strategyNoop","makeWithTTL","timeToLiveStrategy","strategyCreationTTL","timeToLive","strategyUsageTTL","self","invalidate","item","minSize","maxSize","isShuttingDown","semaphore","items","Set","available","invalidated","waiters","constructor","unsafeMakeSemaphore","allocate","acquireUseRelease","scopeMake","scopeExtend","exit","finalizer","catchAllCause","close","reportUnhandledError","refCount","add","as","_tag","onAcquire","zipRight","void","currentUsage","count","targetSize","utilization","target","ceil","activeSize","resizeLoop","suspend","resizeSemaphore","withPermits","getPoolItem","take","interrupt","sync","unsafeHead","ensuring","delete","release","has","invalidatePoolItem","onInterrupt","poolItem","value","uninterruptible","forEachSequentialDiscard","releaseAll","arguments","ttl","clockWith","clock","map","unbounded","queue","ttlMillis","toMillis","creationTimes","WeakMap","process","now","unsafeCurrentTimeMillis","created","remaining","delay","forever","set","offer","excess","cause","withFiberRuntime","unhandledLogLevel","getFiberRef","currentUnhandledErrorLogLevel","log"],"sources":["../../../src/internal/pool.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import * as Equal from "../Equal.js";
|
|
2
|
+
import { pipe } from "../Function.js";
|
|
3
|
+
import { globalValue } from "../GlobalValue.js";
|
|
4
|
+
import * as Hash from "../Hash.js";
|
|
5
|
+
import { pipeArguments } from "../Pipeable.js";
|
|
6
|
+
import { hasProperty } from "../Predicate.js";
|
|
7
|
+
/** @internal */
|
|
8
|
+
const RedactedSymbolKey = "effect/Redacted";
|
|
9
|
+
/** @internal */
|
|
10
|
+
export const redactedRegistry = /*#__PURE__*/globalValue("effect/Redacted/redactedRegistry", () => new WeakMap());
|
|
11
|
+
/** @internal */
|
|
12
|
+
export const RedactedTypeId = /*#__PURE__*/Symbol.for(RedactedSymbolKey);
|
|
13
|
+
/** @internal */
|
|
14
|
+
export const proto = {
|
|
15
|
+
[RedactedTypeId]: {
|
|
16
|
+
_A: _ => _
|
|
17
|
+
},
|
|
18
|
+
pipe() {
|
|
19
|
+
return pipeArguments(this, arguments);
|
|
20
|
+
},
|
|
21
|
+
toString() {
|
|
22
|
+
return "<redacted>";
|
|
23
|
+
},
|
|
24
|
+
toJSON() {
|
|
25
|
+
return "<redacted>";
|
|
26
|
+
},
|
|
27
|
+
[Hash.symbol]() {
|
|
28
|
+
return pipe(Hash.hash(RedactedSymbolKey), Hash.combine(Hash.hash(redactedRegistry.get(this))), Hash.cached(this));
|
|
29
|
+
},
|
|
30
|
+
[Equal.symbol](that) {
|
|
31
|
+
return isRedacted(that) && Equal.equals(redactedRegistry.get(this), redactedRegistry.get(that));
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
/** @internal */
|
|
35
|
+
export const isRedacted = u => hasProperty(u, RedactedTypeId);
|
|
36
|
+
/** @internal */
|
|
37
|
+
export const make = value => {
|
|
38
|
+
const redacted = Object.create(proto);
|
|
39
|
+
redactedRegistry.set(redacted, value);
|
|
40
|
+
return redacted;
|
|
41
|
+
};
|
|
42
|
+
/** @internal */
|
|
43
|
+
export const value = self => {
|
|
44
|
+
if (redactedRegistry.has(self)) {
|
|
45
|
+
return redactedRegistry.get(self);
|
|
46
|
+
} else {
|
|
47
|
+
throw new Error("Unable to get redacted value");
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
/** @internal */
|
|
51
|
+
export const unsafeWipe = self => redactedRegistry.delete(self);
|
|
52
|
+
//# sourceMappingURL=redacted.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"redacted.js","names":["Equal","pipe","globalValue","Hash","pipeArguments","hasProperty","RedactedSymbolKey","redactedRegistry","WeakMap","RedactedTypeId","Symbol","for","proto","_A","_","arguments","toString","toJSON","symbol","hash","combine","get","cached","that","isRedacted","equals","u","make","value","redacted","Object","create","set","self","has","Error","unsafeWipe","delete"],"sources":["../../../src/internal/redacted.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,aAAa;AACpC,SAASC,IAAI,QAAQ,gBAAgB;AACrC,SAASC,WAAW,QAAQ,mBAAmB;AAC/C,OAAO,KAAKC,IAAI,MAAM,YAAY;AAClC,SAASC,aAAa,QAAQ,gBAAgB;AAC9C,SAASC,WAAW,QAAQ,iBAAiB;AAG7C;AACA,MAAMC,iBAAiB,GAAG,iBAAiB;AAE3C;AACA,OAAO,MAAMC,gBAAgB,gBAAGL,WAAW,CACzC,kCAAkC,EAClC,MAAM,IAAIM,OAAO,EAA+B,CACjD;AAED;AACA,OAAO,MAAMC,cAAc,gBAA4BC,MAAM,CAACC,GAAG,CAC/DL,iBAAiB,CACS;AAE5B;AACA,OAAO,MAAMM,KAAK,GAAG;EACnB,CAACH,cAAc,GAAG;IAChBI,EAAE,EAAGC,CAAQ,IAAKA;GACnB;EACDb,IAAIA,CAAA;IACF,OAAOG,aAAa,CAAC,IAAI,EAAEW,SAAS,CAAC;EACvC,CAAC;EACDC,QAAQA,CAAA;IACN,OAAO,YAAY;EACrB,CAAC;EACDC,MAAMA,CAAA;IACJ,OAAO,YAAY;EACrB,CAAC;EACD,CAACd,IAAI,CAACe,MAAM,IAAC;IACX,OAAOjB,IAAI,CACTE,IAAI,CAACgB,IAAI,CAACb,iBAAiB,CAAC,EAC5BH,IAAI,CAACiB,OAAO,CAACjB,IAAI,CAACgB,IAAI,CAACZ,gBAAgB,CAACc,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EACnDlB,IAAI,CAACmB,MAAM,CAAC,IAAI,CAAC,CAClB;EACH,CAAC;EACD,CAACtB,KAAK,CAACkB,MAAM,EAAiCK,IAAa;IACzD,OAAOC,UAAU,CAACD,IAAI,CAAC,IAAIvB,KAAK,CAACyB,MAAM,CAAClB,gBAAgB,CAACc,GAAG,CAAC,IAAI,CAAC,EAAEd,gBAAgB,CAACc,GAAG,CAACE,IAAI,CAAC,CAAC;EACjG;CACD;AAED;AACA,OAAO,MAAMC,UAAU,GAAIE,CAAU,IAAsCrB,WAAW,CAACqB,CAAC,EAAEjB,cAAc,CAAC;AAEzG;AACA,OAAO,MAAMkB,IAAI,GAAOC,KAAQ,IAA0B;EACxD,MAAMC,QAAQ,GAAGC,MAAM,CAACC,MAAM,CAACnB,KAAK,CAAC;EACrCL,gBAAgB,CAACyB,GAAG,CAACH,QAAQ,EAAED,KAAK,CAAC;EACrC,OAAOC,QAAQ;AACjB,CAAC;AAED;AACA,OAAO,MAAMD,KAAK,GAAOK,IAA0B,IAAO;EACxD,IAAI1B,gBAAgB,CAAC2B,GAAG,CAACD,IAAI,CAAC,EAAE;IAC9B,OAAO1B,gBAAgB,CAACc,GAAG,CAACY,IAAI,CAAC;EACnC,CAAC,MAAM;IACL,MAAM,IAAIE,KAAK,CAAC,8BAA8B,CAAC;EACjD;AACF,CAAC;AAED;AACA,OAAO,MAAMC,UAAU,GAAOH,IAA0B,IAAc1B,gBAAgB,CAAC8B,MAAM,CAACJ,IAAI,CAAC","ignoreList":[]}
|