class GrinderProcess {

  public void shutdown(final boolean inputStreamIsStdin) {
    if (!inputStreamIsStdin) {
      // Sadly it appears its impossible to interrupt a read() on a process
      // input stream (at least under W2K), so we can't shut down the message
      // pump cleanly. It runs in a daemon thread, so this isn't a big
      // deal.
      m_messagePump.shutdown();
    }

    // Logback doesn't stop its loggers on exit (see LBCORE-202). We do
    // so explicitly to flush our BufferedEchoMessageEncoder.
    if (m_logbackLoggerContext != null) {
      m_logbackLoggerContext.stop();
    }
  }

  public  GrinderProcess(final Receiver agentReceiver);

}