public class NHttpConnectionBase extends Object implements NHttpConnection, HttpInetConnection, SessionBufferStatus, SocketAccessor
NHttpConnection
implementations and provides
functionality common to both client and server HTTP connections.ACTIVE, CLOSED, CLOSING
Constructor and Description |
---|
NHttpConnectionBase(IOSession session,
ByteBufferAllocator allocator,
HttpParams params)
|
Modifier and Type | Method and Description |
---|---|
void |
close()
Closes this connection gracefully.
|
HttpContext |
getContext()
Returns an HTTP execution context associated with this connection.
|
HttpRequest |
getHttpRequest()
Returns the current HTTP request if one is being received / transmitted.
|
HttpResponse |
getHttpResponse()
Returns the current HTTP response if one is being received / transmitted.
|
InetAddress |
getLocalAddress() |
int |
getLocalPort() |
HttpConnectionMetrics |
getMetrics()
Returns a collection of connection metrics.
|
InetAddress |
getRemoteAddress() |
int |
getRemotePort() |
Socket |
getSocket()
Return the underlying socket
|
int |
getSocketTimeout()
Returns the socket timeout value.
|
int |
getStatus()
Returns status of the connection:
|
boolean |
hasBufferedInput()
Determines if the session input buffer contains data.
|
boolean |
hasBufferedOutput()
Determines if the session output buffer contains data.
|
boolean |
isOpen()
Checks if this connection is open.
|
boolean |
isStale()
Checks whether this connection has gone down.
|
void |
requestInput()
Requests event notifications to be triggered when the underlying
channel is ready for input operations.
|
void |
requestOutput()
Requests event notifications to be triggered when the underlying
channel is ready for output operations.
|
void |
setSocketTimeout(int timeout)
Sets the socket timeout value.
|
void |
shutdown()
Force-closes this connection.
|
void |
suspendInput()
Suspends event notifications about the underlying channel being
ready for input operations.
|
void |
suspendOutput()
Suspends event notifications about the underlying channel being
ready for output operations.
|
String |
toString() |
@Deprecated public NHttpConnectionBase(IOSession session, ByteBufferAllocator allocator, HttpParams params)
NHttpConnectionBase(IOSession, int, int, ByteBufferAllocator,
CharsetDecoder, CharsetEncoder, ContentLengthStrategy, ContentLengthStrategy)
session
- the underlying I/O session.allocator
- byte buffer allocator.params
- HTTP parameters.public int getStatus()
NHttpConnection
NHttpConnection.ACTIVE
: connection is active.
NHttpConnection.CLOSING
: connection is being closed.
NHttpConnection.CLOSED
: connection has been closed.
getStatus
in interface NHttpConnection
public HttpContext getContext()
NHttpConnection
getContext
in interface NHttpConnection
public HttpRequest getHttpRequest()
NHttpConnection
null
.getHttpRequest
in interface NHttpConnection
null
otherwise.public HttpResponse getHttpResponse()
NHttpConnection
null
.getHttpResponse
in interface NHttpConnection
null
otherwise.public void requestInput()
IOControl
requestInput
in interface IOControl
public void requestOutput()
IOControl
requestOutput
in interface IOControl
public void suspendInput()
IOControl
suspendInput
in interface IOControl
public void suspendOutput()
IOControl
suspendOutput
in interface IOControl
public boolean hasBufferedInput()
SessionBufferStatus
hasBufferedInput
in interface SessionBufferStatus
true
if the session input buffer contains data,
false
otherwise.public boolean hasBufferedOutput()
SessionBufferStatus
hasBufferedOutput
in interface SessionBufferStatus
true
if the session output buffer contains data,
false
otherwise.public void close() throws IOException
HttpConnection
shutdown
instead.close
in interface Closeable
close
in interface AutoCloseable
close
in interface HttpConnection
IOException
public boolean isOpen()
HttpConnection
isOpen
in interface HttpConnection
public boolean isStale()
HttpConnection
isStale
in interface HttpConnection
true
if attempts to use this connection are
likely to succeed, or false
if they are likely
to fail and this connection should be closedpublic InetAddress getLocalAddress()
getLocalAddress
in interface HttpInetConnection
public int getLocalPort()
getLocalPort
in interface HttpInetConnection
public InetAddress getRemoteAddress()
getRemoteAddress
in interface HttpInetConnection
public int getRemotePort()
getRemotePort
in interface HttpInetConnection
public void setSocketTimeout(int timeout)
HttpConnection
setSocketTimeout
in interface HttpConnection
timeout
- timeout value in millisecondspublic int getSocketTimeout()
HttpConnection
getSocketTimeout
in interface HttpConnection
0
if timeout is disabled or -1
if
timeout is undefined.public void shutdown() throws IOException
HttpConnection
shutdown
in interface HttpConnection
shutdown
in interface IOControl
IOException
- in an error occurspublic HttpConnectionMetrics getMetrics()
HttpConnection
getMetrics
in interface HttpConnection
public Socket getSocket()
SocketAccessor
getSocket
in interface SocketAccessor
null
.Copyright © 2010 - 2020 Adobe. All Rights Reserved