This commit is contained in:
folex 2019-09-11 12:14:50 +03:00
parent 5a2b46caad
commit fe93c3a0d1

View File

@ -23,33 +23,22 @@
*/ */
package com.github.jtendermint.jabci; package com.github.jtendermint.jabci;
import com.github.jtendermint.jabci.api.*;
import com.github.jtendermint.jabci.socket.ExceptionListener.Event;
import com.github.jtendermint.jabci.socket.TSocket;
import com.github.jtendermint.jabci.types.*;
import com.google.protobuf.ByteString;
import java.math.BigInteger; import java.math.BigInteger;
import java.nio.ByteBuffer; import java.nio.ByteBuffer;
import java.nio.charset.Charset; import java.nio.charset.Charset;
import com.github.jtendermint.jabci.api.CodeType;
import com.github.jtendermint.jabci.api.ICheckTx;
import com.github.jtendermint.jabci.api.ICommit;
import com.github.jtendermint.jabci.api.IDeliverTx;
import com.github.jtendermint.jabci.api.IQuery;
import com.github.jtendermint.jabci.socket.ExceptionListener.Event;
import com.github.jtendermint.jabci.socket.TSocket;
import com.github.jtendermint.jabci.types.RequestCheckTx;
import com.github.jtendermint.jabci.types.RequestCommit;
import com.github.jtendermint.jabci.types.RequestDeliverTx;
import com.github.jtendermint.jabci.types.RequestQuery;
import com.github.jtendermint.jabci.types.ResponseCheckTx;
import com.github.jtendermint.jabci.types.ResponseCommit;
import com.github.jtendermint.jabci.types.ResponseDeliverTx;
import com.github.jtendermint.jabci.types.ResponseQuery;
import com.google.protobuf.ByteString;
/** /**
* Implements a sample counter app. every tx-data must be bigger than the current amount of tx * Implements a sample counter app. every tx-data must be bigger than the current amount of tx
* *
* @author wolfposd * @author wolfposd
*/ */
public final class JavaCounter implements IDeliverTx, ICheckTx, ICommit, IQuery { public final class JavaCounter implements IDeliverTx, ICheckTx, ICommit, IQuery, IBeginBlock {
private int hashCount = 0; private int hashCount = 0;
private int txCount = 0; private int txCount = 0;
@ -154,13 +143,25 @@ public final class JavaCounter implements IDeliverTx, ICheckTx, ICommit, IQuery
switch (query) { switch (query) {
case "hash": case "hash":
return ResponseQuery.newBuilder().setCode(CodeType.OK) return ResponseQuery.newBuilder().setCode(CodeType.OK)
.setValue(ByteString.copyFrom(("" + hashCount).getBytes(Charset.forName("UTF-8")))).build(); .setValue(ByteString.copyFrom(("" + hashCount).getBytes(Charset.forName("UTF-8")))).build();
case "tx": case "tx":
return ResponseQuery.newBuilder().setCode(CodeType.OK) return ResponseQuery.newBuilder().setCode(CodeType.OK)
.setValue(ByteString.copyFrom(("" + txCount).getBytes(Charset.forName("UTF-8")))).build(); .setValue(ByteString.copyFrom(("" + txCount).getBytes(Charset.forName("UTF-8")))).build();
default: default:
return ResponseQuery.newBuilder().setCode(CodeType.BadNonce).setLog("Invalid query path. Expected hash or tx, got " + query) return ResponseQuery.newBuilder().setCode(CodeType.BadNonce).setLog("Invalid query path. Expected hash or tx, got " + query)
.build(); .build();
} }
} }
@Override
public ResponseBeginBlock requestBeginBlock(RequestBeginBlock req) {
req
.getLastCommitInfo()
.getVotesList()
.stream()
.map(v -> v.getFullVote().toString())
.forEach(v -> System.out.println("BeginBlock vote:" + v));
return ResponseBeginBlock.newBuilder().build();
}
} }