org.apache.cassandra.utils.concurrent

## Interface RefCounted<T>

All Known Subinterfaces:
  SelfRefCounted<T>

All Known Implementing Classes:
  BigTableReader, Ref, SSTableReader

    public interface RefCounted<T>

An object that needs ref counting does the two following: - defines a Tidy object that will cleanup once it's gone, (this must retain no references to the object we're tracking (only its resources and how to clean up)) Then, one of two options: 1) Construct a Ref directly pointing to it, and always use this Ref; or 2) - implements RefCounted - encapsulates a Ref, we'll call selfRef, to which it proxies all calls to RefCounted behaviours - users must ensure no references to the selfRef leak, or are retained outside of a method scope. (to ensure the selfRef is collected with the object, so that leaks may be detected and corrected)

### Nested Class Summary

Nested Classes
`static interface` `RefCounted.Tidy`

### Method Summary

All Methods Instance Methods Abstract Methods
`Ref<T>` `ref()`
`Ref<T>` `tryRef()`

### Method Detail

#### tryRef

    Ref<T> tryRef()

Returns:
  the a new Ref() to the managed object, incrementing its refcount, or null if it is already released

#### ref

    Ref<T> ref()