Commit Graph

3027 Commits

Author SHA1 Message Date
Sean Gilligan
ae71aeb6ea DownloadProgressTracker: use CompletableFuture internally 2022-03-30 14:18:23 +02:00
Sean Gilligan
caa057e409 PaymentSessionTest: make two fields final 2022-03-30 13:30:18 +02:00
Sean Gilligan
9156dbef36 PaymentSessionTest: rename field coin to amount 2022-03-30 13:24:39 +02:00
Sean Gilligan
061dfd45a1 FutureUtils: move ThrowingSupplier from ListenableCompletableFuture to here 2022-03-30 12:15:38 +02:00
Sean Gilligan
d0db98a462 ListenableCompletableFuture: remove supplyAsync() 2022-03-30 12:09:21 +02:00
Sean Gilligan
63d9b07c80 PaymentSession: use CompletableFuture internally 2022-03-30 12:05:53 +02:00
Andreas Schildbach
037ade176f BtcFormat: fix several string comparisons 2022-03-26 12:08:44 +01:00
Andreas Schildbach
01454d4f94 WalletTest: change an assert in basicSpendingCommon()
The previous assertNotEquals() had mismatched types, so it always succeeded.
2022-03-26 12:07:06 +01:00
Andreas Schildbach
7f38154244 apply "make inner classes static" refactoring 2022-03-26 11:32:49 +01:00
Sean Gilligan
ea12fe1a0d PaymentSessionTest.MockPaymentSession: don’t return a null Future
Use `ListenableCompletableFuture(null)` instead.
2022-03-26 10:59:00 +01:00
Sean Gilligan
091fdd9791 PaymentSession: proper future-style error handling for sendPayment()
This is a breaking change, but the existing code is not using futures properly and
fixing this is worth the breakage.

