Commit Graph

2347 Commits

Author SHA1 Message Date
Oscar Guindzberg
64e09452f4 PeerSocketHandler: bugfix for incomplete message headers at the end of
the buffer
2015-03-27 16:44:00 -03:00
Oscar Guindzberg
e5b52fb73b PeerSocketHandler: make first message validation explicit 2015-03-27 16:43:44 -03:00
Andreas Schildbach
2837ad581a Make maven-javadoc-plugin print a lot less clutter. 2015-03-23 13:34:27 +01:00
Manfred Karrer
d13665c22f Add linebreak to comment 2015-03-23 11:15:19 +01:00
Manfred Karrer
b74d1e32a2 Add readObject method to initialise listeners object which would be null in case the confidence object gets created from Serialisation 2015-03-23 10:29:47 +01:00
Carlos Lopez-Camey
b28204b6ca Run core tests in alphabetical order 2015-03-22 10:42:37 -06:00
Carlos Lopez-Camey
4e6b544920 Create context for TestWithWallet 2015-03-22 17:07:53 +01:00
Carlos Lopez-Camey
48401a0af1 Removes deprecation warnings. In pom.xml artifactId is project.artifactId. Sha256Hash.createHash is Sha256Hash.hashTwice. LazyECPoint.getX and getY use getXCoord and getYCoord while forcing normalization. 2015-03-22 17:07:17 +01:00
Mike Hearn
275c9320ea More plugin updates and a regen of the dep verifier list. 2015-03-22 17:05:10 +01:00
Mike Hearn
114a4b4fd1 wallettemplate/pom.xml: fix a maven deprecation warning 2015-03-22 16:50:20 +01:00
Mike Hearn
c5123a320e Create context for WalletProtobufSerializerTest. 2015-03-22 16:48:57 +01:00
Mike Hearn
9c80c3b3b8 Update SureFire plugin. 2015-03-22 16:48:14 +01:00
Mike Hearn
16f953c6c1 Payment channels: log connection failures in NioClient 2015-03-22 16:27:29 +01:00
Mike Hearn
2fd565c366 Design doc for contexts 2015-03-21 17:23:21 +01:00
Mike Hearn
50e7e14763 Propagate context to the wallet autosave thread. 2015-03-21 17:23:12 +01:00
Mike Hearn
e3f70c6d4f Context: add some more TODOs.
WalletAppKit: propagate context.
2015-03-21 17:07:45 +01:00
Mike Hearn
d03b68a109 Transaction: add alternatives for getConfidence() 2015-03-21 17:07:44 +01:00
Mike Hearn
7e9f0f47a2 Context: add TODOs and some more complete class javadocs 2015-03-21 17:07:44 +01:00
Mike Hearn
1a70f05ca7 Add a notion of an event horizon to the context. This is intended to unify the various places in the library where we want to throw data away after a tx is buried so deep it will probably never be re-orged, but which presently use different constants. The wallet will use the event horizon in future as well. 2015-03-21 17:07:44 +01:00
Mike Hearn
aae60d8391 Add NetworkParameters to the Context, and verify consistency when a context is fetched.
Make Wallet accept Context as a c'tor parameter and then update unit tests (which switch params very often) to create contexts when necessary.
2015-03-21 17:07:44 +01:00
Mike Hearn
0ba5f61c88 Delete broadcastBy data once a tx is buried under >100 blocks, as a memory saving. Remove TODO as the code is fairly clear these days. 2015-03-21 17:07:44 +01:00
Mike Hearn
3a9a47b67a Don't access TransactionConfidence.broadcastBy from mixed synchronized/unsynchronized contexts. This isn't a real bug but clears an Inspector warning. 2015-03-21 17:07:44 +01:00
Mike Hearn
95dec1a910 Don't run event listener twice if a peer announces twice. 2015-03-21 17:07:44 +01:00
Mike Hearn
750f469bd3 Confidence objects now pin themselves when a listener is attached, eliminating a certain class of GC-triggered heisenbug. 2015-03-21 17:07:44 +01:00
Mike Hearn
5a824f8411 Make Context.confidenceTable private. The getter method can be overridden if a subclass wishes to modify this object. 2015-03-21 17:07:44 +01:00
Mike Hearn
04bc624a91 Rewrite TxConfidenceTable to actually track confidence objects. Make Transaction.getConfidence() fetch the object from the table via the context. This allows us to simplify large chunks of code quite considerably. Note that confidence listeners are not yet pinning the attached confidence to the root set, so the same old bugs remain if you don't pin the tx object. That will be fixed next. 2015-03-21 17:07:44 +01:00
Mike Hearn
f1d2a48a2e Fix class javadoc in Context 2015-03-21 17:07:44 +01:00
Mike Hearn
257aacf81b Make the Context object be a global object that is propagated between threads, and created on demand in the PeerGroup constructor. This isn't complete but is a sketch of where we might go. Context propagation is mostly auto-magical at the moment and will become less so with time, making it easier to use multiple instances of the library from the same thread simultaneously. At the moment you would potentially hit issues if using multiple instances from the same thread though and we should fix that before landing (aka don't break devrandom). 2015-03-21 17:07:43 +01:00
Mike Hearn
ece8d9a347 Perf hack for Android: cache the result of Transaction.getValue(). This won't help once we split payments from transactions. 2015-03-21 17:02:25 +01:00
Mike Hearn
8c414fb172 Script: don't query the clock when parsing a script. This actually shows up in Android performance profiles. 2015-03-21 17:02:25 +01:00
Mike Hearn
596d6f9d88 Wallet: optimise Bloom filter calculation some more, optimize calculateSpendCandidates, make watching wallets report the balance via getBalance instead of a different method. 2015-03-21 17:02:24 +01:00
Mike Hearn
40ee90cc0c Wallet: track UTXOs explicitly and use that to try and accelerate Bloom filtering for large wallets. 2015-03-21 17:02:24 +01:00
Mike Hearn
ed3ef7d15e Make stall threshold configurable and reset parameters to be more appropriate for most wallets. 2015-03-18 13:30:42 +01:00
Mike Hearn
f693d88620 Add JavaDocs for the new PeerGroup methods added by Oscar. 2015-03-18 12:51:29 +01:00
Oscar Guindzberg
2c5d9f73ed Allow disabling bloom filters on the peer group without using a
FullPrunedBlockChain
2015-03-18 12:51:29 +01:00
Andreas Schildbach
c6ee7449c3 Adjust stall period to 15 seconds and min speed to 5 kB/s. The previous 6 seconds caused otherwise quick peers to be disconnected too often. Also, fixed a compare bug and a comment. 2015-03-15 15:34:13 +01:00
Mike Hearn
7e12da357c Undo the memory usage optimisation for scriptPubKey parsing on Android to see if CPU time now matters more than memory (especially when combined with the wallet unspents tracking work). 2015-03-13 18:00:05 -07:00
Mike Hearn
7f14f7e491 On Android, use non-cycle detecting locks with fairness activated (experimental) 2015-03-13 17:59:24 -07:00
Andreas Schildbach
59b426afe0 Increase wallet autosave delay for wallet-tool and WalletAppKit. Since we have some recovery for out-of-sync wallets in place, we can afford to save less often. 2015-03-12 18:07:51 +01:00
Andreas Schildbach
9e4d25b2c2 Properly ignore PeerGroupTest.peerPriority(). 2015-03-12 10:58:38 +01:00
Mike Hearn
c4a49eeb85 Experiment: disconnect a peer if it falls below 10 blocks per second for at least 6 seconds. This is an attempt to speed up chain sync by load balancing off slow peers. 2015-03-11 12:59:41 -07:00
Mike Hearn
3e1f615853 Correct a comment in ChainSplitTest 2015-03-10 18:48:37 -07:00
Mike Hearn
3116b612bd Disable flaky PeerGroup.peerPriority test pending a rewrite of it to be less flaky. 2015-03-10 17:07:17 -07:00
Mike Hearn
821de89e69 TransactionOutput: take parent hash and index into account in the hashcode. Inserting TransactionOutput's with identical scripts/values but different outpoints into a hashset will work properly now. 2015-03-10 17:03:21 -07:00
Mike Hearn
c0297f2c12 TransactionOutPoint: fix hashCode to include index. 2015-03-10 16:51:00 -07:00
Mike Hearn
75b952d1c7 Sha256Hash: use Guava to pack the hash code instead of hand written code. 2015-03-05 14:06:56 -08:00
Mike Hearn
6aa4e51de6 Sha256Hash: some tweaks and renamings in the API (backwards compatible). 2015-03-05 13:59:15 -08:00
Mike Hearn
bf60a925bc Sha256Hash is immutable so byte[] should be marked as final. 2015-03-05 13:43:25 -08:00
Mike Hearn
c30df6ca25 Peer: Bug fix for the case where we don't want to download even block headers. 2015-03-05 13:43:11 -08:00
Mike Hearn
6c733b2f22 Wallet: suppress an invalid static analysis warning. 2015-03-03 11:02:44 -08:00