Class DetachableStreamSourceChannel

  • All Implemented Interfaces:
    Closeable, AutoCloseable, Channel, InterruptibleChannel, ReadableByteChannel, ScatteringByteChannel, org.xnio.channels.CloseableChannel, org.xnio.channels.Configurable, org.xnio.channels.StreamSourceChannel, org.xnio.channels.SuspendableReadChannel

    public abstract class DetachableStreamSourceChannel
    extends Object
    implements org.xnio.channels.StreamSourceChannel
    A stream source channel that can be marked as detached. Once this is marked as detached then calls will no longer be forwarded to the delegate.
    Author:
    Stuart Douglas
    • Constructor Detail

      • DetachableStreamSourceChannel

        public DetachableStreamSourceChannel​(org.xnio.channels.StreamSourceChannel delegate)
    • Method Detail

      • isFinished

        protected abstract boolean isFinished()
      • resumeReads

        public void resumeReads()
        Specified by:
        resumeReads in interface org.xnio.channels.SuspendableReadChannel
      • transferTo

        public long transferTo​(long position,
                               long count,
                               FileChannel target)
                        throws IOException
        Specified by:
        transferTo in interface org.xnio.channels.StreamSourceChannel
        Throws:
        IOException
      • awaitReadable

        public void awaitReadable()
                           throws IOException
        Specified by:
        awaitReadable in interface org.xnio.channels.SuspendableReadChannel
        Throws:
        IOException
      • suspendReads

        public void suspendReads()
        Specified by:
        suspendReads in interface org.xnio.channels.SuspendableReadChannel
      • transferTo

        public long transferTo​(long count,
                               ByteBuffer throughBuffer,
                               org.xnio.channels.StreamSinkChannel target)
                        throws IOException
        Specified by:
        transferTo in interface org.xnio.channels.StreamSourceChannel
        Throws:
        IOException
      • getWorker

        public org.xnio.XnioWorker getWorker()
        Specified by:
        getWorker in interface org.xnio.channels.CloseableChannel
      • isReadResumed

        public boolean isReadResumed()
        Specified by:
        isReadResumed in interface org.xnio.channels.SuspendableReadChannel
      • supportsOption

        public boolean supportsOption​(org.xnio.Option<?> option)
        Specified by:
        supportsOption in interface org.xnio.channels.Configurable
      • shutdownReads

        public void shutdownReads()
                           throws IOException
        Specified by:
        shutdownReads in interface org.xnio.channels.SuspendableReadChannel
        Throws:
        IOException
      • getReadSetter

        public org.xnio.ChannelListener.Setter<? extends org.xnio.channels.StreamSourceChannel> getReadSetter()
        Specified by:
        getReadSetter in interface org.xnio.channels.StreamSourceChannel
        Specified by:
        getReadSetter in interface org.xnio.channels.SuspendableReadChannel
      • isOpen

        public boolean isOpen()
        Specified by:
        isOpen in interface Channel
      • wakeupReads

        public void wakeupReads()
        Specified by:
        wakeupReads in interface org.xnio.channels.SuspendableReadChannel
      • getReadThread

        public org.xnio.XnioExecutor getReadThread()
        Specified by:
        getReadThread in interface org.xnio.channels.SuspendableReadChannel
      • awaitReadable

        public void awaitReadable​(long time,
                                  TimeUnit timeUnit)
                           throws IOException
        Specified by:
        awaitReadable in interface org.xnio.channels.SuspendableReadChannel
        Throws:
        IOException
      • getCloseSetter

        public org.xnio.ChannelListener.Setter<? extends org.xnio.channels.StreamSourceChannel> getCloseSetter()
        Specified by:
        getCloseSetter in interface org.xnio.channels.CloseableChannel
        Specified by:
        getCloseSetter in interface org.xnio.channels.StreamSourceChannel
        Specified by:
        getCloseSetter in interface org.xnio.channels.SuspendableReadChannel
      • getOption

        public <T> T getOption​(org.xnio.Option<T> option)
                        throws IOException
        Specified by:
        getOption in interface org.xnio.channels.Configurable
        Throws:
        IOException
      • getIoThread

        public org.xnio.XnioIoThread getIoThread()
        Specified by:
        getIoThread in interface org.xnio.channels.CloseableChannel