Package io.grpc.xds
Class SharedCallCounterMap
- java.lang.Object
-
- io.grpc.xds.SharedCallCounterMap
-
- All Implemented Interfaces:
XdsNameResolverProvider.CallCounterProvider
@ThreadSafe final class SharedCallCounterMap extends java.lang.Object implements XdsNameResolverProvider.CallCounterProvider
The global map for holding circuit breaker atomic counters.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static class
SharedCallCounterMap.CounterReference
private static class
SharedCallCounterMap.SharedCallCounterMapHolder
-
Field Summary
Fields Modifier and Type Field Description private java.util.Map<java.lang.String,java.util.Map<java.lang.String,SharedCallCounterMap.CounterReference>>
counters
private java.lang.ref.ReferenceQueue<java.util.concurrent.atomic.AtomicLong>
refQueue
-
Constructor Summary
Constructors Modifier Constructor Description private
SharedCallCounterMap()
(package private)
SharedCallCounterMap(java.util.Map<java.lang.String,java.util.Map<java.lang.String,SharedCallCounterMap.CounterReference>> counters)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) void
cleanQueue()
(package private) static SharedCallCounterMap
getInstance()
java.util.concurrent.atomic.AtomicLong
getOrCreate(java.lang.String cluster, java.lang.String edsServiceName)
-
-
-
Field Detail
-
refQueue
private final java.lang.ref.ReferenceQueue<java.util.concurrent.atomic.AtomicLong> refQueue
-
counters
private final java.util.Map<java.lang.String,java.util.Map<java.lang.String,SharedCallCounterMap.CounterReference>> counters
-
-
Constructor Detail
-
SharedCallCounterMap
private SharedCallCounterMap()
-
SharedCallCounterMap
SharedCallCounterMap(java.util.Map<java.lang.String,java.util.Map<java.lang.String,SharedCallCounterMap.CounterReference>> counters)
-
-
Method Detail
-
getInstance
static SharedCallCounterMap getInstance()
-
getOrCreate
public java.util.concurrent.atomic.AtomicLong getOrCreate(java.lang.String cluster, @Nullable java.lang.String edsServiceName)
- Specified by:
getOrCreate
in interfaceXdsNameResolverProvider.CallCounterProvider
-
cleanQueue
void cleanQueue()
-
-