@Override public Deleter getDeleter(DiskPartitionAssignment assignment, int partitionNumber) throws IOException { String localDir = getTargetDirectory(assignment, partitionNumber); return new CueballDeleter(localDir); }
@Override public Set<String> getFiles(DiskPartitionAssignment assignment, int domainVersionNumber, int partitionNumber) throws IOException { Set<String> result = new HashSet<String>(); result.add(getTargetDirectory(assignment, partitionNumber) + "/" + getName(domainVersionNumber, true)); return result; }
@Override public Reader getReader(ReaderConfigurator configurator, int partitionNumber, DiskPartitionAssignment assignment) throws IOException { return new CueballReader( getTargetDirectory(assignment, partitionNumber), keyHashSize, hasher, valueSize, hashIndexBits, getCompressionCodec(), configurator.getCacheNumBytesCapacity(), (int)configurator.getCacheNumItemsCapacity()); }
@Override public PartitionUpdater getUpdater(DiskPartitionAssignment assignment, int partitionNumber) throws IOException { String localDir = getTargetDirectory(assignment, partitionNumber); return new CueballPartitionUpdater(domain, getPartitionRemoteFileOps(RemoteLocation.PARTITION_SERVER, partitionNumber), new CueballMerger(), keyHashSize, valueSize, hashIndexBits, getCompressionCodec(), localDir); }