|
|
|
@ -18,7 +18,9 @@ option go_package = "github.com/envoyproxy/go-control-plane/envoy/extensions/fil |
|
|
|
|
option (udpa.annotations.file_status).package_version_status = ACTIVE; |
|
|
|
|
option (xds.annotations.v3.file_status).work_in_progress = true; |
|
|
|
|
|
|
|
|
|
// [#not-implemented-hide:] |
|
|
|
|
// [#protodoc-title: FileSystemBufferFilterConfig] |
|
|
|
|
// [#extension: envoy.filters.http.file_system_buffer] |
|
|
|
|
|
|
|
|
|
// The behavior of the filter for a stream. |
|
|
|
|
// [#next-free-field: 6] |
|
|
|
|
message BufferBehavior { |
|
|
|
@ -61,7 +63,6 @@ message BufferBehavior { |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// [#not-implemented-hide:] |
|
|
|
|
// The configuration for one direction of the filter behavior. |
|
|
|
|
message StreamConfig { |
|
|
|
|
// Whether to bypass / stream / fully buffer / etc. |
|
|
|
@ -84,11 +85,12 @@ message StreamConfig { |
|
|
|
|
// ``memory_buffer_bytes_limit`` was 32MiB, and ``storage_buffer_queue_high_watermark_bytes`` |
|
|
|
|
// was 64MiB, and the filesystem is backed up so writes are not occurring promptly, |
|
|
|
|
// then: |
|
|
|
|
// |
|
|
|
|
// * Any request less than 32MiB will eventually pass through without ever attempting |
|
|
|
|
// to write to disk. |
|
|
|
|
// * Any request with over 32MiB buffered will start trying to write to disk. |
|
|
|
|
// * If it reaches (32+64)MiB buffered and not yet written to disk, a high |
|
|
|
|
// watermark signal is sent to the source. |
|
|
|
|
// If it reaches (32+64)MiB buffered in memory (write to disk isn't keeping up), a high |
|
|
|
|
// watermark signal is sent to the source. |
|
|
|
|
// * Any stream whose total size exceeds |
|
|
|
|
// ``memory_buffer_bytes_limit + storage_buffer_bytes_limit`` will provoke an error. |
|
|
|
|
// (Note, if the recipient *is* consuming data then it is possible for such an |
|
|
|
@ -96,12 +98,11 @@ message StreamConfig { |
|
|
|
|
// isn't consuming data too slowly.) |
|
|
|
|
// |
|
|
|
|
// The low watermark signal is sent when the memory buffer is at size |
|
|
|
|
// ``memory_buffer_bytes_limit + (storage_buffer_queue_high_watermark_bytes / 2)``. |
|
|
|
|
// ``memory_buffer_bytes_limit + (storage_buffer_queue_high_watermark_bytes / 2)``. |
|
|
|
|
google.protobuf.UInt64Value storage_buffer_queue_high_watermark_bytes = 4; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// [#not-implemented-hide:] |
|
|
|
|
// Configuration for file system buffer filter. |
|
|
|
|
// A :ref:`file system buffer <config_http_filters_file_system_buffer>` filter configuration. |
|
|
|
|
// |
|
|
|
|
// Route-specific configs override only the fields they explicitly include; unset |
|
|
|
|
// fields inherit from the vhost or listener-level config, or, if never set, |
|
|
|
|