Module 

Class BlockingWritableByteChannel

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

    public class BlockingWritableByteChannel
    extends java.lang.Object
    implements java.nio.channels.GatheringByteChannel, java.io.Flushable
    A blocking wrapper for a StreamChannel. Write operations will block until some data may be transferred. Once any amount of data is written, the operation will return. If a write timeout is specified, then the write methods will throw a WriteTimeoutException if the timeout expires without writing any data.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void close()
      void flush()
      boolean isOpen()
      void setWriteTimeout​(long writeTimeout, java.util.concurrent.TimeUnit writeTimeoutUnit)
      Set the write timeout.
      int write​(java.nio.ByteBuffer src)
      Perform a blocking write operation.
      long write​(java.nio.ByteBuffer[] srcs)
      Perform a blocking, gathering write operation.
      long write​(java.nio.ByteBuffer[] srcs, int offset, int length)
      Perform a blocking, gathering write operation.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • BlockingWritableByteChannel

        public BlockingWritableByteChannel​(StreamSinkChannel delegate)
        Construct a new instance.
        Parameters:
        delegate - the channel to forward I/O operations to
      • BlockingWritableByteChannel

        public BlockingWritableByteChannel​(StreamSinkChannel delegate,
                                           long writeTimeout,
                                           java.util.concurrent.TimeUnit writeTimeoutUnit)
        Construct a new instance.
        Parameters:
        delegate - the channel to forward I/O operations to
        writeTimeout - the write timeout
        writeTimeoutUnit - the write timeout unit
    • Method Detail

      • setWriteTimeout

        public void setWriteTimeout​(long writeTimeout,
                                    java.util.concurrent.TimeUnit writeTimeoutUnit)
        Set the write timeout.
        Parameters:
        writeTimeout - the write timeout
        writeTimeoutUnit - the write timeout unit
      • write

        public long write​(java.nio.ByteBuffer[] srcs,
                          int offset,
                          int length)
                   throws java.io.IOException
        Perform a blocking, gathering write operation.
        Specified by:
        write in interface java.nio.channels.GatheringByteChannel
        Parameters:
        srcs - the source buffers
        offset - the offset into the destination buffer array
        length - the number of buffers to write from
        Returns:
        the number of bytes actually written (will be greater than zero)
        Throws:
        java.io.IOException - if an I/O error occurs
      • write

        public long write​(java.nio.ByteBuffer[] srcs)
                   throws java.io.IOException
        Perform a blocking, gathering write operation.
        Specified by:
        write in interface java.nio.channels.GatheringByteChannel
        Parameters:
        srcs - the source buffers
        Returns:
        the number of bytes actually written (will be greater than zero)
        Throws:
        java.io.IOException - if an I/O error occurs
      • write

        public int write​(java.nio.ByteBuffer src)
                  throws java.io.IOException
        Perform a blocking write operation.
        Specified by:
        write in interface java.nio.channels.WritableByteChannel
        Parameters:
        src - the source buffer
        Returns:
        the number of bytes actually written (will be greater than zero)
        Throws:
        java.io.IOException - if an I/O error occurs
      • isOpen

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

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