public void kill() {
        if (killState.compareAndSet(false, true)) {
            try {
                socket.close();
            } catch (IOException e) {/*NOP*/}

            threadGroup.interrupt();

            try {
                deathQueue.put(name);
            } catch (InterruptedException e) {/*NOP*/}
        }
    }