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.Object
Provides a reusableCallback
that 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 class
SharedBlockingCallback.Blocker
A Closeable Callback.private static class
SharedBlockingCallback.BlockerTimeoutException
-
Field Summary
Fields Modifier and Type Field Description private SharedBlockingCallback.Blocker
_blocker
private java.util.concurrent.locks.Condition
_complete
private java.util.concurrent.locks.Condition
_idle
private java.util.concurrent.locks.ReentrantLock
_lock
private static java.lang.Throwable
FAILED
private static java.lang.Throwable
IDLE
private static Logger
LOG
private static java.lang.Throwable
SUCCEEDED
-
Constructor Summary
Constructors Constructor Description SharedBlockingCallback()
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description SharedBlockingCallback.Blocker
acquire()
protected long
getIdleTimeout()
Deprecated.protected void
notComplete(SharedBlockingCallback.Blocker blocker)
-
-
-
Field Detail
-
LOG
private static final Logger LOG
-
IDLE
private static java.lang.Throwable IDLE
-
SUCCEEDED
private static java.lang.Throwable SUCCEEDED
-
FAILED
private static 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
-
notComplete
protected void notComplete(SharedBlockingCallback.Blocker blocker)
-
-