package com.easyagents.federation.sql.runtime;

import com.easyagents.federation.sql.source.SourceId;
import java.util.Set;

/**
 * 原子读取的数据源注册表代次与标识快照。
 *
 * @param generation 注册表代次
 * @param sourceIds 当前已知数据源标识
 */
record SourceCatalogSnapshot(long generation, Set<SourceId> sourceIds) {

    /**
     * 防御性复制数据源集合。
     */
    SourceCatalogSnapshot {
        sourceIds = Set.copyOf(sourceIds);
    }
}
