diff --git a/src/main/java/org/redkale/net/client/ClientCodec.java b/src/main/java/org/redkale/net/client/ClientCodec.java index 0c7289f13..54a559a7f 100644 --- a/src/main/java/org/redkale/net/client/ClientCodec.java +++ b/src/main/java/org/redkale/net/client/ClientCodec.java @@ -67,6 +67,7 @@ public abstract class ClientCodec implements Complet connection.currRespIterator = null; readArray.clear(); for (ClientResponse cr : respResults) { + connection.doneResponseCounter.increment(); if (cr.isError()) { connection.dispose(null); return; diff --git a/src/main/java/org/redkale/net/client/ClientConnection.java b/src/main/java/org/redkale/net/client/ClientConnection.java index 72f45ae87..3cff046cc 100644 --- a/src/main/java/org/redkale/net/client/ClientConnection.java +++ b/src/main/java/org/redkale/net/client/ClientConnection.java @@ -33,6 +33,10 @@ public abstract class ClientConnection implements Co protected final LongAdder respWaitingCounter; + protected final LongAdder doneRequestCounter = new LongAdder(); + + protected final LongAdder doneResponseCounter = new LongAdder(); + final AtomicBoolean pauseWriting = new AtomicBoolean(); final ConcurrentLinkedQueue pauseRequests = new ConcurrentLinkedQueue<>(); @@ -187,6 +191,14 @@ public abstract class ClientConnection implements Co return channel; } + public long getDoneRequestCounter() { + return doneRequestCounter.longValue(); + } + + public long getDoneResponseCounter() { + return doneResponseCounter.longValue(); + } + public > C getCodec() { return (C) codec; } diff --git a/src/main/java/org/redkale/net/client/ClientWriteIOThread.java b/src/main/java/org/redkale/net/client/ClientWriteIOThread.java index 2db79ab9d..1327e89c5 100644 --- a/src/main/java/org/redkale/net/client/ClientWriteIOThread.java +++ b/src/main/java/org/redkale/net/client/ClientWriteIOThread.java @@ -103,6 +103,7 @@ public class ClientWriteIOThread extends AsyncIOThread { ++i; ClientRequest request = en.request; request.writeTo(conn, writeArray); + conn.doneRequestCounter.increment(); if (!request.isCompleted()) { conn.pauseWriting.set(true); conn.pauseRequests.addAll(list.subList(i, list.size()));