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

    Modifier and Type
    Method
    Description
    Path at which the cache files will be stored.
    com.google.protobuf.ByteString
    Path at which the cache files will be stored.
    int
    A number of folders into which to subdivide the cache.
    boolean
    If true, and the cache path does not exist, attempt to create the cache path, including any missing directories leading up to it.
    float
    The amount of the maximum cache size or count to evict when cache eviction is triggered.
    Configuration of a manager for how the file system is used asynchronously.
    Configuration of a manager for how the file system is used asynchronously.
    com.google.protobuf.UInt64Value
    The maximum number of cache entries - when reached, cache eviction is triggered.
    com.google.protobuf.UInt64ValueOrBuilder
    The maximum number of cache entries - when reached, cache eviction is triggered.
    com.google.protobuf.UInt64Value
    The maximum size of the cache in bytes - when reached, cache eviction is triggered.
    com.google.protobuf.UInt64ValueOrBuilder
    The maximum size of the cache in bytes - when reached, cache eviction is triggered.
    com.google.protobuf.Duration
    The longest amount of time to wait before running a cache eviction pass.
    com.google.protobuf.DurationOrBuilder
    The longest amount of time to wait before running a cache eviction pass.
    com.google.protobuf.UInt64Value
    The maximum size of a cache entry in bytes - larger responses will not be cached.
    com.google.protobuf.UInt64ValueOrBuilder
    The maximum size of a cache entry in bytes - larger responses will not be cached.
    com.google.protobuf.Duration
    The shortest amount of time between cache eviction passes.
    com.google.protobuf.DurationOrBuilder
    The shortest amount of time between cache eviction passes.
    boolean
    Configuration of a manager for how the file system is used asynchronously.
    boolean
    The maximum number of cache entries - when reached, cache eviction is triggered.
    boolean
    The maximum size of the cache in bytes - when reached, cache eviction is triggered.
    boolean
    The longest amount of time to wait before running a cache eviction pass.
    boolean
    The maximum size of a cache entry in bytes - larger responses will not be cached.
    boolean
    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 Details

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