using System;
namespace Svrnty.CQRS.Sagas.Configuration;
///
/// Configuration options for saga orchestration.
///
public class SagaOptions
{
///
/// Default timeout for saga steps (default: 30 seconds).
///
public TimeSpan DefaultStepTimeout { get; set; } = TimeSpan.FromSeconds(30);
///
/// Default number of retries for failed steps (default: 3).
///
public int DefaultMaxRetries { get; set; } = 3;
///
/// Default delay between retries (default: 1 second).
///
public TimeSpan DefaultRetryDelay { get; set; } = TimeSpan.FromSeconds(1);
///
/// Whether to automatically compensate on failure (default: true).
///
public bool AutoCompensateOnFailure { get; set; } = true;
///
/// Interval for checking pending/stalled sagas (default: 1 minute).
///
public TimeSpan StalledSagaCheckInterval { get; set; } = TimeSpan.FromMinutes(1);
///
/// Time after which a saga step is considered stalled (default: 5 minutes).
///
public TimeSpan StepStalledTimeout { get; set; } = TimeSpan.FromMinutes(5);
}