@Override
    protected void doDisconnect() throws NotOpenException {
        this.loopThread.interrupt();
        if (this.receiveHandle != null) {
            // Interrupt the receiving loop.
            receiveHandle.breakLoop();
            // Close the channel.
            receiveHandle.close();
            // Shutdown the loop-thread.
            // (Doing it the graceful way, didn't work)
            eventLoop().shutdownNow();
        }
    }
Channel based on a Pcap4J raw-socket, allowing to actively communicate based on ethernet frames.
plc4j/utils/raw-sockets/src/main/java/org/apache/plc4x/java/utils/rawsockets/netty/RawSocketChannel.java