Class DefaultFileRegion

java.lang.Object
org.jboss.netty.channel.DefaultFileRegion
All Implemented Interfaces:
FileRegion, ExternalResourceReleasable

public class DefaultFileRegion extends Object implements FileRegion
  • Field Details

    • logger

      private static final InternalLogger logger
    • file

      private final FileChannel file
    • position

      private final long position
    • count

      private final long count
    • releaseAfterTransfer

      private final boolean releaseAfterTransfer
  • Constructor Details

    • DefaultFileRegion

      public DefaultFileRegion(FileChannel file, long position, long count)
    • DefaultFileRegion

      public DefaultFileRegion(FileChannel file, long position, long count, boolean releaseAfterTransfer)
  • Method Details

    • getPosition

      public long getPosition()
      Description copied from interface: FileRegion
      Returns the offset in the file where the transfer began.
      Specified by:
      getPosition in interface FileRegion
    • getCount

      public long getCount()
      Description copied from interface: FileRegion
      Returns the number of bytes to transfer.
      Specified by:
      getCount in interface FileRegion
    • releaseAfterTransfer

      public boolean releaseAfterTransfer()
    • transferTo

      public long transferTo(WritableByteChannel target, long position) throws IOException
      Description copied from interface: FileRegion
      Transfers the content of this file region to the specified channel.
      Specified by:
      transferTo in interface FileRegion
      Parameters:
      target - the destination of the transfer
      position - the relative offset of the file where the transfer begins from. For example, 0 will make the transfer start from FileRegion.getPosition()th byte and FileRegion.getCount() - 1 will make the last byte of the region transferred.
      Throws:
      IOException
    • releaseExternalResources

      public void releaseExternalResources()
      Description copied from interface: ExternalResourceReleasable
      Releases the external resources that this object depends on. You should not call this method if the external resources (e.g. thread pool) are in use by other objects.
      Specified by:
      releaseExternalResources in interface ExternalResourceReleasable