Package org.bitcoinj.store
Class MemoryBlockStore
- java.lang.Object
-
- org.bitcoinj.store.MemoryBlockStore
-
- All Implemented Interfaces:
BlockStore
public class MemoryBlockStore extends java.lang.Object implements BlockStore
KeepsStoredBlocks in memory. Used primarily for unit testing.
-
-
Constructor Summary
Constructors Constructor Description MemoryBlockStore(NetworkParameters params)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()Closes the store.StoredBlockget(Sha256Hash hash)Returns the StoredBlock given a hash.StoredBlockgetChainHead()Returns theStoredBlockthat represents the top of the chain of greatest total work.NetworkParametersgetParams()Get theNetworkParametersof this store.voidput(StoredBlock block)Saves the given block header+extra data.voidsetChainHead(StoredBlock chainHead)Sets theStoredBlockthat represents the top of the chain of greatest total work.
-
-
-
Constructor Detail
-
MemoryBlockStore
public MemoryBlockStore(NetworkParameters params)
-
-
Method Detail
-
put
public final void put(StoredBlock block) throws BlockStoreException
Description copied from interface:BlockStoreSaves the given block header+extra data. The key isn't specified explicitly as it can be calculated from the StoredBlock directly. Can throw if there is a problem with the underlying storage layer such as running out of disk space.- Specified by:
putin interfaceBlockStore- Throws:
BlockStoreException
-
get
public StoredBlock get(Sha256Hash hash) throws BlockStoreException
Description copied from interface:BlockStoreReturns the StoredBlock given a hash. The returned values block.getHash() method will be equal to the parameter. If no such block is found, returns null.- Specified by:
getin interfaceBlockStore- Throws:
BlockStoreException
-
getChainHead
public StoredBlock getChainHead() throws BlockStoreException
Description copied from interface:BlockStoreReturns theStoredBlockthat represents the top of the chain of greatest total work. Note that this can be arbitrarily expensive, you probably should useAbstractBlockChain.getChainHead()or perhapsAbstractBlockChain.getBestChainHeight()which will run in constant time and not take any heavyweight locks.- Specified by:
getChainHeadin interfaceBlockStore- Throws:
BlockStoreException
-
setChainHead
public final void setChainHead(StoredBlock chainHead) throws BlockStoreException
Description copied from interface:BlockStoreSets theStoredBlockthat represents the top of the chain of greatest total work.- Specified by:
setChainHeadin interfaceBlockStore- Throws:
BlockStoreException
-
close
public void close()
Description copied from interface:BlockStoreCloses the store.- Specified by:
closein interfaceBlockStore
-
getParams
public NetworkParameters getParams()
Description copied from interface:BlockStoreGet theNetworkParametersof this store.- Specified by:
getParamsin interfaceBlockStore- Returns:
- The network params.
-
-