Class ChannelOutputStream

  • All Implemented Interfaces:
    java.io.Closeable, java.io.Flushable, java.lang.AutoCloseable, java.nio.channels.Channel, ChannelHolder

    public class ChannelOutputStream
    extends java.io.OutputStream
    implements java.nio.channels.Channel, ChannelHolder
    • Field Detail

      • WAIT_FOR_SPACE_TIMEOUT

        public static final java.lang.String WAIT_FOR_SPACE_TIMEOUT
        Configure max. wait time (millis) to wait for space to become available
        See Also:
        Constant Field Values
      • DEFAULT_WAIT_FOR_SPACE_TIMEOUT

        public static final long DEFAULT_WAIT_FOR_SPACE_TIMEOUT
      • remoteWindow

        private final Window remoteWindow
      • maxWaitTimeout

        private final long maxWaitTimeout
      • log

        private final org.slf4j.Logger log
      • cmd

        private final byte cmd
      • eofOnClose

        private final boolean eofOnClose
      • b

        private final byte[] b
      • closedState

        private final java.util.concurrent.atomic.AtomicBoolean closedState
      • buffer

        private Buffer buffer
      • bufferLength

        private int bufferLength
      • lastSize

        private int lastSize
      • noDelay

        private boolean noDelay
    • Constructor Detail

      • ChannelOutputStream

        public ChannelOutputStream​(AbstractChannel channel,
                                   Window remoteWindow,
                                   org.slf4j.Logger log,
                                   byte cmd,
                                   boolean eofOnClose)
      • ChannelOutputStream

        public ChannelOutputStream​(AbstractChannel channel,
                                   Window remoteWindow,
                                   long maxWaitTimeout,
                                   org.slf4j.Logger log,
                                   byte cmd,
                                   boolean eofOnClose)
    • Method Detail

      • isEofOnClose

        public boolean isEofOnClose()
      • setNoDelay

        public void setNoDelay​(boolean noDelay)
      • isNoDelay

        public boolean isNoDelay()
      • isOpen

        public boolean isOpen()
        Specified by:
        isOpen in interface java.nio.channels.Channel
      • write

        public void write​(int w)
                   throws java.io.IOException
        Specified by:
        write in class java.io.OutputStream
        Throws:
        java.io.IOException
      • write

        public void write​(byte[] buf,
                          int s,
                          int l)
                   throws java.io.IOException
        Overrides:
        write in class java.io.OutputStream
        Throws:
        java.io.IOException
      • flush

        public void flush()
                   throws java.io.IOException
        Specified by:
        flush in interface java.io.Flushable
        Overrides:
        flush in class java.io.OutputStream
        Throws:
        java.io.IOException
      • 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
        Overrides:
        close in class java.io.OutputStream
        Throws:
        java.io.IOException
      • newBuffer

        protected void newBuffer​(int size)
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object