Package io.grpc.internal
Class ManagedChannelOrphanWrapper.ManagedChannelReference
java.lang.Object
java.lang.ref.Reference<ManagedChannelOrphanWrapper>
java.lang.ref.WeakReference<ManagedChannelOrphanWrapper>
io.grpc.internal.ManagedChannelOrphanWrapper.ManagedChannelReference
- Enclosing class:
ManagedChannelOrphanWrapper
static final class ManagedChannelOrphanWrapper.ManagedChannelReference
extends WeakReference<ManagedChannelOrphanWrapper>
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final Stringprivate final Reference<RuntimeException> private final Stringprivate static final booleanprivate static final RuntimeExceptionprivate final ReferenceQueue<ManagedChannelOrphanWrapper> private final ConcurrentMap<ManagedChannelOrphanWrapper.ManagedChannelReference, ManagedChannelOrphanWrapper.ManagedChannelReference> private final AtomicBoolean -
Constructor Summary
ConstructorsConstructorDescriptionManagedChannelReference(ManagedChannelOrphanWrapper orphanable, ManagedChannel channel, ReferenceQueue<ManagedChannelOrphanWrapper> refqueue, ConcurrentMap<ManagedChannelOrphanWrapper.ManagedChannelReference, ManagedChannelOrphanWrapper.ManagedChannelReference> refs) -
Method Summary
Modifier and TypeMethodDescription(package private) static intcleanQueue(ReferenceQueue<ManagedChannelOrphanWrapper> refqueue) voidclear()This clear() is *not* called automatically by the JVM.private voidprivate voidSafe to call concurrently.private static RuntimeExceptionMethods inherited from class java.lang.ref.Reference
enqueue, get, isEnqueued
-
Field Details
-
ALLOCATION_SITE_PROPERTY_NAME
- See Also:
-
ENABLE_ALLOCATION_TRACKING
private static final boolean ENABLE_ALLOCATION_TRACKING -
missingCallSite
-
refqueue
-
refs
-
channelStr
-
allocationSite
-
shutdown
-
-
Constructor Details
-
ManagedChannelReference
ManagedChannelReference(ManagedChannelOrphanWrapper orphanable, ManagedChannel channel, ReferenceQueue<ManagedChannelOrphanWrapper> refqueue, ConcurrentMap<ManagedChannelOrphanWrapper.ManagedChannelReference, ManagedChannelOrphanWrapper.ManagedChannelReference> refs)
-
-
Method Details
-
clear
public void clear()This clear() is *not* called automatically by the JVM. As this is a weak ref, the reference will be cleared automatically by the JVM, but will not be removed fromrefs. We do it here to avoid this ending up on the reference queue.- Overrides:
clearin classReference<ManagedChannelOrphanWrapper>
-
clearSafely
private void clearSafely()Safe to call concurrently. -
clearInternal
private void clearInternal() -
missingCallSite
-
cleanQueue
-