@morojs/moro


@morojs/moro / ObjectPoolManager

Class: ObjectPoolManager

Defined in: src/core/pooling/object-pool-manager.ts:17

ObjectPoolManager - Singleton for managing all object pools Consolidates pools from:

  • MoroHttpServer (paramObjectPool, bufferPool)
  • Router (paramObjectPool)
  • Various route caches

Methods

acquireBuffer()

acquireBuffer(size): Buffer

Defined in: src/core/pooling/object-pool-manager.ts:280

Parameters

size

number

Returns

Buffer


acquireHeaders()

acquireHeaders(): Record<string, string>

Defined in: src/core/pooling/object-pool-manager.ts:231

Returns

Record<string, string>


acquireParams()

acquireParams(): Record<string, string>

Defined in: src/core/pooling/object-pool-manager.ts:198

Returns

Record<string, string>


acquireQuery()

acquireQuery(): Record<string, string>

Defined in: src/core/pooling/object-pool-manager.ts:243

Returns

Record<string, string>


cacheResponse()

cacheResponse(key, buffer, headers, statusCode?): void

Defined in: src/core/pooling/object-pool-manager.ts:361

Parameters

key

string

buffer

Buffer

headers

Record<string, string>

statusCode?

number = 200

Returns

void


cacheRoute()

cacheRoute(key, route): void

Defined in: src/core/pooling/object-pool-manager.ts:338

Parameters

key

string

route

any

Returns

void


clearAll()

clearAll(): void

Defined in: src/core/pooling/object-pool-manager.ts:452

Clear all pools and caches

Returns

void


clearResponseCache()

clearResponseCache(): void

Defined in: src/core/pooling/object-pool-manager.ts:382

Returns

void


clearRouteCache()

clearRouteCache(): void

Defined in: src/core/pooling/object-pool-manager.ts:346

Returns

void


forceCleanup()

forceCleanup(): void

Defined in: src/core/pooling/object-pool-manager.ts:465

Force garbage collection on pooled objects

Returns

void


generateRequestId()

generateRequestId(): string

Defined in: src/core/pooling/object-pool-manager.ts:274

Returns

string


getCachedResponse()

getCachedResponse(key): { buffer: Buffer; headers: Record<string, string>; statusCode: number; } | undefined

Defined in: src/core/pooling/object-pool-manager.ts:355

Parameters

key

string

Returns

{ buffer: Buffer; headers: Record<string, string>; statusCode: number; } | undefined


getCachedRoute()

getCachedRoute(key): any

Defined in: src/core/pooling/object-pool-manager.ts:334

Parameters

key

string

Returns

any


getPerformanceSummary()

getPerformanceSummary(): object

Defined in: src/core/pooling/object-pool-manager.ts:505

Get performance summary for monitoring

Returns

object

paramPoolUtilization

paramPoolUtilization: number

responseCacheHitRate

responseCacheHitRate: number

routeCacheHitRate

routeCacheHitRate: number

totalMemoryKB

totalMemoryKB: number


getStats()

getStats(): object

Defined in: src/core/pooling/object-pool-manager.ts:478

Get comprehensive performance statistics

Returns

object

bufferPools

bufferPools: Record<string, any> = bufferPoolStats

headerPool

headerPool: object

headerPool.acquireCount

acquireCount: number

headerPool.createCount

createCount: number

headerPool.maxSize

maxSize: number

headerPool.poolSize

poolSize: number

headerPool.releaseCount

releaseCount: number

headerPool.utilization

utilization: number

paramPool

paramPool: object

paramPool.acquireCount

acquireCount: number

paramPool.createCount

createCount: number

paramPool.maxSize

maxSize: number

paramPool.poolSize

poolSize: number

paramPool.releaseCount

releaseCount: number

paramPool.utilization

utilization: number

queryPool

queryPool: object

queryPool.acquireCount

acquireCount: number

queryPool.createCount

createCount: number

queryPool.maxSize

maxSize: number

queryPool.poolSize

poolSize: number

queryPool.releaseCount

releaseCount: number

queryPool.utilization

utilization: number

responseCache

responseCache: object

responseCache.hitRate

hitRate: number

responseCache.hits

hits: number

responseCache.maxSize

maxSize: number

responseCache.misses

misses: number

responseCache.size

size: number

routeCache

routeCache: object

routeCache.hitRate

hitRate: number

routeCache.hits

hits: number

routeCache.maxSize

maxSize: number

routeCache.misses

misses: number

routeCache.size

size: number

totalMemory

totalMemory: object

totalMemory.buffers

buffers: number

totalMemory.headers

headers: number

totalMemory.params

params: number

totalMemory.queries

queries: number

totalMemory.responses

responses: number

totalMemory.routes

routes: number


hasCachedResponse()

hasCachedResponse(key): boolean

Defined in: src/core/pooling/object-pool-manager.ts:378

Parameters

key

string

Returns

boolean


hasCachedRoute()

hasCachedRoute(key): boolean

Defined in: src/core/pooling/object-pool-manager.ts:342

Parameters

key

string

Returns

boolean


logStats()

logStats(): void

Defined in: src/core/pooling/object-pool-manager.ts:531

Log performance statistics

Returns

void


preWarmPools()

preWarmPools(sizes?): void

Defined in: src/core/pooling/object-pool-manager.ts:125

Pre-warm pools with optimal sizes for better startup performance Can be called with custom sizes to override defaults

Parameters

sizes?
buffers?

Record<number, number>

headers?

number

params?

number

query?

number

Returns

void


releaseBuffer()

releaseBuffer(buffer): void

Defined in: src/core/pooling/object-pool-manager.ts:314

Parameters

buffer

Buffer

Returns

void


releaseHeaders()

releaseHeaders(obj): void

Defined in: src/core/pooling/object-pool-manager.ts:236

Parameters

obj

Record<string, string>

Returns

void


releaseParams()

releaseParams(obj): void

Defined in: src/core/pooling/object-pool-manager.ts:216

Parameters

obj

Record<string, string>

Returns

void


releaseQuery()

releaseQuery(obj): void

Defined in: src/core/pooling/object-pool-manager.ts:260

Parameters

obj

Record<string, string>

Returns

void


setAdaptiveMode()

setAdaptiveMode(enabled): void

Defined in: src/core/pooling/object-pool-manager.ts:442

Enable or disable adaptive pool sizing

Parameters

enabled

boolean

Returns

void


getInstance()

static getInstance(): ObjectPoolManager

Defined in: src/core/pooling/object-pool-manager.ts:179

Returns

ObjectPoolManager


reset()

static reset(): void

Defined in: src/core/pooling/object-pool-manager.ts:189

Reset the singleton (useful for testing)

Returns

void