Class AbstractRetainableByteBuffer
java.lang.Object
org.eclipse.jetty.io.AbstractRetainableByteBuffer
- All Implemented Interfaces:
Retainable, RetainableByteBuffer
Abstract implementation of RetainableByteBuffer with
reference counting.
-
Nested Class Summary
Nested classes/interfaces inherited from interface Retainable
Retainable.ReferenceCounterNested classes/interfaces inherited from interface RetainableByteBuffer
RetainableByteBuffer.Wrapper -
Field Summary
Fields inherited from interface RetainableByteBuffer
EMPTY -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidacquire()booleanReturns whether this resource is referenced counted by calls toRetainable.retain()andRetainable.release().Get the wrapped, notnull,ByteBuffer.booleanbooleanrelease()Releases this resource, potentially decrementing a reference count (if any).voidretain()Retains this resource, potentially incrementing a reference count if there are resources that will be released.toString()Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface RetainableByteBuffer
capacity, clear, hasRemaining, isDirect, remaining
-
Constructor Details
-
AbstractRetainableByteBuffer
-
-
Method Details
-
acquire
protected void acquire()- See Also:
-
canRetain
public boolean canRetain()Description copied from interface:RetainableReturns whether this resource is referenced counted by calls to
Retainable.retain()andRetainable.release().Implementations may decide that special resources are not not referenced counted (for example,
staticconstants) so callingRetainable.retain()is a no-operation, and callingRetainable.release()on those special resources is a no-operation that always returns true.- Specified by:
canRetainin interfaceRetainable- Returns:
- true if calls to
Retainable.retain()are reference counted.
-
retain
public void retain()Description copied from interface:RetainableRetains this resource, potentially incrementing a reference count if there are resources that will be released.
- Specified by:
retainin interfaceRetainable
-
release
public boolean release()Description copied from interface:RetainableReleases this resource, potentially decrementing a reference count (if any).
- Specified by:
releasein interfaceRetainable- Returns:
truewhen the reference count goes to zero or if there was no reference count,falseotherwise.
-
isRetained
public boolean isRetained()- Specified by:
isRetainedin interfaceRetainableByteBuffer- Returns:
- whether this instance is retained
- See Also:
-
getByteBuffer
Description copied from interface:RetainableByteBufferGet the wrapped, notnull,ByteBuffer.- Specified by:
getByteBufferin interfaceRetainableByteBuffer- Returns:
- the wrapped, not
null,ByteBuffer
-
toString
-