Class DetachableStreamSourceChannel

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

    public abstract class DetachableStreamSourceChannel
    extends java.lang.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,
                               java.nio.channels.FileChannel target)
                        throws java.io.IOException
        Specified by:
        transferTo in interface org.xnio.channels.StreamSourceChannel
        Throws:
        java.io.IOException
      • awaitReadable

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

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

        public long transferTo​(long count,
                               java.nio.ByteBuffer throughBuffer,
                               org.xnio.channels.StreamSinkChannel target)
                        throws java.io.IOException
        Specified by:
        transferTo in interface org.xnio.channels.StreamSourceChannel
        Throws:
        java.io.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
      • setOption

        public <T> T setOption​(org.xnio.Option<T> option,
                               T value)
                        throws java.lang.IllegalArgumentException,
                               java.io.IOException
        Specified by:
        setOption in interface org.xnio.channels.Configurable
        Throws:
        java.lang.IllegalArgumentException
        java.io.IOException
      • supportsOption

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

        public void shutdownReads()
                           throws java.io.IOException
        Specified by:
        shutdownReads in interface org.xnio.channels.SuspendableReadChannel
        Throws:
        java.io.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 java.nio.channels.Channel
      • read

        public long read​(java.nio.ByteBuffer[] dsts)
                  throws java.io.IOException
        Specified by:
        read in interface java.nio.channels.ScatteringByteChannel
        Throws:
        java.io.IOException
      • read

        public long read​(java.nio.ByteBuffer[] dsts,
                         int offset,
                         int length)
                  throws java.io.IOException
        Specified by:
        read in interface java.nio.channels.ScatteringByteChannel
        Throws:
        java.io.IOException
      • 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,
                                  java.util.concurrent.TimeUnit timeUnit)
                           throws java.io.IOException
        Specified by:
        awaitReadable in interface org.xnio.channels.SuspendableReadChannel
        Throws:
        java.io.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
      • close

        public void close()
                   throws java.io.IOException
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface java.nio.channels.Channel
        Specified by:
        close in interface java.io.Closeable
        Specified by:
        close in interface org.xnio.channels.CloseableChannel
        Specified by:
        close in interface java.nio.channels.InterruptibleChannel
        Throws:
        java.io.IOException
      • getOption

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

        public int read​(java.nio.ByteBuffer dst)
                 throws java.io.IOException
        Specified by:
        read in interface java.nio.channels.ReadableByteChannel
        Throws:
        java.io.IOException
      • getIoThread

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