26 lines
1.2 KiB
Plaintext
26 lines
1.2 KiB
Plaintext
import { CacheBindingInvalidation } from '../models/CacheBindingInvalidation';
|
|
import { GetPlanOptions } from '../models/GetPlanOptions';
|
|
import { NonCachedServiceNodeContext } from '../models/NonCachedServiceNodeContext';
|
|
import { PlanResult } from '../models/PlanResult';
|
|
import { PlanServiceNode } from '../models/PlanServiceNode';
|
|
/**
|
|
* Service to cache plans.
|
|
*
|
|
* This class is used to cache plans and to notify PlanService subscribers when the cache is cleared.
|
|
* The cache should be cleared when a new binding is registered or when a binding is unregistered.
|
|
*
|
|
* Subscribers are supposed to be plan services from child containers.
|
|
*
|
|
* Ancestor binding constraints are the reason to avoid reusing plans from plan children nodes.
|
|
*/
|
|
export declare class PlanResultCacheService {
|
|
#private;
|
|
constructor();
|
|
clearCache(): void;
|
|
get(options: GetPlanOptions): PlanResult | undefined;
|
|
invalidateServiceBinding(invalidation: CacheBindingInvalidation): void;
|
|
set(options: GetPlanOptions, planResult: PlanResult): void;
|
|
setNonCachedServiceNode(node: PlanServiceNode, context: NonCachedServiceNodeContext): void;
|
|
subscribe(subscriber: PlanResultCacheService): void;
|
|
}
|
|
//# sourceMappingURL=PlanResultCacheService.d.ts.map |