Class HttpSender
- java.lang.Object
-
- org.eclipse.jetty.client.HttpSender
-
- All Implemented Interfaces:
java.util.EventListener,AsyncContentProvider.Listener
- Direct Known Subclasses:
HttpSenderOverHTTP
public abstract class HttpSender extends java.lang.Object implements AsyncContentProvider.Listener
HttpSenderabstracts the algorithm to send HTTP requests, so that subclasses only implement the transport-specific code to send requests over the wire, implementingsendHeaders(HttpExchange, HttpContent, Callback)andsendContent(HttpExchange, HttpContent, Callback).HttpSendergoverns two state machines.The request state machine is updated by
HttpSenderas the various steps of sending a request are executed, seeRequestState. At any point in time, a user thread may abort the request, which may (if the request has not been completely sent yet) move the request state machine toRequestState#FAILURE. The request state machine guarantees that the request steps are executed (by I/O threads) only if the request has not been failed already.The sender state machine is updated by
HttpSenderfrom three sources: deferred content notifications (viaonContent()), 100-continue notifications (viaproceed(HttpExchange, Throwable)) and normal request send (viasendContent(HttpExchange, HttpContent, Callback)). This state machine must guarantee that the request sending is never executed concurrently: only one of those sources may trigger the call tosendContent(HttpExchange, HttpContent, Callback).- See Also:
HttpReceiver
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanabort(HttpExchange exchange, java.lang.Throwable failure)booleanisFailed()voidonContent()Callback method invoked when content is availablevoidproceed(HttpExchange exchange, java.lang.Throwable failure)voidsend(HttpExchange exchange)java.lang.StringtoString()
-
-
-
Method Detail
-
isFailed
public boolean isFailed()
-
onContent
public void onContent()
Description copied from interface:AsyncContentProvider.ListenerCallback method invoked when content is available- Specified by:
onContentin interfaceAsyncContentProvider.Listener
-
send
public void send(HttpExchange exchange)
-
proceed
public void proceed(HttpExchange exchange, java.lang.Throwable failure)
-
abort
public boolean abort(HttpExchange exchange, java.lang.Throwable failure)
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-