camusdb 0.2.0 → 0.2.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/README.md +19 -0
- package/dist/config.d.ts +29 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +15 -0
- package/dist/config.js.map +1 -1
- package/dist/runtime.js +2 -0
- package/dist/runtime.js.map +1 -1
- package/dist/transport/grpc/batch-frames.d.ts +61 -0
- package/dist/transport/grpc/batch-frames.d.ts.map +1 -0
- package/dist/transport/grpc/batch-frames.js +103 -0
- package/dist/transport/grpc/batch-frames.js.map +1 -0
- package/dist/transport/grpc/batcher.d.ts +132 -3
- package/dist/transport/grpc/batcher.d.ts.map +1 -1
- package/dist/transport/grpc/batcher.js +389 -30
- package/dist/transport/grpc/batcher.js.map +1 -1
- package/dist/transport/grpc/grpc-transport.d.ts +5 -0
- package/dist/transport/grpc/grpc-transport.d.ts.map +1 -1
- package/dist/transport/grpc/grpc-transport.js +47 -5
- package/dist/transport/grpc/grpc-transport.js.map +1 -1
- package/dist/transport/grpc/messages.d.ts +18 -2
- package/dist/transport/grpc/messages.d.ts.map +1 -1
- package/dist/transport/grpc/messages.js +6 -0
- package/dist/transport/grpc/messages.js.map +1 -1
- package/dist/transport/grpc/proto.d.ts +1 -1
- package/dist/transport/grpc/proto.d.ts.map +1 -1
- package/dist/transport/grpc/proto.js.map +1 -1
- package/package.json +1 -1
- package/proto/camus_sql.proto +39 -2
package/README.md
CHANGED
|
@@ -117,6 +117,8 @@ const b = CamusClient.fromConnectionString('Endpoint=http://localhost:8082;Datab
|
|
|
117
117
|
| `channelPoolSize` | `ChannelPoolSize` | No | gRPC only: streams per endpoint. Default `2`. |
|
|
118
118
|
| `coalescingThreshold` | `CoalescingThreshold` | No | gRPC only. Default `10`. `1` turns coalescing off. |
|
|
119
119
|
| `coalescingDelayMs` | `CoalescingDelay` | No | gRPC only: milliseconds. Default `0`, which is off. |
|
|
120
|
+
| `requestFrames` | `RequestFrames` | No | gRPC only: pack the operations that wait together into one stream message. Default `true`. |
|
|
121
|
+
| `streamDrainTimeoutMs` | `StreamDrainTimeout` | No | gRPC only: milliseconds a rotated-out stream stays open for its transactions. Default `300000`. |
|
|
120
122
|
| `backupEndpoint` | `BackupEndpoint` | No | The HTTP endpoint for the backup admin API. Required with `grpc`. |
|
|
121
123
|
| `backupTimeoutSeconds` | `BackupTimeout` | No | The backup request timeout in seconds. Default `300`. |
|
|
122
124
|
| `allowInsecureCredentials` | `AllowInsecureCredentials` | No | Waives the refusal to send credentials to a remote plaintext endpoint. |
|
|
@@ -690,6 +692,23 @@ It also carries the session's causal token. Every reply reports a hybrid-logical
|
|
|
690
692
|
transport keeps the greatest one it has seen, and every request carries it back. That is what makes
|
|
691
693
|
a read see this session's own earlier writes even when it lands on a different node.
|
|
692
694
|
|
|
695
|
+
Statements that wait together travel together. When several statements are issued in one turn — one
|
|
696
|
+
`Promise.all` over six of them — the transport writes them as a single stream message, called a
|
|
697
|
+
frame, and the fixed cost of a message is paid once instead of six times. A frame never waits for
|
|
698
|
+
more statements. A lone statement stays a plain single message, and a server that does not announce
|
|
699
|
+
frames never receives one. Set `requestFrames` to `false` to turn frames off.
|
|
700
|
+
|
|
701
|
+
A stream carries its bearer token once, in the metadata it opens with, and gRPC gives no way to
|
|
702
|
+
change it later. The token provider renews the token every few minutes, so a long-lived stream
|
|
703
|
+
outlives the token it presented. Whether a server tolerates that is the server's decision. The
|
|
704
|
+
driver does not rely on it: when the token changes, the next statement on a stream opens a fresh
|
|
705
|
+
one under the new token, and the old stream is retired.
|
|
706
|
+
|
|
707
|
+
A retired stream takes no new work. It keeps serving the transactions that began on it, because a
|
|
708
|
+
transaction cannot change streams and the server rolls one back when its stream closes. It closes
|
|
709
|
+
as soon as the last of those transactions ends, or after `streamDrainTimeoutMs`, which bounds the
|
|
710
|
+
wait for a transaction its caller abandoned.
|
|
711
|
+
|
|
693
712
|
Tune the stream pool with `channelPoolSize`. It is **not** a cap on in-flight transactions — many
|
|
694
713
|
transactions hash onto the same streams and interleave — so the default of 2 suits most workloads.
|
|
695
714
|
Raise it when many long-running queries per endpoint would otherwise queue behind each other.
|
package/dist/config.d.ts
CHANGED
|
@@ -47,6 +47,25 @@ export interface GrpcBatchOptions {
|
|
|
47
47
|
* milliseconds. Zero, the default, turns coalescing off. A single-operation drain never waits.
|
|
48
48
|
*/
|
|
49
49
|
readonly coalescingDelayMs: number;
|
|
50
|
+
/**
|
|
51
|
+
* How long a stream that was rotated out stays open for the transactions that began on it, in
|
|
52
|
+
* milliseconds.
|
|
53
|
+
*
|
|
54
|
+
* A transaction cannot change streams, so a retired stream stays until its last one ends. This
|
|
55
|
+
* bounds that wait, because a transaction whose caller abandoned it never ends by itself, and to
|
|
56
|
+
* close its stream is what makes the server roll it back and release its locks. The default of
|
|
57
|
+
* five minutes is longer than any transaction that still makes progress should need.
|
|
58
|
+
*/
|
|
59
|
+
readonly streamDrainTimeoutMs: number;
|
|
60
|
+
/**
|
|
61
|
+
* Whether the operations that wait together are written as one stream message — a frame — to a
|
|
62
|
+
* server that announced it reads one. It is on by default.
|
|
63
|
+
*
|
|
64
|
+
* A frame never waits for more operations, a lone operation stays a plain single message, and a
|
|
65
|
+
* server that made no announcement never receives one. Turn it off for an A/B measurement, or as
|
|
66
|
+
* a kill switch.
|
|
67
|
+
*/
|
|
68
|
+
readonly requestFrames: boolean;
|
|
50
69
|
}
|
|
51
70
|
export declare const DEFAULT_BATCH_OPTIONS: GrpcBatchOptions;
|
|
52
71
|
/** How many statements a client keeps prepared, and how hot a statement must be first. */
|
|
@@ -94,6 +113,16 @@ export interface CamusClientOptions {
|
|
|
94
113
|
readonly coalescingThreshold?: number;
|
|
95
114
|
/** gRPC only: milliseconds the pump waits after a multi-operation drain. Default 0. */
|
|
96
115
|
readonly coalescingDelayMs?: number;
|
|
116
|
+
/**
|
|
117
|
+
* gRPC only: milliseconds a stream that was rotated out stays open for the transactions that
|
|
118
|
+
* began on it. Default 300000.
|
|
119
|
+
*/
|
|
120
|
+
readonly streamDrainTimeoutMs?: number;
|
|
121
|
+
/**
|
|
122
|
+
* gRPC only: whether the operations that wait together are written as one stream message, to a
|
|
123
|
+
* server that announced it reads one. Default true.
|
|
124
|
+
*/
|
|
125
|
+
readonly requestFrames?: boolean;
|
|
97
126
|
/** The HTTP endpoint for the backup admin API. It is required when `protocol` is `grpc`. */
|
|
98
127
|
readonly backupEndpoint?: string;
|
|
99
128
|
/** The backup admin request timeout in seconds. Default 300. */
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAS9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAGvD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAE5D,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEnE,yCAAyC;AACzC,eAAO,MAAM,aAAa;IACxB,uDAAuD;;IAEvD,sEAAsE;;CAE9D,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,OAAO,aAAa,CAAC,CAAC;AAE/E,mDAAmD;AACnD,eAAO,MAAM,gBAAgB;IAC3B,0EAA0E;;IAG1E,6FAA6F;;IAG7F;;;;;OAKG;;CAEK,CAAC;AAEX,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,OAAO,gBAAgB,CAAC,CAAC;AAExF,+EAA+E;AAC/E,MAAM,WAAW,gBAAgB;IAC/B;;;;;OAKG;IACH,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IAEjC,yFAAyF;IACzF,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IAErC;;;OAGG;IACH,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/config.js
CHANGED
|
@@ -35,6 +35,8 @@ export const DEFAULT_BATCH_OPTIONS = Object.freeze({
|
|
|
35
35
|
channelPoolSize: 2,
|
|
36
36
|
coalescingThreshold: 10,
|
|
37
37
|
coalescingDelayMs: 0,
|
|
38
|
+
streamDrainTimeoutMs: 300_000,
|
|
39
|
+
requestFrames: true,
|
|
38
40
|
});
|
|
39
41
|
/** How many statements a client keeps prepared, and how hot a statement must be first. */
|
|
40
42
|
export const DEFAULT_MAX_AUTO_PREPARE = 128;
|
|
@@ -69,6 +71,8 @@ export function resolveOptions(options) {
|
|
|
69
71
|
channelPoolSize: atLeastOr(options.channelPoolSize, 1, DEFAULT_BATCH_OPTIONS.channelPoolSize),
|
|
70
72
|
coalescingThreshold: atLeastOr(options.coalescingThreshold, 1, DEFAULT_BATCH_OPTIONS.coalescingThreshold),
|
|
71
73
|
coalescingDelayMs: atLeastOr(options.coalescingDelayMs, 0, DEFAULT_BATCH_OPTIONS.coalescingDelayMs),
|
|
74
|
+
streamDrainTimeoutMs: atLeastOr(options.streamDrainTimeoutMs, 0, DEFAULT_BATCH_OPTIONS.streamDrainTimeoutMs),
|
|
75
|
+
requestFrames: options.requestFrames ?? DEFAULT_BATCH_OPTIONS.requestFrames,
|
|
72
76
|
},
|
|
73
77
|
backupEndpoint: options.backupEndpoint,
|
|
74
78
|
backupTimeoutSeconds: positiveOr(options.backupTimeoutSeconds, DEFAULT_BACKUP_TIMEOUT_SECONDS),
|
|
@@ -107,6 +111,8 @@ export function resolveConnectionString(connectionString) {
|
|
|
107
111
|
channelPoolSize: parseIntAtLeast(settings.get('ChannelPoolSize'), 1, DEFAULT_BATCH_OPTIONS.channelPoolSize),
|
|
108
112
|
coalescingThreshold: parseIntAtLeast(settings.get('CoalescingThreshold'), 1, DEFAULT_BATCH_OPTIONS.coalescingThreshold),
|
|
109
113
|
coalescingDelayMs: parseIntAtLeast(settings.get('CoalescingDelay'), 0, DEFAULT_BATCH_OPTIONS.coalescingDelayMs),
|
|
114
|
+
streamDrainTimeoutMs: parseIntAtLeast(settings.get('StreamDrainTimeout'), 0, DEFAULT_BATCH_OPTIONS.streamDrainTimeoutMs),
|
|
115
|
+
requestFrames: parseBool(settings.get('RequestFrames'), DEFAULT_BATCH_OPTIONS.requestFrames),
|
|
110
116
|
},
|
|
111
117
|
backupEndpoint: settings.first('BackupEndpoint'),
|
|
112
118
|
backupTimeoutSeconds: parsePositiveInt(settings.get('BackupTimeout'), DEFAULT_BACKUP_TIMEOUT_SECONDS),
|
|
@@ -299,6 +305,15 @@ function parseNonNegativeInt(raw, fallback) {
|
|
|
299
305
|
const parsed = Number.parseInt(raw ?? '', 10);
|
|
300
306
|
return Number.isInteger(parsed) && parsed >= 0 ? parsed : fallback;
|
|
301
307
|
}
|
|
308
|
+
/** Reads `true` or `false`, in any case. Anything else keeps the fallback. */
|
|
309
|
+
function parseBool(raw, fallback) {
|
|
310
|
+
const text = raw?.trim().toLowerCase();
|
|
311
|
+
if (text === 'true')
|
|
312
|
+
return true;
|
|
313
|
+
if (text === 'false')
|
|
314
|
+
return false;
|
|
315
|
+
return fallback;
|
|
316
|
+
}
|
|
302
317
|
function parseIntAtLeast(raw, minimum, fallback) {
|
|
303
318
|
const parsed = Number.parseInt(raw ?? '', 10);
|
|
304
319
|
return Number.isInteger(parsed) && parsed >= minimum ? parsed : fallback;
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/runtime.js
CHANGED
|
@@ -126,6 +126,8 @@ function transportKey(config, deployment) {
|
|
|
126
126
|
String(config.batch.channelPoolSize),
|
|
127
127
|
String(config.batch.coalescingThreshold),
|
|
128
128
|
String(config.batch.coalescingDelayMs),
|
|
129
|
+
String(config.batch.requestFrames),
|
|
130
|
+
String(config.batch.streamDrainTimeoutMs),
|
|
129
131
|
].join('|');
|
|
130
132
|
}
|
|
131
133
|
function isLoginClient(value) {
|
package/dist/runtime.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpG,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,4BAA4B,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AAClF,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAE9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAEnE;;;;;;GAMG;AACH,MAAM,OAAO,aAAa;IACf,MAAM,CAAiB;IAEhC,iFAAiF;IACxE,IAAI,CAAoB;IAEjC,gGAAgG;IACvF,IAAI,CAAqB;IAElC,6EAA6E;IACpE,SAAS,CAAiB;IAEnC,8EAA8E;IACrE,kBAAkB,CAA+B;IAE1D,kFAAkF;IACzE,MAAM,CAAmC;IAElD,sEAAsE;IACtE,QAAQ,CAAS;IAEjB,YAAY,MAAsB;QAChC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAEhC,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAEhE,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;QAEzC,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC,MAAM,CACnC,kBAAkB,CAAC,UAAU,CAAC,MAAM,CAAC,WAAW,EAAE,UAAU,CAAC,EAC7D,GAAG,EAAE,CACH,IAAI,kBAAkB,CAAC;YACrB,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,kBAAkB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE;YAC5C,eAAe,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YACvC,qBAAqB,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,cAAc;YAClD,UAAU,EAAE,MAAM,CAAC,eAAe;SACnC,CAAC,CACL,CAAC;QAEF,IAAI,CAAC,SAAS,GAAG,kBAAkB,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,GAAG,EAAE;YAChF,MAAM,KAAK,GACT,MAAM,CAAC,QAAQ,KAAK,aAAa,CAAC,IAAI;gBACpC,CAAC,CAAC,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC;gBACvD,CAAC,CAAC,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAE9C,6FAA6F;YAC7F,0EAA0E;YAC1E,OAAO,IAAI,uBAAuB,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,kBAAkB,GAAG,4BAA4B,CAAC,MAAM,CAC3D,GAAG,UAAU,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,EAAE,EAC1G,GAAG,EAAE,CAAC,IAAI,4BAA4B,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,oBAAoB,CAAC,CAC3F,CAAC;QAEF,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IAC7C,CAAC;IAED,sCAAsC;IACtC,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC;IACpC,CAAC;IAED,yCAAyC;IACzC,YAAY;QACV,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IAC1B,CAAC;IAED,wDAAwD;IACxD,cAAc;QACZ,OAAO,qBAAqB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACvD,CAAC;IAED;;;;;;OAMG;IACK,WAAW;QACjB,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACjC,MAAM,KAAK,GAAG,SAAS,YAAY,uBAAuB,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAEzF,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,eAAe,EAAE,CAAC;IAC9D,CAAC;IAED;;;;;;OAMG;IACK,WAAW,CAAC,UAAkB;QACpC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;QAErC,IAAI,IAAI,KAAK,gBAAgB,CAAC,GAAG;YAAE,OAAO,SAAS,CAAC;QAEpD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;QAEvC,MAAM,OAAO,GACX,IAAI,KAAK,gBAAgB,CAAC,OAAO;YAC/B,CAAC,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC;YAChB,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;QAErF,IAAI,CAAC,OAAO;YAAE,OAAO,SAAS,CAAC;QAE/B,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC;QAEnD,MAAM,SAAS,GAAG;YAChB,UAAU;YACV,IAAI;YACJ,MAAM,CAAC,UAAU,CAAC;YAClB,CAAC,GAAG,KAAK,CAAC;iBACP,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;iBACrE,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,GAAG,MAAM,IAAI,OAAO,EAAE,CAAC;iBAClD,IAAI,CAAC,GAAG,CAAC;SACb,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEZ,OAAO,oBAAoB,CAAC,MAAM,CAChC,SAAS,EACT,GAAG,EAAE,CAAC,IAAI,oBAAoB,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAC7D,CAAC;IACJ,CAAC;CACF;AAED;;;;;;;GAOG;AACH,SAAS,YAAY,CAAC,MAAsB,EAAE,UAAkB;IAC9D,OAAO;QACL,kBAAkB,CAAC,UAAU,CAAC,MAAM,CAAC,WAAW,EAAE,UAAU,CAAC;QAC7D,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC;QACpC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC;QACxC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC;QACtC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC;QAClC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC;KAC1C,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACd,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,OAAQ,KAA0B,CAAC,KAAK,KAAK,UAAU;QACvD,OAAQ,KAA0B,CAAC,MAAM,KAAK,UAAU,CACzD,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is part of CamusDB
|
|
3
|
+
*
|
|
4
|
+
* For the full copyright and license information, please view the LICENSE.txt
|
|
5
|
+
* file that was distributed with this source code.
|
|
6
|
+
*/
|
|
7
|
+
import type { GrpcBatchExecuteRequest } from './messages.js';
|
|
8
|
+
/**
|
|
9
|
+
* The `BatchExecute` stream frame contract.
|
|
10
|
+
*
|
|
11
|
+
* A frame is one stream message that carries several complete operations, on the request side, or
|
|
12
|
+
* several complete responses, on the response side. The fixed cost of a stream message is then
|
|
13
|
+
* paid once per frame rather than once per operation or per row. A frame gives no atomicity and
|
|
14
|
+
* no ordering that the stream does not already give.
|
|
15
|
+
*
|
|
16
|
+
* The server keeps the same constants. The two must agree, as the two copies of `camus_sql.proto`
|
|
17
|
+
* must.
|
|
18
|
+
*/
|
|
19
|
+
/**
|
|
20
|
+
* The response header a server writes when a stream opens to say that it reads request frames.
|
|
21
|
+
* The value is the highest contract version the server reads.
|
|
22
|
+
*
|
|
23
|
+
* A server built before frames writes nothing, and runs an unknown kind as a non-query. A client
|
|
24
|
+
* therefore waits for this announcement and never probes for it.
|
|
25
|
+
*/
|
|
26
|
+
export declare const FRAME_HEADER = "camusdb-batch-frames";
|
|
27
|
+
/**
|
|
28
|
+
* The request header a client writes when it opens a stream to say that it reads response frames.
|
|
29
|
+
* The value is the highest contract version the client reads.
|
|
30
|
+
*
|
|
31
|
+
* Without it, a server knows the client reads frames only once a request frame arrives. A single
|
|
32
|
+
* caller sends no request frame, so one large read would stay at one message per row. A server
|
|
33
|
+
* built before frames ignores the header.
|
|
34
|
+
*/
|
|
35
|
+
export declare const FRAME_ACCEPT_HEADER = "camusdb-batch-frames-accept";
|
|
36
|
+
/** The contract version this client writes, and the highest it reads. */
|
|
37
|
+
export declare const FRAME_VERSION = 1;
|
|
38
|
+
/** The most operations one frame carries. A server refuses the operations past it. */
|
|
39
|
+
export declare const FRAME_MAX_ITEMS = 256;
|
|
40
|
+
/**
|
|
41
|
+
* The most serialized operation bytes one frame carries.
|
|
42
|
+
*
|
|
43
|
+
* It sits far below the 4 MiB default message limit of gRPC, and on purpose. A message over the
|
|
44
|
+
* limit of the transport is refused before it is parsed, which resets the stream that every other
|
|
45
|
+
* operation shares. The sender must never build one. An operation larger than this budget on its
|
|
46
|
+
* own travels as a plain single message.
|
|
47
|
+
*/
|
|
48
|
+
export declare const FRAME_MAX_BYTES: number;
|
|
49
|
+
/** True when a header value announces a contract version this client writes. */
|
|
50
|
+
export declare function announcesFrames(value: string | undefined): boolean;
|
|
51
|
+
/**
|
|
52
|
+
* An upper bound on the bytes one operation adds to a frame.
|
|
53
|
+
*
|
|
54
|
+
* `@grpc/proto-loader` builds a message as a plain object, which carries no serialized size. An
|
|
55
|
+
* exact figure costs a second serialization of every payload, and a large value now travels this
|
|
56
|
+
* path. The budget sits at a quarter of the message limit, so a generous estimate is the cheaper
|
|
57
|
+
* side of the trade: it fills a frame less than it could, and it never builds one the transport
|
|
58
|
+
* refuses.
|
|
59
|
+
*/
|
|
60
|
+
export declare function frameCost(request: GrpcBatchExecuteRequest): number;
|
|
61
|
+
//# sourceMappingURL=batch-frames.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"batch-frames.d.ts","sourceRoot":"","sources":["../../../src/transport/grpc/batch-frames.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,uBAAuB,EAA6B,MAAM,eAAe,CAAC;AAExF;;;;;;;;;;GAUG;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,yBAAyB,CAAC;AAEnD;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB,gCAAgC,CAAC;AAEjE,yEAAyE;AACzE,eAAO,MAAM,aAAa,IAAI,CAAC;AAE/B,sFAAsF;AACtF,eAAO,MAAM,eAAe,MAAM,CAAC;AAEnC;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,QAAc,CAAC;AAE3C,gFAAgF;AAChF,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAMlE;AAED;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,uBAAuB,GAAG,MAAM,CAElE"}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is part of CamusDB
|
|
3
|
+
*
|
|
4
|
+
* For the full copyright and license information, please view the LICENSE.txt
|
|
5
|
+
* file that was distributed with this source code.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* The `BatchExecute` stream frame contract.
|
|
9
|
+
*
|
|
10
|
+
* A frame is one stream message that carries several complete operations, on the request side, or
|
|
11
|
+
* several complete responses, on the response side. The fixed cost of a stream message is then
|
|
12
|
+
* paid once per frame rather than once per operation or per row. A frame gives no atomicity and
|
|
13
|
+
* no ordering that the stream does not already give.
|
|
14
|
+
*
|
|
15
|
+
* The server keeps the same constants. The two must agree, as the two copies of `camus_sql.proto`
|
|
16
|
+
* must.
|
|
17
|
+
*/
|
|
18
|
+
/**
|
|
19
|
+
* The response header a server writes when a stream opens to say that it reads request frames.
|
|
20
|
+
* The value is the highest contract version the server reads.
|
|
21
|
+
*
|
|
22
|
+
* A server built before frames writes nothing, and runs an unknown kind as a non-query. A client
|
|
23
|
+
* therefore waits for this announcement and never probes for it.
|
|
24
|
+
*/
|
|
25
|
+
export const FRAME_HEADER = 'camusdb-batch-frames';
|
|
26
|
+
/**
|
|
27
|
+
* The request header a client writes when it opens a stream to say that it reads response frames.
|
|
28
|
+
* The value is the highest contract version the client reads.
|
|
29
|
+
*
|
|
30
|
+
* Without it, a server knows the client reads frames only once a request frame arrives. A single
|
|
31
|
+
* caller sends no request frame, so one large read would stay at one message per row. A server
|
|
32
|
+
* built before frames ignores the header.
|
|
33
|
+
*/
|
|
34
|
+
export const FRAME_ACCEPT_HEADER = 'camusdb-batch-frames-accept';
|
|
35
|
+
/** The contract version this client writes, and the highest it reads. */
|
|
36
|
+
export const FRAME_VERSION = 1;
|
|
37
|
+
/** The most operations one frame carries. A server refuses the operations past it. */
|
|
38
|
+
export const FRAME_MAX_ITEMS = 256;
|
|
39
|
+
/**
|
|
40
|
+
* The most serialized operation bytes one frame carries.
|
|
41
|
+
*
|
|
42
|
+
* It sits far below the 4 MiB default message limit of gRPC, and on purpose. A message over the
|
|
43
|
+
* limit of the transport is refused before it is parsed, which resets the stream that every other
|
|
44
|
+
* operation shares. The sender must never build one. An operation larger than this budget on its
|
|
45
|
+
* own travels as a plain single message.
|
|
46
|
+
*/
|
|
47
|
+
export const FRAME_MAX_BYTES = 1024 * 1024;
|
|
48
|
+
/** True when a header value announces a contract version this client writes. */
|
|
49
|
+
export function announcesFrames(value) {
|
|
50
|
+
if (value === undefined)
|
|
51
|
+
return false;
|
|
52
|
+
const version = Number.parseInt(value, 10);
|
|
53
|
+
return Number.isInteger(version) && version >= FRAME_VERSION;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* An upper bound on the bytes one operation adds to a frame.
|
|
57
|
+
*
|
|
58
|
+
* `@grpc/proto-loader` builds a message as a plain object, which carries no serialized size. An
|
|
59
|
+
* exact figure costs a second serialization of every payload, and a large value now travels this
|
|
60
|
+
* path. The budget sits at a quarter of the message limit, so a generous estimate is the cheaper
|
|
61
|
+
* side of the trade: it fills a frame less than it could, and it never builds one the transport
|
|
62
|
+
* refuses.
|
|
63
|
+
*/
|
|
64
|
+
export function frameCost(request) {
|
|
65
|
+
return ENVELOPE_BYTES + MESSAGE_BYTES + sqlRequestCost(request.request);
|
|
66
|
+
}
|
|
67
|
+
/** What a protobuf tag and a length prefix add around one nested message or one string. */
|
|
68
|
+
const ENVELOPE_BYTES = 8;
|
|
69
|
+
/** What a message of small scalar fields costs. Generous on purpose. */
|
|
70
|
+
const MESSAGE_BYTES = 32;
|
|
71
|
+
function sqlRequestCost(request) {
|
|
72
|
+
if (request === undefined)
|
|
73
|
+
return 0;
|
|
74
|
+
let cost = MESSAGE_BYTES + textCost(request.database) + textCost(request.sql);
|
|
75
|
+
if (request.parameters !== undefined) {
|
|
76
|
+
for (const [name, value] of Object.entries(request.parameters)) {
|
|
77
|
+
cost += MESSAGE_BYTES + textCost(name) + valueCost(value);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
if (request.positionalParameters !== undefined) {
|
|
81
|
+
for (const value of request.positionalParameters)
|
|
82
|
+
cost += valueCost(value);
|
|
83
|
+
}
|
|
84
|
+
return cost;
|
|
85
|
+
}
|
|
86
|
+
function valueCost(value) {
|
|
87
|
+
let cost = MESSAGE_BYTES;
|
|
88
|
+
cost += textCost(value.stringValue);
|
|
89
|
+
cost += bytesCost(value.bytesValue);
|
|
90
|
+
cost += bytesCost(value.uuidValue);
|
|
91
|
+
if (value.arrayValue !== undefined) {
|
|
92
|
+
for (const item of value.arrayValue.items)
|
|
93
|
+
cost += valueCost(item);
|
|
94
|
+
}
|
|
95
|
+
return cost;
|
|
96
|
+
}
|
|
97
|
+
function textCost(text) {
|
|
98
|
+
return text === undefined ? 0 : ENVELOPE_BYTES + Buffer.byteLength(text, 'utf8');
|
|
99
|
+
}
|
|
100
|
+
function bytesCost(bytes) {
|
|
101
|
+
return bytes === undefined ? 0 : ENVELOPE_BYTES + bytes.length;
|
|
102
|
+
}
|
|
103
|
+
//# sourceMappingURL=batch-frames.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"batch-frames.js","sourceRoot":"","sources":["../../../src/transport/grpc/batch-frames.ts"],"names":[],"mappings":"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"}
|
|
@@ -48,6 +48,14 @@ export declare class PreparedStatementStaleError extends Error {
|
|
|
48
48
|
export interface BatchStream {
|
|
49
49
|
/** Identifies this stream. A handle registered on it is invalid on any other. */
|
|
50
50
|
readonly id: number;
|
|
51
|
+
/**
|
|
52
|
+
* True once this stream's server announced that it reads request frames.
|
|
53
|
+
*
|
|
54
|
+
* It never blocks, and it never goes back to false. It is false until the announcement arrives,
|
|
55
|
+
* and it stays false against a server that makes none. It belongs to one stream, so a rebuilt
|
|
56
|
+
* stream negotiates again on its own.
|
|
57
|
+
*/
|
|
58
|
+
readonly framesAnnounced: boolean;
|
|
51
59
|
send(request: GrpcBatchExecuteRequest): void;
|
|
52
60
|
/** Registers the callbacks that drive the reader loop. Called once, right after construction. */
|
|
53
61
|
listen(handlers: {
|
|
@@ -65,21 +73,59 @@ export interface BatchStream {
|
|
|
65
73
|
* share a transaction go to one stream, in arrival order, so the server sees them in the order the
|
|
66
74
|
* caller wrote them; autocommit statements are free to use any stream.
|
|
67
75
|
*
|
|
76
|
+
* Operations that wait together travel together. The pump writes the operations it drained for one
|
|
77
|
+
* stream as a single stream message — a frame — when that stream's server announced that it reads
|
|
78
|
+
* one, and it reads a response frame at any time. A frame never waits: it packs only the
|
|
79
|
+
* operations that already sit in the inbox, and a lone operation stays the plain single message it
|
|
80
|
+
* always was. It is a transport optimization alone. It gives no atomicity and no ordering that the
|
|
81
|
+
* stream does not already give.
|
|
82
|
+
*
|
|
68
83
|
* A stream that faults is rebuilt by the next write, and every operation that was in flight on the
|
|
69
84
|
* old one is failed so its caller can decide whether to replay it. Prepared statements are scoped
|
|
70
85
|
* to the stream that registered them, and a handle from a stream that is gone is refused at the
|
|
71
86
|
* last moment before it would be written.
|
|
87
|
+
*
|
|
88
|
+
* A stream is rotated when the credential it opened under is superseded. A stream presents its
|
|
89
|
+
* bearer token once, in its opening metadata, and then outlives it: the provider renews the token
|
|
90
|
+
* every few minutes, and the stream is meant to last a session. Whether the server tolerates that
|
|
91
|
+
* is the server's decision, and a server that re-checks the opening token per operation ends the
|
|
92
|
+
* stream at that token's expiry, with every transaction on it. The client does not rely on it.
|
|
93
|
+
*
|
|
94
|
+
* When the next unbound operation of a slot finds the credential changed, the slot opens a fresh
|
|
95
|
+
* stream under the new token, and the old one is retired. A retired stream takes no new work. It
|
|
96
|
+
* keeps serving the transactions that began on it, because a transaction cannot change streams,
|
|
97
|
+
* and the server rolls a transaction back when its stream closes. It is closed as soon as the last
|
|
98
|
+
* of them ends, or after `streamDrainTimeoutMs`. Rotation happens on the write path, so an idle
|
|
99
|
+
* client rotates on its first operation after the renewal, before that operation is sent.
|
|
72
100
|
*/
|
|
73
101
|
export declare class GrpcBatcher {
|
|
74
102
|
private readonly options;
|
|
75
103
|
private readonly streamFactory;
|
|
104
|
+
/**
|
|
105
|
+
* Reports the credential a stream opened now would carry, which in practice is the current
|
|
106
|
+
* bearer token. It is compared, never inspected: a value that differs from the one a stream
|
|
107
|
+
* opened under is what retires that stream. Undefined means that a stream carries no credential
|
|
108
|
+
* that can change, and that nothing is ever rotated.
|
|
109
|
+
*/
|
|
110
|
+
private readonly credentialStamp;
|
|
76
111
|
private readonly slots;
|
|
77
112
|
private readonly pending;
|
|
113
|
+
/**
|
|
114
|
+
* The stream each open transaction began on, by handle. An entry is written when a start is
|
|
115
|
+
* answered, and removed when the server answers the commit or the rollback, or when that stream
|
|
116
|
+
* ends. It is what lets a transaction keep its stream across a rotation of its slot.
|
|
117
|
+
*/
|
|
118
|
+
private readonly openTransactions;
|
|
119
|
+
/**
|
|
120
|
+
* Retired streams that still drain, so disposal can reach them: a slot references its current
|
|
121
|
+
* stream alone.
|
|
122
|
+
*/
|
|
123
|
+
private readonly retiring;
|
|
78
124
|
private requestIdSeq;
|
|
79
125
|
private roundRobin;
|
|
80
126
|
private transportIdSeq;
|
|
81
127
|
private disposed;
|
|
82
|
-
constructor(options: GrpcBatchOptions, streamFactory: (id: number) => BatchStream);
|
|
128
|
+
constructor(options: GrpcBatchOptions, streamFactory: (id: number) => BatchStream, credentialStamp?: () => unknown);
|
|
83
129
|
/** Reserves a stream for a transaction, so all of its operations land in one ordering chain. */
|
|
84
130
|
reserveSlot(): number;
|
|
85
131
|
enqueueQuery(request: GrpcSqlRequest, slotIndex: number | undefined, signal: AbortSignal | undefined, expectedTransportId?: number): Promise<BatchQueryResult>;
|
|
@@ -106,17 +152,100 @@ export declare class GrpcBatcher {
|
|
|
106
152
|
closePrepared(slotIndex: number, entry: PreparedSlotEntry, signal: AbortSignal | undefined): Promise<void>;
|
|
107
153
|
private enqueue;
|
|
108
154
|
private enqueueTracked;
|
|
155
|
+
/**
|
|
156
|
+
* Starts the slot's pump after the current turn, and not inside it.
|
|
157
|
+
*
|
|
158
|
+
* A caller that issues several statements at once — one `Promise.all` over six of them — queues
|
|
159
|
+
* them all in one synchronous turn. A pump that ran inside `enqueue` would write the first
|
|
160
|
+
* before the second was queued, and every operation would then travel alone. One microtask of
|
|
161
|
+
* delay costs no round trip, and it lets the operations that were issued together share a frame.
|
|
162
|
+
*/
|
|
163
|
+
private schedule;
|
|
109
164
|
/**
|
|
110
165
|
* Drains one slot's queue onto its stream.
|
|
111
166
|
*
|
|
112
167
|
* Only one pump runs per slot, so the slot's stream has exactly one writer and needs no lock.
|
|
113
168
|
*/
|
|
114
169
|
private pump;
|
|
115
|
-
|
|
116
|
-
|
|
170
|
+
/**
|
|
171
|
+
* Prepares one operation for the wire, then either writes it alone or adds it to the slot's run.
|
|
172
|
+
*
|
|
173
|
+
* A run is the set of operations that will share the next stream message. It holds consecutive
|
|
174
|
+
* operations bound for one stream. The operations of one drain can belong to different streams,
|
|
175
|
+
* so an operation for another stream flushes the run first. Operations are never reordered to
|
|
176
|
+
* fill a frame: the server chains the operations of a transaction by arrival order, and inbox
|
|
177
|
+
* order is the only order the callers gave.
|
|
178
|
+
*/
|
|
179
|
+
private stage;
|
|
180
|
+
/**
|
|
181
|
+
* Writes the slot's run: one frame, or the plain single message when one operation is left in
|
|
182
|
+
* it, so a quiet stream stays byte-identical to a stream without frames.
|
|
183
|
+
*
|
|
184
|
+
* A frame is never resent. A frame whose write failed may or may not have reached the server,
|
|
185
|
+
* which is true of every operation in it, so every one of them faults with the transport error.
|
|
186
|
+
* The retry contract above the batcher then decides, exactly as it does for the operations of a
|
|
187
|
+
* stream that faulted.
|
|
188
|
+
*/
|
|
189
|
+
private flush;
|
|
190
|
+
private send;
|
|
191
|
+
/**
|
|
192
|
+
* False for an operation whose caller left — it was cancelled, or it timed out — before the
|
|
193
|
+
* operation was written. The server is never asked to run it.
|
|
194
|
+
*
|
|
195
|
+
* A rollback and a close are written whatever happens. Each one only releases what the server
|
|
196
|
+
* holds, which is a transaction's locks or a statement handle, and nothing else would.
|
|
197
|
+
*/
|
|
198
|
+
private mustStillBeWritten;
|
|
199
|
+
/**
|
|
200
|
+
* The stream one operation belongs on.
|
|
201
|
+
*
|
|
202
|
+
* A transaction stays on the stream it began on, whatever the slot has moved to since. Anything
|
|
203
|
+
* else takes the slot's current stream, and that is where a credential change is noticed.
|
|
204
|
+
*/
|
|
205
|
+
private route;
|
|
206
|
+
/**
|
|
207
|
+
* Opens a fresh stream for a slot and makes it the current one.
|
|
208
|
+
*
|
|
209
|
+
* The stamp is read before the factory reads the credential itself. If the credential is renewed
|
|
210
|
+
* in between, the stream is stamped older than it is, and it rotates once more than it needs to.
|
|
211
|
+
* Read afterwards, it could be stamped newer than it is, and would never rotate at all.
|
|
212
|
+
*/
|
|
213
|
+
private connect;
|
|
214
|
+
/**
|
|
215
|
+
* Takes a stream out of rotation.
|
|
216
|
+
*
|
|
217
|
+
* It stays open for the transactions that began on it, and it closes when the last one ends — or
|
|
218
|
+
* after `streamDrainTimeoutMs`, because a transaction its caller abandoned would otherwise hold
|
|
219
|
+
* the stream, and its locks, open for good. Closing the stream is what makes the server roll
|
|
220
|
+
* such a transaction back.
|
|
221
|
+
*/
|
|
222
|
+
private retire;
|
|
223
|
+
private closeIfDrained;
|
|
224
|
+
/**
|
|
225
|
+
* Closes a stream once, and forgets everything that was riding on it.
|
|
226
|
+
*
|
|
227
|
+
* It runs whichever end closes the stream first: this client, when a retired stream has drained,
|
|
228
|
+
* or the server, through the stream's own close event.
|
|
229
|
+
*/
|
|
230
|
+
private close;
|
|
231
|
+
/** Drops an operation's hold on its stream, once however many paths race to do it. */
|
|
232
|
+
private release;
|
|
233
|
+
private transactionBegan;
|
|
234
|
+
private transactionEnded;
|
|
235
|
+
/**
|
|
236
|
+
* True when a transaction began on a stream that was rotated out, and is finishing there.
|
|
237
|
+
*
|
|
238
|
+
* Such a transaction must not run prepared. A slot keeps one registration per statement, and
|
|
239
|
+
* that registration belongs to the slot's current stream, where this transaction does not write.
|
|
240
|
+
* To register the statement on the retired stream instead would evict the entry every autocommit
|
|
241
|
+
* caller is using, and the two would re-prepare against each other until the old stream closes.
|
|
242
|
+
* To run the statement inline is always correct, and the window is short.
|
|
243
|
+
*/
|
|
244
|
+
isBoundToRetiredStream(txnIdPT: bigint, txnIdCounter: number): boolean;
|
|
117
245
|
private demux;
|
|
118
246
|
private complete;
|
|
119
247
|
private fault;
|
|
248
|
+
private finalizesTransaction;
|
|
120
249
|
private settle;
|
|
121
250
|
/** Fails every operation still in flight on a stream that closed, so its caller can replay. */
|
|
122
251
|
private failStreamPending;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"batcher.d.ts","sourceRoot":"","sources":["../../../src/transport/grpc/batcher.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"batcher.d.ts","sourceRoot":"","sources":["../../../src/transport/grpc/batcher.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAMxD,OAAO,KAAK,EACV,uBAAuB,EACvB,wBAAwB,EAExB,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,aAAa,EACd,MAAM,eAAe,CAAC;AAEvB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAElE,6FAA6F;AAC7F,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,kBAAkB,EAAE,gBAAwD,CAAC;AAE1F,yFAAyF;AACzF,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE,gBAAgB,GAAG,SAAS,CAAC;IAC9C,QAAQ,CAAC,IAAI,EAAE,aAAa,EAAE,CAAC;IAC/B,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAC;IACjC,QAAQ,CAAC,aAAa,EAAE,kBAAkB,GAAG,SAAS,CAAC;IACvD,QAAQ,CAAC,OAAO,EAAE,kBAAkB,GAAG,SAAS,CAAC;CAClD;AAED,mCAAmC;AACnC,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,kBAAkB,GAAG,SAAS,CAAC;CAClD;AAED,6FAA6F;AAC7F,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,cAAc,EAAE,MAAM,EAAE,CAAC;CACnC;AAED;;;;GAIG;AACH,qBAAa,2BAA4B,SAAQ,KAAK;IACpD,SAAkB,IAAI,iCAAiC;;CAKxD;AAED,qFAAqF;AACrF,MAAM,WAAW,WAAW;IAC1B,iFAAiF;IACjF,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAEpB;;;;;;OAMG;IACH,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAElC,IAAI,CAAC,OAAO,EAAE,uBAAuB,GAAG,IAAI,CAAC;IAE7C,iGAAiG;IACjG,MAAM,CAAC,QAAQ,EAAE;QACf,SAAS,EAAE,CAAC,QAAQ,EAAE,wBAAwB,KAAK,IAAI,CAAC;QACxD,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;KACjC,GAAG,IAAI,CAAC;IAET,KAAK,IAAI,IAAI,CAAC;CACf;AAwGD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmB;IAE3C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA8B;IAE5D;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA8B;IAE9D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAE/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgC;IAExD;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAkC;IAEnE;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA0B;IAEnD,OAAO,CAAC,YAAY,CAAK;IAEzB,OAAO,CAAC,UAAU,CAAM;IAExB,OAAO,CAAC,cAAc,CAAK;IAE3B,OAAO,CAAC,QAAQ,CAAS;gBAGvB,OAAO,EAAE,gBAAgB,EACzB,aAAa,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,WAAW,EAC1C,eAAe,CAAC,EAAE,MAAM,OAAO;IAwBjC,gGAAgG;IAChG,WAAW,IAAI,MAAM;IAMrB,YAAY,CACV,OAAO,EAAE,cAAc,EACvB,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,MAAM,EAAE,WAAW,GAAG,SAAS,EAC/B,mBAAmB,CAAC,EAAE,MAAM,GAC3B,OAAO,CAAC,gBAAgB,CAAC;IAU5B,eAAe,CACb,OAAO,EAAE,cAAc,EACvB,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,MAAM,EAAE,WAAW,GAAG,SAAS,EAC/B,mBAAmB,CAAC,EAAE,MAAM,GAC3B,OAAO,CAAC,mBAAmB,CAAC;IAU/B,YAAY,CACV,OAAO,EAAE,cAAc,EACvB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,WAAW,GAAG,SAAS,GAC9B,OAAO,CAAC,aAAa,CAAC;IAIzB,aAAa,CACX,OAAO,EAAE,cAAc,EACvB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,WAAW,GAAG,SAAS,GAC9B,OAAO,CAAC,gBAAgB,CAAC;IAItB,eAAe,CACnB,OAAO,EAAE,cAAc,EACvB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,WAAW,GAAG,SAAS,GAC9B,OAAO,CAAC,IAAI,CAAC;IAMhB;;;;;OAKG;IACG,cAAc,CAClB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,WAAW,GAAG,SAAS,GAC9B,OAAO,CAAC,iBAAiB,CAAC;YA2Cf,gBAAgB;IAiB9B,kGAAkG;IAClG,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB,GAAG,IAAI;IAapG,iGAAiG;IAC3F,YAAY,CAChB,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,iBAAiB,CAAA;KAAE,EAAE,CAAC;IAoB7D,2EAA2E;IACrE,aAAa,CACjB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,iBAAiB,EACxB,MAAM,EAAE,WAAW,GAAG,SAAS,GAC9B,OAAO,CAAC,IAAI,CAAC;YAgBF,OAAO;IAWrB,OAAO,CAAC,cAAc;IA4CtB;;;;;;;OAOG;IACH,OAAO,CAAC,QAAQ;IAWhB;;;;OAIG;YACW,IAAI;IAqDlB;;;;;;;;OAQG;IACH,OAAO,CAAC,KAAK;IAoEb;;;;;;;;OAQG;IACH,OAAO,CAAC,KAAK;IA4Bb,OAAO,CAAC,IAAI;IAQZ;;;;;;OAMG;IACH,OAAO,CAAC,kBAAkB;IAU1B;;;;;OAKG;IACH,OAAO,CAAC,KAAK;IAuBb;;;;;;OAMG;IACH,OAAO,CAAC,OAAO;IAyBf;;;;;;;OAOG;IACH,OAAO,CAAC,MAAM;IAad,OAAO,CAAC,cAAc;IAItB;;;;;OAKG;IACH,OAAO,CAAC,KAAK;IA6Bb,sFAAsF;IACtF,OAAO,CAAC,OAAO;IAWf,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,gBAAgB;IAaxB;;;;;;;;OAQG;IACH,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO;IAMtE,OAAO,CAAC,KAAK;IA0Fb,OAAO,CAAC,QAAQ;IAiBhB,OAAO,CAAC,KAAK;IAYb,OAAO,CAAC,oBAAoB;IAI5B,OAAO,CAAC,MAAM;IAWd,+FAA+F;IAC/F,OAAO,CAAC,iBAAiB;IAMzB,OAAO,CAAC,cAAc;IAKtB,gEAAgE;IAC1D,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CA4B/B"}
|