Package io.grpc.xds
Class FilterChainSelectorManager
- java.lang.Object
-
- io.grpc.xds.FilterChainSelectorManager
-
final class FilterChainSelectorManager extends java.lang.Object
Maintains the current xDS selector and any resources using that selector. When the selector changes, old resources are closed to avoid old config usages.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
FilterChainSelectorManager.Closer
private static class
FilterChainSelectorManager.CloserComparator
-
Field Summary
Fields Modifier and Type Field Description private static java.util.concurrent.atomic.AtomicLong
closerId
private java.util.TreeSet<FilterChainSelectorManager.Closer>
closers
private java.lang.Object
lock
private FilterChainMatchingProtocolNegotiators.FilterChainMatchingHandler.FilterChainSelector
selector
-
Constructor Summary
Constructors Constructor Description FilterChainSelectorManager()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
deregister(FilterChainSelectorManager.Closer closer)
(package private) int
getRegisterCount()
FilterChainMatchingProtocolNegotiators.FilterChainMatchingHandler.FilterChainSelector
getSelectorToUpdateSelector()
Only safe to be called by code that is responsible for updating the selector.FilterChainMatchingProtocolNegotiators.FilterChainMatchingHandler.FilterChainSelector
register(FilterChainSelectorManager.Closer closer)
void
updateSelector(FilterChainMatchingProtocolNegotiators.FilterChainMatchingHandler.FilterChainSelector newSelector)
-
-
-
Field Detail
-
closerId
private static final java.util.concurrent.atomic.AtomicLong closerId
-
lock
private final java.lang.Object lock
-
selector
private FilterChainMatchingProtocolNegotiators.FilterChainMatchingHandler.FilterChainSelector selector
-
closers
private java.util.TreeSet<FilterChainSelectorManager.Closer> closers
-
-
Method Detail
-
register
public FilterChainMatchingProtocolNegotiators.FilterChainMatchingHandler.FilterChainSelector register(FilterChainSelectorManager.Closer closer)
-
deregister
public void deregister(FilterChainSelectorManager.Closer closer)
-
getSelectorToUpdateSelector
public FilterChainMatchingProtocolNegotiators.FilterChainMatchingHandler.FilterChainSelector getSelectorToUpdateSelector()
Only safe to be called by code that is responsible for updating the selector.
-
updateSelector
public void updateSelector(FilterChainMatchingProtocolNegotiators.FilterChainMatchingHandler.FilterChainSelector newSelector)
-
getRegisterCount
int getRegisterCount()
-
-