Class FileSystemHttpCacheConfig.Builder

  • All Implemented Interfaces:
    com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, FileSystemHttpCacheConfigOrBuilder, Cloneable
    Enclosing class:
    FileSystemHttpCacheConfig

    public static final class FileSystemHttpCacheConfig.Builder
    extends com.google.protobuf.GeneratedMessageV3.Builder<FileSystemHttpCacheConfig.Builder>
    implements FileSystemHttpCacheConfigOrBuilder
     Configuration for a cache implementation that caches in the local file system.
     By default this cache uses a least-recently-used eviction strategy.
     For implementation details, see `DESIGN.md <https://github.com/envoyproxy/envoy/blob/main/source/extensions/http/cache/file_system_http_cache/DESIGN.md>`_.
     [#next-free-field: 11]
     
    Protobuf type envoy.extensions.http.cache.file_system_http_cache.v3.FileSystemHttpCacheConfig
    • Method Detail

      • getDescriptor

        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
      • internalGetFieldAccessorTable

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
        Specified by:
        internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3.Builder<FileSystemHttpCacheConfig.Builder>
      • getDescriptorForType

        public com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
        Specified by:
        getDescriptorForType in interface com.google.protobuf.Message.Builder
        Specified by:
        getDescriptorForType in interface com.google.protobuf.MessageOrBuilder
        Overrides:
        getDescriptorForType in class com.google.protobuf.GeneratedMessageV3.Builder<FileSystemHttpCacheConfig.Builder>
      • getDefaultInstanceForType

        public FileSystemHttpCacheConfig getDefaultInstanceForType()
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder
      • build

        public FileSystemHttpCacheConfig build()
        Specified by:
        build in interface com.google.protobuf.Message.Builder
        Specified by:
        build in interface com.google.protobuf.MessageLite.Builder
      • buildPartial

        public FileSystemHttpCacheConfig buildPartial()
        Specified by:
        buildPartial in interface com.google.protobuf.Message.Builder
        Specified by:
        buildPartial in interface com.google.protobuf.MessageLite.Builder
      • setRepeatedField

        public FileSystemHttpCacheConfig.Builder setRepeatedField​(com.google.protobuf.Descriptors.FieldDescriptor field,
                                                                  int index,
                                                                  Object value)
        Specified by:
        setRepeatedField in interface com.google.protobuf.Message.Builder
        Overrides:
        setRepeatedField in class com.google.protobuf.GeneratedMessageV3.Builder<FileSystemHttpCacheConfig.Builder>
      • isInitialized

        public final boolean isInitialized()
        Specified by:
        isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
        Overrides:
        isInitialized in class com.google.protobuf.GeneratedMessageV3.Builder<FileSystemHttpCacheConfig.Builder>
      • mergeFrom

        public FileSystemHttpCacheConfig.Builder mergeFrom​(com.google.protobuf.CodedInputStream input,
                                                           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                    throws IOException
        Specified by:
        mergeFrom in interface com.google.protobuf.Message.Builder
        Specified by:
        mergeFrom in interface com.google.protobuf.MessageLite.Builder
        Overrides:
        mergeFrom in class com.google.protobuf.AbstractMessage.Builder<FileSystemHttpCacheConfig.Builder>
        Throws:
        IOException
      • hasManagerConfig

        public 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) = { ... }
        Specified by:
        hasManagerConfig in interface FileSystemHttpCacheConfigOrBuilder
        Returns:
        Whether the managerConfig field is set.
      • getManagerConfig

        public 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) = { ... }
        Specified by:
        getManagerConfig in interface FileSystemHttpCacheConfigOrBuilder
        Returns:
        The managerConfig.
      • setManagerConfig

        public FileSystemHttpCacheConfig.Builder setManagerConfig​(AsyncFileManagerConfig value)
         Configuration of a manager for how the file system is used asynchronously.
         
        .envoy.extensions.common.async_files.v3.AsyncFileManagerConfig manager_config = 1 [(.validate.rules) = { ... }
      • setManagerConfig

        public FileSystemHttpCacheConfig.Builder setManagerConfig​(AsyncFileManagerConfig.Builder builderForValue)
         Configuration of a manager for how the file system is used asynchronously.
         
        .envoy.extensions.common.async_files.v3.AsyncFileManagerConfig manager_config = 1 [(.validate.rules) = { ... }
      • mergeManagerConfig

        public FileSystemHttpCacheConfig.Builder mergeManagerConfig​(AsyncFileManagerConfig value)
         Configuration of a manager for how the file system is used asynchronously.
         
        .envoy.extensions.common.async_files.v3.AsyncFileManagerConfig manager_config = 1 [(.validate.rules) = { ... }
      • clearManagerConfig

        public FileSystemHttpCacheConfig.Builder clearManagerConfig()
         Configuration of a manager for how the file system is used asynchronously.
         
        .envoy.extensions.common.async_files.v3.AsyncFileManagerConfig manager_config = 1 [(.validate.rules) = { ... }
      • getManagerConfigBuilder

        public AsyncFileManagerConfig.Builder getManagerConfigBuilder()
         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

        public 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) = { ... }
        Specified by:
        getCachePath in interface FileSystemHttpCacheConfigOrBuilder
        Returns:
        The cachePath.
      • getCachePathBytes

        public 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) = { ... }
        Specified by:
        getCachePathBytes in interface FileSystemHttpCacheConfigOrBuilder
        Returns:
        The bytes for cachePath.
      • setCachePath

        public FileSystemHttpCacheConfig.Builder setCachePath​(String value)
         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) = { ... }
        Parameters:
        value - The cachePath to set.
        Returns:
        This builder for chaining.
      • clearCachePath

        public FileSystemHttpCacheConfig.Builder clearCachePath()
         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:
        This builder for chaining.
      • setCachePathBytes

        public FileSystemHttpCacheConfig.Builder setCachePathBytes​(com.google.protobuf.ByteString value)
         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) = { ... }
        Parameters:
        value - The bytes for cachePath to set.
        Returns:
        This builder for chaining.
      • hasMaxCacheSizeBytes

        public 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;
        Specified by:
        hasMaxCacheSizeBytes in interface FileSystemHttpCacheConfigOrBuilder
        Returns:
        Whether the maxCacheSizeBytes field is set.
      • getMaxCacheSizeBytes

        public 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;
        Specified by:
        getMaxCacheSizeBytes in interface FileSystemHttpCacheConfigOrBuilder
        Returns:
        The maxCacheSizeBytes.
      • setMaxCacheSizeBytes

        public FileSystemHttpCacheConfig.Builder setMaxCacheSizeBytes​(com.google.protobuf.UInt64Value value)
         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;
      • setMaxCacheSizeBytes

        public FileSystemHttpCacheConfig.Builder setMaxCacheSizeBytes​(com.google.protobuf.UInt64Value.Builder builderForValue)
         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;
      • mergeMaxCacheSizeBytes

        public FileSystemHttpCacheConfig.Builder mergeMaxCacheSizeBytes​(com.google.protobuf.UInt64Value value)
         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;
      • clearMaxCacheSizeBytes

        public FileSystemHttpCacheConfig.Builder clearMaxCacheSizeBytes()
         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;
      • getMaxCacheSizeBytesBuilder

        public com.google.protobuf.UInt64Value.Builder getMaxCacheSizeBytesBuilder()
         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;
      • getMaxCacheSizeBytesOrBuilder

        public 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;
        Specified by:
        getMaxCacheSizeBytesOrBuilder in interface FileSystemHttpCacheConfigOrBuilder
      • hasMaxIndividualCacheEntrySizeBytes

        public 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;
        Specified by:
        hasMaxIndividualCacheEntrySizeBytes in interface FileSystemHttpCacheConfigOrBuilder
        Returns:
        Whether the maxIndividualCacheEntrySizeBytes field is set.
      • getMaxIndividualCacheEntrySizeBytes

        public 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;
        Specified by:
        getMaxIndividualCacheEntrySizeBytes in interface FileSystemHttpCacheConfigOrBuilder
        Returns:
        The maxIndividualCacheEntrySizeBytes.
      • setMaxIndividualCacheEntrySizeBytes

        public FileSystemHttpCacheConfig.Builder setMaxIndividualCacheEntrySizeBytes​(com.google.protobuf.UInt64Value value)
         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;
      • setMaxIndividualCacheEntrySizeBytes

        public FileSystemHttpCacheConfig.Builder setMaxIndividualCacheEntrySizeBytes​(com.google.protobuf.UInt64Value.Builder builderForValue)
         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;
      • mergeMaxIndividualCacheEntrySizeBytes

        public FileSystemHttpCacheConfig.Builder mergeMaxIndividualCacheEntrySizeBytes​(com.google.protobuf.UInt64Value value)
         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;
      • clearMaxIndividualCacheEntrySizeBytes

        public FileSystemHttpCacheConfig.Builder clearMaxIndividualCacheEntrySizeBytes()
         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;
      • getMaxIndividualCacheEntrySizeBytesBuilder

        public com.google.protobuf.UInt64Value.Builder getMaxIndividualCacheEntrySizeBytesBuilder()
         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;
      • getMaxIndividualCacheEntrySizeBytesOrBuilder

        public 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;
        Specified by:
        getMaxIndividualCacheEntrySizeBytesOrBuilder in interface FileSystemHttpCacheConfigOrBuilder
      • hasMaxCacheEntryCount

        public 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;
        Specified by:
        hasMaxCacheEntryCount in interface FileSystemHttpCacheConfigOrBuilder
        Returns:
        Whether the maxCacheEntryCount field is set.
      • getMaxCacheEntryCount

        public 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;
        Specified by:
        getMaxCacheEntryCount in interface FileSystemHttpCacheConfigOrBuilder
        Returns:
        The maxCacheEntryCount.
      • setMaxCacheEntryCount

        public FileSystemHttpCacheConfig.Builder setMaxCacheEntryCount​(com.google.protobuf.UInt64Value value)
         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;
      • setMaxCacheEntryCount

        public FileSystemHttpCacheConfig.Builder setMaxCacheEntryCount​(com.google.protobuf.UInt64Value.Builder builderForValue)
         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;
      • mergeMaxCacheEntryCount

        public FileSystemHttpCacheConfig.Builder mergeMaxCacheEntryCount​(com.google.protobuf.UInt64Value value)
         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;
      • clearMaxCacheEntryCount

        public FileSystemHttpCacheConfig.Builder clearMaxCacheEntryCount()
         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;
      • getMaxCacheEntryCountBuilder

        public com.google.protobuf.UInt64Value.Builder getMaxCacheEntryCountBuilder()
         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;
      • getMaxCacheEntryCountOrBuilder

        public 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;
        Specified by:
        getMaxCacheEntryCountOrBuilder in interface FileSystemHttpCacheConfigOrBuilder
      • getCacheSubdivisions

        public 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;
        Specified by:
        getCacheSubdivisions in interface FileSystemHttpCacheConfigOrBuilder
        Returns:
        The cacheSubdivisions.
      • setCacheSubdivisions

        public FileSystemHttpCacheConfig.Builder setCacheSubdivisions​(int value)
         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;
        Parameters:
        value - The cacheSubdivisions to set.
        Returns:
        This builder for chaining.
      • clearCacheSubdivisions

        public FileSystemHttpCacheConfig.Builder clearCacheSubdivisions()
         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:
        This builder for chaining.
      • getEvictFraction

        public 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;
        Specified by:
        getEvictFraction in interface FileSystemHttpCacheConfigOrBuilder
        Returns:
        The evictFraction.
      • setEvictFraction

        public FileSystemHttpCacheConfig.Builder setEvictFraction​(float value)
         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;
        Parameters:
        value - The evictFraction to set.
        Returns:
        This builder for chaining.
      • clearEvictFraction

        public FileSystemHttpCacheConfig.Builder clearEvictFraction()
         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:
        This builder for chaining.
      • hasMaxEvictionPeriod

        public 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;
        Specified by:
        hasMaxEvictionPeriod in interface FileSystemHttpCacheConfigOrBuilder
        Returns:
        Whether the maxEvictionPeriod field is set.
      • getMaxEvictionPeriod

        public 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;
        Specified by:
        getMaxEvictionPeriod in interface FileSystemHttpCacheConfigOrBuilder
        Returns:
        The maxEvictionPeriod.
      • setMaxEvictionPeriod

        public FileSystemHttpCacheConfig.Builder setMaxEvictionPeriod​(com.google.protobuf.Duration value)
         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;
      • setMaxEvictionPeriod

        public FileSystemHttpCacheConfig.Builder setMaxEvictionPeriod​(com.google.protobuf.Duration.Builder builderForValue)
         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;
      • mergeMaxEvictionPeriod

        public FileSystemHttpCacheConfig.Builder mergeMaxEvictionPeriod​(com.google.protobuf.Duration value)
         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;
      • clearMaxEvictionPeriod

        public FileSystemHttpCacheConfig.Builder clearMaxEvictionPeriod()
         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;
      • getMaxEvictionPeriodBuilder

        public com.google.protobuf.Duration.Builder getMaxEvictionPeriodBuilder()
         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;
      • getMaxEvictionPeriodOrBuilder

        public 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;
        Specified by:
        getMaxEvictionPeriodOrBuilder in interface FileSystemHttpCacheConfigOrBuilder
      • hasMinEvictionPeriod

        public 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;
        Specified by:
        hasMinEvictionPeriod in interface FileSystemHttpCacheConfigOrBuilder
        Returns:
        Whether the minEvictionPeriod field is set.
      • getMinEvictionPeriod

        public 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;
        Specified by:
        getMinEvictionPeriod in interface FileSystemHttpCacheConfigOrBuilder
        Returns:
        The minEvictionPeriod.
      • setMinEvictionPeriod

        public FileSystemHttpCacheConfig.Builder setMinEvictionPeriod​(com.google.protobuf.Duration value)
         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;
      • setMinEvictionPeriod

        public FileSystemHttpCacheConfig.Builder setMinEvictionPeriod​(com.google.protobuf.Duration.Builder builderForValue)
         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;
      • mergeMinEvictionPeriod

        public FileSystemHttpCacheConfig.Builder mergeMinEvictionPeriod​(com.google.protobuf.Duration value)
         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;
      • clearMinEvictionPeriod

        public FileSystemHttpCacheConfig.Builder clearMinEvictionPeriod()
         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;
      • getMinEvictionPeriodBuilder

        public com.google.protobuf.Duration.Builder getMinEvictionPeriodBuilder()
         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;
      • getMinEvictionPeriodOrBuilder

        public 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;
        Specified by:
        getMinEvictionPeriodOrBuilder in interface FileSystemHttpCacheConfigOrBuilder
      • getCreateCachePath

        public 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;
        Specified by:
        getCreateCachePath in interface FileSystemHttpCacheConfigOrBuilder
        Returns:
        The createCachePath.
      • setCreateCachePath

        public FileSystemHttpCacheConfig.Builder setCreateCachePath​(boolean value)
         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;
        Parameters:
        value - The createCachePath to set.
        Returns:
        This builder for chaining.
      • clearCreateCachePath

        public FileSystemHttpCacheConfig.Builder clearCreateCachePath()
         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:
        This builder for chaining.
      • setUnknownFields

        public final FileSystemHttpCacheConfig.Builder setUnknownFields​(com.google.protobuf.UnknownFieldSet unknownFields)
        Specified by:
        setUnknownFields in interface com.google.protobuf.Message.Builder
        Overrides:
        setUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<FileSystemHttpCacheConfig.Builder>
      • mergeUnknownFields

        public final FileSystemHttpCacheConfig.Builder mergeUnknownFields​(com.google.protobuf.UnknownFieldSet unknownFields)
        Specified by:
        mergeUnknownFields in interface com.google.protobuf.Message.Builder
        Overrides:
        mergeUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<FileSystemHttpCacheConfig.Builder>