class ResourceCache
Caches discovered xDS resources Thread-safe cache for clusters and endpoints
Definitions
def get_cluster(name)
Get cluster by name
Signature
-
parameter
nameString Cluster name
-
returns
Resources::Cluster, nil Cached cluster or nil
Implementation
def get_cluster(name)
@mutex.synchronize{@clusters[name]}
end
def update_cluster(cluster)
Update cluster in cache
Signature
-
parameter
clusterResources::Cluster Cluster to cache
Implementation
def update_cluster(cluster)
@mutex.synchronize{@clusters[cluster.name] = cluster}
end
def get_endpoints(cluster_name)
Get endpoints for cluster
Signature
-
parameter
cluster_nameString Cluster name
-
returns
Array<Async::HTTP::Endpoint>, nil Cached endpoints or nil
Implementation
def get_endpoints(cluster_name)
@mutex.synchronize{@endpoints[cluster_name]}
end
def update_endpoints(cluster_name, endpoints)
Update endpoints for cluster
Signature
-
parameter
cluster_nameString Cluster name
-
parameter
endpointsArray<Async::HTTP::Endpoint> Endpoints to cache
Implementation
def update_endpoints(cluster_name, endpoints)
@mutex.synchronize{@endpoints[cluster_name] = endpoints}
end
def clear
Clear all cached resources
Implementation
def clear
@mutex.synchronize do
@clusters.clear
@endpoints.clear
end
end