Add countTransactions method

This commit is contained in:
Xiaomin Zhu 2020-03-07 18:17:01 +08:00
parent d4c57607e2
commit d3e587f26c

View File

@ -1,10 +1,8 @@
package bdledger.api;
import bdledger.api.grpc.common.Block;
import bdledger.api.grpc.common.Transaction;
import bdledger.api.grpc.node.ClientVersionResponse;
import bdledger.api.grpc.common.TransactionType;
import bdledger.api.grpc.ledger.*;
import bdledger.api.grpc.node.ClientVersionResponse;
import bdledger.api.grpc.node.NodeGrpc;
import bdledger.api.grpc.query.*;
import com.google.common.util.concurrent.ListenableFuture;
@ -278,7 +276,7 @@ public class Client {
/**
* <a
* href="#">返回全网区块的数量</a>
* href="#">返回符合条件的区块的数量</a>
* 非阻塞
*/
public ListenableFuture<CountBlocksResponse> countBlocks(String ledger) {
@ -295,7 +293,7 @@ public class Client {
/**
* <a
* href="#">返回全网区块的数量</a>
* href="#">返回符合条件的区块的数量</a>
* 阻塞
*/
public CountBlocksResponse countBlocksSync(String ledger) {
@ -414,6 +412,44 @@ public class Client {
return reqBuilder.build();
}
/**
* <a
* href="#">返回符合条件的数量</a>
* 非阻塞
*/
public ListenableFuture<CountTransactionsResponse> countTransactions(String ledger) {
info("*** blockNumber: ledger={0}", ledger);
try {
return queryFutureStub.countTransactions(transactionsRequest(ledger));
} catch (StatusRuntimeException e) {
warning("RPC failed: {0}", e.getStatus());
return null;
}
}
/**
* <a
* href="#">返回符合条件的事务的数量</a>
* 阻塞
*/
public CountTransactionsResponse countTransactionsSync(String ledger) {
info("*** blockNumberSync: ledger={0}", ledger);
try {
return queryBlockingStub.countTransactions(transactionsRequest(ledger));
} catch (StatusRuntimeException e) {
warning("RPC failed: {0}", e.getStatus());
return null;
}
}
private TransactionsRequest transactionsRequest(String ledger) {
return TransactionsRequest.newBuilder().setLedger(ledger).build();
}
private void info(String msg, Object... params) {
logger.log(Level.INFO, msg, params);
}