syntax = "proto3";

package envoy.extensions.regex_engines.hyperscan.v3alpha;

import "udpa/annotations/status.proto";

option java_package = "io.envoyproxy.envoy.extensions.regex_engines.hyperscan.v3alpha";
option java_outer_classname = "HyperscanProto";
option java_multiple_files = true;
option go_package = "github.com/envoyproxy/go-control-plane/contrib/envoy/extensions/regex_engines/hyperscan/v3alpha";
option (udpa.annotations.file_status).package_version_status = ACTIVE;

// [#protodoc-title: Hyperscan]
// Hyperscan :ref:`configuration overview <config_hyperscan>`.
// [#extension: envoy.regex_engines.hyperscan]

// `Hyperscan <https://github.com/intel/hyperscan>`_ regex engine. The engine uses hybrid automata
// techniques to allow simultaneous matching of large numbers of regular expressions across streams
// of data.
//
// The engine follows PCRE pattern syntax, and the regex string must adhere to the documented
// `pattern support <https://intel.github.io/hyperscan/dev-reference/compilation.html#pattern-support>`_.
// The syntax is not compatible with the default RE2 regex engine. Depending on configured
// expressions, swapping regex engine may cause match rules to no longer be valid.
message Hyperscan {
}
