public void run()

in src/main/java/com/microsoft/appcenter/espresso/EventServer.java [96:138]


    public void run() {
        while (!Thread.interrupted()) {
            LocalSocket accept = null;
            try {
                accept = socket.accept();

                InputStreamReader reader = new InputStreamReader(accept.getInputStream());
                BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(accept.getOutputStream()));

                boolean ackOK = false;
                do {
                    String string = queue.take();
                    try {
                        bufferedWriter.write(string);
                        bufferedWriter.newLine();
                        bufferedWriter.flush();
                        String status = readLine(reader);
                        ackOK = "ok".equals(status);
                    } finally {
                        sendStatusLock.lock();
                        try {
                            successfulAck = ackOK;
                            sendStatusSet.signal();
                        } finally {
                            sendStatusLock.unlock();
                        }
                    }
                } while (ackOK);
            } catch (IOException e) {
                e.printStackTrace();
            } catch (InterruptedException e) {
                e.printStackTrace();
            } finally {
                if (accept != null) {
                    try {
                        accept.close();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
            }
        }
    }