java.lang.Object
org.xnio.Connection
- All Implemented Interfaces:
Closeable
,AutoCloseable
,Channel
,InterruptibleChannel
,BoundChannel
,CloseableChannel
,Configurable
,ConnectedChannel
- Direct Known Subclasses:
MessageConnection
,StreamConnection
The base for all connections.
- Author:
- David M. Lloyd
-
Field Summary
FieldsFields inherited from interface org.xnio.channels.Configurable
EMPTY
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
Connection
(XnioIoThread thread) Construct a new instance. -
Method Summary
Modifier and TypeMethodDescriptionfinal void
close()
Close this channel.protected void
The close action to perform on this connection.Get the I/O thread associated with this channel.final <A extends SocketAddress>
AgetLocalAddress
(Class<A> type) Get the local address of a given type, ornull
if the address is not of that type.<T> T
Get the value of a channel option.final <A extends SocketAddress>
AgetPeerAddress
(Class<A> type) Get the peer address of a given type, ornull
if the address is not of that type.final XnioWorker
Get the worker for this channel.boolean
isOpen()
boolean
Determine whether reads have been shut down on this connection.boolean
Determine whether writes have been shut down on this connection.protected abstract void
Indicate to conduit handlers that reads have been closed.protected abstract void
Indicate to conduit handlers that writes have been closed.protected boolean
Indicate that reads have been closed on this connection.<T> T
Set an option for this channel.boolean
supportsOption
(Option<?> option) Determine whether an option is supported on this channel.protected boolean
Indicate that writes have been closed on this connection.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.xnio.channels.BoundChannel
getLocalAddress
Methods inherited from interface org.xnio.channels.ConnectedChannel
getCloseSetter, getPeerAddress
-
Field Details
-
thread
-
-
Constructor Details
-
Connection
Construct a new instance.- Parameters:
thread
- the I/O thread of this connection
-
-
Method Details
-
getPeerAddress
Description copied from interface:ConnectedChannel
Get the peer address of a given type, ornull
if the address is not of that type.- Specified by:
getPeerAddress
in interfaceConnectedChannel
- Parameters:
type
- the address type class- Returns:
- the peer address, or
null
if unknown
-
getLocalAddress
Description copied from interface:BoundChannel
Get the local address of a given type, ornull
if the address is not of that type.- Specified by:
getLocalAddress
in interfaceBoundChannel
- Type Parameters:
A
- the address type- Parameters:
type
- the address type class- Returns:
- the local address, or
null
if unknown
-
getWorker
Description copied from interface:CloseableChannel
Get the worker for this channel.- Specified by:
getWorker
in interfaceCloseableChannel
- Returns:
- the worker
-
getIoThread
Description copied from interface:CloseableChannel
Get the I/O thread associated with this channel.- Specified by:
getIoThread
in interfaceCloseableChannel
- Returns:
- the I/O thread associated with this channel
-
readClosed
protected boolean readClosed()Indicate that reads have been closed on this connection.- Returns:
true
if read closure was successfully indicated;false
if this method has already been called
-
writeClosed
protected boolean writeClosed()Indicate that writes have been closed on this connection.- Returns:
true
if write closure was successfully indicated;false
if this method has already been called
-
close
Description copied from interface:CloseableChannel
Close this channel. When a channel is closed, its close listener is invoked. Invoking this method more than once has no additional effect.- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceChannel
- Specified by:
close
in interfaceCloseable
- Specified by:
close
in interfaceCloseableChannel
- Specified by:
close
in interfaceInterruptibleChannel
- Throws:
IOException
- if the close failed
-
isReadShutdown
public boolean isReadShutdown()Determine whether reads have been shut down on this connection.- Returns:
true
if reads were shut down
-
isWriteShutdown
public boolean isWriteShutdown()Determine whether writes have been shut down on this connection.- Returns:
true
if writes were shut down
-
isOpen
public boolean isOpen() -
notifyWriteClosed
protected abstract void notifyWriteClosed()Indicate to conduit handlers that writes have been closed. -
notifyReadClosed
protected abstract void notifyReadClosed()Indicate to conduit handlers that reads have been closed. -
closeAction
The close action to perform on this connection.- Throws:
IOException
- if close fails
-
supportsOption
Description copied from interface:Configurable
Determine whether an option is supported on this channel.- Specified by:
supportsOption
in interfaceConfigurable
- Parameters:
option
- the option- Returns:
true
if it is supported
-
getOption
Description copied from interface:Configurable
Get the value of a channel option.- Specified by:
getOption
in interfaceConfigurable
- Type Parameters:
T
- the type of the option value- Parameters:
option
- the option to get- Returns:
- the value of the option, or
null
if it is not set - Throws:
IOException
- if an I/O error occurred when reading the option
-
setOption
Description copied from interface:Configurable
Set an option for this channel. Unsupported options are ignored.- Specified by:
setOption
in interfaceConfigurable
- Type Parameters:
T
- the type of the option value- Parameters:
option
- the option to setvalue
- the value of the option to set- Returns:
- the previous option value, if any
- Throws:
IllegalArgumentException
- if the value is not acceptable for this optionIOException
- if an I/O error occurred when modifying the option
-