JConsole.BlockingPipedInputStream (BeanShell 2.0b6)
Date: 2016-09-25

bsh.util

## Class JConsole.BlockingPipedInputStream

- java.lang.Object
- - java.io.InputStream
  - - java.io.PipedInputStream
    - - bsh.util.JConsole.BlockingPipedInputStream

- All Implemented Interfaces:
    java.io.Closeable, java.lang.AutoCloseable
  Enclosing class:
    JConsole

      public static class JConsole.BlockingPipedInputStream
      extends java.io.PipedInputStream

  The overridden read method in this class will not throw "Broken pipe" IOExceptions; It will simply wait for new writers and data. This is used by the JConsole internal read thread to allow writers in different (and in particular ephemeral) threads to write to the pipe. It also checks a little more frequently than the original read(). Warning: read() will not even error on a read to an explicitly closed pipe (override closed to for that).

- - ### Field Summary

    - ### Fields inherited from class java.io.PipedInputStream

      `buffer, in, out, PIPE_SIZE`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `JConsole.BlockingPipedInputStream(java.io.PipedOutputStream pout)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `close()`
    `int` | `read()`

    - ### Methods inherited from class java.io.PipedInputStream

      `available, connect, read, receive`

    - ### Methods inherited from class java.io.InputStream

      `mark, markSupported, read, reset, skip`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### JConsole.BlockingPipedInputStream

          public JConsole.BlockingPipedInputStream(java.io.PipedOutputStream pout)
                                            throws java.io.IOException

      Throws:
        `java.io.IOException`

  - ### Method Detail

    - #### read

          public int read()
                   throws java.io.IOException

      Overrides:
        `read` in class `java.io.PipedInputStream`
      Throws:
        `java.io.IOException`

    - #### close

          public void close()
                     throws java.io.IOException

      Specified by:
        `close` in interface `java.io.Closeable`
      Specified by:
        `close` in interface `java.lang.AutoCloseable`
      Overrides:
        `close` in class `java.io.PipedInputStream`
      Throws:
        `java.io.IOException`

? 2000-2005 pat@pat.net :-)