Skip to main content
Version: v1

SummaryCollection Class

Data structure that looks at the op stream to track summaries as they are broadcast, acked and nacked. It provides functionality for watching specific summaries.

Signature

export declare class SummaryCollection extends TypedEventEmitter<ISummaryCollectionOpEvents>

Extends: TypedEventEmitter<ISummaryCollectionOpEvents

Constructors

ConstructorDescription
(constructor)(deltaManager, logger)Constructs a new instance of the SummaryCollection class

Properties

PropertyTypeDescription
latestAckIAckedSummary | undefined
opsSinceLastAcknumber

Methods

MethodReturn TypeDescription
addOpListener(listener)void
createWatcher(clientId)IClientSummaryWatcherCreates and returns a summary watcher for a specific client. This will allow for local sent summaries to be better tracked.
emit(event, args)boolean
removeOpListener(listener)void
removeWatcher(clientId)void
setPendingAckTimerTimeoutCallback(maxAckWaitTime, timeoutCallback)void
unsetPendingAckTimerTimeoutCallback()void
waitFlushed()Promise<IAckedSummary | undefined>Returns a promise that resolves once all pending summary ops have been acked or nacked.
waitSummaryAck(referenceSequenceNumber)Promise<IAckedSummary>Returns a promise that resolves once a summary is acked that has a reference sequence number greater than or equal to the passed in sequence number.

Constructor Details

(constructor)

Constructs a new instance of the SummaryCollection class

Signature

constructor(deltaManager: IDeltaManager<ISequencedDocumentMessage, IDocumentMessage>, logger: ITelemetryLogger);

Parameters

ParameterTypeDescription
deltaManagerIDeltaManager<ISequencedDocumentMessage, IDocumentMessage>
loggerITelemetryLogger

Property Details

latestAck

Signature

get latestAck(): IAckedSummary | undefined;

Type: IAckedSummary | undefined

opsSinceLastAck

Signature

get opsSinceLastAck(): number;

Type: number

Method Details

addOpListener

Signature

addOpListener(listener: () => void): void;

Parameters

ParameterTypeDescription
listener() => void

createWatcher

Creates and returns a summary watcher for a specific client. This will allow for local sent summaries to be better tracked.

Signature

createWatcher(clientId: string): IClientSummaryWatcher;

Parameters

ParameterTypeDescription
clientIdstringclient id for watcher

Returns

Return type: IClientSummaryWatcher

emit

Signature

emit(event: OpActionEventName, ...args: Parameters<OpActionEventListener>): boolean;

Parameters

ParameterTypeDescription
eventOpActionEventName
argsParameters<OpActionEventListener>

Returns

Return type: boolean

removeOpListener

Signature

removeOpListener(listener: () => void): void;

Parameters

ParameterTypeDescription
listener() => void

removeWatcher

Signature

removeWatcher(clientId: string): void;

Parameters

ParameterTypeDescription
clientIdstring

setPendingAckTimerTimeoutCallback

Signature

setPendingAckTimerTimeoutCallback(maxAckWaitTime: number, timeoutCallback: () => void): void;

Parameters

ParameterTypeDescription
maxAckWaitTimenumber
timeoutCallback() => void

unsetPendingAckTimerTimeoutCallback

Signature

unsetPendingAckTimerTimeoutCallback(): void;

waitFlushed

Returns a promise that resolves once all pending summary ops have been acked or nacked.

Signature

waitFlushed(): Promise<IAckedSummary | undefined>;

Returns

Return type: Promise<IAckedSummary | undefined>

waitSummaryAck

Returns a promise that resolves once a summary is acked that has a reference sequence number greater than or equal to the passed in sequence number.

Signature

waitSummaryAck(referenceSequenceNumber: number): Promise<IAckedSummary>;

Parameters

ParameterTypeDescription
referenceSequenceNumbernumberreference sequence number to wait for

Returns

The latest acked summary

Return type: Promise<IAckedSummary>