org.apache.cassandra.io.util

## Class PoolingSegmentedFile

- java.lang.Object
- - org.apache.cassandra.utils.concurrent.SharedCloseableImpl
  - - org.apache.cassandra.io.util.SegmentedFile
    - - org.apache.cassandra.io.util.PoolingSegmentedFile

All Implemented Interfaces:
  java.lang.AutoCloseable, SharedCloseable

Direct Known Subclasses:
  BufferedPoolingSegmentedFile, CompressedPoolingSegmentedFile

    public abstract class PoolingSegmentedFile
    extends SegmentedFile

### Nested Class Summary

Nested Classes
`protected static class` `PoolingSegmentedFile.Cleanup`

### Nested classes/interfaces inherited from class org.apache.cassandra.io.util.SegmentedFile

`SegmentedFile.Builder`

### Field Summary

### Fields inherited from class org.apache.cassandra.io.util.SegmentedFile

`channel, length, onDiskLength`

### Constructor Summary

Constructors
`protected` `PoolingSegmentedFile(PoolingSegmentedFile.Cleanup cleanup, ChannelProxy channel, long length)`
`protected` `PoolingSegmentedFile(PoolingSegmentedFile.Cleanup cleanup, ChannelProxy channel, long length, long onDiskLength)`
`` `PoolingSegmentedFile(PoolingSegmentedFile copy)`

### Method Summary

All Methods Instance Methods Concrete Methods
`protected RandomAccessReader` `createPooledReader()`
`FileDataInput` `getSegment(long position)`
`void` `recycle(RandomAccessReader reader)`

### Methods inherited from class org.apache.cassandra.io.util.SegmentedFile

`copyReadableBounds, createReader, createThrottledReader, dropPageCache, getBuilder, getCompressedBuilder, iterator, path, sharedCopy, toString`

### Methods inherited from class org.apache.cassandra.utils.concurrent.SharedCloseableImpl

`close, close, isCleanedUp`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Constructor Detail

#### PoolingSegmentedFile

    protected PoolingSegmentedFile(PoolingSegmentedFile.Cleanup cleanup,
                                   ChannelProxy channel,
                                   long length)

#### PoolingSegmentedFile

    protected PoolingSegmentedFile(PoolingSegmentedFile.Cleanup cleanup,
                                   ChannelProxy channel,
                                   long length,
                                   long onDiskLength)

#### PoolingSegmentedFile

    public PoolingSegmentedFile(PoolingSegmentedFile copy)

### Method Detail

#### getSegment

    public FileDataInput getSegment(long position)

Overrides:
  `getSegment` in class `SegmentedFile`

#### createPooledReader

    protected RandomAccessReader createPooledReader()

#### recycle

    public void recycle(RandomAccessReader reader)