Class ServerH2StreamHandler
- java.lang.Object
-
- org.apache.hc.core5.http2.impl.nio.ServerH2StreamHandler
-
- All Implemented Interfaces:
ResourceHolder,H2StreamHandler
class ServerH2StreamHandler extends java.lang.Object implements H2StreamHandler
-
-
Field Summary
Fields Modifier and Type Field Description private BasicHttpConnectionMetricsconnMetricsprivate HttpCoreContextcontextprivate DataStreamChanneldataChannelprivate java.util.concurrent.atomic.AtomicBooleandoneprivate AsyncServerExchangeHandlerexchangeHandlerprivate HandlerFactory<AsyncServerExchangeHandler>exchangeHandlerFactoryprivate java.util.concurrent.atomic.AtomicBooleanfailedprivate HttpProcessorhttpProcessorprivate H2StreamChanneloutputChannelprivate HttpRequestreceivedRequestprivate MessageStaterequestStateprivate ResponseChannelresponseChannelprivate java.util.concurrent.atomic.AtomicBooleanresponseCommittedprivate MessageStateresponseState
-
Constructor Summary
Constructors Constructor Description ServerH2StreamHandler(H2StreamChannel outputChannel, HttpProcessor httpProcessor, BasicHttpConnectionMetrics connMetrics, HandlerFactory<AsyncServerExchangeHandler> exchangeHandlerFactory, 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> headers, boolean endStream)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
-
responseChannel
private final ResponseChannel responseChannel
-
httpProcessor
private final HttpProcessor httpProcessor
-
connMetrics
private final BasicHttpConnectionMetrics connMetrics
-
exchangeHandlerFactory
private final HandlerFactory<AsyncServerExchangeHandler> exchangeHandlerFactory
-
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
-
exchangeHandler
private volatile AsyncServerExchangeHandler exchangeHandler
-
receivedRequest
private volatile HttpRequest receivedRequest
-
requestState
private volatile MessageState requestState
-
responseState
private volatile MessageState responseState
-
-
Constructor Detail
-
ServerH2StreamHandler
ServerH2StreamHandler(H2StreamChannel outputChannel, HttpProcessor httpProcessor, BasicHttpConnectionMetrics connMetrics, HandlerFactory<AsyncServerExchangeHandler> exchangeHandlerFactory, HttpCoreContext context)
-
-
Method Detail
-
getPushHandlerFactory
public HandlerFactory<AsyncPushConsumer> getPushHandlerFactory()
- Specified by:
getPushHandlerFactoryin 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
-
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> headers, boolean endStream) 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
-
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
-
-