Class ClientHttp1StreamDuplexer
java.lang.Object
org.apache.hc.core5.http.impl.nio.AbstractHttp1StreamDuplexer<HttpResponse,HttpRequest>
org.apache.hc.core5.http.impl.nio.ClientHttp1StreamDuplexer
- All Implemented Interfaces:
Closeable,AutoCloseable,HttpConnection,SocketModalCloseable,ModalCloseable,Identifiable
@Internal
public class ClientHttp1StreamDuplexer
extends AbstractHttp1StreamDuplexer<HttpResponse,HttpRequest>
I/O event handler for events fired by
ProtocolIOSession that implements
client side HTTP/1.1 messaging protocol with full support for
duplexed message transmission and message pipelining.- Since:
- 5.0
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.hc.core5.http.impl.nio.AbstractHttp1StreamDuplexer
AbstractHttp1StreamDuplexer.CapacityWindow, AbstractHttp1StreamDuplexer.MessageDelineation -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final ConnectionReuseStrategyprivate final Http1Configprivate final HttpProcessorprivate ClientHttp1StreamHandlerprivate ClientHttp1StreamHandlerprivate final Http1StreamChannel<HttpRequest> private final Queue<ClientHttp1StreamHandler> private final Http1StreamListener -
Constructor Summary
ConstructorsConstructorDescriptionClientHttp1StreamDuplexer(ProtocolIOSession ioSession, HttpProcessor httpProcessor, Http1Config http1Config, CharCodingConfig charCodingConfig, ConnectionReuseStrategy connectionReuseStrategy, NHttpMessageParser<HttpResponse> incomingMessageParser, NHttpMessageWriter<HttpRequest> outgoingMessageWriter, ContentLengthStrategy incomingContentStrategy, ContentLengthStrategy outgoingContentStrategy, Http1StreamListener streamListener) -
Method Summary
Modifier and TypeMethodDescription(package private) voidappendState(StringBuilder buf) (package private) voidconsumeData(ByteBuffer src) (package private) voidconsumeHeader(HttpResponse response, EntityDetails entityDetails) protected ContentDecodercreateContentDecoder(long len, ReadableByteChannel channel, SessionInputBuffer buffer, BasicHttpTransportMetrics metrics) protected ContentEncodercreateContentEncoder(long len, WritableByteChannel channel, SessionOutputBuffer buffer, BasicHttpTransportMetrics metrics) (package private) void(package private) void(package private) voidexecute(RequestExecutionCommand executionCommand) protected booleanhandleIncomingMessage(HttpResponse response) protected booleanhandleOutgoingMessage(HttpRequest request) (package private) boolean(package private) voidinputEnd()(package private) boolean(package private) boolean(package private) void(package private) boolean(package private) void(package private) voidtoString()(package private) voidupdateCapacity(CapacityChannel capacityChannel) (package private) voidupdateInputMetrics(HttpResponse response, BasicHttpConnectionMetrics connMetrics) (package private) voidupdateOutputMetrics(HttpRequest request, BasicHttpConnectionMetrics connMetrics) Methods inherited from class org.apache.hc.core5.http.impl.nio.AbstractHttp1StreamDuplexer
close, close, commitMessageHead, endOutputStream, getEndpointDetails, getId, getLocalAddress, getProtocolVersion, getRemoteAddress, getSessionTimeout, getSocketTimeout, getSSLSession, isActive, isOpen, isOutputCompleted, isShuttingDown, onConnect, onDisconnect, onException, onInput, onOutput, onTimeout, parseMessageHead, requestSessionInput, requestSessionOutput, requestShutdown, setSessionTimeout, setSocketTimeout, shutdownSession, shutdownSession, streamOutput, suspendSessionInput, suspendSessionOutput
-
Field Details
-
httpProcessor
-
connectionReuseStrategy
-
http1Config
-
streamListener
-
pipeline
-
outputChannel
-
outgoing
-
incoming
-
-
Constructor Details
-
ClientHttp1StreamDuplexer
public ClientHttp1StreamDuplexer(ProtocolIOSession ioSession, HttpProcessor httpProcessor, Http1Config http1Config, CharCodingConfig charCodingConfig, ConnectionReuseStrategy connectionReuseStrategy, NHttpMessageParser<HttpResponse> incomingMessageParser, NHttpMessageWriter<HttpRequest> outgoingMessageWriter, ContentLengthStrategy incomingContentStrategy, ContentLengthStrategy outgoingContentStrategy, Http1StreamListener streamListener)
-
-
Method Details
-
terminate
- Specified by:
terminatein classAbstractHttp1StreamDuplexer<HttpResponse,HttpRequest>
-
disconnected
void disconnected()- Specified by:
disconnectedin classAbstractHttp1StreamDuplexer<HttpResponse,HttpRequest>
-
updateInputMetrics
- Specified by:
updateInputMetricsin classAbstractHttp1StreamDuplexer<HttpResponse,HttpRequest>
-
updateOutputMetrics
- Specified by:
updateOutputMetricsin classAbstractHttp1StreamDuplexer<HttpResponse,HttpRequest>
-
handleIncomingMessage
- Specified by:
handleIncomingMessagein classAbstractHttp1StreamDuplexer<HttpResponse,HttpRequest> - Throws:
HttpException
-
createContentDecoder
protected ContentDecoder createContentDecoder(long len, ReadableByteChannel channel, SessionInputBuffer buffer, BasicHttpTransportMetrics metrics) throws HttpException - Specified by:
createContentDecoderin classAbstractHttp1StreamDuplexer<HttpResponse,HttpRequest> - Throws:
HttpException
-
handleOutgoingMessage
- Specified by:
handleOutgoingMessagein classAbstractHttp1StreamDuplexer<HttpResponse,HttpRequest> - Throws:
HttpException
-
createContentEncoder
protected ContentEncoder createContentEncoder(long len, WritableByteChannel channel, SessionOutputBuffer buffer, BasicHttpTransportMetrics metrics) throws HttpException - Specified by:
createContentEncoderin classAbstractHttp1StreamDuplexer<HttpResponse,HttpRequest> - Throws:
HttpException
-
inputIdle
boolean inputIdle()- Specified by:
inputIdlein classAbstractHttp1StreamDuplexer<HttpResponse,HttpRequest>
-
outputIdle
boolean outputIdle()- Specified by:
outputIdlein classAbstractHttp1StreamDuplexer<HttpResponse,HttpRequest>
-
outputEnd
- Specified by:
outputEndin classAbstractHttp1StreamDuplexer<HttpResponse,HttpRequest> - Throws:
HttpExceptionIOException
-
execute
- Specified by:
executein classAbstractHttp1StreamDuplexer<HttpResponse,HttpRequest> - Throws:
HttpExceptionIOException
-
isOutputReady
boolean isOutputReady()- Specified by:
isOutputReadyin classAbstractHttp1StreamDuplexer<HttpResponse,HttpRequest>
-
produceOutput
- Specified by:
produceOutputin classAbstractHttp1StreamDuplexer<HttpResponse,HttpRequest> - Throws:
HttpExceptionIOException
-
consumeHeader
void consumeHeader(HttpResponse response, EntityDetails entityDetails) throws HttpException, IOException - Specified by:
consumeHeaderin classAbstractHttp1StreamDuplexer<HttpResponse,HttpRequest> - Throws:
HttpExceptionIOException
-
consumeData
- Specified by:
consumeDatain classAbstractHttp1StreamDuplexer<HttpResponse,HttpRequest> - Throws:
HttpExceptionIOException
-
updateCapacity
- Specified by:
updateCapacityin classAbstractHttp1StreamDuplexer<HttpResponse,HttpRequest> - Throws:
HttpExceptionIOException
-
dataEnd
- Specified by:
dataEndin classAbstractHttp1StreamDuplexer<HttpResponse,HttpRequest> - Throws:
HttpExceptionIOException
-
inputEnd
- Specified by:
inputEndin classAbstractHttp1StreamDuplexer<HttpResponse,HttpRequest> - Throws:
HttpExceptionIOException
-
handleTimeout
boolean handleTimeout()- Specified by:
handleTimeoutin classAbstractHttp1StreamDuplexer<HttpResponse,HttpRequest>
-
appendState
- Overrides:
appendStatein classAbstractHttp1StreamDuplexer<HttpResponse,HttpRequest>
-
toString
-