3
0
mirror of https://github.com/Qortal/altcoinj.git synced 2025-02-01 07:42:17 +00:00
Commit Graph

1001 Commits

Author SHA1 Message Date
Mike Hearn
0534231de9 Run wallet event listeners unlocked. Resolves another inversion.
Update issue 223.
2013-03-07 17:08:15 +01:00
Mike Hearn
0c30050a97 Delete the cycle test, we can trust that Guava works. 2013-03-07 17:08:15 +01:00
Mike Hearn
f0aff6484e Narrow the locking in Peer.processInv() to avoid invoking memoryPool.seen() with the Peer lock held.
This resolves an inversion that can occur if a transaction confidence listener is run due to being marked as broadcast.
Update issue 233.
2013-03-07 17:08:07 +01:00
Mike Hearn
2fb3667c42 Add a 1-liner Locks.checkNotLocked method to make it clearer than writing checkState(!lock.isLocked()); 2013-03-07 16:18:53 +01:00
Mike Hearn
0221b71418 Convert block chain to use a cycle detecting lock. 2013-03-07 15:57:50 +01:00
Mike Hearn
9d87997736 Some more tweaks to the Locks class. 2013-03-07 15:36:07 +01:00
Mike Hearn
9de6dca8c1 Move cycle detecting lock creation out into a new Locks class, rather than stuff it into Utils.
Convert PeerGroup and Peer to also use cycle detecting locks, and add a unit test to Wallet to check that cycle detection works.
 Change default policy to warn. Now warnings are being triggered, the followup commits will fix them.
