コード例 #1
0
 public bool Open()
 {
     lock (this) {
         if (lockCount == 0)
         {
             ++lockCount;
             return(blockStore.Open());
         }
         ++lockCount;
         return(false);
     }
 }
コード例 #2
0
 public void ChangeStore(IBlockStore newStore)
 {
     lock (this) {
         if (lockCount > 0)
         {
             blockStore.Close();
             newStore.Open();
         }
         if (newStore is FileBlockStore)
         {
             isCompressed = false;
         }
         else if (newStore is CompressedBlockStore)
         {
             isCompressed = true;
         }
         else
         {
             throw new ApplicationException("Unknown block_store type");
         }
         blockStore = newStore;
     }
 }