Archived
0

Bridge-protocol: пропуск не известных пакетов

This commit is contained in:
2017-06-05 12:52:04 +03:00
parent 4db1161998
commit bffe5d2ed3
2 changed files with 5 additions and 2 deletions

View File

@@ -1,5 +1,5 @@
group = 'asys'
version = '0.3-SNAPSHOT'
version = '0.3.1-SNAPSHOT'
task jar(type: Jar, overwrite: true) {
// не собирать jar

View File

@@ -19,12 +19,15 @@ public class PacketDecoder extends ReplayingDecoder<Packet> {
protected void decode(ChannelHandlerContext contect, ByteBuf inBuf, List<Object> out) throws Exception {
int id = inBuf.readUnsignedByte();
Class<? extends Packet> pktClass = contect.channel().attr(KNOWN_PACKETS).get().get(id);
if (pktClass == null) return;
if (pktClass == null) return; //TODO надо бы в логгере писать про отсутствующий пакет
if (contect.channel().attr(KNOWN_HANDLERS).get().containsKey(pktClass)) {
Packet packet = pktClass.newInstance();
packet.readSelfData(inBuf);
out.add(packet);
} else {
//TODO по хорошему, надо информровать, что отсутствует обработчик пакета
inBuf.skipBytes(inBuf.readableBytes());
}
}
}