dump more message types
This commit is contained in:
parent
1bf4bfc8a6
commit
dc4f8d07b4
1 changed files with 37 additions and 20 deletions
|
@ -58,8 +58,8 @@ public class RpcDumper {
|
||||||
}
|
}
|
||||||
|
|
||||||
String dump(RpcProtocol.Message.Reader message, RpcTwoPartyProtocol.Side sender) {
|
String dump(RpcProtocol.Message.Reader message, RpcTwoPartyProtocol.Side sender) {
|
||||||
switch (message.which()) {
|
return switch (message.which()) {
|
||||||
case CALL: {
|
case CALL -> {
|
||||||
var call = message.getCall();
|
var call = message.getCall();
|
||||||
var iface = call.getInterfaceId();
|
var iface = call.getInterfaceId();
|
||||||
|
|
||||||
|
@ -93,54 +93,71 @@ public class RpcDumper {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return sender.name() + "(" + call.getQuestionId() + "): call " +
|
yield sender.name() + "(" + call.getQuestionId() + "): call " +
|
||||||
call.getTarget() + " <- " + interfaceName + "." +
|
call.getTarget() + " <- " + interfaceName + "." +
|
||||||
methodName + " " + params.getClass().getName() + " caps:[" +
|
methodName + " " + params.getClass().getName() + " caps:[" +
|
||||||
dumpCaps(payload.getCapTable()) + "]" +
|
dumpCaps(payload.getCapTable()) + "]" +
|
||||||
(sendResultsTo.isCaller() ? "" : (" sendResultsTo:" + sendResultsTo));
|
(sendResultsTo.isCaller() ? "" : (" sendResultsTo:" + sendResultsTo));
|
||||||
}
|
}
|
||||||
|
|
||||||
case RETURN: {
|
case RETURN -> {
|
||||||
var ret = message.getReturn();
|
var ret = message.getReturn();
|
||||||
|
var text = sender.name() + "(" + ret.getAnswerId() + "): ";
|
||||||
var returnType = getReturnType(
|
var returnType = getReturnType(
|
||||||
sender == RpcTwoPartyProtocol.Side.CLIENT
|
sender == RpcTwoPartyProtocol.Side.CLIENT
|
||||||
? RpcTwoPartyProtocol.Side.SERVER
|
? RpcTwoPartyProtocol.Side.SERVER
|
||||||
: RpcTwoPartyProtocol.Side.CLIENT,
|
: RpcTwoPartyProtocol.Side.CLIENT,
|
||||||
ret.getAnswerId());
|
ret.getAnswerId());
|
||||||
switch (ret.which()) {
|
yield switch (ret.which()) {
|
||||||
case RESULTS: {
|
case RESULTS -> {
|
||||||
var payload = ret.getResults();
|
var payload = ret.getResults();
|
||||||
return sender.name() + "(" + ret.getAnswerId() + "): return " + payload +
|
yield text + "return " + payload +
|
||||||
" caps:[" + dumpCaps(payload.getCapTable()) + "]";
|
" caps:[" + dumpCaps(payload.getCapTable()) + "]";
|
||||||
}
|
}
|
||||||
case EXCEPTION: {
|
case EXCEPTION -> {
|
||||||
var exc = ret.getException();
|
var exc = ret.getException();
|
||||||
return sender.name() + "(" + ret.getAnswerId() + "): exception "
|
yield text + "exception "
|
||||||
+ exc.getType().toString() +
|
+ exc.getType().toString() +
|
||||||
" " + exc.getReason();
|
" " + exc.getReason();
|
||||||
}
|
}
|
||||||
default: {
|
default -> {
|
||||||
return sender.name() + "(" + ret.getAnswerId() + "): " + ret.which().name();
|
yield text + ret.which().name();
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
case BOOTSTRAP: {
|
case BOOTSTRAP -> {
|
||||||
var restore = message.getBootstrap();
|
var restore = message.getBootstrap();
|
||||||
setReturnType(sender, restore.getQuestionId(), 0);
|
setReturnType(sender, restore.getQuestionId(), 0);
|
||||||
return sender.name() + "(" + restore.getQuestionId() + "): bootstrap " +
|
yield sender.name() + "(" + restore.getQuestionId() + "): bootstrap " +
|
||||||
restore.getDeprecatedObjectId();
|
restore.getDeprecatedObjectId();
|
||||||
}
|
}
|
||||||
|
|
||||||
case ABORT: {
|
case ABORT -> {
|
||||||
var abort = message.getAbort();
|
var abort = message.getAbort();
|
||||||
return sender.name() + ": abort "
|
yield sender.name() + ": abort "
|
||||||
+ abort.getType().toString()
|
+ abort.getType().toString()
|
||||||
+ " \"" + abort.getReason().toString() + "\"";
|
+ " \"" + abort.getReason().toString() + "\"";
|
||||||
}
|
}
|
||||||
|
|
||||||
default:
|
case RESOLVE -> {
|
||||||
return sender.name() + ": " + message.which().name();
|
var resolve = message.getResolve();
|
||||||
}
|
var id = resolve.getPromiseId();
|
||||||
|
var text = switch (resolve.which()) {
|
||||||
|
case CAP -> {
|
||||||
|
var cap = resolve.getCap();
|
||||||
|
yield cap.which().toString();
|
||||||
|
}
|
||||||
|
case EXCEPTION -> {
|
||||||
|
var exc = resolve.getException();
|
||||||
|
yield exc.getType().toString() + ": " + exc.getReason().toString();
|
||||||
|
}
|
||||||
|
default -> resolve.which().toString();
|
||||||
|
};
|
||||||
|
yield sender.name() + "(" + id + "): resolve " + text;
|
||||||
|
}
|
||||||
|
|
||||||
|
default -> sender.name() + ": " + message.which().name();
|
||||||
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue