mirror of
https://github.com/Qortal/altcoinj.git
synced 2025-02-07 06:44:16 +00:00
Make a couple of inner classes static for efficiency, clears some FindBugs warnings.
Throw an exception if file delete in the block store failed, clears another warning.
This commit is contained in:
parent
48fce919aa
commit
ddb1679a78
@ -258,7 +258,7 @@ public class Peer {
|
|||||||
|
|
||||||
// A GetDataFuture wraps the result of a getBlock or (in future) getTransaction so the owner of the object can
|
// A GetDataFuture wraps the result of a getBlock or (in future) getTransaction so the owner of the object can
|
||||||
// decide whether to wait forever, wait for a short while or check later after doing other work.
|
// decide whether to wait forever, wait for a short while or check later after doing other work.
|
||||||
private class GetDataFuture<T extends Message> implements Future<T> {
|
private static class GetDataFuture<T extends Message> implements Future<T> {
|
||||||
private boolean cancelled;
|
private boolean cancelled;
|
||||||
private final InventoryItem item;
|
private final InventoryItem item;
|
||||||
private final CountDownLatch latch;
|
private final CountDownLatch latch;
|
||||||
|
@ -73,7 +73,7 @@ public class BoundedOverheadBlockStore implements BlockStore {
|
|||||||
private NetworkParameters params;
|
private NetworkParameters params;
|
||||||
private FileChannel channel;
|
private FileChannel channel;
|
||||||
|
|
||||||
private class Record {
|
private static class Record {
|
||||||
// A BigInteger representing the total amount of work done so far on this chain. As of May 2011 it takes 8
|
// A BigInteger representing the total amount of work done so far on this chain. As of May 2011 it takes 8
|
||||||
// bytes to represent this field, so 16 bytes should be plenty for a long time.
|
// bytes to represent this field, so 16 bytes should be plenty for a long time.
|
||||||
private static final int CHAIN_WORK_BYTES = 16;
|
private static final int CHAIN_WORK_BYTES = 16;
|
||||||
@ -154,7 +154,10 @@ public class BoundedOverheadBlockStore implements BlockStore {
|
|||||||
// Create a new block store if the file wasn't found or anything went wrong whilst reading.
|
// Create a new block store if the file wasn't found or anything went wrong whilst reading.
|
||||||
blockCache.clear();
|
blockCache.clear();
|
||||||
try {
|
try {
|
||||||
file.delete();
|
if (file.exists()) {
|
||||||
|
if (!file.delete())
|
||||||
|
throw new BlockStoreException("Could not delete old store in order to recreate it");
|
||||||
|
}
|
||||||
this.file = new RandomAccessFile(file, "rw"); // Create fresh.
|
this.file = new RandomAccessFile(file, "rw"); // Create fresh.
|
||||||
this.channel = this.file.getChannel();
|
this.channel = this.file.getChannel();
|
||||||
this.file.write(FILE_FORMAT_VERSION);
|
this.file.write(FILE_FORMAT_VERSION);
|
||||||
@ -191,7 +194,8 @@ public class BoundedOverheadBlockStore implements BlockStore {
|
|||||||
}
|
}
|
||||||
// Chain head pointer is the first thing in the file.
|
// Chain head pointer is the first thing in the file.
|
||||||
byte[] chainHeadHash = new byte[32];
|
byte[] chainHeadHash = new byte[32];
|
||||||
this.file.read(chainHeadHash);
|
if (this.file.read(chainHeadHash) < chainHeadHash.length)
|
||||||
|
throw new BlockStoreException("Truncated store: could not read chain head hash.");
|
||||||
this.chainHead = new Sha256Hash(chainHeadHash);
|
this.chainHead = new Sha256Hash(chainHeadHash);
|
||||||
log.info("Read chain head from disk: {}", this.chainHead);
|
log.info("Read chain head from disk: {}", this.chainHead);
|
||||||
channel.position(channel.size() - Record.SIZE);
|
channel.position(channel.size() - Record.SIZE);
|
||||||
|
Loading…
Reference in New Issue
Block a user