* Instead of returning `null`, return a failed future
* Instead of throwing errors, return failed futures
2022-03-25 19:33:08 +01:00
Sean Gilligan
8f3ac79030 Wallet: remove deprecated methods
Remove all deprecated methods except one deprecated constructor that is
used in a unit test and marked as @VisibleForTesting.
2022-03-25 11:11:52 +01:00
Andreas Schildbach
4e8a19997d KeyChainGroup: remove upgrade path from basic to deterministic 2022-03-24 13:13:08 +01:00
Sean Gilligan
20aee84773 PaymentSession: properly document return value of getPayment() 2022-03-23 00:14:52 +01:00
Sean Gilligan
26da62e5c6 Peer.GetDataRequest: use CompletableFuture internally 2022-03-22 17:42:13 +01:00
Sean Gilligan
39c3b3f2f5 Wallet: use CompletableFuture internally 2022-03-22 17:38:31 +01:00
Andreas Schildbach
94451e6984 PeerGroupTest: migrate from ListenableFuture to CompletableFuture 2022-03-22 16:01:56 +01:00
Sean Gilligan
48907ed532 PeerTest: migrate from ListenableFuture to CompletableFuture 2022-03-22 15:58:38 +01:00
Sean Gilligan
79b75663cc Peer: migrate to CompletableFuture 2022-03-22 13:14:21 +01:00
Sean Gilligan
2d60caeadf bitcoinj/net: migrate from ListenableFuture to CompletableFuture 2022-03-22 13:07:58 +01:00
Sean Gilligan
d212eb7185 PeerTest, PeerGroupTest: migrate from SettableFuture to CompletableFuture 2022-03-21 18:28:28 +01:00
Sean Gilligan
c236ecb6ec Peer: convert downloadDependencies() to CompletableFuture 2022-03-21 13:31:50 +01:00
Sean Gilligan
f75d45bcde Peer: make downloadDependenciesInternal() "functional"
* Returns async Future<List<Transaction>> result
* Makes all parameters read-only
* Simplifies the non-recursive downloadDependencies()
* Uses streams to make internal lists, etc. more immutable
* Improves JavaDoc comments
2022-03-19 16:25:10 +01:00
Sean Gilligan
8347ef8fb6 Peer: reorder downloadDependenciesInternal() parameters so the transaction is first
This more closely matches downloadDependencies and makes it easier
to spot which parameters were added to the “internal” version.
2022-03-19 16:05:43 +01:00
Sean Gilligan
24011abd64 Peer: eliminate marker in downloadDependenciesInternal()
Eliminate `marker` object and simply return `null` (`Void`).
2022-03-19 15:56:48 +01:00
Andreas Schildbach
b7bd0e05c3 BasicKeyChainTest: fix spontaneous failure of bloom() because of false positive 2022-03-15 17:00:30 +01:00
Andreas Schildbach
cbfbdafaff Threading: optimize imports 2022-03-14 16:46:14 +01:00
Sean Gilligan
4bbdd9da55 Threading: make tasks queue final 2022-03-14 16:45:25 +01:00
Sean Gilligan
e07efde0c0 Threading: replace lambda with method reference 2022-03-14 16:42:54 +01:00
Sean Gilligan
7b935a0152 DeterministicKeyChainTest: use JDK8 in readResourceFile()
This replaces “Beta” classes in Guava with JDK 8 classes/methods.
2022-03-09 19:26:14 +01:00
Sean Gilligan
b54205a235 Peer: Simplify needToRequest set of hashes
* Make “more immutable” by using stream/toSet
* Eliminate unnecessary use of CopyOnWriteArraySet
2022-03-09 10:48:17 +01:00
Andreas Schildbach
dd855f0bcc Wallet: organize imports 2022-03-08 10:44:06 +01:00
Sean Gilligan
0b183d9040 ECKeyTest: migrate from ListenableFuture to CompletableFuture 2022-03-08 10:39:09 +01:00
Sean Gilligan
79c961a25b PaymentSession: migrate from ListenableFuture to ListenableCompletableFuture 2022-03-07 23:22:06 +01:00
Sean Gilligan
7befc583bc WalletTest: migrate from ListenableFuture to CompletableFuture 2022-03-07 22:36:31 +01:00
Sean Gilligan
658514986f TestWithNetworkConnections, InboundMessageQueuer: migrate from SettableFuture to CompletableFuture 2022-03-07 22:31:13 +01:00
Sean Gilligan
da9c12312f BitcoindComparisonTool: migrate from SettableFuture to CompletableFuture 2022-03-07 22:24:33 +01:00
Sean Gilligan
8ec6c05c6b Threading: replace CountdownLatch with CompletableFuture 2022-03-07 13:59:57 +01:00
Sean Gilligan
11d676d103 DeterministicKeyChainTest: refactor checkSerialization
Move file/string reading/serializing logic to dedicated methods.
2022-03-07 12:42:08 +01:00
Andreas Schildbach
7aa54583b7 build.gradle: update protobuf-javalite to 3.19.4 2022-03-07 11:33:40 +01:00
Sean Gilligan
5f69f769d6 DownloadProgressTracker: convert to CompletableFuture 2022-03-04 22:15:09 +01:00
Sean Gilligan
eb56d71f8f TransactionConfidence: Convert to CompletableFuture 2022-03-04 13:04:41 -08:00
Andreas Schildbach
52babf52b0 LevelDBBlockStore, LevelDBFullPrunedBlockStore: remove LevelDB-based block stores 2022-03-04 18:27:40 +01:00
Sean Gilligan
96db76da83 PeerGroup: replace SettableFuture with CompletableFuture
There are several places where futures are created with SettableFuture.create().
This updates those to use new `ListenableCompletableFuture()` instead.
2022-02-24 20:56:59 +01:00
Sean Gilligan
9db8b49c50 Convert TransactionBroadcast, Wallet.doMaintenance() to CompletableFuture
* Use ListenableCompletableFuture on all public APIs
* Use CompletableFuture internally, in example, and in tests
* Add new FutureUtils class
* Add 2 new static methods to ListenableCompletableFuture
2022-02-24 20:48:54 +01:00
Sean Gilligan
7caa1aee9a TransactionTest: Use CompletableFuture in testHashForSignatureThreadSafety() 2022-02-24 19:39:16 +01:00
Sean Gilligan
d3e7f854b9 PeerGroup: migrate start/stop to CompletableFuture
This will need to be rebased, paying special attention to merging
ListenableCompletableFuture.of()
2022-02-24 15:58:00 +01:00
Sean Gilligan
974086636c Wallet: Use CompletableFuture for BalanceFutureRequest
Also simplify checkBalanceFuturesLocked()
2022-02-23 11:29:27 -08:00
Andreas Schildbach
f411dcd634 remove redundant private modifier from various enum constructors 2022-02-23 16:00:22 +01:00
Andreas Schildbach
011d42c475 SPVBlockStore: use a StandardCharsets constant 2022-02-23 15:56:42 +01:00