Skip to content

Commit 9fa65b4

Browse files
authored
Merge pull request #739 from tronprotocol/p2p_msg
P2p: modify msg toString and net log info
2 parents 1c5d483 + e9b0d22 commit 9fa65b4

15 files changed

+49
-103
lines changed

src/main/java/org/tron/common/overlay/message/DisconnectMessage.java

Lines changed: 4 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -8,18 +8,11 @@ public class DisconnectMessage extends P2pMessage {
88

99
private Protocol.DisconnectMessage disconnectMessage;
1010

11-
public DisconnectMessage(byte[] rawData) {
12-
super(rawData);
13-
this.type = MessageTypes.P2P_DISCONNECT.asByte();
14-
}
15-
16-
public DisconnectMessage(byte type, byte[] rawData) {
11+
public DisconnectMessage(byte type, byte[] rawData) throws Exception{
1712
super(type, rawData);
13+
this.disconnectMessage = Protocol.DisconnectMessage.parseFrom(this.data);
1814
}
1915

20-
/**
21-
* The reason of disconnect.
22-
*/
2316
public DisconnectMessage(ReasonCode reasonCode) {
2417
this.disconnectMessage = Protocol.DisconnectMessage
2518
.newBuilder()
@@ -29,55 +22,17 @@ public DisconnectMessage(ReasonCode reasonCode) {
2922
this.data = this.disconnectMessage.toByteArray();
3023
}
3124

32-
private void unPack() {
33-
try {
34-
this.disconnectMessage = Protocol.DisconnectMessage.parseFrom(this.data);
35-
} catch (InvalidProtocolBufferException e) {
36-
logger.debug(e.getMessage(), e);
37-
}
38-
unpacked = true;
39-
}
40-
41-
private void pack() {
42-
this.data = this.disconnectMessage.toByteArray();
43-
}
44-
45-
@Override
46-
public byte[] getData() {
47-
if (this.data == null) {
48-
this.pack();
49-
}
50-
return this.data;
51-
}
52-
53-
/**
54-
* Get reason of disconnect.
55-
*/
5625
public int getReason() {
57-
if (!this.unpacked) {
58-
this.unPack();
59-
}
60-
6126
return this.disconnectMessage.getReason().getNumber();
6227
}
6328

64-
/**
65-
* Print reason of disconnect.
66-
*/
29+
@Override
6730
public String toString() {
68-
if (!this.unpacked) {
69-
this.unPack();
70-
}
71-
return "[" + this.getType().name() + " reason=" + this.getReason() + "]";
31+
return new StringBuilder().append(super.toString()).append("reason: ").append(this.disconnectMessage.getReason()).toString();
7232
}
7333

7434
@Override
7535
public Class<?> getAnswerMessage() {
7636
return null;
7737
}
78-
79-
@Override
80-
public MessageTypes getType() {
81-
return MessageTypes.fromByte(this.type);
82-
}
8338
}

src/main/java/org/tron/common/overlay/message/HelloMessage.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ public MessageTypes getType() {
131131

132132
@Override
133133
public String toString() {
134-
return helloMessage.toString();
134+
return new StringBuilder().append(super.toString()).append(helloMessage.toString()).toString();
135135
}
136136

137137
}

src/main/java/org/tron/common/overlay/message/Message.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ public MessageTypes getType(){
5151

5252
@Override
5353
public String toString() {
54-
return "[Message Type: " + getType() + ", Message Hash: " + getMessageId() + "]";
54+
return "type: " + getType() + "\n";
5555
}
5656

5757
@Override

src/main/java/org/tron/common/overlay/server/Channel.java

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -151,12 +151,10 @@ public void initNode(byte[] nodeId, int remotePort) {
151151
}
152152

153153
public void disconnect(ReasonCode reason) {
154-
logger.info("Send disconnect to {}, reason:{}", ctx.channel().remoteAddress(), reason);
154+
DisconnectMessage msg = new DisconnectMessage(reason);
155+
logger.info("Send to {}, {}", ctx.channel().remoteAddress(), msg);
155156
getNodeStatistics().nodeDisconnectedLocal(reason);
156-
ctx.writeAndFlush(new DisconnectMessage(reason).getSendData()).addListener(
157-
(ChannelFutureListener) future -> {
158-
close();
159-
});
157+
ctx.writeAndFlush(msg.getSendData()).addListener(future -> close());
160158
}
161159

162160
public void processException(Throwable throwable){
@@ -169,8 +167,7 @@ public void processException(Throwable throwable){
169167
if (throwable instanceof ReadTimeoutException){
170168
logger.error("Read timeout, {}", address);
171169
}else if(baseThrowable instanceof P2pException){
172-
logger.error("type: {}, info: {}, {}", ((P2pException) baseThrowable).getType(),
173-
((P2pException) baseThrowable).getMessage(), address);
170+
logger.error("type: {}, info: {}, {}", ((P2pException) baseThrowable).getType(), baseThrowable.getMessage(), address);
174171
}else if (errMsg != null && errMsg.contains("Connection reset by peer")){
175172
logger.error("{}, {}", errMsg, address);
176173
}else {

src/main/java/org/tron/common/overlay/server/HandshakeHandler.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ protected void decode(ChannelHandlerContext ctx, ByteBuf buffer, List<Object> ou
7777
buffer.readBytes(encoded);
7878
P2pMessage msg = messageFactory.create(encoded);
7979

80-
logger.info("Handshake receive from {}, {}", ctx.channel().remoteAddress(), msg);
80+
logger.info("Handshake Receive from {}, {}", ctx.channel().remoteAddress(), msg);
8181

8282
switch (msg.getType()) {
8383
case P2P_HELLO:
@@ -106,10 +106,12 @@ public void setChannel(Channel channel, String remoteId) {
106106
}
107107

108108
private void sendHelloMsg(ChannelHandlerContext ctx, long time){
109+
109110
HelloMessage message = new HelloMessage(nodeManager.getPublicHomeNode(), time,
110111
manager.getGenesisBlockId(), manager.getSolidBlockId(), manager.getHeadBlockId());
111112
ctx.writeAndFlush(message.getSendData());
112113
channel.getNodeStatistics().p2pOutHello.add();
114+
logger.info("Handshake Send to {}, {} ", ctx.channel().remoteAddress(), message);
113115
}
114116

115117
private void handleHelloMsg(ChannelHandlerContext ctx, HelloMessage msg) {

src/main/java/org/tron/common/overlay/server/MessageQueue.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -67,11 +67,11 @@ public void activate(ChannelHandlerContext ctx) {
6767
Message msg = msgQueue.take();
6868
ctx.writeAndFlush(msg.getSendData()).addListener((ChannelFutureListener) future -> {
6969
if (!future.isSuccess()) {
70-
logger.error("send {} to {} fail", msg, ctx.channel().remoteAddress());
70+
logger.error("Fail send to {}, {}", ctx.channel().remoteAddress(), msg);
7171
}
7272
});
7373
}catch (Exception e) {
74-
logger.error("Send message failed, {}, error info: {}", ctx.channel().remoteAddress(), e.getMessage());
74+
logger.error("Fail send to {}, error info: {}", ctx.channel().remoteAddress(), e.getMessage());
7575
}
7676
}
7777
});
@@ -84,15 +84,15 @@ public void setChannel(Channel channel) {
8484
}
8585

8686
public void sendMessage(Message msg) {
87-
logger.info("send {} to {}", msg, ctx.channel().remoteAddress());
87+
logger.info("Send to {}, {} ", ctx.channel().remoteAddress(), msg);
8888
if (msg.getAnswerMessage() != null)
8989
requestQueue.add(new MessageRoundtrip(msg));
9090
else
9191
msgQueue.offer(msg);
9292
}
9393

9494
public void receivedMessage(Message msg){
95-
logger.info("rcv {} from {}", msg, ctx.channel().remoteAddress());
95+
logger.info("Receive from {}, {}", ctx.channel().remoteAddress(), msg);
9696
MessageRoundtrip messageRoundtrip = requestQueue.peek();
9797
if (messageRoundtrip != null && messageRoundtrip.getMsg().getAnswerMessage() == msg.getClass()){
9898
requestQueue.remove();
@@ -134,7 +134,7 @@ private void send() {
134134

135135
ctx.writeAndFlush(msg.getSendData()).addListener((ChannelFutureListener) future -> {
136136
if (!future.isSuccess()) {
137-
logger.error("send {} to {} fail", msg, ctx.channel().remoteAddress());
137+
logger.error("Fail send to {}, {}", ctx.channel().remoteAddress(), msg);
138138
}
139139
});
140140

src/main/java/org/tron/core/net/message/BlockInventoryMessage.java

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,6 @@ public BlockInventoryMessage(byte[] data) throws Exception {
1818
this.blockInventory = Protocol.BlockInventory.parseFrom(data);
1919
}
2020

21-
@Override
22-
public String toString() {
23-
return "BlockInventory : " + (CollectionUtils.isNotEmpty(blockInventory.getIdsList())
24-
? blockInventory.getIdsList().size() : 0) +
25-
"\n" + super.toString();
26-
}
27-
2821
@Override
2922
public Class<?> getAnswerMessage() {
3023
return null;

src/main/java/org/tron/core/net/message/BlockMessage.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -62,9 +62,7 @@ public BlockCapsule getBlockCapsule() {
6262

6363
@Override
6464
public String toString() {
65-
return super.toString() + ",BlockMessage{" +
66-
"\n blockHeader : " + block.getBlockHeader() +
67-
"\n transaction size : " + block.getTransactionsList().size() +
68-
"},";
65+
return new StringBuilder().append(super.toString()).append(block.getBlockHeader().getRawData())
66+
.append("trx size: ").append(block.getTransactionsList().size()).append("\n").toString();
6967
}
7068
}

src/main/java/org/tron/core/net/message/BlocksMessage.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ public List<Block> getBlocks() {
2424

2525
@Override
2626
public String toString() {
27-
return super.toString() + ", BlocksMessage size:" + (CollectionUtils.isNotEmpty(blocks) ? blocks
27+
return super.toString() + "size: " + (CollectionUtils.isNotEmpty(blocks) ? blocks
2828
.size() : 0);
2929
}
3030

src/main/java/org/tron/core/net/message/ChainInventoryMessage.java

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -62,12 +62,15 @@ public Long getRemainNum() {
6262
@Override
6363
public String toString() {
6464
Deque<BlockId> blockIdWeGet = new LinkedList<>(getBlockIds());
65-
StringBuilder sb = new StringBuilder(getType().toString()).append(" :");
66-
return blockIdWeGet.isEmpty()
67-
? sb.append(" empty inv").toString()
68-
: sb.append(" first blockId: ").append(blockIdWeGet.peek().getString())
69-
.append(" end blockId: ").append(blockIdWeGet.peekLast().getString())
70-
.append(" size: ").append(blockIdWeGet.size()).toString();
65+
StringBuilder sb = new StringBuilder(super.toString());
66+
int size = blockIdWeGet.size();
67+
sb.append("size: ").append(size);
68+
if (size >= 1){
69+
sb.append(", first blockId: ").append(blockIdWeGet.peek().getString());
70+
if (size > 1){
71+
sb.append(", end blockId: ").append(blockIdWeGet.peekLast().getString());
72+
}
73+
}
74+
return sb.toString();
7175
}
72-
7376
}

0 commit comments

Comments
 (0)