@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(); } }
@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; }
@Override public boolean checkPageFileExists(final int pageNumber) { String fileName = createFileName(pageNumber); SequentialFile file = fileFactory.createSequentialFile(fileName); return file.exists(); }