Interface FileSystemHttpCacheConfigOrBuilder
-
- All Superinterfaces:
com.google.protobuf.MessageLiteOrBuilder,com.google.protobuf.MessageOrBuilder
- All Known Implementing Classes:
FileSystemHttpCacheConfig,FileSystemHttpCacheConfig.Builder
public interface FileSystemHttpCacheConfigOrBuilder extends com.google.protobuf.MessageOrBuilder
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description StringgetCachePath()Path at which the cache files will be stored.com.google.protobuf.ByteStringgetCachePathBytes()Path at which the cache files will be stored.intgetCacheSubdivisions()A number of folders into which to subdivide the cache.booleangetCreateCachePath()If true, and the cache path does not exist, attempt to create the cache path, including any missing directories leading up to it.floatgetEvictFraction()The amount of the maximum cache size or count to evict when cache eviction is triggered.AsyncFileManagerConfiggetManagerConfig()Configuration of a manager for how the file system is used asynchronously.AsyncFileManagerConfigOrBuildergetManagerConfigOrBuilder()Configuration of a manager for how the file system is used asynchronously.com.google.protobuf.UInt64ValuegetMaxCacheEntryCount()The maximum number of cache entries - when reached, cache eviction is triggered.com.google.protobuf.UInt64ValueOrBuildergetMaxCacheEntryCountOrBuilder()The maximum number of cache entries - when reached, cache eviction is triggered.com.google.protobuf.UInt64ValuegetMaxCacheSizeBytes()The maximum size of the cache in bytes - when reached, cache eviction is triggered.com.google.protobuf.UInt64ValueOrBuildergetMaxCacheSizeBytesOrBuilder()The maximum size of the cache in bytes - when reached, cache eviction is triggered.com.google.protobuf.DurationgetMaxEvictionPeriod()The longest amount of time to wait before running a cache eviction pass.com.google.protobuf.DurationOrBuildergetMaxEvictionPeriodOrBuilder()The longest amount of time to wait before running a cache eviction pass.com.google.protobuf.UInt64ValuegetMaxIndividualCacheEntrySizeBytes()The maximum size of a cache entry in bytes - larger responses will not be cached.com.google.protobuf.UInt64ValueOrBuildergetMaxIndividualCacheEntrySizeBytesOrBuilder()The maximum size of a cache entry in bytes - larger responses will not be cached.com.google.protobuf.DurationgetMinEvictionPeriod()The shortest amount of time between cache eviction passes.com.google.protobuf.DurationOrBuildergetMinEvictionPeriodOrBuilder()The shortest amount of time between cache eviction passes.booleanhasManagerConfig()Configuration of a manager for how the file system is used asynchronously.booleanhasMaxCacheEntryCount()The maximum number of cache entries - when reached, cache eviction is triggered.booleanhasMaxCacheSizeBytes()The maximum size of the cache in bytes - when reached, cache eviction is triggered.booleanhasMaxEvictionPeriod()The longest amount of time to wait before running a cache eviction pass.booleanhasMaxIndividualCacheEntrySizeBytes()The maximum size of a cache entry in bytes - larger responses will not be cached.booleanhasMinEvictionPeriod()The shortest amount of time between cache eviction passes.-
Methods inherited from interface com.google.protobuf.MessageOrBuilder
findInitializationErrors, getAllFields, getDefaultInstanceForType, getDescriptorForType, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof
-
-
-
-
Method Detail
-
hasManagerConfig
boolean hasManagerConfig()
Configuration of a manager for how the file system is used asynchronously.
.envoy.extensions.common.async_files.v3.AsyncFileManagerConfig manager_config = 1 [(.validate.rules) = { ... }- Returns:
- Whether the managerConfig field is set.
-
getManagerConfig
AsyncFileManagerConfig getManagerConfig()
Configuration of a manager for how the file system is used asynchronously.
.envoy.extensions.common.async_files.v3.AsyncFileManagerConfig manager_config = 1 [(.validate.rules) = { ... }- Returns:
- The managerConfig.
-
getManagerConfigOrBuilder
AsyncFileManagerConfigOrBuilder getManagerConfigOrBuilder()
Configuration of a manager for how the file system is used asynchronously.
.envoy.extensions.common.async_files.v3.AsyncFileManagerConfig manager_config = 1 [(.validate.rules) = { ... }
-
getCachePath
String getCachePath()
Path at which the cache files will be stored. This also doubles as the unique identifier for a cache, so a cache can be shared between different routes, or separate paths can be used to specify separate caches. If the same ``cache_path`` is used in more than one ``CacheConfig``, the rest of the ``FileSystemHttpCacheConfig`` must also match, and will refer to the same cache instance.
string cache_path = 2 [(.validate.rules) = { ... }- Returns:
- The cachePath.
-
getCachePathBytes
com.google.protobuf.ByteString getCachePathBytes()
Path at which the cache files will be stored. This also doubles as the unique identifier for a cache, so a cache can be shared between different routes, or separate paths can be used to specify separate caches. If the same ``cache_path`` is used in more than one ``CacheConfig``, the rest of the ``FileSystemHttpCacheConfig`` must also match, and will refer to the same cache instance.
string cache_path = 2 [(.validate.rules) = { ... }- Returns:
- The bytes for cachePath.
-
hasMaxCacheSizeBytes
boolean hasMaxCacheSizeBytes()
The maximum size of the cache in bytes - when reached, cache eviction is triggered. This is measured as the sum of file sizes, such that it includes headers, trailers, and metadata, but does not include e.g. file system overhead and block size padding. If unset there is no limit except file system failure.
.google.protobuf.UInt64Value max_cache_size_bytes = 3;- Returns:
- Whether the maxCacheSizeBytes field is set.
-
getMaxCacheSizeBytes
com.google.protobuf.UInt64Value getMaxCacheSizeBytes()
The maximum size of the cache in bytes - when reached, cache eviction is triggered. This is measured as the sum of file sizes, such that it includes headers, trailers, and metadata, but does not include e.g. file system overhead and block size padding. If unset there is no limit except file system failure.
.google.protobuf.UInt64Value max_cache_size_bytes = 3;- Returns:
- The maxCacheSizeBytes.
-
getMaxCacheSizeBytesOrBuilder
com.google.protobuf.UInt64ValueOrBuilder getMaxCacheSizeBytesOrBuilder()
The maximum size of the cache in bytes - when reached, cache eviction is triggered. This is measured as the sum of file sizes, such that it includes headers, trailers, and metadata, but does not include e.g. file system overhead and block size padding. If unset there is no limit except file system failure.
.google.protobuf.UInt64Value max_cache_size_bytes = 3;
-
hasMaxIndividualCacheEntrySizeBytes
boolean hasMaxIndividualCacheEntrySizeBytes()
The maximum size of a cache entry in bytes - larger responses will not be cached. This is measured as the file size for the cache entry, such that it includes headers, trailers, and metadata. If unset there is no limit. [#not-implemented-hide:]
.google.protobuf.UInt64Value max_individual_cache_entry_size_bytes = 4;- Returns:
- Whether the maxIndividualCacheEntrySizeBytes field is set.
-
getMaxIndividualCacheEntrySizeBytes
com.google.protobuf.UInt64Value getMaxIndividualCacheEntrySizeBytes()
The maximum size of a cache entry in bytes - larger responses will not be cached. This is measured as the file size for the cache entry, such that it includes headers, trailers, and metadata. If unset there is no limit. [#not-implemented-hide:]
.google.protobuf.UInt64Value max_individual_cache_entry_size_bytes = 4;- Returns:
- The maxIndividualCacheEntrySizeBytes.
-
getMaxIndividualCacheEntrySizeBytesOrBuilder
com.google.protobuf.UInt64ValueOrBuilder getMaxIndividualCacheEntrySizeBytesOrBuilder()
The maximum size of a cache entry in bytes - larger responses will not be cached. This is measured as the file size for the cache entry, such that it includes headers, trailers, and metadata. If unset there is no limit. [#not-implemented-hide:]
.google.protobuf.UInt64Value max_individual_cache_entry_size_bytes = 4;
-
hasMaxCacheEntryCount
boolean hasMaxCacheEntryCount()
The maximum number of cache entries - when reached, cache eviction is triggered. If unset there is no limit.
.google.protobuf.UInt64Value max_cache_entry_count = 5;- Returns:
- Whether the maxCacheEntryCount field is set.
-
getMaxCacheEntryCount
com.google.protobuf.UInt64Value getMaxCacheEntryCount()
The maximum number of cache entries - when reached, cache eviction is triggered. If unset there is no limit.
.google.protobuf.UInt64Value max_cache_entry_count = 5;- Returns:
- The maxCacheEntryCount.
-
getMaxCacheEntryCountOrBuilder
com.google.protobuf.UInt64ValueOrBuilder getMaxCacheEntryCountOrBuilder()
The maximum number of cache entries - when reached, cache eviction is triggered. If unset there is no limit.
.google.protobuf.UInt64Value max_cache_entry_count = 5;
-
getCacheSubdivisions
int getCacheSubdivisions()
A number of folders into which to subdivide the cache. Setting this can help with performance in file systems where a large number of inodes in a single branch degrades performance. The optimal value in that case would be ``sqrt(expected_cache_entry_count)``. On file systems that perform well with many inodes, the default value of 1 should be used. [#not-implemented-hide:]
uint32 cache_subdivisions = 6;- Returns:
- The cacheSubdivisions.
-
getEvictFraction
float getEvictFraction()
The amount of the maximum cache size or count to evict when cache eviction is triggered. For example, if ``max_cache_size_bytes`` is 10000000 and ``evict_fraction`` is 0.2, then when the cache exceeds 10MB, entries will be evicted until the cache size is less than or equal to 8MB. The default value of 0 means when the cache exceeds 10MB, entries will be evicted only until the cache is less than or equal to 10MB. Evicting a larger fraction will mean the eviction thread will run less often (sparing CPU load) at the cost of more cache misses due to the extra evicted entries. [#not-implemented-hide:]
float evict_fraction = 7;- Returns:
- The evictFraction.
-
hasMaxEvictionPeriod
boolean hasMaxEvictionPeriod()
The longest amount of time to wait before running a cache eviction pass. An eviction pass may not necessarily remove any files, but it will update the cache state to match the on-disk state. This can be important if multiple instances are accessing the same cache in parallel. (e.g. if two instances each independently added non-overlapping 10MB of content to a cache with a 15MB limit, neither instance would be aware that the limit was exceeded without this synchronizing pass.) If an eviction pass has not happened within this duration, the eviction thread will be awoken and perform an eviction pass. If unset, there will be no eviction passes except those triggered by cache limits. [#not-implemented-hide:]
.google.protobuf.Duration max_eviction_period = 8;- Returns:
- Whether the maxEvictionPeriod field is set.
-
getMaxEvictionPeriod
com.google.protobuf.Duration getMaxEvictionPeriod()
The longest amount of time to wait before running a cache eviction pass. An eviction pass may not necessarily remove any files, but it will update the cache state to match the on-disk state. This can be important if multiple instances are accessing the same cache in parallel. (e.g. if two instances each independently added non-overlapping 10MB of content to a cache with a 15MB limit, neither instance would be aware that the limit was exceeded without this synchronizing pass.) If an eviction pass has not happened within this duration, the eviction thread will be awoken and perform an eviction pass. If unset, there will be no eviction passes except those triggered by cache limits. [#not-implemented-hide:]
.google.protobuf.Duration max_eviction_period = 8;- Returns:
- The maxEvictionPeriod.
-
getMaxEvictionPeriodOrBuilder
com.google.protobuf.DurationOrBuilder getMaxEvictionPeriodOrBuilder()
The longest amount of time to wait before running a cache eviction pass. An eviction pass may not necessarily remove any files, but it will update the cache state to match the on-disk state. This can be important if multiple instances are accessing the same cache in parallel. (e.g. if two instances each independently added non-overlapping 10MB of content to a cache with a 15MB limit, neither instance would be aware that the limit was exceeded without this synchronizing pass.) If an eviction pass has not happened within this duration, the eviction thread will be awoken and perform an eviction pass. If unset, there will be no eviction passes except those triggered by cache limits. [#not-implemented-hide:]
.google.protobuf.Duration max_eviction_period = 8;
-
hasMinEvictionPeriod
boolean hasMinEvictionPeriod()
The shortest amount of time between cache eviction passes. This can be used to reduce eviction churn, if your cache max size can be flexible. If a cache eviction pass already occurred more recently than this period when another would be triggered, that new pass is cancelled. This means the cache can potentially grow beyond ``max_cache_size_bytes`` by as much as can be written within the duration specified. Generally you would use *either* ``min_eviction_period`` *or* ``evict_fraction`` to reduce churn. Both together will work but since they're both aiming for the same goal, it's simpler not to. [#not-implemented-hide:]
.google.protobuf.Duration min_eviction_period = 9;- Returns:
- Whether the minEvictionPeriod field is set.
-
getMinEvictionPeriod
com.google.protobuf.Duration getMinEvictionPeriod()
The shortest amount of time between cache eviction passes. This can be used to reduce eviction churn, if your cache max size can be flexible. If a cache eviction pass already occurred more recently than this period when another would be triggered, that new pass is cancelled. This means the cache can potentially grow beyond ``max_cache_size_bytes`` by as much as can be written within the duration specified. Generally you would use *either* ``min_eviction_period`` *or* ``evict_fraction`` to reduce churn. Both together will work but since they're both aiming for the same goal, it's simpler not to. [#not-implemented-hide:]
.google.protobuf.Duration min_eviction_period = 9;- Returns:
- The minEvictionPeriod.
-
getMinEvictionPeriodOrBuilder
com.google.protobuf.DurationOrBuilder getMinEvictionPeriodOrBuilder()
The shortest amount of time between cache eviction passes. This can be used to reduce eviction churn, if your cache max size can be flexible. If a cache eviction pass already occurred more recently than this period when another would be triggered, that new pass is cancelled. This means the cache can potentially grow beyond ``max_cache_size_bytes`` by as much as can be written within the duration specified. Generally you would use *either* ``min_eviction_period`` *or* ``evict_fraction`` to reduce churn. Both together will work but since they're both aiming for the same goal, it's simpler not to. [#not-implemented-hide:]
.google.protobuf.Duration min_eviction_period = 9;
-
getCreateCachePath
boolean getCreateCachePath()
If true, and the cache path does not exist, attempt to create the cache path, including any missing directories leading up to it. On failure, the config is rejected. If false, and the cache path does not exist, the config is rejected. [#not-implemented-hide:]
bool create_cache_path = 10;- Returns:
- The createCachePath.
-
-