diff options
Diffstat (limited to 'src/rpc/envoy.extensions.matching.input_matchers.hyperscan.v3alpha.rs')
| -rw-r--r-- | src/rpc/envoy.extensions.matching.input_matchers.hyperscan.v3alpha.rs | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/src/rpc/envoy.extensions.matching.input_matchers.hyperscan.v3alpha.rs b/src/rpc/envoy.extensions.matching.input_matchers.hyperscan.v3alpha.rs new file mode 100644 index 00000000..a3bf4d0b --- /dev/null +++ b/src/rpc/envoy.extensions.matching.input_matchers.hyperscan.v3alpha.rs @@ -0,0 +1,77 @@ +// @generated +// This file is @generated by prost-build. +// \[#protodoc-title: Hyperscan matcher\] +// Hyperscan :ref:`configuration overview <config_hyperscan>`. +// \[#extension: envoy.matching.input_matchers.hyperscan\] + +/// `Hyperscan <<https://github.com/intel/hyperscan>`_> regex matcher. The matcher uses the Hyperscan +/// engine which exploits x86 SIMD instructions to accelerate matching large numbers of regular +/// expressions simultaneously across streams of data. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hyperscan { + /// Specifies a set of regex expressions that the input should match on. + #[prost(message, repeated, tag="1")] + pub regexes: ::prost::alloc::vec::Vec<hyperscan::Regex>, +} +/// Nested message and enum types in `Hyperscan`. +pub mod hyperscan { + /// \[#next-free-field: 11\] + #[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] + pub struct Regex { + /// The regex expression. + /// + /// The expression must represent only the pattern to be matched, with no delimiters or flags. + #[prost(string, tag="1")] + pub regex: ::prost::alloc::string::String, + /// The ID of the regex expression. + /// + /// This option is designed to be used on the sub-expressions in logical combinations. + #[prost(uint32, tag="2")] + pub id: u32, + /// Matching will be performed case-insensitively. + /// + /// The expression may still use PCRE tokens (notably ``(?i)`` and ``(?-i)``) to switch + /// case-insensitive matching on and off. + #[prost(bool, tag="3")] + pub caseless: bool, + /// Matching a ``.`` will not exclude newlines. + #[prost(bool, tag="4")] + pub dot_all: bool, + /// ``^`` and ``$`` anchors match any newlines in data. + #[prost(bool, tag="5")] + pub multiline: bool, + /// Allow expressions which can match against an empty string. + /// + /// This option instructs the compiler to allow expressions that can match against empty buffers, + /// such as ``.?``, ``.*``, ``(a|)``. Since Hyperscan can return every possible match for an expression, + /// such expressions generally execute very slowly. + #[prost(bool, tag="6")] + pub allow_empty: bool, + /// Treat the pattern as a sequence of UTF-8 characters. + #[prost(bool, tag="7")] + pub utf8: bool, + /// Use Unicode properties for character classes. + /// + /// This option instructs Hyperscan to use Unicode properties, rather than the default ASCII + /// interpretations, for character mnemonics like ``\w`` and ``\s`` as well as the POSIX character + /// classes. It is only meaningful in conjunction with ``utf8``. + #[prost(bool, tag="8")] + pub ucp: bool, + /// Logical combination. + /// + /// This option instructs Hyperscan to parse this expression as logical combination syntax. + /// Logical constraints consist of operands, operators and parentheses. The operands are + /// expression indices, and operators can be ``!``, ``&`` or ``|``. + #[prost(bool, tag="9")] + pub combination: bool, + /// Don’t do any match reporting. + /// + /// This option instructs Hyperscan to ignore match reporting for this expression. It is + /// designed to be used on the sub-expressions in logical combinations. + #[prost(bool, tag="10")] + pub quiet: bool, + } +} +// @@protoc_insertion_point(module) |
