public abstract class AbstractProtocol<T,S extends DeltaResource<T>> extends Object implements XdsProtocol<T>, XdsListener
| 限定符和类型 | 字段和说明 |
|---|---|
static String |
emptyResourceName |
| 构造器和说明 |
|---|
AbstractProtocol(AdsObserver adsObserver,
io.envoyproxy.envoy.config.core.v3.Node node,
int checkInterval) |
| 限定符和类型 | 方法和说明 |
|---|---|
T |
getCacheResource(String resourceName) |
Map<Set<String>,List<Consumer<Map<String,T>>>> |
getConsumerObserveMap() |
Map<String,T> |
getResource(Set<String> resourceNames)
Gets all
resource by the specified resource name. |
Map<String,T> |
getResourceFromRemote(Set<String> resourceNames) |
abstract String |
getTypeUrl()
Abstract method to obtain Type-URL from sub-class
|
boolean |
isCacheExistResource(Set<String> resourceNames) |
void |
observeResource(Set<String> resourceNames,
Consumer<Map<String,T>> consumer,
boolean isReConnect)
Add a observer resource with
Consumer |
void |
process(io.envoyproxy.envoy.service.discovery.v3.DiscoveryResponse discoveryResponse) |
void |
unobserveResource(Set<String> resourceNames,
Consumer<Map<String,T>> consumer) |
public AbstractProtocol(AdsObserver adsObserver, io.envoyproxy.envoy.config.core.v3.Node node, int checkInterval)
public abstract String getTypeUrl()
public Map<String,T> getResource(Set<String> resourceNames)
XdsProtocolresource by the specified resource name.
For LDS, the is ignoredgetResource 在接口中 XdsProtocol<T>resourceNames - specified resource namepublic void observeResource(Set<String> resourceNames, Consumer<Map<String,T>> consumer, boolean isReConnect)
XdsProtocolConsumerobserveResource 在接口中 XdsProtocol<T>resourceNames - specified resource nameconsumer - resource notifier, will be called when resource updatedpublic void unobserveResource(Set<String> resourceNames, Consumer<Map<String,T>> consumer)
public final void process(io.envoyproxy.envoy.service.discovery.v3.DiscoveryResponse discoveryResponse)
process 在接口中 XdsListenerCopyright © 2024 The Apache Software Foundation. All rights reserved.