public class FileStore extends Object
Modifier and Type | Field and Description |
---|---|
protected FileChannel |
encryptedFile
The encrypted file (if encryption is used).
|
protected FileChannel |
file
The file.
|
protected FileLock |
fileLock
The file lock.
|
protected String |
fileName
The file name.
|
protected long |
fileSize
The file size (cached).
|
protected FreeSpaceBitSet |
freeSpace
The free spaces between the chunks.
|
protected long |
readBytes
The number of read bytes.
|
protected long |
readCount
The number of read operations.
|
protected boolean |
readOnly
Whether this store is read-only.
|
protected long |
writeBytes
The number of written bytes.
|
protected long |
writeCount
The number of write operations.
|
Constructor and Description |
---|
FileStore() |
Modifier and Type | Method and Description |
---|---|
long |
allocate(int length)
Allocate a number of blocks and mark them as used.
|
void |
clear()
Mark the file as empty.
|
void |
close()
Close this store.
|
void |
free(long pos,
int length)
Mark the space as free.
|
int |
getDefaultRetentionTime()
Get the default retention time for this store in milliseconds.
|
FileChannel |
getEncryptedFile()
Get the encrypted file instance, if encryption is used.
|
FileChannel |
getFile()
Get the file instance in use.
|
String |
getFileName()
Get the file name.
|
int |
getFillRate() |
long |
getReadBytes()
Get the number of read bytes since this store was opened.
|
long |
getReadCount()
Get the number of read operations since this store was opened.
|
long |
getWriteBytes()
Get the number of written bytes since this store was opened.
|
long |
getWriteCount()
Get the number of write operations since this store was opened.
|
boolean |
isReadOnly() |
void |
markUsed(long pos,
int length)
Mark the space as in use.
|
void |
open(String fileName,
boolean readOnly,
char[] encryptionKey)
Try to open the file.
|
ByteBuffer |
readFully(long pos,
int len)
Read from the file.
|
long |
size()
Get the file size.
|
void |
sync()
Flush all changes.
|
String |
toString() |
void |
truncate(long size)
Truncate the file.
|
void |
writeFully(long pos,
ByteBuffer src)
Write to the file.
|
protected long readCount
protected long readBytes
protected long writeCount
protected long writeBytes
protected final FreeSpaceBitSet freeSpace
protected String fileName
protected boolean readOnly
protected long fileSize
protected FileChannel file
protected FileChannel encryptedFile
protected FileLock fileLock
public ByteBuffer readFully(long pos, int len)
pos
- the write positionlen
- the number of bytes to readpublic void writeFully(long pos, ByteBuffer src)
pos
- the write positionsrc
- the source bufferpublic void open(String fileName, boolean readOnly, char[] encryptionKey)
fileName
- the file namereadOnly
- whether the file should only be opened in read-only mode,
even if the file is writableencryptionKey
- the encryption key, or null if encryption is not
usedpublic void close()
public void sync()
public long size()
public void truncate(long size)
size
- the new file sizepublic FileChannel getFile()
The application may read from the file (for example for online backup), but not write to it or truncate it.
public FileChannel getEncryptedFile()
The application may read from the file (for example for online backup), but not write to it or truncate it.
public long getWriteCount()
public long getWriteBytes()
public long getReadCount()
public long getReadBytes()
public boolean isReadOnly()
public int getDefaultRetentionTime()
public void markUsed(long pos, int length)
pos
- the position in byteslength
- the number of bytespublic long allocate(int length)
length
- the number of bytes to allocatepublic void free(long pos, int length)
pos
- the position in byteslength
- the number of bytespublic int getFillRate()
public void clear()
public String getFileName()
Copyright © 2017 JBoss by Red Hat. All rights reserved.