org.apache.http.conn

## Interface EofSensorWatcher

- All Known Implementing Classes:
    BasicEofSensorWatcher, BasicManagedEntity

      public interface EofSensorWatcher

  A watcher for `EofSensorInputStream`. Each stream will notify its watcher at most once.
  Since:
    4.0

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `eofDetected(InputStream wrapped)` Indicates that EOF is detected.
    `boolean` | `streamAbort(InputStream wrapped)` Indicates that the `stream` is aborted.
    `boolean` | `streamClosed(InputStream wrapped)` Indicates that the `stream` is closed.

- - ### Method Detail

    - #### eofDetected

          boolean eofDetected(InputStream wrapped)
                              throws IOException

      Indicates that EOF is detected.
      Parameters:
        `wrapped` - the underlying stream which has reached EOF
      Returns:
        `true` if `wrapped` should be closed, `false` if it should be left alone
      Throws:
        `IOException` - in case of an IO problem, for example if the watcher itself closes the underlying stream. The caller will leave the wrapped stream alone, as if `false` was returned.

    - #### streamClosed

          boolean streamClosed(InputStream wrapped)
                               throws IOException

      Indicates that the `stream` is closed. This method will be called only if EOF was not detected before closing. Otherwise, `eofDetected` is called.
      Parameters:
        `wrapped` - the underlying stream which has not reached EOF
      Returns:
        `true` if `wrapped` should be closed, `false` if it should be left alone
      Throws:
        `IOException` - in case of an IO problem, for example if the watcher itself closes the underlying stream. The caller will leave the wrapped stream alone, as if `false` was returned.

    - #### streamAbort

          boolean streamAbort(InputStream wrapped)
                              throws IOException

      Indicates that the `stream` is aborted. This method will be called only if EOF was not detected before aborting. Otherwise, `eofDetected` is called.

      This method will also be invoked when an input operation causes an IOException to be thrown to make sure the input stream gets shut down.

      Parameters:
        `wrapped` - the underlying stream which has not reached EOF
      Returns:
        `true` if `wrapped` should be closed, `false` if it should be left alone
      Throws:
        `IOException` - in case of an IO problem, for example if the watcher itself closes the underlying stream. The caller will leave the wrapped stream alone, as if `false` was returned.

Copyright © 1999–2022 The Apache Software Foundation. All rights reserved.