@daneren2005/shared-memory-objects 0.0.17 → 0.0.19
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 +57 -43
- package/dist/shared-memory-objects.js +381 -280
- package/dist/shared-memory-objects.js.map +1 -1
- package/dist/shared-memory-objects.umd.cjs +1 -1
- package/dist/shared-memory-objects.umd.cjs.map +1 -1
- package/dist/src/local-pool.d.ts +31 -0
- package/dist/src/main.d.ts +2 -1
- package/dist/src/shared-pool.d.ts +1 -0
- package/dist/src/shared-vector.d.ts +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { TypedArrayConstructor } from './interfaces/typed-array-constructor';
|
|
2
|
+
import { default as MemoryHeap } from './memory-heap';
|
|
3
|
+
export default class LocalPool<T extends Uint32Array | Int32Array | Float32Array | Float64Array = Uint32Array> implements Iterable<T> {
|
|
4
|
+
private memory;
|
|
5
|
+
private pointers;
|
|
6
|
+
private recycledIndexes;
|
|
7
|
+
private totalLength;
|
|
8
|
+
readonly maxChunkSize: number;
|
|
9
|
+
readonly dataLength: number;
|
|
10
|
+
readonly byteMultipler: number;
|
|
11
|
+
private typeConstructor;
|
|
12
|
+
private fullDataBlocks;
|
|
13
|
+
get length(): number;
|
|
14
|
+
get bufferLength(): number;
|
|
15
|
+
constructor(memory: MemoryHeap, config: LocalPoolConfig<T>);
|
|
16
|
+
at(index: number): T;
|
|
17
|
+
get(index: number, dataIndex?: number): number;
|
|
18
|
+
push(values: number | Array<number>): number;
|
|
19
|
+
deleteIndex(index: number): void;
|
|
20
|
+
clear(): void;
|
|
21
|
+
[Symbol.iterator](): Generator<T, void, unknown>;
|
|
22
|
+
private getFullDataBlock;
|
|
23
|
+
private getDataBlock;
|
|
24
|
+
free(): void;
|
|
25
|
+
}
|
|
26
|
+
interface LocalPoolConfig<T extends Uint32Array | Int32Array | Float32Array | Float64Array> {
|
|
27
|
+
maxChunkSize?: number;
|
|
28
|
+
type: TypedArrayConstructor<T>;
|
|
29
|
+
dataLength?: number;
|
|
30
|
+
}
|
|
31
|
+
export type { LocalPoolConfig };
|
package/dist/src/main.d.ts
CHANGED
|
@@ -8,6 +8,7 @@ import { default as SharedString } from './shared-string';
|
|
|
8
8
|
import { default as SharedVector, SharedVectorMemory } from './shared-vector';
|
|
9
9
|
import { default as CachedItemList, CachedListConfig } from './cached-item-list';
|
|
10
10
|
import { default as SharedPool, SharedPoolMemory, SharedPoolConfig } from './shared-pool';
|
|
11
|
+
import { default as LocalPool, LocalPoolConfig } from './local-pool';
|
|
11
12
|
export * from './interfaces/typed-array';
|
|
12
13
|
export * from './interfaces/typed-array-constructor';
|
|
13
14
|
export * from './utils/16-from-32-array';
|
|
@@ -18,4 +19,4 @@ export * from './utils/float64-atomics';
|
|
|
18
19
|
export * from './utils/pointer';
|
|
19
20
|
export * from './lock/simple-lock';
|
|
20
21
|
export * from './lock/read-write-lock';
|
|
21
|
-
export { AllocatedMemory, type SharedAllocatedMemory, MemoryBuffer, MemoryHeap, type MemoryHeapMemory, type GrowBufferData, SharedList, type SharedListMemory, SharedMap, type SharedMapMemory, SharedPointerList, SharedString, SharedVector, type SharedVectorMemory, SharedPool, type SharedPoolMemory, type SharedPoolConfig, CachedItemList, type CachedListConfig };
|
|
22
|
+
export { AllocatedMemory, type SharedAllocatedMemory, MemoryBuffer, MemoryHeap, type MemoryHeapMemory, type GrowBufferData, SharedList, type SharedListMemory, SharedMap, type SharedMapMemory, SharedPointerList, SharedString, SharedVector, type SharedVectorMemory, SharedPool, type SharedPoolMemory, type SharedPoolConfig, LocalPool, type LocalPoolConfig, CachedItemList, type CachedListConfig };
|
|
@@ -17,6 +17,7 @@ export default class SharedPool<T extends Uint32Array | Int32Array | Float32Arra
|
|
|
17
17
|
get dataLength(): number;
|
|
18
18
|
private set dataLength(value);
|
|
19
19
|
get bufferLength(): number;
|
|
20
|
+
get recycleBufferLength(): number;
|
|
20
21
|
get byteMultipler(): number;
|
|
21
22
|
constructor(memory: MemoryHeap, config?: SharedPoolConfig<T> | SharedPoolMemory);
|
|
22
23
|
at(index: number): T;
|
|
@@ -21,6 +21,7 @@ export default class SharedVector<T extends Uint32Array | Int32Array | Float32Ar
|
|
|
21
21
|
get(index: number, dataIndex?: number): number;
|
|
22
22
|
push(values: number | Array<number>): number;
|
|
23
23
|
pop(): T;
|
|
24
|
+
popNumber(): number;
|
|
24
25
|
deleteIndex(index: number): void;
|
|
25
26
|
clear(): void;
|
|
26
27
|
[Symbol.iterator](): Generator<T, void, unknown>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@daneren2005/shared-memory-objects",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.19",
|
|
4
4
|
"author": "daneren2005@gmail.com",
|
|
5
5
|
"description": "Creating objects with a SharedArrayBuffer",
|
|
6
6
|
"homepage": "https://github.com/daneren2005/shared-memory-objects#readme",
|