Class ServerPushH2StreamHandler
- java.lang.Object
-
- org.apache.hc.core5.http2.impl.nio.ServerPushH2StreamHandler
-
- All Implemented Interfaces:
ResourceHolder,H2StreamHandler
class ServerPushH2StreamHandler extends java.lang.Object implements H2StreamHandler
-
-
Field Summary
Fields Modifier and Type Field Description private BasicHttpConnectionMetricsconnMetricsprivate HttpCoreContextcontextprivate DataStreamChanneldataChannelprivate java.util.concurrent.atomic.AtomicBooleandoneprivate java.util.concurrent.atomic.AtomicBooleanfailedprivate HttpProcessorhttpProcessorprivate H2StreamChanneloutputChannelprivate AsyncPushProducerpushProducerprivate MessageStaterequestStateprivate java.util.concurrent.atomic.AtomicBooleanresponseCommittedprivate MessageStateresponseState
-
Constructor Summary
Constructors Constructor Description ServerPushH2StreamHandler(H2StreamChannel outputChannel, HttpProcessor httpProcessor, BasicHttpConnectionMetrics connMetrics, AsyncPushProducer pushProducer, HttpCoreContext context)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private voidcommitInformation(HttpResponse response)private voidcommitPromise(HttpRequest promise, AsyncPushProducer pushProducer)private voidcommitResponse(HttpResponse response, EntityDetails responseEntityDetails)voidconsumeData(java.nio.ByteBuffer src, boolean endStream)voidconsumeHeader(java.util.List<Header> requestHeaders, boolean requestEndStream)voidconsumePromise(java.util.List<Header> headers)voidfailed(java.lang.Exception cause)HandlerFactory<AsyncPushConsumer>getPushHandlerFactory()voidhandle(HttpException ex, boolean endStream)booleanisOutputReady()voidproduceOutput()voidreleaseResources()java.lang.StringtoString()voidupdateInputCapacity()
-
-
-
Field Detail
-
outputChannel
private final H2StreamChannel outputChannel
-
dataChannel
private final DataStreamChannel dataChannel
-
httpProcessor
private final HttpProcessor httpProcessor
-
connMetrics
private final BasicHttpConnectionMetrics connMetrics
-
pushProducer
private final AsyncPushProducer pushProducer
-
context
private final HttpCoreContext context
-
responseCommitted
private final java.util.concurrent.atomic.AtomicBoolean responseCommitted
-
failed
private final java.util.concurrent.atomic.AtomicBoolean failed
-
done
private final java.util.concurrent.atomic.AtomicBoolean done
-
requestState
private volatile MessageState requestState
-
responseState
private volatile MessageState responseState
-
-
Constructor Detail
-
ServerPushH2StreamHandler
ServerPushH2StreamHandler(H2StreamChannel outputChannel, HttpProcessor httpProcessor, BasicHttpConnectionMetrics connMetrics, AsyncPushProducer pushProducer, HttpCoreContext context)
-
-
Method Detail
-
getPushHandlerFactory
public HandlerFactory<AsyncPushConsumer> getPushHandlerFactory()
- Specified by:
getPushHandlerFactoryin interfaceH2StreamHandler
-
consumePromise
public void consumePromise(java.util.List<Header> headers) throws HttpException, java.io.IOException
- Specified by:
consumePromisein interfaceH2StreamHandler- Throws:
HttpExceptionjava.io.IOException
-
consumeHeader
public void consumeHeader(java.util.List<Header> requestHeaders, boolean requestEndStream) throws HttpException, java.io.IOException
- Specified by:
consumeHeaderin interfaceH2StreamHandler- Throws:
HttpExceptionjava.io.IOException
-
updateInputCapacity
public void updateInputCapacity() throws java.io.IOException- Specified by:
updateInputCapacityin interfaceH2StreamHandler- Throws:
java.io.IOException
-
consumeData
public void consumeData(java.nio.ByteBuffer src, boolean endStream) throws HttpException, java.io.IOException- Specified by:
consumeDatain interfaceH2StreamHandler- Throws:
HttpExceptionjava.io.IOException
-
isOutputReady
public boolean isOutputReady()
- Specified by:
isOutputReadyin interfaceH2StreamHandler
-
commitInformation
private void commitInformation(HttpResponse response) throws java.io.IOException, HttpException
- Throws:
java.io.IOExceptionHttpException
-
commitResponse
private void commitResponse(HttpResponse response, EntityDetails responseEntityDetails) throws HttpException, java.io.IOException
- Throws:
HttpExceptionjava.io.IOException
-
commitPromise
private void commitPromise(HttpRequest promise, AsyncPushProducer pushProducer) throws HttpException, java.io.IOException
- Throws:
HttpExceptionjava.io.IOException
-
produceOutput
public void produceOutput() throws HttpException, java.io.IOException- Specified by:
produceOutputin interfaceH2StreamHandler- Throws:
HttpExceptionjava.io.IOException
-
handle
public void handle(HttpException ex, boolean endStream) throws HttpException, java.io.IOException
- Specified by:
handlein interfaceH2StreamHandler- Throws:
HttpExceptionjava.io.IOException
-
failed
public void failed(java.lang.Exception cause)
- Specified by:
failedin interfaceH2StreamHandler
-
releaseResources
public void releaseResources()
- Specified by:
releaseResourcesin interfaceResourceHolder
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-