using System;
using System.Collections.Generic;
namespace ZB.MOM.WW.CBDDC.Core;
///
/// Configures synchronization behavior for a single dataset pipeline.
///
public sealed class DatasetSyncOptions
{
///
/// Gets or sets the dataset identifier.
///
public string DatasetId { get; set; } = global::ZB.MOM.WW.CBDDC.Core.DatasetId.Primary;
///
/// Gets or sets a value indicating whether this dataset pipeline is enabled.
///
public bool Enabled { get; set; } = true;
///
/// Gets or sets the delay between sync loop cycles.
///
public TimeSpan SyncLoopDelay { get; set; } = TimeSpan.FromSeconds(2);
///
/// Gets or sets the maximum number of peers selected per cycle.
///
public int MaxPeersPerCycle { get; set; } = 3;
///
/// Gets or sets the maximum number of oplog entries pushed or pulled in one cycle.
///
public int? MaxEntriesPerCycle { get; set; }
///
/// Gets or sets an optional maintenance interval override for this dataset.
///
public TimeSpan? MaintenanceIntervalOverride { get; set; }
///
/// Gets or sets collection interests for this dataset pipeline.
///
public List InterestingCollections { get; set; } = [];
}