优化命名

This commit is contained in:
Redkale
2023-01-01 13:02:54 +08:00
parent de089072fa
commit 391352e077
5 changed files with 37 additions and 40 deletions

View File

@@ -110,7 +110,7 @@ public class Context {
} }
} }
protected void executeDispatcher(Request request, Response response) { protected void executeDispatch(Request request, Response response) {
if (workHashExecutor != null) { if (workHashExecutor != null) {
workHashExecutor.execute(request.getHashid(), () -> prepare.prepare(request, response)); workHashExecutor.execute(request.getHashid(), () -> prepare.prepare(request, response));
} else if (workExecutor != null) { } else if (workExecutor != null) {

View File

@@ -169,7 +169,7 @@ class ProtocolCodec implements CompletionHandler<Integer, ByteBuffer> {
request.pipeline(pindex, pindex); request.pipeline(pindex, pindex);
channel.setReadBuffer((ByteBuffer) buffer.clear()); channel.setReadBuffer((ByteBuffer) buffer.clear());
} }
context.executeDispatcher(request, response); context.executeDispatch(request, response);
if (pipeline) { if (pipeline) {
final Response pipelineResponse = createResponse(); final Response pipelineResponse = createResponse();
try { try {

View File

@@ -23,7 +23,7 @@ import org.redkale.util.ByteArray;
*/ */
public abstract class ClientCodec<R extends ClientRequest, P> { public abstract class ClientCodec<R extends ClientRequest, P> {
protected final List<ClientResult<P>> results = new ArrayList<>(); protected final List<ClientResponse<P>> results = new ArrayList<>();
protected final ClientConnection connection; protected final ClientConnection connection;
@@ -32,17 +32,14 @@ public abstract class ClientCodec<R extends ClientRequest, P> {
} }
//返回true: array会clear, 返回false: buffer会clear //返回true: array会clear, 返回false: buffer会clear
public abstract boolean codecResult(ByteBuffer buffer, ByteArray array); public abstract boolean decodeMessages(ByteBuffer buffer, ByteArray array);
protected Queue<ClientFuture> responseQueue() { protected Queue<ClientFuture> responseQueue() {
return connection.responseQueue; return connection.responseQueue;
} }
public List<ClientResult<P>> removeResults() { public List<ClientResponse<P>> pollMessages() {
if (results.isEmpty()) { List<ClientResponse<P>> rs = new ArrayList<>(results);
return null;
}
List<ClientResult<P>> rs = new ArrayList<>(results);
this.results.clear(); this.results.clear();
return rs; return rs;
} }
@@ -51,12 +48,12 @@ public abstract class ClientCodec<R extends ClientRequest, P> {
return connection; return connection;
} }
public void addResult(P result) { public void addMessage(P result) {
this.results.add(new ClientResult<>(result)); this.results.add(new ClientResponse<>(result));
} }
public void addResult(Throwable exc) { public void addMessage(Throwable exc) {
this.results.add(new ClientResult<>(exc)); this.results.add(new ClientResponse<>(exc));
} }
public void reset() { public void reset() {

View File

@@ -64,7 +64,7 @@ public abstract class ClientConnection<R extends ClientRequest, P> implements Co
closeFuture = null; closeFuture = null;
return; return;
} }
if (continueWrite(false)) { if (sendWrite(false)) {
return; return;
} }
writePending.compareAndSet(true, false); writePending.compareAndSet(true, false);
@@ -95,7 +95,7 @@ public abstract class ClientConnection<R extends ClientRequest, P> implements Co
this.pauseWriting.set(false); this.pauseWriting.set(false);
} }
private boolean continueWrite(boolean must) { private boolean sendWrite(boolean must) {
ClientConnection conn = this; ClientConnection conn = this;
ByteArray rw = conn.writeArray; ByteArray rw = conn.writeArray;
rw.clear(); rw.clear();
@@ -168,14 +168,14 @@ public abstract class ClientConnection<R extends ClientRequest, P> implements Co
} }
try { try {
attachment.flip(); attachment.flip();
codecResponse(attachment); decodeResponse(attachment);
} catch (Throwable e) { } catch (Throwable e) {
channel.setReadBuffer(attachment); channel.setReadBuffer(attachment);
dispose(e); dispose(e);
} }
} }
protected void completeResponse(ClientResult<P> rs, ClientFuture respFuture) { protected void completeResponse(ClientResponse<P> rs, ClientFuture respFuture) {
if (respFuture != null) { if (respFuture != null) {
if (!respFuture.request.isCompleted()) { if (!respFuture.request.isCompleted()) {
if (rs.exc == null) { if (rs.exc == null) {
@@ -196,8 +196,8 @@ public abstract class ClientConnection<R extends ClientRequest, P> implements Co
respFuture.timeout.cancel(true); respFuture.timeout.cancel(true);
} }
ClientRequest request = respFuture.request; ClientRequest request = respFuture.request;
//if (client.finest) client.logger.log(Level.FINEST, Utility.nowMillis() + ": " + Thread.currentThread().getName() + ": " + ClientConnection.this + ", 回调处理, req=" + request + ", result=" + rs.result); //if (client.finest) client.logger.log(Level.FINEST, Utility.nowMillis() + ": " + Thread.currentThread().getName() + ": " + ClientConnection.this + ", 回调处理, req=" + request + ", message=" + rs.message);
preComplete(rs.result, (R) request, rs.exc); preComplete(rs.message, (R) request, rs.exc);
WorkThread workThread = null; WorkThread workThread = null;
if (request != null) { if (request != null) {
workThread = request.workThread; workThread = request.workThread;
@@ -224,13 +224,13 @@ public abstract class ClientConnection<R extends ClientRequest, P> implements Co
// if (request != null) { // if (request != null) {
// Traces.currTraceid(request.traceid); // Traces.currTraceid(request.traceid);
// } // }
// respFuture.complete(rs.result); // respFuture.complete(rs.message);
// } else { // } else {
// workThread.execute(() -> { // workThread.execute(() -> {
// if (request != null) { // if (request != null) {
// Traces.currTraceid(request.traceid); // Traces.currTraceid(request.traceid);
// } // }
// respFuture.complete(rs.result); // respFuture.complete(rs.message);
// }); // });
// } // }
// } // }
@@ -249,7 +249,7 @@ public abstract class ClientConnection<R extends ClientRequest, P> implements Co
if (request != null) { if (request != null) {
Traces.currTraceid(request.traceid); Traces.currTraceid(request.traceid);
} }
respFuture.complete(rs.result); respFuture.complete(rs.message);
}); });
} }
} catch (Throwable t) { } catch (Throwable t) {
@@ -258,12 +258,12 @@ public abstract class ClientConnection<R extends ClientRequest, P> implements Co
} }
} }
public void codecResponse(ByteBuffer buffer) { public void decodeResponse(ByteBuffer buffer) {
if (codec.codecResult(buffer, readArray)) { //成功了 if (codec.decodeMessages(buffer, readArray)) { //成功了
readArray.clear(); readArray.clear();
List<ClientResult<P>> results = codec.removeResults(); List<ClientResponse<P>> results = codec.pollMessages();
if (results != null) { if (results != null) {
for (ClientResult<P> rs : results) { for (ClientResponse<P> rs : results) {
ClientFuture respFuture = responseQueue.poll(); ClientFuture respFuture = responseQueue.poll();
if (respFuture != null) { if (respFuture != null) {
int mergeCount = respFuture.mergeCount; int mergeCount = respFuture.mergeCount;
@@ -281,7 +281,7 @@ public abstract class ClientConnection<R extends ClientRequest, P> implements Co
} }
if (buffer.hasRemaining()) { if (buffer.hasRemaining()) {
codecResponse(buffer); decodeResponse(buffer);
} else if (responseQueue.isEmpty()) { //队列都已处理完了 } else if (responseQueue.isEmpty()) { //队列都已处理完了
buffer.clear(); buffer.clear();
channel.setReadBuffer(buffer); channel.setReadBuffer(buffer);
@@ -293,7 +293,7 @@ public abstract class ClientConnection<R extends ClientRequest, P> implements Co
} else { //还有消息需要读取 } else { //还有消息需要读取
if ((!requestQueue.isEmpty() || lastHalfRequest != null) && writePending.compareAndSet(false, true)) { if ((!requestQueue.isEmpty() || lastHalfRequest != null) && writePending.compareAndSet(false, true)) {
//先写后读取 //先写后读取
if (!continueWrite(true)) { if (!sendWrite(true)) {
writePending.compareAndSet(true, false); writePending.compareAndSet(true, false);
} }
} }
@@ -366,7 +366,7 @@ public abstract class ClientConnection<R extends ClientRequest, P> implements Co
client.reqWritedCounter.increment(); client.reqWritedCounter.increment();
} }
if (writePending.compareAndSet(false, true)) { if (writePending.compareAndSet(false, true)) {
continueWrite(true); sendWrite(true);
} }
} }

View File

@@ -8,28 +8,28 @@ package org.redkale.net.client;
/** /**
* *
* @author zhangjx * @author zhangjx
* @param <P> result * @param <P> message
*/ */
public class ClientResult<P> { public class ClientResponse<P> {
protected P result; protected P message;
protected Throwable exc; protected Throwable exc;
public ClientResult(P result) { public ClientResponse(P result) {
this.result = result; this.message = result;
} }
public ClientResult(Throwable exc) { public ClientResponse(Throwable exc) {
this.exc = exc; this.exc = exc;
} }
public P getResult() { public P getMessage() {
return result; return message;
} }
public void setResult(P result) { public void setMessage(P message) {
this.result = result; this.message = message;
} }
public Throwable getExc() { public Throwable getExc() {
@@ -45,6 +45,6 @@ public class ClientResult<P> {
if (exc != null) { if (exc != null) {
return "{\"exc\":" + exc + "}"; return "{\"exc\":" + exc + "}";
} }
return "{\"result\":" + result + "}"; return "{\"message\":" + message + "}";
} }
} }