org.apache.cassandra.io.util

## Class CompressedPoolingSegmentedFile

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

All Implemented Interfaces:
  java.lang.AutoCloseable, ICompressedFile, SharedCloseable

    public class CompressedPoolingSegmentedFile
    extends PoolingSegmentedFile
    implements ICompressedFile

### Nested Class Summary

Nested Classes
`static class` `CompressedPoolingSegmentedFile.Builder`
`protected static class` `CompressedPoolingSegmentedFile.Cleanup`

### Field Summary

Fields
`CompressionMetadata` `metadata`

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

`channel, length, onDiskLength`

### Constructor Summary

Constructors
Constructor and Description
`CompressedPoolingSegmentedFile(ChannelProxy channel, CompressionMetadata metadata)`

### Method Summary

All Methods Instance Methods Concrete Methods
`ChannelProxy` `channel()`
`java.util.TreeMap<java.lang.Long,java.nio.MappedByteBuffer>` `chunkSegments()`
`protected RandomAccessReader` `createPooledReader()`
`RandomAccessReader` `createReader()`
`RandomAccessReader` `createThrottledReader(com.google.common.util.concurrent.RateLimiter limiter)`
`void` `dropPageCache(long before)`
`CompressionMetadata` `getMetadata()`
`CompressedPoolingSegmentedFile` `sharedCopy()`

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

`getSegment, recycle`

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

`copyReadableBounds, getBuilder, getCompressedBuilder, iterator, path, 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`

### Field Detail

#### metadata

    public final CompressionMetadata metadata

### Constructor Detail

#### CompressedPoolingSegmentedFile

    public CompressedPoolingSegmentedFile(ChannelProxy channel,
                                          CompressionMetadata metadata)

### Method Detail

#### channel

    public ChannelProxy channel()

Specified by:
  `channel` in interface `ICompressedFile`

#### chunkSegments

    public java.util.TreeMap<java.lang.Long,java.nio.MappedByteBuffer> chunkSegments()

Specified by:
  `chunkSegments` in interface `ICompressedFile`

#### dropPageCache

    public void dropPageCache(long before)

Overrides:
  `dropPageCache` in class `SegmentedFile`

#### createReader

    public RandomAccessReader createReader()

Overrides:
  `createReader` in class `SegmentedFile`

#### createThrottledReader

    public RandomAccessReader createThrottledReader(com.google.common.util.concurrent.RateLimiter limiter)

Overrides:
  `createThrottledReader` in class `SegmentedFile`

#### createPooledReader

    protected RandomAccessReader createPooledReader()

Overrides:
  `createPooledReader` in class `PoolingSegmentedFile`

#### getMetadata

    public CompressionMetadata getMetadata()

Specified by:
  `getMetadata` in interface `ICompressedFile`

#### sharedCopy

    public CompressedPoolingSegmentedFile sharedCopy()

Specified by:
  `sharedCopy` in interface `SharedCloseable`
Specified by:
  `sharedCopy` in class `SegmentedFile`
Returns:
  a new instance of the object representing the same state and backed by the same underlying resources. Coordinates with the original (and other instances) when the underlying resource should be closed. Throws an exception if the shared resource has already been closed.