Итак, я работаю на нетти-сервере, который обрабатывает пакет указанного типа c. Этот netty-сервер был создан не мной, и я пытаюсь добавить к нему обработчик пакетов, декодер и кодировщик другого типа. Из-за плохой реализации существующих обработчиков я должен добавить свой, прежде чем так.
channel.pipeline()
.addLast(new custom.PacketDecoder().server()) // My Packet Decoder
.addLast(new custom.PacketEncoder().server()) // My Packet Encoder
.addLast(new custom.NetworkHandler().server()) // My Packet Handler
.addLast("timeout", new ReadTimeoutHandler(30)) // Not made by me
.addLast("legacy_query", new LegacyPingHandler(ServerConnection.this)) // Not made by me
.addLast("splitter", new PacketSplitter()) // Not made by me
.addLast("decoder", new PacketDecoder(EnumProtocolDirection.SERVERBOUND)) // Not made by me
.addLast("prepender", new PacketPrepender()) // Not made by me
.addLast("encoder", new PacketEncoder(EnumProtocolDirection.CLIENTBOUND)) // Not made by me
.addLast("packet_handler", networkmanager); // Not made by me
На данный момент этот вид работы работает, но проблема в том, что если он получает пакеты, которые не являются моими, которые он должен обрабатывать, мои обработчики мешают этим пакетам проходить и обрабатываться правильно. Как передать не принадлежащие мне пакеты другим обработчикам, не касаясь их.