namespace DysonNetwork.Shared.Cache;
///
/// Represents a distributed lock that can be used to synchronize access across multiple processes
///
public interface IDistributedLock : IAsyncDisposable
{
///
/// The resource identifier this lock is protecting
///
string Resource { get; }
///
/// Unique identifier for this lock instance
///
string LockId { get; }
///
/// Releases the lock immediately
///
ValueTask ReleaseAsync();
}