summaryrefslogtreecommitdiff
path: root/src/rpc/envoy.extensions.matching.input_matchers.hyperscan.v3alpha.rs
diff options
context:
space:
mode:
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.rs77
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)