Resolve all high-severity architecture review findings
This commit is contained in:
+22
@@ -0,0 +1,22 @@
|
||||
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();
|
||||
}
|
||||
Reference in New Issue
Block a user