/*! * Copyright (c) Microsoft Corporation and contributors. All rights reserved. * Licensed under the MIT License. */ import type { IGarbageCollectionData } from "@fluidframework/runtime-definitions/internal"; /** * The garbage collection data of each node in the reference graph. Each node's GC data is written in the summary * in this format. */ export interface IGarbageCollectionNodeData { /** * The set of routes to other nodes in the graph. */ outboundRoutes: string[]; /** * If the node is unreferenced, the timestamp of when it was marked unreferenced. */ unreferencedTimestampMs?: number; } /** * The garbage collection state of the reference graph. It contains a list of all the nodes in the graph and their * GC data. The GC data is written in the summary in this format. */ export interface IGarbageCollectionState { gcNodes: { [id: string]: IGarbageCollectionNodeData; }; } /** * The GC data that is read from a snapshot. It contains the Garbage CollectionState state and tombstone state. */ export interface IGarbageCollectionSnapshotData { /** * The garbage collection state. It is a list of nodes in the container and their GC data. */ gcState: IGarbageCollectionState | undefined; /** * A list of nodes that have been tombstoned by GC. */ tombstones: string[] | undefined; /** * A list of nodes that have been deleted by GC. */ deletedNodes: string[] | undefined; } /** * @deprecated IGarbageCollectionState is written in the root of the summary now. * Legacy GC details from when the GC details were written at the data store's summary tree. */ export interface IGarbageCollectionSummaryDetailsLegacy { /** * A list of routes to Fluid objects that are used in this node. */ usedRoutes?: string[]; /** * The GC data of this node. */ gcData?: IGarbageCollectionData; /** * If this node is unreferenced, the time when it was marked as such. */ unrefTimestamp?: number; } //# sourceMappingURL=gcSummaryDefinitions.d.ts.map