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:
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.ActionNested classes/interfaces inherited from interface org.eclipse.jetty.util.Callback
Callback.Completable, Callback.Completing, Callback.NestedNested classes/interfaces inherited from interface org.eclipse.jetty.util.thread.Invocable
Invocable.InvocationType, Invocable.ReadyTask, Invocable.Task -
Field Summary
Fields inherited from interface org.eclipse.jetty.util.thread.Invocable
__nonBlocking -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedStreamReader(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, Request proxyRequest, AsyncRequestContent content) -
Method Summary
Modifier and TypeMethodDescriptionvoidMethod to invoke when the asynchronous sub-task fails, or to fail the overall asynchronous task and therefore terminate the iteration.voidvoidvoidprotected voidonRequestContent(javax.servlet.http.HttpServletRequest request, Request proxyRequest, AsyncRequestContent content, byte[] buffer, int offset, int length, Callback callback) protected IteratingCallback.Actionprocess()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, toStringMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.eclipse.jetty.util.Callback
completeWithMethods inherited from interface org.eclipse.jetty.util.thread.Invocable
getInvocationType
-
Constructor Details
-
StreamReader
protected StreamReader(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, Request proxyRequest, AsyncRequestContent content)
-
-
Method Details
-
onDataAvailable
public void onDataAvailable()- Specified by:
onDataAvailablein interfacejavax.servlet.ReadListener
-
onAllDataRead
public void onAllDataRead()- Specified by:
onAllDataReadin interfacejavax.servlet.ReadListener
-
onError
- Specified by:
onErrorin interfacejavax.servlet.ReadListener
-
process
Description copied from class:IteratingCallbackMethod 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.IDLEwhen no sub tasks are available for execution but the overall job is not completed yetIteratingCallback.Action.SCHEDULEDwhen the sub task asynchronous execution has been startedIteratingCallback.Action.SUCCEEDEDwhen the overall job is completed
- Specified by:
processin classIteratingCallback- Returns:
- the appropriate Action
- Throws:
Exception
-
onRequestContent
protected void onRequestContent(javax.servlet.http.HttpServletRequest request, Request proxyRequest, AsyncRequestContent content, byte[] buffer, int offset, int length, Callback callback) -
failed
Description copied from class:IteratingCallbackMethod 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:
failedin interfaceCallback- Overrides:
failedin classIteratingCallback- Parameters:
x- the reason for the operation failure- See Also:
-