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
      String getCachePath()
      Path at which the cache files will be stored.
      com.google.protobuf.ByteString getCachePathBytes()
      Path at which the cache files will be stored.
      int getCacheSubdivisions()
      A number of folders into which to subdivide the cache.
      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.
      float getEvictFraction()
      The amount of the maximum cache size or count to evict when cache eviction is triggered.
      AsyncFileManagerConfig getManagerConfig()
      Configuration of a manager for how the file system is used asynchronously.
      AsyncFileManagerConfigOrBuilder getManagerConfigOrBuilder()
      Configuration of a manager for how the file system is used asynchronously.
      com.google.protobuf.UInt64Value getMaxCacheEntryCount()
      The maximum number of cache entries - when reached, cache eviction is triggered.
      com.google.protobuf.UInt64ValueOrBuilder getMaxCacheEntryCountOrBuilder()
      The maximum number of cache entries - when reached, cache eviction is triggered.
      com.google.protobuf.UInt64Value getMaxCacheSizeBytes()
      The maximum size of the cache in bytes - when reached, cache eviction is triggered.
      com.google.protobuf.UInt64ValueOrBuilder getMaxCacheSizeBytesOrBuilder()
      The maximum size of the cache in bytes - when reached, cache eviction is triggered.
      com.google.protobuf.Duration getMaxEvictionPeriod()
      The longest amount of time to wait before running a cache eviction pass.
      com.google.protobuf.DurationOrBuilder getMaxEvictionPeriodOrBuilder()
      The longest amount of time to wait before running a cache eviction pass.
      com.google.protobuf.UInt64Value getMaxIndividualCacheEntrySizeBytes()
      The maximum size of a cache entry in bytes - larger responses will not be cached.
      com.google.protobuf.UInt64ValueOrBuilder getMaxIndividualCacheEntrySizeBytesOrBuilder()
      The maximum size of a cache entry in bytes - larger responses will not be cached.
      com.google.protobuf.Duration getMinEvictionPeriod()
      The shortest amount of time between cache eviction passes.
      com.google.protobuf.DurationOrBuilder getMinEvictionPeriodOrBuilder()
      The shortest amount of time between cache eviction passes.
      boolean hasManagerConfig()
      Configuration of a manager for how the file system is used asynchronously.
      boolean hasMaxCacheEntryCount()
      The maximum number of cache entries - when reached, cache eviction is triggered.
      boolean hasMaxCacheSizeBytes()
      The maximum size of the cache in bytes - when reached, cache eviction is triggered.
      boolean hasMaxEvictionPeriod()
      The longest amount of time to wait before running a cache eviction pass.
      boolean hasMaxIndividualCacheEntrySizeBytes()
      The maximum size of a cache entry in bytes - larger responses will not be cached.
      boolean hasMinEvictionPeriod()
      The shortest amount of time between cache eviction passes.
      • Methods inherited from interface com.google.protobuf.MessageLiteOrBuilder

        isInitialized
      • 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.