org.apache.http.impl.nio.reactor

## Class SessionRequestImpl

- java.lang.Object
- - org.apache.http.impl.nio.reactor.SessionRequestImpl

- All Implemented Interfaces:
    SessionRequest

      @ThreadSafe
      public class SessionRequestImpl
      extends Object
      implements SessionRequest

  Default implementation of `SessionRequest`.
  Since:
    4.0

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `SessionRequestImpl(SocketAddress remoteAddress, SocketAddress localAddress, Object attachment, SessionRequestCallback callback)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `cancel()` Cancels the request.
    `void` | `completed(IOSession session)`
    `void` | `failed(IOException exception)`
    `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.
    `protected void` | `setKey(SelectionKey key)`
    `void` | `timeout()`
    `void` | `waitFor()` Waits for completion of this session request.

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

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

- - ### Constructor Detail

    - #### SessionRequestImpl

          public SessionRequestImpl(SocketAddress remoteAddress,
                            SocketAddress localAddress,
                            Object attachment,
                            SessionRequestCallback callback)

  - ### Method Detail

    - #### getRemoteAddress

          public SocketAddress getRemoteAddress()

      Description copied from interface: `SessionRequest`
      Returns socket address of the remote host.
      Specified by:
        `getRemoteAddress` in interface `SessionRequest`
      Returns:
        socket address of the remote host

    - #### getLocalAddress

          public SocketAddress getLocalAddress()

      Description copied from interface: `SessionRequest`
      Returns local socket address.
      Specified by:
        `getLocalAddress` in interface `SessionRequest`
      Returns:
        local socket address.

    - #### getAttachment

          public Object getAttachment()

      Description copied from interface: `SessionRequest`
      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.
      Specified by:
        `getAttachment` in interface `SessionRequest`
      Returns:
        attachment object.

    - #### isCompleted

          public boolean isCompleted()

      Description copied from interface: `SessionRequest`
      Determines whether the request has been completed (either successfully or unsuccessfully).
      Specified by:
        `isCompleted` in interface `SessionRequest`
      Returns:
        `true if the request has been completed, `false if still pending.``

    - #### setKey

          protected void setKey(SelectionKey key)

    - #### waitFor

          public void waitFor()
                       throws InterruptedException

      Description copied from interface: `SessionRequest`
      Waits for completion of this session request.
      Specified by:
        `waitFor` in interface `SessionRequest`
      Throws:
        `InterruptedException` - in case the execution process was interrupted.

    - #### getSession

          public IOSession getSession()

      Description copied from interface: `SessionRequest`
      Returns `IOSession` instance created as a result of this request or `null` if the request is still pending.
      Specified by:
        `getSession` in interface `SessionRequest`
      Returns:
        I/O session or `null` if the request is still pending.

    - #### getException

          public IOException getException()

      Description copied from interface: `SessionRequest`
      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.
      Specified by:
        `getException` in interface `SessionRequest`
      Returns:
        I/O exception or `null` if no error occurred to this point.

    - #### completed

          public void completed(IOSession session)

    - #### failed

          public void failed(IOException exception)

    - #### timeout

          public void timeout()

    - #### getConnectTimeout

          public int getConnectTimeout()

      Description copied from interface: `SessionRequest`
      Returns connect timeout value in milliseconds.
      Specified by:
        `getConnectTimeout` in interface `SessionRequest`
      Returns:
        connect timeout value in milliseconds.

    - #### setConnectTimeout

          public void setConnectTimeout(int timeout)

      Description copied from interface: `SessionRequest`
      Sets connect timeout value in milliseconds.
      Specified by:
        `setConnectTimeout` in interface `SessionRequest`
      Parameters:
        `timeout` - connect timeout value in milliseconds.

    - #### cancel

          public void cancel()

      Description copied from interface: `SessionRequest`
      Cancels the request. Invocation of this method will set the status of the request to completed and will unblock threads blocked in the {`SessionRequest.waitFor()`} method.
      Specified by:
        `cancel` in interface `SessionRequest`

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