бросать исключение при неудачной записи пакета в сеть
This commit is contained in:
@@ -13,8 +13,10 @@ import mc.core.network.SCPacket;
|
|||||||
import mc.core.network.proto_1_12_2.ByteArrayOutputNetStream;
|
import mc.core.network.proto_1_12_2.ByteArrayOutputNetStream;
|
||||||
import mc.core.network.proto_1_12_2.State;
|
import mc.core.network.proto_1_12_2.State;
|
||||||
import mc.core.network.proto_1_12_2.netty.wrappers.WrapperNetOutputStream;
|
import mc.core.network.proto_1_12_2.netty.wrappers.WrapperNetOutputStream;
|
||||||
|
import org.slf4j.helpers.MessageFormatter;
|
||||||
|
|
||||||
import static mc.core.network.proto_1_12_2.netty.NettyServer.ATTR_STATE;
|
import static mc.core.network.proto_1_12_2.netty.NettyServer.ATTR_STATE;
|
||||||
|
import static org.slf4j.helpers.MessageFormatter.format;
|
||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
public class PacketEncoder extends MessageToByteEncoder<SCPacket> {
|
public class PacketEncoder extends MessageToByteEncoder<SCPacket> {
|
||||||
@@ -41,13 +43,17 @@ public class PacketEncoder extends MessageToByteEncoder<SCPacket> {
|
|||||||
|
|
||||||
log.debug("Send {}:{}", state, packet);
|
log.debug("Send {}:{}", state, packet);
|
||||||
|
|
||||||
NetOutputStream netStream = new ByteArrayOutputNetStream();
|
try {
|
||||||
packet.writeSelf(netStream);
|
NetOutputStream netStream = new ByteArrayOutputNetStream();
|
||||||
byte[] bytes = ((ByteArrayOutputNetStream) netStream).toByteArray();
|
packet.writeSelf(netStream);
|
||||||
netStream = new WrapperNetOutputStream(out);
|
byte[] bytes = ((ByteArrayOutputNetStream) netStream).toByteArray();
|
||||||
|
netStream = new WrapperNetOutputStream(out);
|
||||||
|
|
||||||
netStream.writeVarInt(bytes.length + sizeVarInt(id));
|
netStream.writeVarInt(bytes.length + sizeVarInt(id));
|
||||||
netStream.writeVarInt(id);
|
netStream.writeVarInt(id);
|
||||||
netStream.writeBytes(bytes);
|
netStream.writeBytes(bytes);
|
||||||
|
} catch (Throwable t) {
|
||||||
|
log.error(format("Error encoding packet {}:{}", state, packet).getMessage(), t);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user