Package org.xnio.channels

# Class AssembledConnectedStreamChannel

java.lang.Object
org.xnio.channels.AssembledStreamChannel
org.xnio.channels.AssembledConnectedStreamChannel

All Implemented Interfaces:
  `Closeable`, `AutoCloseable`, `ByteChannel`, `Channel`, `GatheringByteChannel`, `InterruptibleChannel`, `ReadableByteChannel`, `ScatteringByteChannel`, `WritableByteChannel`, `BoundChannel`, `ByteChannel`, `CloseableChannel`, `Configurable`, `ConnectedChannel`, `ConnectedStreamChannel`, `StreamChannel`, `StreamSinkChannel`, `StreamSourceChannel`, `SuspendableChannel`, `SuspendableReadChannel`, `SuspendableWriteChannel`

Direct Known Subclasses:
  `AssembledConnectedSslStreamChannel`

public class AssembledConnectedStreamChannel extends AssembledStreamChannel implements ConnectedStreamChannel
A connected stream channel assembled from a stream source and stream sink.

Author:
  David M. Lloyd

## Field Summary

### Fields inherited from interface org.xnio.channels.Configurable

`EMPTY`

## Constructor Summary

Constructors
Constructor
Description
`AssembledConnectedStreamChannel(ConnectedChannel connection, StreamSourceChannel source, StreamSinkChannel sink)`
Construct a new instance.
`AssembledConnectedStreamChannel(StreamSourceChannel source, StreamSinkChannel sink)`
Construct a new instance.

## Method Summary

Modifier and Type
Method
Description
`ChannelListener.Setter<? extends AssembledConnectedStreamChannel>`
`getCloseSetter()`
Get the setter which can be used to change the close listener for this channel.
`SocketAddress`
`getLocalAddress()`
Get the local address that this channel is bound to.
`<A extends SocketAddress>
A`
`getLocalAddress(Class<A> type)`
Get the local address of a given type, or `null` if the address is not of that type.
`SocketAddress`
`getPeerAddress()`
Get the peer address of this channel.
`<A extends SocketAddress>
A`
`getPeerAddress(Class<A> type)`
Get the peer address of a given type, or `null` if the address is not of that type.
`ChannelListener.Setter<? extends AssembledConnectedStreamChannel>`
`getReadSetter()`
Get the setter which can be used to change the read listener for this channel.
`ChannelListener.Setter<? extends AssembledConnectedStreamChannel>`
`getWriteSetter()`
Get the setter which can be used to change the write listener for this channel.

### Methods inherited from class org.xnio.channels.AssembledStreamChannel

`awaitReadable, awaitReadable, awaitWritable, awaitWritable, close, flush, getIoThread, getOption, getReadThread, getWorker, getWriteThread, isOpen, isReadResumed, isWriteResumed, read, read, read, resumeReads, resumeWrites, setOption, shutdownReads, shutdownWrites, supportsOption, suspendReads, suspendWrites, transferFrom, transferFrom, transferTo, transferTo, wakeupReads, wakeupWrites, write, write, write, writeFinal, writeFinal, writeFinal`

### 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.CloseableChannel

`getIoThread, getWorker`

### Methods inherited from interface org.xnio.channels.Configurable

`getOption, setOption, supportsOption`

### Methods inherited from interface java.nio.channels.GatheringByteChannel

`write, write`

### Methods inherited from interface java.nio.channels.ReadableByteChannel

`read`

### Methods inherited from interface java.nio.channels.ScatteringByteChannel

`read, read`

### Methods inherited from interface org.xnio.channels.StreamSinkChannel

`transferFrom, transferFrom, writeFinal, writeFinal, writeFinal`

### Methods inherited from interface org.xnio.channels.StreamSourceChannel

`transferTo, transferTo`

### Methods inherited from interface org.xnio.channels.SuspendableReadChannel

`awaitReadable, awaitReadable, getReadThread, isReadResumed, resumeReads, shutdownReads, suspendReads, wakeupReads`

### Methods inherited from interface org.xnio.channels.SuspendableWriteChannel

`awaitWritable, awaitWritable, close, flush, getWriteThread, isOpen, isWriteResumed, resumeWrites, shutdownWrites, suspendWrites, wakeupWrites`

### Methods inherited from interface java.nio.channels.WritableByteChannel

`write`

## Constructor Details

