Skip to content

Commit 6c2a8b5

Browse files
committed
feat: 调整TunnelMessageParser修饰符,使其可继承
1 parent 74d76fd commit 6c2a8b5

File tree

1 file changed

+16
-12
lines changed

1 file changed

+16
-12
lines changed

src/main/java/top/meethigher/proxy/tcp/tunnel/codec/TunnelMessageParser.java

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -16,40 +16,40 @@
1616
public class TunnelMessageParser implements Handler<Buffer> {
1717

1818
private static final Logger log = LoggerFactory.getLogger(TunnelMessageParser.class);
19-
private Buffer buf = Buffer.buffer();
19+
protected Buffer buf = Buffer.buffer();
2020

2121
/**
2222
* 最大长度,单位字节。防止对方构造超长字段,占用内存。
2323
*/
24-
private final int maxLength = 1024 * 1024;
24+
protected final int maxLength = 1024 * 1024;
2525

2626
/**
2727
* 预设长度起始位置
2828
*/
29-
private final int lengthFieldOffset = 0;
29+
protected final int lengthFieldOffset = 0;
3030

3131
/**
3232
* 预设长度占用的字节数
3333
*/
34-
private final int lengthFieldLength = 4;
34+
protected final int lengthFieldLength = 4;
3535
/**
3636
* 消息类型起始位置
3737
*/
38-
private final int typeFieldOffset = 4;
38+
protected final int typeFieldOffset = 4;
3939

4040
/**
4141
* 消息类型占用的字节数
4242
*/
43-
private final int typeFieldLength = 2;
43+
protected final int typeFieldLength = 2;
4444

4545
/**
4646
* 消息体起始位置
4747
*/
48-
private final int bodyFieldOffset = 6;
48+
protected final int bodyFieldOffset = 6;
4949

50-
private final Handler<Buffer> outputHandler;
50+
protected final Handler<Buffer> outputHandler;
5151

52-
private final NetSocket netSocket;
52+
protected final NetSocket netSocket;
5353

5454
public TunnelMessageParser(Handler<Buffer> outputHandler,
5555
NetSocket netSocket) {
@@ -68,7 +68,7 @@ public void handle(Buffer buffer) {
6868

6969
}
7070

71-
private void parse() {
71+
protected void parse() {
7272
// 获取消息的预设总长度
7373
int totalLength = buf.getInt(lengthFieldOffset);
7474
// 校验预设总长度
@@ -77,8 +77,9 @@ private void parse() {
7777
}
7878
// 校验最大长度
7979
if (totalLength > maxLength) {
80-
log.warn("too many bytes in length field, {} > {}, connection {} will be closed",
80+
log.warn("too many bytes in length field, {} > {}, connection {} -- {} will be closed",
8181
totalLength, maxLength,
82+
netSocket.localAddress(),
8283
netSocket.remoteAddress());
8384
netSocket.close();
8485
return;
@@ -89,7 +90,10 @@ private void parse() {
8990
try {
9091
TunnelMessageType.fromCode(code);
9192
} catch (Exception e) {
92-
log.error("invalid type, connection {} will be closed", netSocket.remoteAddress(), e);
93+
log.error("invalid type, connection {} -- {} will be closed",
94+
netSocket.localAddress(),
95+
netSocket.remoteAddress(),
96+
e);
9397
netSocket.close();
9498
return;
9599
}

0 commit comments

Comments
 (0)