@aws-sdk/lib-transfer-manager 0.0.0-stage → 0.1.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/README.md +303 -2
- package/dist-cjs/index.js +2 -0
- package/dist-cjs/submodules/transfer-manager/index.js +3166 -0
- package/dist-cjs/submodules/worker/index.js +579 -0
- package/dist-es/index.js +1 -0
- package/dist-es/submodules/transfer-manager/S3TransferManager.js +2229 -0
- package/dist-es/submodules/transfer-manager/chunker.js +115 -0
- package/dist-es/submodules/transfer-manager/directory-transfer-utils.js +102 -0
- package/dist-es/submodules/transfer-manager/event-listener-types.js +1 -0
- package/dist-es/submodules/transfer-manager/file-manager.js +70 -0
- package/dist-es/submodules/transfer-manager/index.browser.js +11 -0
- package/dist-es/submodules/transfer-manager/index.js +11 -0
- package/dist-es/submodules/transfer-manager/join-streams.browser.js +101 -0
- package/dist-es/submodules/transfer-manager/join-streams.js +105 -0
- package/dist-es/submodules/transfer-manager/log-level.js +30 -0
- package/dist-es/submodules/transfer-manager/ordered-part-queue.js +57 -0
- package/dist-es/submodules/transfer-manager/types.js +1 -0
- package/dist-es/submodules/transfer-manager/worker-http-handler.browser.js +25 -0
- package/dist-es/submodules/transfer-manager/worker-http-handler.js +453 -0
- package/dist-es/submodules/worker/http-request-worker.js +578 -0
- package/dist-es/submodules/worker/index.js +1 -0
- package/dist-types/index.d.ts +2 -0
- package/dist-types/submodules/transfer-manager/S3TransferManager.d.ts +60 -0
- package/dist-types/submodules/transfer-manager/chunker.d.ts +7 -0
- package/dist-types/submodules/transfer-manager/directory-transfer-utils.d.ts +90 -0
- package/dist-types/submodules/transfer-manager/event-listener-types.d.ts +54 -0
- package/dist-types/submodules/transfer-manager/file-manager.d.ts +51 -0
- package/dist-types/submodules/transfer-manager/index.browser.d.ts +10 -0
- package/dist-types/submodules/transfer-manager/index.d.ts +10 -0
- package/dist-types/submodules/transfer-manager/join-streams.browser.d.ts +21 -0
- package/dist-types/submodules/transfer-manager/join-streams.d.ts +26 -0
- package/dist-types/submodules/transfer-manager/log-level.d.ts +13 -0
- package/dist-types/submodules/transfer-manager/ordered-part-queue.d.ts +73 -0
- package/dist-types/submodules/transfer-manager/types.d.ts +473 -0
- package/dist-types/submodules/transfer-manager/worker-http-handler.browser.d.ts +20 -0
- package/dist-types/submodules/transfer-manager/worker-http-handler.d.ts +410 -0
- package/dist-types/submodules/worker/http-request-worker.d.ts +1 -0
- package/dist-types/submodules/worker/index.d.ts +1 -0
- package/dist-types/ts3.4/index.d.ts +2 -0
- package/dist-types/ts3.4/submodules/transfer-manager/S3TransferManager.d.ts +38 -0
- package/dist-types/ts3.4/submodules/transfer-manager/chunker.d.ts +10 -0
- package/dist-types/ts3.4/submodules/transfer-manager/directory-transfer-utils.d.ts +23 -0
- package/dist-types/ts3.4/submodules/transfer-manager/event-listener-types.d.ts +12 -0
- package/dist-types/ts3.4/submodules/transfer-manager/file-manager.d.ts +9 -0
- package/dist-types/ts3.4/submodules/transfer-manager/index.browser.d.ts +3 -0
- package/dist-types/ts3.4/submodules/transfer-manager/index.d.ts +3 -0
- package/dist-types/ts3.4/submodules/transfer-manager/join-streams.browser.d.ts +13 -0
- package/dist-types/ts3.4/submodules/transfer-manager/join-streams.d.ts +13 -0
- package/dist-types/ts3.4/submodules/transfer-manager/log-level.d.ts +13 -0
- package/dist-types/ts3.4/submodules/transfer-manager/ordered-part-queue.d.ts +18 -0
- package/dist-types/ts3.4/submodules/transfer-manager/types.d.ts +184 -0
- package/dist-types/ts3.4/submodules/transfer-manager/worker-http-handler.browser.d.ts +17 -0
- package/dist-types/ts3.4/submodules/transfer-manager/worker-http-handler.d.ts +241 -0
- package/dist-types/ts3.4/submodules/worker/http-request-worker.d.ts +1 -0
- package/dist-types/ts3.4/submodules/worker/index.d.ts +1 -0
- package/package.json +108 -4
- package/transfer-manager.d.ts +5 -0
- package/transfer-manager.js +5 -0
- package/worker.d.ts +5 -0
- package/worker.js +5 -0
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import type { _Object as S3Object } from "@aws-sdk/client-s3";
|
|
2
|
+
import type { CannedFailurePolicy, DirectoryTransferFailureContext, FailurePolicy } from "./types";
|
|
3
|
+
/**
|
|
4
|
+
* Weighted semaphore with a soft concurrency limit.
|
|
5
|
+
* Allows a job to start if in-flight weight is below the limit, even if
|
|
6
|
+
* that job pushes the total over. New jobs are paused until it drops back.
|
|
7
|
+
*
|
|
8
|
+
* @internal
|
|
9
|
+
*/
|
|
10
|
+
export declare class Semaphore {
|
|
11
|
+
private readonly limit;
|
|
12
|
+
private inFlightRequests;
|
|
13
|
+
private waiters;
|
|
14
|
+
constructor(limit: number);
|
|
15
|
+
acquire(count?: number): Promise<void>;
|
|
16
|
+
release(count?: number): void;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Validates that a path exists and is a directory.
|
|
20
|
+
* Resolves to absolute path.
|
|
21
|
+
*
|
|
22
|
+
* @param dirPath - The directory path to validate.
|
|
23
|
+
*
|
|
24
|
+
* @throws Error - If the path does not exist.
|
|
25
|
+
* @throws Error - If the path is not a directory.
|
|
26
|
+
*
|
|
27
|
+
* @internal
|
|
28
|
+
*/
|
|
29
|
+
export declare function validateDirectory(dirPath: string): Promise<string>;
|
|
30
|
+
/**
|
|
31
|
+
* Executes the failure policy for a failed transfer (upload or download).
|
|
32
|
+
*
|
|
33
|
+
* @param policy - The failure policy to execute (canned or custom callback).
|
|
34
|
+
* @param context - The failure context containing the directory request, failed object request, and error.
|
|
35
|
+
* @param abortController - Controller to signal abort to all in-flight operations on terminate.
|
|
36
|
+
*
|
|
37
|
+
* @internal
|
|
38
|
+
*/
|
|
39
|
+
export declare function handleFailure(policy: FailurePolicy, context: DirectoryTransferFailureContext, abortController: AbortController): Promise<CannedFailurePolicy>;
|
|
40
|
+
/**
|
|
41
|
+
* Prepares the destination directory for a directory download.
|
|
42
|
+
*
|
|
43
|
+
* If the path does not exist, it is created along with any missing parent
|
|
44
|
+
* directories, using the runtime's default file-creation permissions.
|
|
45
|
+
*
|
|
46
|
+
* @param dirPath - The destination directory path.
|
|
47
|
+
* @returns The resolved absolute path of the destination directory.
|
|
48
|
+
*
|
|
49
|
+
* @throws Error - If the path exists but is not a directory.
|
|
50
|
+
*
|
|
51
|
+
* @internal
|
|
52
|
+
*/
|
|
53
|
+
export declare function createDestinationDirectory(dirPath: string): Promise<string>;
|
|
54
|
+
/**
|
|
55
|
+
* Determines whether an S3 object represents a folder placeholder rather than a
|
|
56
|
+
* file. Objects whose key ends with "/" and whose size is zero.
|
|
57
|
+
*
|
|
58
|
+
* @param object - The S3 object to check.
|
|
59
|
+
* @returns true if the object is a folder placeholder.
|
|
60
|
+
*
|
|
61
|
+
* @internal
|
|
62
|
+
*/
|
|
63
|
+
export declare function isFolderObject(object: S3Object): boolean;
|
|
64
|
+
/**
|
|
65
|
+
* Derives the local absolute file path for an S3 object key, relative to the
|
|
66
|
+
* destination directory.
|
|
67
|
+
*
|
|
68
|
+
*
|
|
69
|
+
* @param destination - The resolved absolute destination directory.
|
|
70
|
+
* @param key - The S3 object key. Callers must pass a non-empty key.
|
|
71
|
+
* @returns The resolved absolute local file path.
|
|
72
|
+
*
|
|
73
|
+
* @throws Error - If the key is absolute, or resolves outside the destination directory.
|
|
74
|
+
*
|
|
75
|
+
* @internal
|
|
76
|
+
*/
|
|
77
|
+
export declare function deriveLocalPath(destination: string, key: string): string;
|
|
78
|
+
/**
|
|
79
|
+
* Creates the parent directories for a local download path, verifying each
|
|
80
|
+
* component's canonical (symlink-resolved) location stays within the
|
|
81
|
+
* destination.
|
|
82
|
+
*
|
|
83
|
+
* @param destination - The resolved absolute destination directory.
|
|
84
|
+
* @param localPath - The resolved absolute local file path (from deriveLocalPath).
|
|
85
|
+
*
|
|
86
|
+
* @throws Error - If any parent component resolves outside the destination.
|
|
87
|
+
*
|
|
88
|
+
* @internal
|
|
89
|
+
*/
|
|
90
|
+
export declare function createLocalParentDirectories(destination: string, localPath: string): Promise<void>;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Function type for handling transfer events in the transfer manager.
|
|
3
|
+
* Represents a callback that receives event data during transfer operations.
|
|
4
|
+
*
|
|
5
|
+
* @param event - The event object containing transfer details and progress information.
|
|
6
|
+
|
|
7
|
+
* @alpha
|
|
8
|
+
*/
|
|
9
|
+
export type EventListenerFunction<E = Event> = (event: Event & E) => void;
|
|
10
|
+
/**
|
|
11
|
+
* Union type for handling transfer events in the transfer manager.
|
|
12
|
+
* Can be a function or an object.
|
|
13
|
+
*
|
|
14
|
+
* @alpha
|
|
15
|
+
*/
|
|
16
|
+
export type EventListener<E = Event> = EventListenerFunction<E> | EventListenerObject<E>;
|
|
17
|
+
/**
|
|
18
|
+
* Object type for handling transfer events in the transfer manager.
|
|
19
|
+
* Represents an object that implements the `handleEvent` method to handle transfer events.
|
|
20
|
+
*
|
|
21
|
+
* @alpha
|
|
22
|
+
*/
|
|
23
|
+
export type EventListenerObject<E = Event> = {
|
|
24
|
+
handleEvent: EventListenerFunction<E>;
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* Configuration options for registering event listeners in the transfer manager.
|
|
28
|
+
* Controls the behavior of event listeners for transfer events.
|
|
29
|
+
*
|
|
30
|
+
* @alpha
|
|
31
|
+
*/
|
|
32
|
+
export type AddEventListenerOptions = {
|
|
33
|
+
/**
|
|
34
|
+
* A boolean value indicating that the listener should be invoked at most once
|
|
35
|
+
* after being added. If true, the listener would be automatically removed when invoked.
|
|
36
|
+
* If not specified, defaults to false.
|
|
37
|
+
*/
|
|
38
|
+
once?: boolean;
|
|
39
|
+
/**
|
|
40
|
+
* An AbortSignal. The listener will be removed when the abort() method of the
|
|
41
|
+
* AbortController which owns the AbortSignal is called. If not specified, no
|
|
42
|
+
* AbortSignal is associated with the listener.
|
|
43
|
+
*/
|
|
44
|
+
signal?: AbortSignal;
|
|
45
|
+
};
|
|
46
|
+
/**
|
|
47
|
+
* Configuration options for removing event listeners in the transfer manager.
|
|
48
|
+
* Controls the behavior of event listeners for transfer events.
|
|
49
|
+
*
|
|
50
|
+
* @alpha
|
|
51
|
+
*/
|
|
52
|
+
export type RemoveEventListenerOptions = {
|
|
53
|
+
capture?: boolean;
|
|
54
|
+
};
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Utility class responsible for temp-file lifecycle management during downloadToFile.
|
|
3
|
+
* Handles creation, pre-allocation, atomic rename, and cleanup of temp files.
|
|
4
|
+
*
|
|
5
|
+
* @internal
|
|
6
|
+
*/
|
|
7
|
+
export declare class FileManager {
|
|
8
|
+
private cleanupHandlers;
|
|
9
|
+
/**
|
|
10
|
+
* Creates a temporary file for the download with a unique identifier.
|
|
11
|
+
* Sets the file length to `totalSize` up front via truncate so concurrent
|
|
12
|
+
* part writes can target their offsets without coordination.
|
|
13
|
+
*
|
|
14
|
+
* @param destination - The final destination file path.
|
|
15
|
+
* @param totalSize - Total byte size to set as the file length.
|
|
16
|
+
* @returns The path to the created temp file.
|
|
17
|
+
*/
|
|
18
|
+
createTempFile(destination: string, totalSize: number): Promise<string>;
|
|
19
|
+
/**
|
|
20
|
+
* Renames the temp file to the destination atomically.
|
|
21
|
+
* On platforms where rename doesn't overwrite, falls back to
|
|
22
|
+
* deleting the destination first.
|
|
23
|
+
*
|
|
24
|
+
* @param tempFilePath - Path to the temp file.
|
|
25
|
+
* @param destination - Final destination path.
|
|
26
|
+
*/
|
|
27
|
+
atomicRename(tempFilePath: string, destination: string): Promise<void>;
|
|
28
|
+
/**
|
|
29
|
+
* Deletes the temp file and unregisters any associated cleanup handlers.
|
|
30
|
+
*
|
|
31
|
+
* @param tempFilePath - Path to the temp file to delete.
|
|
32
|
+
*/
|
|
33
|
+
deleteTempFile(tempFilePath: string): Promise<void>;
|
|
34
|
+
/**
|
|
35
|
+
* Registers process-level cleanup handlers that remove the temp file
|
|
36
|
+
* if the process terminates unexpectedly.
|
|
37
|
+
*
|
|
38
|
+
* @param tempFilePath - Path to the temp file to clean up.
|
|
39
|
+
*/
|
|
40
|
+
registerCleanupHandler(tempFilePath: string): void;
|
|
41
|
+
/**
|
|
42
|
+
* Removes the registered cleanup handlers for the given temp file.
|
|
43
|
+
*
|
|
44
|
+
* @param tempFilePath - Path to the temp file whose handlers should be removed.
|
|
45
|
+
*/
|
|
46
|
+
unregisterCleanupHandler(tempFilePath: string): void;
|
|
47
|
+
/**
|
|
48
|
+
* Generates a unique identifier of at most 8 alphanumeric characters.
|
|
49
|
+
*/
|
|
50
|
+
private generateUniqueId;
|
|
51
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
declare const S3TransferManager_base: import("./S3TransferManager").S3TransferManagerConstructor;
|
|
2
|
+
/**
|
|
3
|
+
* Browser version of the TransferManager that uses fetch and ReadableStream.
|
|
4
|
+
* Worker-based multi-threading is currently not available for the browser implementation.
|
|
5
|
+
*
|
|
6
|
+
* @alpha
|
|
7
|
+
*/
|
|
8
|
+
export declare class S3TransferManager extends S3TransferManager_base {
|
|
9
|
+
}
|
|
10
|
+
export type { DownloadToFileRequest, DownloadToFileResponse, IS3TransferManager } from "./types";
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
declare const S3TransferManager_base: import("./S3TransferManager").S3TransferManagerConstructor;
|
|
2
|
+
/**
|
|
3
|
+
* Node.js version of the TransferManager, providing high-level upload and download
|
|
4
|
+
* operations for Amazon S3 with multipart parallelism and worker-based multi-threading.
|
|
5
|
+
*
|
|
6
|
+
* @alpha
|
|
7
|
+
*/
|
|
8
|
+
export declare class S3TransferManager extends S3TransferManager_base {
|
|
9
|
+
}
|
|
10
|
+
export type { DownloadToFileRequest, DownloadToFileResponse, IS3TransferManager } from "./types";
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { StreamingBlobPayloadOutputTypes } from "@smithy/types";
|
|
2
|
+
import type { JoinStreamIterationEvents } from "./types";
|
|
3
|
+
/**
|
|
4
|
+
* Joins multiple stream promises into a single stream with event callbacks.
|
|
5
|
+
*
|
|
6
|
+
* @internal
|
|
7
|
+
*/
|
|
8
|
+
export declare function joinStreams(streams: Promise<StreamingBlobPayloadOutputTypes>[], eventListeners?: JoinStreamIterationEvents): Promise<StreamingBlobPayloadOutputTypes>;
|
|
9
|
+
/**
|
|
10
|
+
* Iterates through stream promises sequentially, yielding chunks with progress tracking.
|
|
11
|
+
*
|
|
12
|
+
* @internal
|
|
13
|
+
*/
|
|
14
|
+
export declare function iterateStreams(promises: Promise<StreamingBlobPayloadOutputTypes>[], eventListeners?: JoinStreamIterationEvents): AsyncIterable<Uint8Array, void, void>;
|
|
15
|
+
/**
|
|
16
|
+
* Browser equivalent of the Node.js `destroyStreams`. Cancels any
|
|
17
|
+
* still-unconsumed response bodies so their underlying resources are released.
|
|
18
|
+
*
|
|
19
|
+
* @internal
|
|
20
|
+
*/
|
|
21
|
+
export declare function destroyStreams(promises: Promise<StreamingBlobPayloadOutputTypes>[]): Promise<void>;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { StreamingBlobPayloadOutputTypes } from "@smithy/types";
|
|
2
|
+
import type { JoinStreamIterationEvents } from "./types";
|
|
3
|
+
/**
|
|
4
|
+
* Joins multiple stream promises into a single stream with event callbacks.
|
|
5
|
+
*
|
|
6
|
+
* @internal
|
|
7
|
+
*/
|
|
8
|
+
export declare function joinStreams(streams: Promise<StreamingBlobPayloadOutputTypes>[], eventListeners?: JoinStreamIterationEvents): Promise<StreamingBlobPayloadOutputTypes>;
|
|
9
|
+
/**
|
|
10
|
+
* Iterates through stream promises sequentially, yielding chunks with progress tracking.
|
|
11
|
+
*
|
|
12
|
+
* @internal
|
|
13
|
+
*/
|
|
14
|
+
export declare function iterateStreams(promises: Promise<StreamingBlobPayloadOutputTypes>[], eventListeners?: JoinStreamIterationEvents): AsyncIterable<StreamingBlobPayloadOutputTypes, void, void>;
|
|
15
|
+
/**
|
|
16
|
+
* Destroys/cancels a set of stream promises, swallowing any errors.
|
|
17
|
+
*
|
|
18
|
+
* Used to clean up response bodies that were received but never fully consumed
|
|
19
|
+
* (for example when a transfer is aborted). A no-op "error" handler is attached
|
|
20
|
+
* to Node streams before destroying so that a socket-level error raised while
|
|
21
|
+
* tearing down an unconsumed response body (e.g. "aborted"/ECONNRESET) does not
|
|
22
|
+
* surface as an uncaught exception.
|
|
23
|
+
*
|
|
24
|
+
* @internal
|
|
25
|
+
*/
|
|
26
|
+
export declare function destroyStreams(promises: Promise<StreamingBlobPayloadOutputTypes>[]): Promise<void>;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { Logger } from "@smithy/types";
|
|
2
|
+
export declare class LogLevel implements Logger {
|
|
3
|
+
private minimum;
|
|
4
|
+
private logger;
|
|
5
|
+
private static LEVELS;
|
|
6
|
+
private readonly level;
|
|
7
|
+
constructor(minimum: keyof Logger, logger?: Logger);
|
|
8
|
+
trace(...args: any[]): void;
|
|
9
|
+
debug(...args: any[]): void;
|
|
10
|
+
info(...args: any[]): void;
|
|
11
|
+
warn(...args: any[]): void;
|
|
12
|
+
error(...args: any[]): void;
|
|
13
|
+
}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
export interface QueuedPart {
|
|
2
|
+
/**
|
|
3
|
+
* The transferred ArrayBuffer containing the part data.
|
|
4
|
+
*/
|
|
5
|
+
buffer: ArrayBuffer;
|
|
6
|
+
/**
|
|
7
|
+
* Actual bytes written (may be less than buffer.byteLength for the last part).
|
|
8
|
+
*/
|
|
9
|
+
byteLength: number;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Reorder buffer that accepts out-of-order part arrivals from parallel download
|
|
13
|
+
* workers and delivers them sequentially to a Readable stream consumer.
|
|
14
|
+
*
|
|
15
|
+
* @internal
|
|
16
|
+
*/
|
|
17
|
+
export declare class OrderedPartQueue {
|
|
18
|
+
/**
|
|
19
|
+
* Out-of-order parts waiting for their turn. Keyed by rangeIndex.
|
|
20
|
+
*/
|
|
21
|
+
private pending;
|
|
22
|
+
/**
|
|
23
|
+
* Next sequential rangeIndex the consumer expects.
|
|
24
|
+
*/
|
|
25
|
+
private nextExpected;
|
|
26
|
+
/**
|
|
27
|
+
* Total number of parts to deliver.
|
|
28
|
+
*/
|
|
29
|
+
private readonly totalParts;
|
|
30
|
+
/**
|
|
31
|
+
* Resolve callback for the consumer waiting for the next part.
|
|
32
|
+
*/
|
|
33
|
+
private waitingConsumer;
|
|
34
|
+
/**
|
|
35
|
+
* Error from a failed download.
|
|
36
|
+
*/
|
|
37
|
+
private error;
|
|
38
|
+
constructor(totalParts: number);
|
|
39
|
+
/**
|
|
40
|
+
* Called when a worker delivers a part (may arrive out of order).
|
|
41
|
+
* If the consumer is waiting for this exact part, delivers immediately.
|
|
42
|
+
* Otherwise stores it until its turn.
|
|
43
|
+
*/
|
|
44
|
+
enqueue(rangeIndex: number, buffer: ArrayBuffer, byteLength: number): void;
|
|
45
|
+
/**
|
|
46
|
+
* Called by the Readable stream's read() to get the next sequential part.
|
|
47
|
+
* Returns null when all parts have been consumed.
|
|
48
|
+
* Waits asynchronously if the next part hasn't arrived yet.
|
|
49
|
+
*/
|
|
50
|
+
dequeue(): Promise<QueuedPart | null>;
|
|
51
|
+
/**
|
|
52
|
+
* Called when a worker part fails, when the dispatch loop throws
|
|
53
|
+
* or when the stream is destroyed. Unblocks the consumer
|
|
54
|
+
* if it's waiting so the stream can surface the error instead of hanging.
|
|
55
|
+
*/
|
|
56
|
+
setError(error: unknown): void;
|
|
57
|
+
/**
|
|
58
|
+
* The dispatch loop
|
|
59
|
+
* checks this to stop launching new part requests,
|
|
60
|
+
* and the Readable stream checks it to distinguish completion from failure
|
|
61
|
+
* when dequeue() returns null.
|
|
62
|
+
*/
|
|
63
|
+
hasError(): boolean;
|
|
64
|
+
/**
|
|
65
|
+
* Called by the Readable stream's read() to pass the error to stream.destroy(err).
|
|
66
|
+
*/
|
|
67
|
+
getError(): unknown;
|
|
68
|
+
/**
|
|
69
|
+
* Returns the number of parts currently held (arrived but not yet delivered).
|
|
70
|
+
* Useful for monitoring reorder buffer depth.
|
|
71
|
+
*/
|
|
72
|
+
get pendingCount(): number;
|
|
73
|
+
}
|