23 lines
959 B
C#
23 lines
959 B
C#
namespace ZB.MOM.WW.ScadaBridge.Commons.Interfaces.Services;
|
|
|
|
/// <summary>Executes one database-only configuration command and its audit rows atomically.</summary>
|
|
public interface IConfigurationCommandTransaction
|
|
{
|
|
/// <summary>Each database retry supplies a fresh scope; the operation must not perform external side effects.</summary>
|
|
Task<object?> ExecuteAsync(Func<IServiceProvider, Task<object?>> operation);
|
|
}
|
|
|
|
/// <summary>Defers local cache/channel maintenance until a configuration commit succeeds.</summary>
|
|
public interface IConfigurationCommitActions
|
|
{
|
|
/// <summary>Queues an idempotent local maintenance action.</summary>
|
|
void Add(Func<Task> action);
|
|
}
|
|
|
|
/// <summary>Evicts a circuit's tracked read entities after a separately scoped configuration command.</summary>
|
|
public interface IConfigurationReadSession
|
|
{
|
|
/// <summary>Clears stale tracked read state; form drafts must be held separately.</summary>
|
|
void Reset();
|
|
}
|