public class

WaitingThread

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

Class Overview

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!

Summary

Public Constructors
WaitingThread(Condition cond, RouteSpecificPool pool)
Creates a new entry for a waiting thread.
Public Methods
boolean await(Date deadline)
Blocks the calling thread.
final Condition getCondition()
Obtains the condition.
final RouteSpecificPool getPool()
Obtains the pool, if there is one.
final Thread getThread()
Obtains the thread, if there is one.
void interrupt()
void wakeup()
Wakes up the waiting thread.
[Expand]
Inherited Methods
From class java.lang.Object

Public Constructors

public WaitingThread (Condition cond, RouteSpecificPool pool)

Since: API Level 1

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

Public Methods

public boolean await (Date deadline)

Since: API Level 1

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

public final Condition getCondition ()

Since: API Level 1

Obtains the condition.

Returns
  • the condition on which to wait, never null

public final RouteSpecificPool getPool ()

Since: API Level 1

Obtains the pool, if there is one.

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

public final Thread getThread ()

Since: API Level 1

Obtains the thread, if there is one.

Returns
  • the thread which is waiting, or null

public void interrupt ()

Since: API Level 1

public void wakeup ()

Since: API Level 1

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