## org.apache.http.impl.conn.tsccm
Class WaitingThread

    java.lang.Object
      org.apache.http.impl.conn.tsccm.WaitingThread

    @NotThreadSafe
    public class WaitingThread

extends Object

Represents a thread waiting for a connection. This class implements throwaway objects. It is instantiated whenever a thread needs to wait. Instances are not re-used, except if the waiting thread experiences a spurious wakeup and continues to wait.
All methods assume external synchronization on the condition passed to the constructor. Instances of this class do not synchronize access!

Since:
  4.0

Constructor Summary
`WaitingThread(Condition cond, RouteSpecificPool pool)` Creates a new entry for a waiting thread.

Method Summary
`boolean` `await(Date deadline)` Blocks the calling thread.
`Condition` `getCondition()` Obtains the condition.
`RouteSpecificPool` `getPool()` Obtains the pool, if there is one.
`Thread` `getThread()` Obtains the thread, if there is one.
`void` `interrupt()`
`void` `wakeup()` Wakes up the waiting thread.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### WaitingThread

    public WaitingThread(Condition cond,
                         RouteSpecificPool pool)

  Creates a new entry for a waiting thread.

  Parameters:
    `cond` - the condition for which to wait
    `pool` - the pool on which the thread will be waiting, or `null`

Method Detail

### getCondition

    public final Condition getCondition()

  Obtains the condition.

  Returns:
    the condition on which to wait, never `null`

### getPool

    public final RouteSpecificPool getPool()

  Obtains the pool, if there is one.

  Returns:
    the pool on which a thread is or was waiting, or `null`

### getThread

    public final Thread getThread()

  Obtains the thread, if there is one.

  Returns:
    the thread which is waiting, or `null`

### await

    public boolean await(Date deadline)
                  throws InterruptedException

  Blocks the calling thread. This method returns when the thread is notified or interrupted, if a timeout occurrs, or if there is a spurious wakeup.
  This method assumes external synchronization.

  Parameters:
    `deadline` - when to time out, or `null` for no timeout
  Returns:
    `true` if the condition was satisfied, `false` in case of a timeout. Typically, a call to `wakeup()` is used to indicate that the condition was satisfied. Since the condition is accessible outside, this cannot be guaranteed though.
  Throws:
    `InterruptedException` - if the waiting thread was interrupted
  See Also:
    `wakeup()`

### wakeup

    public void wakeup()

  Wakes up the waiting thread.
  This method assumes external synchronization.

### interrupt

    public void interrupt()

Copyright © 1999-2011 The Apache Software Foundation. All Rights Reserved.