@Internal public class ServerHttp1StreamDuplexer extends Object
ProtocolIOSession that implements
server side HTTP/1.1 messaging protocol with full support for
duplexed message transmission and message pipelining.| Constructor and Description |
|---|
ServerHttp1StreamDuplexer(ProtocolIOSession ioSession,
HttpProcessor httpProcessor,
HandlerFactory<AsyncServerExchangeHandler> exchangeHandlerFactory,
String scheme,
Http1Config http1Config,
CharCodingConfig charCodingConfig,
ConnectionReuseStrategy connectionReuseStrategy,
NHttpMessageParser<HttpRequest> incomingMessageParser,
NHttpMessageWriter<HttpResponse> outgoingMessageWriter,
ContentLengthStrategy incomingContentStrategy,
ContentLengthStrategy outgoingContentStrategy,
Http1StreamListener streamListener,
Callback<Exception> exceptionCallback) |
| Modifier and Type | Method and Description |
|---|---|
void |
close()
Closes this connection gracefully.
|
void |
close(CloseMode closeMode)
Closes this process or endpoint and releases any system resources associated
with it.
|
protected ContentDecoder |
createContentDecoder(long len,
ReadableByteChannel channel,
SessionInputBuffer buffer,
BasicHttpTransportMetrics metrics) |
protected ContentEncoder |
createContentEncoder(long len,
WritableByteChannel channel,
SessionOutputBuffer buffer,
BasicHttpTransportMetrics metrics) |
EndpointDetails |
getEndpointDetails()
Returns this connection's endpoint details.
|
String |
getId() |
SocketAddress |
getLocalAddress()
Returns this connection's local address or
null if it is not bound yet. |
ProtocolVersion |
getProtocolVersion()
Returns this connection's protocol version or
null if unknown. |
SocketAddress |
getRemoteAddress()
Returns this connection's remote address or
null if it is not connected yet or
unconnected. |
Timeout |
getSocketTimeout()
Returns the socket timeout value.
|
SSLSession |
getSSLSession()
Returns this connection's SSL session or
null if TLS has not been activated. |
protected boolean |
handleIncomingMessage(HttpRequest request) |
protected boolean |
handleOutgoingMessage(HttpResponse response) |
boolean |
isOpen()
Checks if this connection is open.
|
void |
onConnect() |
void |
onDisconnect() |
void |
onException(Exception ex) |
void |
onInput(ByteBuffer src) |
void |
onOutput() |
void |
onTimeout(Timeout timeout) |
void |
setSocketTimeout(Timeout timeout)
Sets the socket timeout value.
|
String |
toString() |
public ServerHttp1StreamDuplexer(ProtocolIOSession ioSession, HttpProcessor httpProcessor, HandlerFactory<AsyncServerExchangeHandler> exchangeHandlerFactory, String scheme, Http1Config http1Config, CharCodingConfig charCodingConfig, ConnectionReuseStrategy connectionReuseStrategy, NHttpMessageParser<HttpRequest> incomingMessageParser, NHttpMessageWriter<HttpResponse> outgoingMessageWriter, ContentLengthStrategy incomingContentStrategy, ContentLengthStrategy outgoingContentStrategy, Http1StreamListener streamListener, Callback<Exception> exceptionCallback)
protected boolean handleIncomingMessage(HttpRequest request) throws HttpException
HttpExceptionprotected ContentDecoder createContentDecoder(long len, ReadableByteChannel channel, SessionInputBuffer buffer, BasicHttpTransportMetrics metrics) throws HttpException
HttpExceptionprotected boolean handleOutgoingMessage(HttpResponse response) throws HttpException
HttpExceptionprotected ContentEncoder createContentEncoder(long len, WritableByteChannel channel, SessionOutputBuffer buffer, BasicHttpTransportMetrics metrics) throws HttpException
HttpExceptionpublic String getId()
getId in interface Identifiablepublic final void onConnect()
throws HttpException,
IOException
HttpExceptionIOExceptionpublic final void onInput(ByteBuffer src) throws HttpException, IOException
HttpExceptionIOExceptionpublic final void onOutput()
throws IOException,
HttpException
IOExceptionHttpExceptionpublic final void onTimeout(Timeout timeout) throws IOException, HttpException
IOExceptionHttpExceptionpublic final void onException(Exception ex)
public final void onDisconnect()
public void close()
throws IOException
HttpConnectionshutdown instead.close in interface Closeableclose in interface AutoCloseableclose in interface HttpConnectionIOExceptionpublic void close(CloseMode closeMode)
ModalCloseableclose in interface ModalCloseablecloseMode - How to close the receiver.public boolean isOpen()
HttpConnectionisOpen in interface HttpConnectionpublic Timeout getSocketTimeout()
SocketModalCloseablegetSocketTimeout in interface SocketModalCloseablepublic void setSocketTimeout(Timeout timeout)
SocketModalCloseablesetSocketTimeout in interface SocketModalCloseabletimeout - timeout valuepublic EndpointDetails getEndpointDetails()
HttpConnectiongetEndpointDetails in interface HttpConnectionpublic ProtocolVersion getProtocolVersion()
HttpConnectionnull if unknown.getProtocolVersion in interface HttpConnectionnull if unknown.public SocketAddress getRemoteAddress()
HttpConnectionnull if it is not connected yet or
unconnected.getRemoteAddress in interface HttpConnectionnull if it is not connected yet or
unconnected.public SocketAddress getLocalAddress()
HttpConnectionnull if it is not bound yet.getLocalAddress in interface HttpConnectionnull if it is not bound yet.public SSLSession getSSLSession()
HttpConnectionnull if TLS has not been activated.getSSLSession in interface HttpConnectionnull if TLS has not been activated.Copyright © 2005–2021 The Apache Software Foundation. All rights reserved.