Summarizer Class
Summarizer is responsible for coordinating when to generate and send summaries. It is the main entry point for summary work. It is created only by summarizing container (i.e. one with clientType === "summarizer")
Signature
export declare class Summarizer extends EventEmitter implements ISummarizer
Extends: EventEmitter
Implements: ISummarizer
Constructors
| Constructor | Description |
|---|---|
| (constructor)(url, runtime, configurationGetter, internalsProvider, handleContext, summaryCollection, runCoordinatorCreateFn) | Constructs a new instance of the Summarizer class |
Static Methods
| Method | Return Type | Description |
|---|---|---|
| create(loader, url) | Promise<ISummarizer> | Creates a Summarizer and its underlying client. Note that different implementations of ILoader will handle the URL differently. ILoader provided by a ContainerRuntime is a RelativeLoader, which will treat URL's starting with "/" as relative to the Container. The general ILoader interface will expect an absolute URL and will not handle "/". |
| stopReasonCanRunLastSummary(stopReason) | boolean | Should we try to run a last summary for the given stop reason? Currently only allows "parentNotConnected" |
Properties
| Property | Type | Description |
|---|---|---|
| enqueueSummarize | ISummarizer["enqueueSummarize"] | |
| handle | IFluidHandle<this> | |
| IFluidLoadable | this | |
| ISummarizer | this | |
| summarizeOnDemand | ISummarizer["summarizeOnDemand"] | |
| summaryCollection | SummaryCollection |
Methods
| Method | Return Type | Description |
|---|---|---|
| close() | void | |
| dispose() | void | Disposes of resources after running. This cleanup will clear any outstanding timers and reset some of the state properties. Called by ContainerRuntime when it is disposed, as well as at the end the run(). |
| run(onBehalfOf) | Promise<SummarizerStopReason> | |
| stop(reason) | void | Stops the summarizer from running. This will complete the run promise, and also close the container. |
Constructor Details
(constructor)
Constructs a new instance of the Summarizer class
Signature
constructor(url: string,
runtime: ISummarizerRuntime, configurationGetter: () => ISummaryConfiguration,
internalsProvider: ISummarizerInternalsProvider, handleContext: IFluidHandleContext, summaryCollection: SummaryCollection, runCoordinatorCreateFn: (runtime: IConnectableRuntime) => Promise<ICancellableSummarizerController>);
Parameters
| Parameter | Type | Description |
|---|---|---|
| url | string | |
| runtime | ISummarizerRuntime | |
| configurationGetter | () => ISummaryConfiguration | |
| internalsProvider | ISummarizerInternalsProvider | |
| handleContext | IFluidHandleContext | |
| summaryCollection | SummaryCollection | |
| runCoordinatorCreateFn | (runtime: IConnectableRuntime) => Promise<ICancellableSummarizerController> |
Property Details
enqueueSummarize
Signature
readonly enqueueSummarize: ISummarizer["enqueueSummarize"];
Type: ISummarizer["enqueueSummarize"]
handle
Signature
get handle(): IFluidHandle<this>;
Type: IFluidHandle<this>
IFluidLoadable
Signature
get IFluidLoadable(): this;
Type: this
ISummarizer
Signature
get ISummarizer(): this;
Type: this
summarizeOnDemand
Signature
readonly summarizeOnDemand: ISummarizer["summarizeOnDemand"];
Type: ISummarizer["summarizeOnDemand"]
summaryCollection
Signature
readonly summaryCollection: SummaryCollection;
Type: SummaryCollection
Method Details
close
Signature
close(): void;
create
Creates a Summarizer and its underlying client. Note that different implementations of ILoader will handle the URL differently. ILoader provided by a ContainerRuntime is a RelativeLoader, which will treat URL's starting with "/" as relative to the Container. The general ILoader interface will expect an absolute URL and will not handle "/".
Signature
static create(loader: ILoader, url: string): Promise<ISummarizer>;
Parameters
| Parameter | Type | Description |
|---|---|---|
| loader | ILoader | the loader that resolves the request |
| url | string | the URL used to resolve the container |
Returns
Return type: Promise<ISummarizer>
dispose
Disposes of resources after running. This cleanup will clear any outstanding timers and reset some of the state properties. Called by ContainerRuntime when it is disposed, as well as at the end the run().
Signature
dispose(): void;
run
Signature
run(onBehalfOf: string): Promise<SummarizerStopReason>;
Parameters
| Parameter | Type | Description |
|---|---|---|
| onBehalfOf | string |
Returns
Return type: Promise<SummarizerStopReason>
stop
Stops the summarizer from running. This will complete the run promise, and also close the container.
Signature
stop(reason: SummarizerStopReason): void;
Parameters
| Parameter | Type | Description |
|---|---|---|
| reason | SummarizerStopReason | reason code for stopping |
stopReasonCanRunLastSummary
Should we try to run a last summary for the given stop reason? Currently only allows "parentNotConnected"
Signature
static stopReasonCanRunLastSummary(stopReason: SummarizerStopReason): boolean;
Parameters
| Parameter | Type | Description |
|---|---|---|
| stopReason | SummarizerStopReason | SummarizerStopReason |
Returns
- true if the stop reason can run a last summary
Return type: boolean