Class HttpStreamOverHTTP2
java.lang.Object
org.eclipse.jetty.http2.server.internal.HttpStreamOverHTTP2
- All Implemented Interfaces:
HTTP2Channel.Server,HttpStream,Callback,Invocable
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.eclipse.jetty.util.Callback
Callback.Completable, Callback.Completing, Callback.NestedNested classes/interfaces inherited from interface org.eclipse.jetty.server.HttpStream
HttpStream.WrapperNested classes/interfaces inherited from interface org.eclipse.jetty.util.thread.Invocable
Invocable.Callable, Invocable.InvocationType, Invocable.ReadyTask, Invocable.Task -
Field Summary
Fields inherited from interface org.eclipse.jetty.server.HttpStream
CONTENT_NOT_CONSUMED, UPGRADE_CONNECTION_ATTRIBUTEFields inherited from interface org.eclipse.jetty.util.thread.Invocable
__nonBlocking -
Constructor Summary
ConstructorsConstructorDescriptionHttpStreamOverHTTP2(HTTP2ServerConnection connection, HttpChannel httpChannel, HTTP2Stream stream) -
Method Summary
Modifier and TypeMethodDescriptionvoiddemand()Demands more content chunks to the underlying implementation.voidCallback invoked when the operation fails.getId()longbooleanbooleanisIdle()onPushRequest(MetaData.Request request) onRequest(HeadersFrame frame) voidonTimeout(TimeoutException timeout, BiConsumer<Runnable, Boolean> consumer) onTrailer(HeadersFrame frame) voidprepareResponse(HttpFields.Mutable headers) Prepare the response headers with respect to the stream.voidpush(MetaData.Request resource) Pushes the givenresourceto the client.read()Reads a chunk of content, with the same semantic asContent.Source.read().voidsend(MetaData.Request request, MetaData.Response response, boolean last, ByteBuffer byteBuffer, Callback callback) Send response meta-data and/or data.voidsetIdleTimeout(long idleTimeoutMs) voidCallback invoked when the operation completes.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.eclipse.jetty.util.Callback
completeWithMethods inherited from interface org.eclipse.jetty.server.HttpStream
getInvocationType
-
Constructor Details
-
HttpStreamOverHTTP2
public HttpStreamOverHTTP2(HTTP2ServerConnection connection, HttpChannel httpChannel, HTTP2Stream stream)
-
-
Method Details
-
getId
- Specified by:
getIdin interfaceHttpStream- Returns:
- an ID unique within the lifetime scope of the associated protocol connection. This may be a protocol ID (e.g. HTTP/2 stream ID) or it may be unrelated to the protocol.
-
onRequest
-
read
Description copied from interface:HttpStreamReads a chunk of content, with the same semantic as
Content.Source.read().This method is called from the implementation of
Request.read().- Specified by:
readin interfaceHttpStream- Returns:
- a chunk of content, possibly with non-null
Content.Chunk.getFailure()ornull.
-
demand
public void demand()Description copied from interface:HttpStreamDemands more content chunks to the underlying implementation.
This method is called from the implementation of
Request.demand(Runnable)and when the demand can be satisfied the implementation must callHttpChannel.onContentAvailable(). If there is a problem meeting demand, then the implementation must callHttpChannel.onFailure(Throwable).- Specified by:
demandin interfaceHttpStream- See Also:
-
onDataAvailable
- Specified by:
onDataAvailablein interfaceHTTP2Channel.Server
-
onTrailer
- Specified by:
onTrailerin interfaceHTTP2Channel.Server
-
prepareResponse
Description copied from interface:HttpStreamPrepare the response headers with respect to the stream. Typically this may set headers related to protocol specific behaviour (e.g.
Keep-Alivefor HTTP/1.0 connections).- Specified by:
prepareResponsein interfaceHttpStream- Parameters:
headers- The headers to prepare.
-
send
public void send(MetaData.Request request, MetaData.Response response, boolean last, ByteBuffer byteBuffer, Callback callback) Description copied from interface:HttpStreamSend response meta-data and/or data.
- Specified by:
sendin interfaceHttpStream- Parameters:
request- The request metadata for which the response should be sent.response- The response metadata to be sent or null if the response is already committed by a previous call to send.last- True if this will be the last call to send and the response can be completed.byteBuffer- A buffer of content to send or null if no content.callback- The callback to invoke when the send is completed successfully or in failure.
-
getIdleTimeout
public long getIdleTimeout()- Specified by:
getIdleTimeoutin interfaceHttpStream
-
setIdleTimeout
public void setIdleTimeout(long idleTimeoutMs) - Specified by:
setIdleTimeoutin interfaceHttpStream
-
push
Description copied from interface:HttpStreamPushes the given
resourceto the client.- Specified by:
pushin interfaceHttpStream- Parameters:
resource- the resource to push- See Also:
-
onPushRequest
-
isCommitted
public boolean isCommitted()- Specified by:
isCommittedin interfaceHttpStream
-
isIdle
public boolean isIdle()- Specified by:
isIdlein interfaceHTTP2Channel.Server
-
getTunnelSupport
- Specified by:
getTunnelSupportin interfaceHttpStream
-
consumeAvailable
- Specified by:
consumeAvailablein interfaceHttpStream
-
onTimeout
- Specified by:
onTimeoutin interfaceHTTP2Channel.Server
-
onFailure
- Specified by:
onFailurein interfaceHTTP2Channel.Server
-
succeeded
-
failed
-