org.apache.http.nio.reactor

## Interface SessionRequest

- All Known Implementing Classes:
    SessionRequestImpl

      public interface SessionRequest

  SessionRequest interface represents a request to establish a new connection (or session) to a remote host. It can be used to monitor the status of the request, to block waiting for its completion, or to cancel the request.

  Implementations of this interface are expected to be threading safe.

  Since:
    4.0

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `cancel()` Cancels the request.
    `Object` | `getAttachment()` Returns attachment object will be added to the session's context upon initialization.
    `int` | `getConnectTimeout()` Returns connect timeout value in milliseconds.
    `IOException` | `getException()` Returns `IOException` instance if the request could not be successfully executed due to an I/O error or `null` if no error occurred to this point.
    `SocketAddress` | `getLocalAddress()` Returns local socket address.
    `SocketAddress` | `getRemoteAddress()` Returns socket address of the remote host.
    `IOSession` | `getSession()` Returns `IOSession` instance created as a result of this request or `null` if the request is still pending.
    `boolean` | `isCompleted()` Determines whether the request has been completed (either successfully or unsuccessfully).
    `void` | `setConnectTimeout(int timeout)` Sets connect timeout value in milliseconds.
    `void` | `waitFor()` Waits for completion of this session request.

- - ### Method Detail

    - #### getRemoteAddress

          SocketAddress getRemoteAddress()

      Returns socket address of the remote host.
      Returns:
        socket address of the remote host

    - #### getLocalAddress

          SocketAddress getLocalAddress()

      Returns local socket address.
      Returns:
        local socket address.

    - #### getAttachment

          Object getAttachment()

      Returns attachment object will be added to the session's context upon initialization. This object can be used to pass an initial processing state to the protocol handler.
      Returns:
        attachment object.

    - #### isCompleted

          boolean isCompleted()

      Determines whether the request has been completed (either successfully or unsuccessfully).
      Returns:
        `true if the request has been completed, `false if still pending.``

    - #### getSession

          IOSession getSession()

      Returns `IOSession` instance created as a result of this request or `null` if the request is still pending.
      Returns:
        I/O session or `null` if the request is still pending.

    - #### getException

          IOException getException()

      Returns `IOException` instance if the request could not be successfully executed due to an I/O error or `null` if no error occurred to this point.
      Returns:
        I/O exception or `null` if no error occurred to this point.

    - #### waitFor

          void waitFor()
                       throws InterruptedException

      Waits for completion of this session request.
      Throws:
        `InterruptedException` - in case the execution process was interrupted.

    - #### setConnectTimeout

          void setConnectTimeout(int timeout)

      Sets connect timeout value in milliseconds.
      Parameters:
        `timeout` - connect timeout value in milliseconds.

    - #### getConnectTimeout

          int getConnectTimeout()

      Returns connect timeout value in milliseconds.
      Returns:
        connect timeout value in milliseconds.

    - #### cancel

          void cancel()

      Cancels the request. Invocation of this method will set the status of the request to completed and will unblock threads blocked in the {`waitFor()`} method.

Copyright © 2005–2013 The Apache Software Foundation. All rights reserved.