@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) |
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)
protected boolean handleIncomingMessage(HttpRequest request) throws HttpException
HttpException
protected ContentDecoder createContentDecoder(long len, ReadableByteChannel channel, SessionInputBuffer buffer, BasicHttpTransportMetrics metrics) throws HttpException
HttpException
protected boolean handleOutgoingMessage(HttpResponse response) throws HttpException
HttpException
protected ContentEncoder createContentEncoder(long len, WritableByteChannel channel, SessionOutputBuffer buffer, BasicHttpTransportMetrics metrics) throws HttpException
HttpException
public String getId()
getId
in interface Identifiable
public final void onConnect() throws HttpException, IOException
HttpException
IOException
public final void onInput(ByteBuffer src) throws HttpException, IOException
HttpException
IOException
public final void onOutput() throws IOException, HttpException
IOException
HttpException
public final void onTimeout(Timeout timeout) throws IOException, HttpException
IOException
HttpException
public final void onException(Exception ex)
public final void onDisconnect()
public void close() throws IOException
HttpConnection
shutdown
instead.close
in interface Closeable
close
in interface AutoCloseable
close
in interface HttpConnection
IOException
public void close(CloseMode closeMode)
ModalCloseable
close
in interface ModalCloseable
closeMode
- How to close the receiver.public boolean isOpen()
HttpConnection
isOpen
in interface HttpConnection
public Timeout getSocketTimeout()
SocketModalCloseable
getSocketTimeout
in interface SocketModalCloseable
public void setSocketTimeout(Timeout timeout)
SocketModalCloseable
setSocketTimeout
in interface SocketModalCloseable
timeout
- timeout valuepublic EndpointDetails getEndpointDetails()
HttpConnection
getEndpointDetails
in interface HttpConnection
public ProtocolVersion getProtocolVersion()
HttpConnection
null
if unknown.getProtocolVersion
in interface HttpConnection
null
if unknown.public SocketAddress getRemoteAddress()
HttpConnection
null
if it is not connected yet or
unconnected.getRemoteAddress
in interface HttpConnection
null
if it is not connected yet or
unconnected.public SocketAddress getLocalAddress()
HttpConnection
null
if it is not bound yet.getLocalAddress
in interface HttpConnection
null
if it is not bound yet.public SSLSession getSSLSession()
HttpConnection
null
if TLS has not been activated.getSSLSession
in interface HttpConnection
null
if TLS has not been activated.Copyright © 2005–2021 The Apache Software Foundation. All rights reserved.