Package org.eclipse.jetty.util
Class SharedBlockingCallback
- java.lang.Object
-
- org.eclipse.jetty.util.SharedBlockingCallback
-
- Direct Known Subclasses:
HttpOutput.WriteBlocker
public class SharedBlockingCallback extends java.lang.ObjectProvides a reusableCallbackthat can block the thread while waiting to be completed.A typical usage pattern is:
void someBlockingCall(Object... args) throws IOException { try(Blocker blocker = sharedBlockingCallback.acquire()) { someAsyncCall(args, blocker); blocker.block(); } }
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description classSharedBlockingCallback.BlockerA Closeable Callback.private static classSharedBlockingCallback.BlockerFailedExceptionprivate static classSharedBlockingCallback.BlockerTimeoutException
-
Field Summary
Fields Modifier and Type Field Description private SharedBlockingCallback.Blocker_blockerprivate java.util.concurrent.locks.Condition_completeprivate java.util.concurrent.locks.Condition_idleprivate java.util.concurrent.locks.ReentrantLock_lockprivate static java.lang.ThrowableFAILEDprivate static java.lang.ThrowableIDLEprivate static LoggerLOGprivate static java.lang.ThrowableSUCCEEDED
-
Constructor Summary
Constructors Constructor Description SharedBlockingCallback()
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description SharedBlockingCallback.Blockeracquire()booleanfail(java.lang.Throwable cause)protected longgetIdleTimeout()Deprecated.protected voidnotComplete(SharedBlockingCallback.Blocker blocker)
-
-
-
Field Detail
-
LOG
private static final Logger LOG
-
IDLE
private static final java.lang.Throwable IDLE
-
SUCCEEDED
private static final java.lang.Throwable SUCCEEDED
-
FAILED
private static final java.lang.Throwable FAILED
-
_lock
private final java.util.concurrent.locks.ReentrantLock _lock
-
_idle
private final java.util.concurrent.locks.Condition _idle
-
_complete
private final java.util.concurrent.locks.Condition _complete
-
_blocker
private SharedBlockingCallback.Blocker _blocker
-
-
Method Detail
-
getIdleTimeout
@Deprecated protected long getIdleTimeout()
Deprecated.
-
acquire
public SharedBlockingCallback.Blocker acquire() throws java.io.IOException
- Throws:
java.io.IOException
-
fail
public boolean fail(java.lang.Throwable cause)
-
notComplete
protected void notComplete(SharedBlockingCallback.Blocker blocker)
-
-