Package org.bitcoinj.wallet
Class WalletFiles
java.lang.Object
org.bitcoinj.wallet.WalletFiles
A class that handles atomic and optionally delayed writing of the wallet file to disk. In future: backups too.
It can be useful to delay writing of a wallet file to disk on slow devices where disk and serialization overhead
can come to dominate the chain processing speed, i.e. on Android phones. By coalescing writes and doing serialization
and disk IO on a background thread performance can be improved.
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic interface
Implementors can do pre/post treatment of the wallet file. -
Constructor Summary
ConstructorDescriptionWalletFiles
(Wallet wallet, File file, long delay, TimeUnit delayTimeUnit) Initialize atomic and optionally delayed writing of the wallet file to disk. -
Method Summary
Modifier and TypeMethodDescriptionGet theWallet
thisWalletFiles
is managing.void
Queues up a save in the background.void
saveNow()
Actually write the wallet file to disk, using an atomic rename when possible.void
setListener
(WalletFiles.Listener listener) The given listener will be called on the autosave thread before and after the wallet is saved to disk.void
Shut down auto-saving.
-
Constructor Details
-
WalletFiles
Initialize atomic and optionally delayed writing of the wallet file to disk. Note the initial wallet state isn't saved automatically. TheWallet
callssaveNow()
orsaveLater()
as wallet state changes, depending on the urgency of the changes.
-
-
Method Details
-
getWallet
Get theWallet
thisWalletFiles
is managing. -
setListener
The given listener will be called on the autosave thread before and after the wallet is saved to disk. -
saveNow
Actually write the wallet file to disk, using an atomic rename when possible. Runs on the current thread.- Throws:
IOException
-
saveLater
public void saveLater()Queues up a save in the background. Useful for not very important wallet changes. -
shutdownAndWait
public void shutdownAndWait()Shut down auto-saving.
-