Package org.eclipse.jetty.proxy
Class AsyncProxyServlet.StreamReader
- java.lang.Object
-
- org.eclipse.jetty.util.IteratingCallback
-
- org.eclipse.jetty.proxy.AsyncProxyServlet.StreamReader
-
- All Implemented Interfaces:
java.util.EventListener
,javax.servlet.ReadListener
,Callback
,Invocable
- Enclosing class:
- AsyncProxyServlet
protected class AsyncProxyServlet.StreamReader extends IteratingCallback implements javax.servlet.ReadListener
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.eclipse.jetty.util.IteratingCallback
IteratingCallback.Action
-
Nested classes/interfaces inherited from interface org.eclipse.jetty.util.Callback
Callback.Completable, Callback.Completing, Callback.Nested
-
Nested classes/interfaces inherited from interface org.eclipse.jetty.util.thread.Invocable
Invocable.InvocationType
-
-
Field Summary
-
Fields inherited from interface org.eclipse.jetty.util.thread.Invocable
__nonBlocking
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
StreamReader(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, Request proxyRequest, DeferredContentProvider provider)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
failed(java.lang.Throwable x)
Method to invoke when the asynchronous sub-task fails, or to fail the overall asynchronous task and therefore terminate the iteration.void
onAllDataRead()
void
onDataAvailable()
void
onError(java.lang.Throwable t)
protected void
onRequestContent(javax.servlet.http.HttpServletRequest request, Request proxyRequest, DeferredContentProvider provider, byte[] buffer, int offset, int length, Callback callback)
protected IteratingCallback.Action
process()
Method called byIteratingCallback.iterate()
to process the asynchronous sub-task.-
Methods inherited from class org.eclipse.jetty.util.IteratingCallback
close, isClosed, isFailed, isSucceeded, iterate, onCompleteFailure, onCompleteSuccess, reset, succeeded, toString
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.eclipse.jetty.util.thread.Invocable
getInvocationType
-
-
-
-
Constructor Detail
-
StreamReader
protected StreamReader(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, Request proxyRequest, DeferredContentProvider provider)
-
-
Method Detail
-
onDataAvailable
public void onDataAvailable() throws java.io.IOException
- Specified by:
onDataAvailable
in interfacejavax.servlet.ReadListener
- Throws:
java.io.IOException
-
onAllDataRead
public void onAllDataRead() throws java.io.IOException
- Specified by:
onAllDataRead
in interfacejavax.servlet.ReadListener
- Throws:
java.io.IOException
-
onError
public void onError(java.lang.Throwable t)
- Specified by:
onError
in interfacejavax.servlet.ReadListener
-
process
protected IteratingCallback.Action process() throws java.lang.Exception
Description copied from class:IteratingCallback
Method called byIteratingCallback.iterate()
to process the asynchronous sub-task.Implementations must initiate the asynchronous execution of the sub-task (if any) and return an appropriate action:
IteratingCallback.Action.IDLE
when no sub tasks are available for execution but the overall job is not completed yetIteratingCallback.Action.SCHEDULED
when the sub task asynchronous execution has been startedIteratingCallback.Action.SUCCEEDED
when the overall job is completed
- Specified by:
process
in classIteratingCallback
- Returns:
- the appropriate Action
- Throws:
java.lang.Exception
-
onRequestContent
protected void onRequestContent(javax.servlet.http.HttpServletRequest request, Request proxyRequest, DeferredContentProvider provider, byte[] buffer, int offset, int length, Callback callback)
-
failed
public void failed(java.lang.Throwable x)
Description copied from class:IteratingCallback
Method to invoke when the asynchronous sub-task fails, or to fail the overall asynchronous task and therefore terminate the iteration.Subclasses that override this method must always remember to call
super.failed(Throwable)
.Eventually,
IteratingCallback.onCompleteFailure(Throwable)
is called, either by the caller thread or by the processing thread.- Specified by:
failed
in interfaceCallback
- Overrides:
failed
in classIteratingCallback
- Parameters:
x
- the reason for the operation failure- See Also:
IteratingCallback.isFailed()
-
-