@Override
    public void run() {
        while (true) {
            try {
                DataPacket packet = this.message_queue.take();
                process(packet);
            } catch (InterruptedException ex) {
                Logger.getLogger(NetworkServer.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
    }