Beispiel #1
0
 /// <inheritdoc />
 public override void WriteInfo(StorageInfo info, bool stableChunkChanged)
 {
     if (stableChunkChanged)
     {
         info.RefreshStableChunks();
     }
     LocalSyncData.WriteInfo(Id, info);
 }
Beispiel #2
0
        /// <inheritdoc />
        public override bool TryEnterLock()
        {
            var l         = LocalSyncData.LockObject(Id);
            var lockTaken = false;

            Monitor.TryEnter(l, 0, ref lockTaken);

            return(lockTaken);
        }
Beispiel #3
0
 /// <inheritdoc />
 protected override void Dispose(bool disposing)
 {
     LocalSyncData.ReleaseData(Id);
 }
Beispiel #4
0
 /// <inheritdoc />
 public override void WaitForReadFinish(CancellationToken token)
 {
     LocalSyncData.Signal(Id).Wait(token);
 }
Beispiel #5
0
 /// <inheritdoc />
 public override void SignalWaitRequired()
 {
     LocalSyncData.Signal(Id).Reset();
 }
Beispiel #6
0
 /// <inheritdoc />
 public override void SignalReadFinish()
 {
     LocalSyncData.Signal(Id).Set();
 }
Beispiel #7
0
        /// <inheritdoc />
        public override void SetId(Guid id)
        {
            base.SetId(id);

            LocalSyncData.AcquireData(Id);
        }
Beispiel #8
0
 /// <inheritdoc />
 public override StorageInfo ReadInfo()
 {
     return(LocalSyncData.ReadInfo(Id));
 }
Beispiel #9
0
        /// <inheritdoc />
        public override void ReleaseLock()
        {
            var l = LocalSyncData.LockObject(Id);

            Monitor.Exit(l);
        }