@ApiAudience.Private @ApiStability.Unstable public class BlockTemplate extends java.lang.Object implements BlockOperation, ChannelInjectable, ContextProviderInjectable
Modifier and Type | Field and Description |
---|---|
protected BlockBaseTemplate |
blockBaseTemplate |
protected ContextProvider |
contextProvider |
protected ExceptionConverter<RpcException> |
exceptionConverter |
Constructor and Description |
---|
BlockTemplate() |
Modifier and Type | Method and Description |
---|---|
Block |
getBlock(BlockHash blockHash)
Get block by hash.
|
Block |
getBlock(long height)
Get block by height.
|
BlockMetadata |
getBlockMetadata(BlockHash blockHash)
Get block meta data by hash.
|
BlockMetadata |
getBlockMetadata(long height)
Get block meta data by height.
|
java.util.List<BlockMetadata> |
listBlockMetadatas(BlockHash blockHash,
int size)
Get list of block meta data of
size backward starting from block for provided hash. |
java.util.List<BlockMetadata> |
listBlockMetadatas(long height,
int size)
Get list of block meta data of
size backward starting from block for provided height. |
void |
setChannel(io.grpc.ManagedChannel channel) |
void |
setContextProvider(ContextProvider contextProvider) |
Subscription<Block> |
subscribeNewBlock(StreamObserver<Block> observer)
Subscribe block stream which is triggered everytime new block is generated.
|
Subscription<BlockMetadata> |
subscribeNewBlockMetadata(StreamObserver<BlockMetadata> observer)
Subscribe block metadata stream which is triggered everytime new block is generated.
|
protected final ExceptionConverter<RpcException> exceptionConverter
protected BlockBaseTemplate blockBaseTemplate
protected ContextProvider contextProvider
public void setChannel(io.grpc.ManagedChannel channel)
setChannel
in interface ChannelInjectable
public void setContextProvider(ContextProvider contextProvider)
setContextProvider
in interface ContextProviderInjectable
public BlockMetadata getBlockMetadata(BlockHash blockHash)
BlockOperation
getBlockMetadata
in interface BlockOperation
blockHash
- block hashpublic BlockMetadata getBlockMetadata(long height)
BlockOperation
getBlockMetadata
in interface BlockOperation
height
- block's heightpublic java.util.List<BlockMetadata> listBlockMetadatas(BlockHash blockHash, int size)
BlockOperation
size
backward starting from block for provided hash.listBlockMetadatas
in interface BlockOperation
blockHash
- block hashsize
- block list size whose upper bound is 1000public java.util.List<BlockMetadata> listBlockMetadatas(long height, int size)
BlockOperation
size
backward starting from block for provided height.listBlockMetadatas
in interface BlockOperation
height
- block's heightsize
- block list size whose upper bound is 1000public Block getBlock(BlockHash blockHash)
BlockOperation
getBlock
in interface BlockOperation
blockHash
- block hashpublic Block getBlock(long height)
BlockOperation
getBlock
in interface BlockOperation
height
- block's heightpublic Subscription<BlockMetadata> subscribeNewBlockMetadata(StreamObserver<BlockMetadata> observer)
BlockOperation
subscribeNewBlockMetadata
in interface BlockOperation
observer
- a stream observer which is invoked on new block metadatapublic Subscription<Block> subscribeNewBlock(StreamObserver<Block> observer)
BlockOperation
subscribeNewBlock
in interface BlockOperation
observer
- a stream observer which is invoked on new block