public void runSend(){
        DataOutputStream outputStream;
        try {
            outputStream = new DataOutputStream(socket.getOutputStream());
        } catch (IOException e) {
            LOG.severe("Could not get outputStream! " + e.getMessage());
            return;
        }
        while(!Thread.interrupted()){
            try {
                Packet packet = writeQueue.take();
                outputStream.write(protocol.packPacket(packet).array());
            } catch (InterruptedException e) {
                LOG.info("Sending thread interrupted!");
                Thread.currentThread().interrupt();
            } catch (IOException e) {
                LOG.severe("Could not write packet! " + e.getMessage());
            }
        }
    }