예제 #1
0
 @Override
 public void sendPages(ReplicationManager replicator, Collection<Integer> pageIds)
     throws Exception {
   lock.writeLock().lock();
   try {
     for (Integer id : pageIds) {
       SequentialFile sFile = fileFactory.createSequentialFile(createFileName(id));
       if (!sFile.exists()) {
         continue;
       }
       replicator.syncPages(sFile, id, getAddress());
     }
   } finally {
     lock.writeLock().unlock();
   }
 }
예제 #2
0
  @Override
  public Page createPage(final int pageNumber) throws Exception {
    String fileName = createFileName(pageNumber);

    if (fileFactory == null) {
      fileFactory = storeFactory.newFileFactory(getStoreName());
    }

    SequentialFile file = fileFactory.createSequentialFile(fileName);

    Page page = new Page(storeName, storageManager, fileFactory, file, pageNumber);

    // To create the file
    file.open();

    file.position(0);

    file.close();

    return page;
  }
예제 #3
0
 @Override
 public boolean checkPageFileExists(final int pageNumber) {
   String fileName = createFileName(pageNumber);
   SequentialFile file = fileFactory.createSequentialFile(fileName);
   return file.exists();
 }