2013-03-07 13:58:04 +01:00
Mike Hearn
94670f3df0 Make Peer.memoryPool final and introduce a new c'tor for it. 2013-03-06 16:08:52 +01:00
Mike Hearn
83308c6ee1 Clear another FindBugs warning in SPVBlockStore.
The analysis doesn't seem to be good enough to detect that some of these cases are safe.
2013-03-06 15:52:39 +01:00
Mike Hearn
b780c6f191 Silence a FindBugs warning in Utils.
This isn't a real bug as unit tests aren't multi-threaded, but the analysis can't know that.
2013-03-06 15:51:45 +01:00
Mike Hearn
5a16a3d3fe Silence a couple of FindBugs warnings. 2013-03-06 15:51:17 +01:00
Mike Hearn
1ba2c9d5de Use a cycle detecting lock in Wallet and convert its event listeners array to a COW list.
This does not currently detect or break any cycles, even though some are known.
2013-03-06 15:10:52 +01:00
Mike Hearn
23aa1a9105 Tweak DefaultCoinSelector.isSelectable to take a Transaction as a parameter.
Resolves issue 322.
2013-03-06 14:47:30 +01:00
Mike Hearn
f7fa0cda72 Make the use of cycle detecting locks optional at compile time. 2013-03-06 13:51:27 +01:00
Mike Hearn
97bce595c3 ToyWallet -> SPVBlockStore. 2013-03-06 13:47:51 +01:00
Mike Hearn
de653cc42d Mark BoundedOverheadBlockStore as deprecated. 2013-03-06 13:47:09 +01:00
Mike Hearn
53fcef761e BitCoin -> Bitcoin 2013-03-06 13:12:27 +01:00
Mike Hearn
e57068451d Split some selection logic into a static method of DefaultCoinSelector. Resolves issue 322. 2013-03-06 12:13:34 +01:00
Mike Hearn
27a49655fb Update language level in the POM.
Updates issue 334.
2013-03-06 11:59:53 +01:00
Mike Hearn
8355a03439 Require last checkpoint to be at least 1 month old. 2013-03-05 14:48:28 +01:00
Mike Hearn
96cd35f139 Add a convenience method to CheckpointManager and example of how to use in PingService. 2013-03-05 14:48:28 +01:00
Mike Hearn
7f17766b47 Minor javadoc improvement. 2013-03-05 14:48:28 +01:00
Mike Hearn
0419887407 Add a CheckpointManager class and a BuildCheckpoints tool that saves a set of checkpoints to disk. By default there is one every difficulty transition period (two weeks), which means a relatively small amount of RAM needed to hold them all. There are only 111 checkpoints so far and old ones can be thinned out if needed. 2013-03-05 14:48:28 +01:00
Mike Hearn
b4c835c0cf Quieten a noisy debug line when downloading the block chain. 2013-03-05 14:48:28 +01:00
Mike Hearn
68907880cb Refactor compact serialization out of SPVBlockStore and into StoredBlock. 2013-03-05 14:48:28 +01:00
Mike Hearn
a61cd9eb19 Switch WalletTool to SPVBlockStore. 2013-03-05 14:48:28 +01:00
Mike Hearn
18a14c6668 Indent fix 2013-03-05 14:48:28 +01:00
Mike Hearn
61410adbaa Fix BOBS bug introduced by my optimizations. 2013-03-05 14:48:28 +01:00
Mike Hearn
fb56237de8 Fix a couple of unit tests and resolve Matts comment. 2013-03-05 14:48:28 +01:00
Mike Hearn
50323391e5 Misc optimizations, the profiles look much better now. 2013-03-05 14:48:28 +01:00
Mike Hearn
121695fa13 Use a shutdown hook to make sure everything is wrapped up nice and neat. It's not actually required in this example, but it's good practice. 2013-03-05 14:48:28 +01:00
Mike Hearn
20fdc72ab2 Make PingService use SPVBlockStore. 2013-03-05 14:48:28 +01:00
Mike Hearn
54354c16b6 Add SPVBlockStore, a new higher performance replacement for BOBS that uses a fixed-size mmapped ring buffer, with caching on top to cover up for slow Dalvik mapped byte buffer operations. 2013-03-05 14:48:28 +01:00
Mike Hearn
9d6a3cc1e9 Upgrade Guava and make a simple accessor for building cycle-detecting locks. 2013-03-05 14:48:28 +01:00
Mike Hearn
d309863560 Save the last seen chain height as well as hash in the wallet. 2013-03-04 18:52:09 +01:00
Mike Hearn
d626b19a55 Change default ping time to 2sec 2013-03-04 18:44:36 +01:00
Mike Hearn
0608b3a383 Fix a bug that could cause pinging a remote node as fast as it will respond. 2013-03-04 18:28:26 +01:00
Mike Hearn
9a0950e578 Check for null InetAddress in PeerAddress c'tor. 2013-03-04 15:55:44 +01:00
Mike Hearn
1175fe9588 Change the parameter of BlockChainListener.notifyNewBestBlock to be StoredBlock instead of Block, so listeners can get height/work information as well. The Wallet doesn't need this but other listeners may do. 2013-03-04 15:55:39 +01:00
Mike Hearn
00071d3cfc Add a couple of convenience features: peerGroup.addAddress(InetAddress) and an AbstractBlockChainListener class. 2013-03-04 15:55:35 +01:00
Mike Hearn
43b1ae1a29 Remove redundant and buggy expression in the check for whether to send a bloom filter. 2013-03-02 11:52:46 +01:00
Mike Hearn
6799dcc348 Refuse to create transactions larger than the max standard size. 2013-03-01 19:48:45 +01:00
Mike Hearn
1c8ee2b116 Upgrade to the latest Netty. Resolves issue 321. 2013-03-01 16:44:27 +01:00
Mike Hearn
018dcd345c Fix a couple of ordering issues with the unit tests. 2013-03-01 16:23:07 +01:00
Mike Hearn
34f3d8b088 Minor comment fix in Block.java 2013-03-01 14:30:28 +01:00
Mike Hearn
301299cff9 Don't print difficulty transition times when it's less than 50 msec. 2013-03-01 14:30:23 +01:00
Mike Hearn
2e895e4e09 Optimization when downloading blocks (should be rare these days), don't format log messages that requires an expensive hash->string conversion if the debug channel is not enabled. 2013-03-01 14:30:17 +01:00
Mike Hearn
049baad8c6 Avoid trying to resolve dependencies of newly solved orphan blocks when we are still downloading headers. 2013-03-01 14:30:11 +01:00
Mike Hearn
a837bd2885 Add a logo. 2013-03-01 13:59:48 +01:00
Mike Hearn
fbc14c1040 Make NetworkParameters singleton and (mostly) immutable.
Resolves issue 51.
2013-02-28 19:39:05 +01:00