package com.jivesoftware.os.amza.service.storage.binary; import com.jivesoftware.os.amza.api.IoStats; import com.jivesoftware.os.amza.api.wal.RowIO; import java.io.File; import java.util.List; /** * @author jonathan.colt */ public interface RowIOProvider { RowIO open(File key, String name, boolean createIfAbsent, int updatesBetweenLeaps, int maxLeaps) throws Exception; List<String> listExisting(File key); File versionedKey(File baseKey, String latestVersion) throws Exception; File buildKey(File versionedKey, String name) throws Exception; void moveTo(File fromKey, String fromName, File toKey, String toName) throws Exception; void delete(File key, String name) throws Exception; boolean ensureKey(File key); boolean exists(File key, String name); long sizeInBytes(File key, String name); }