org.apache.hc.core5.http.io

## Interface EofSensorWatcher

-     public interface EofSensorWatcher

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

- - ### Method Summary

    All Methods Instance Methods Abstract 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 © 2005–2021 The Apache Software Foundation. All rights reserved.