/// <inheritdoc /> public override void WriteInfo(StorageInfo info, bool stableChunkChanged) { if (stableChunkChanged) { info.RefreshStableChunks(); } LocalSyncData.WriteInfo(Id, info); }
/// <inheritdoc /> public override bool TryEnterLock() { var l = LocalSyncData.LockObject(Id); var lockTaken = false; Monitor.TryEnter(l, 0, ref lockTaken); return(lockTaken); }
/// <inheritdoc /> protected override void Dispose(bool disposing) { LocalSyncData.ReleaseData(Id); }
/// <inheritdoc /> public override void WaitForReadFinish(CancellationToken token) { LocalSyncData.Signal(Id).Wait(token); }
/// <inheritdoc /> public override void SignalWaitRequired() { LocalSyncData.Signal(Id).Reset(); }
/// <inheritdoc /> public override void SignalReadFinish() { LocalSyncData.Signal(Id).Set(); }
/// <inheritdoc /> public override void SetId(Guid id) { base.SetId(id); LocalSyncData.AcquireData(Id); }
/// <inheritdoc /> public override StorageInfo ReadInfo() { return(LocalSyncData.ReadInfo(Id)); }
/// <inheritdoc /> public override void ReleaseLock() { var l = LocalSyncData.LockObject(Id); Monitor.Exit(l); }