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 BasicHttpConnectionMetrics
connMetrics
private HttpCoreContext
context
private DataStreamChannel
dataChannel
private java.util.concurrent.atomic.AtomicBoolean
done
private java.util.concurrent.atomic.AtomicBoolean
failed
private HttpProcessor
httpProcessor
private H2StreamChannel
outputChannel
private AsyncPushProducer
pushProducer
private MessageState
requestState
private java.util.concurrent.atomic.AtomicBoolean
responseCommitted
private MessageState
responseState
-
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 void
commitInformation(HttpResponse response)
private void
commitPromise(HttpRequest promise, AsyncPushProducer pushProducer)
private void
commitResponse(HttpResponse response, EntityDetails responseEntityDetails)
void
consumeData(java.nio.ByteBuffer src, boolean endStream)
void
consumeHeader(java.util.List<Header> requestHeaders, boolean requestEndStream)
void
consumePromise(java.util.List<Header> headers)
void
failed(java.lang.Exception cause)
HandlerFactory<AsyncPushConsumer>
getPushHandlerFactory()
void
handle(HttpException ex, boolean endStream)
boolean
isOutputReady()
void
produceOutput()
void
releaseResources()
java.lang.String
toString()
void
updateInputCapacity()
-
-
-
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:
getPushHandlerFactory
in interfaceH2StreamHandler
-
consumePromise
public void consumePromise(java.util.List<Header> headers) throws HttpException, java.io.IOException
- Specified by:
consumePromise
in interfaceH2StreamHandler
- Throws:
HttpException
java.io.IOException
-
consumeHeader
public void consumeHeader(java.util.List<Header> requestHeaders, boolean requestEndStream) throws HttpException, java.io.IOException
- Specified by:
consumeHeader
in interfaceH2StreamHandler
- Throws:
HttpException
java.io.IOException
-
updateInputCapacity
public void updateInputCapacity() throws java.io.IOException
- Specified by:
updateInputCapacity
in interfaceH2StreamHandler
- Throws:
java.io.IOException
-
consumeData
public void consumeData(java.nio.ByteBuffer src, boolean endStream) throws HttpException, java.io.IOException
- Specified by:
consumeData
in interfaceH2StreamHandler
- Throws:
HttpException
java.io.IOException
-
isOutputReady
public boolean isOutputReady()
- Specified by:
isOutputReady
in interfaceH2StreamHandler
-
commitInformation
private void commitInformation(HttpResponse response) throws java.io.IOException, HttpException
- Throws:
java.io.IOException
HttpException
-
commitResponse
private void commitResponse(HttpResponse response, EntityDetails responseEntityDetails) throws HttpException, java.io.IOException
- Throws:
HttpException
java.io.IOException
-
commitPromise
private void commitPromise(HttpRequest promise, AsyncPushProducer pushProducer) throws HttpException, java.io.IOException
- Throws:
HttpException
java.io.IOException
-
produceOutput
public void produceOutput() throws HttpException, java.io.IOException
- Specified by:
produceOutput
in interfaceH2StreamHandler
- Throws:
HttpException
java.io.IOException
-
handle
public void handle(HttpException ex, boolean endStream) throws HttpException, java.io.IOException
- Specified by:
handle
in interfaceH2StreamHandler
- Throws:
HttpException
java.io.IOException
-
failed
public void failed(java.lang.Exception cause)
- Specified by:
failed
in interfaceH2StreamHandler
-
releaseResources
public void releaseResources()
- Specified by:
releaseResources
in interfaceResourceHolder
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-