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