### AssembledConnectedStreamChannel

public AssembledConnectedStreamChannel(ConnectedChannel connection, StreamSourceChannel source, StreamSinkChannel sink)
Construct a new instance.

Parameters:
  `connection` - the connected channel
  `source` - the source
  `sink` - the sink

### AssembledConnectedStreamChannel

public AssembledConnectedStreamChannel(StreamSourceChannel source, StreamSinkChannel sink)
Construct a new instance. At least one side must be connected.

Parameters:
  `source` - the source
  `sink` - the sink

## Method Details

### getCloseSetter

public ChannelListener.Setter<? extends AssembledConnectedStreamChannel> getCloseSetter()
Description copied from interface: `StreamChannel`
Get the setter which can be used to change the close listener for this channel. If the channel is already closed, then the listener will not be called.

Specified by:
  `getCloseSetter` in interface `BoundChannel`
Specified by:
  `getCloseSetter` in interface `CloseableChannel`
Specified by:
  `getCloseSetter` in interface `ConnectedChannel`
Specified by:
  `getCloseSetter` in interface `ConnectedStreamChannel`
Specified by:
  `getCloseSetter` in interface `StreamChannel`
Specified by:
  `getCloseSetter` in interface `StreamSinkChannel`
Specified by:
  `getCloseSetter` in interface `StreamSourceChannel`
Specified by:
  `getCloseSetter` in interface `SuspendableChannel`
Specified by:
  `getCloseSetter` in interface `SuspendableReadChannel`
Specified by:
  `getCloseSetter` in interface `SuspendableWriteChannel`
Overrides:
  `getCloseSetter` in class `AssembledStreamChannel`
Returns:
  the setter

### getReadSetter

public ChannelListener.Setter<? extends AssembledConnectedStreamChannel> getReadSetter()
Description copied from interface: `StreamChannel`
Get the setter which can be used to change the read listener for this channel.

Specified by:
  `getReadSetter` in interface `ConnectedStreamChannel`
Specified by:
  `getReadSetter` in interface `StreamChannel`
Specified by:
  `getReadSetter` in interface `StreamSourceChannel`
Specified by:
  `getReadSetter` in interface `SuspendableChannel`
Specified by:
  `getReadSetter` in interface `SuspendableReadChannel`
Overrides:
  `getReadSetter` in class `AssembledStreamChannel`
Returns:
  the setter

### getWriteSetter

public ChannelListener.Setter<? extends AssembledConnectedStreamChannel> getWriteSetter()
Description copied from interface: `StreamChannel`
Get the setter which can be used to change the write listener for this channel.

Specified by:
  `getWriteSetter` in interface `ConnectedStreamChannel`
Specified by:
  `getWriteSetter` in interface `StreamChannel`
Specified by:
  `getWriteSetter` in interface `StreamSinkChannel`
Specified by:
  `getWriteSetter` in interface `SuspendableChannel`
Specified by:
  `getWriteSetter` in interface `SuspendableWriteChannel`
Overrides:
  `getWriteSetter` in class `AssembledStreamChannel`
Returns:
  the setter

### getPeerAddress

public SocketAddress getPeerAddress()
Description copied from interface: `ConnectedChannel`
Get the peer address of this channel.

Specified by:
  `getPeerAddress` in interface `ConnectedChannel`
Returns:
  the peer address

### getPeerAddress

public <A extends SocketAddress> A getPeerAddress(Class<A> type)
Description copied from interface: `ConnectedChannel`
Get the peer address of a given type, or `null` if the address is not of that type.

Specified by:
  `getPeerAddress` in interface `ConnectedChannel`
Parameters:
  `type` - the address type class
Returns:
  the peer address, or `null` if unknown

### getLocalAddress

public SocketAddress getLocalAddress()
Description copied from interface: `BoundChannel`
Get the local address that this channel is bound to.

Specified by:
  `getLocalAddress` in interface `BoundChannel`
Returns:
  the local address

### getLocalAddress

public <A extends SocketAddress> A getLocalAddress(Class<A> type)
Description copied from interface: `BoundChannel`
Get the local address of a given type, or `null` if the address is not of that type.

Specified by:
  `getLocalAddress` in interface `BoundChannel`
Type Parameters:
  `A` - the address type
Parameters:
  `type` - the address type class
Returns:
  the local address, or `null` if unknown