hyperscanv3alpha

package
v1.34.0-20240426201503... Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: unknown License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var File_contrib_envoy_extensions_matching_input_matchers_hyperscan_v3alpha_hyperscan_proto protoreflect.FileDescriptor

Functions

This section is empty.

Types

type Hyperscan

type Hyperscan struct {

	// Specifies a set of regex expressions that the input should match on.
	Regexes []*Hyperscan_Regex `protobuf:"bytes,1,rep,name=regexes,proto3" json:"regexes,omitempty"`
	// contains filtered or unexported fields
}

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

func (*Hyperscan) Descriptor deprecated

func (*Hyperscan) Descriptor() ([]byte, []int)

Deprecated: Use Hyperscan.ProtoReflect.Descriptor instead.

func (*Hyperscan) GetRegexes

func (x *Hyperscan) GetRegexes() []*Hyperscan_Regex

func (*Hyperscan) ProtoMessage

func (*Hyperscan) ProtoMessage()

func (*Hyperscan) ProtoReflect

func (x *Hyperscan) ProtoReflect() protoreflect.Message

func (*Hyperscan) Reset

func (x *Hyperscan) Reset()

func (*Hyperscan) String

func (x *Hyperscan) String() string

type Hyperscan_Regex

type Hyperscan_Regex struct {

	// The regex expression.
	//
	// The expression must represent only the pattern to be matched, with no delimiters or flags.
	Regex string `protobuf:"bytes,1,opt,name=regex,proto3" json:"regex,omitempty"`
	// The ID of the regex expression.
	//
	// This option is designed to be used on the sub-expressions in logical combinations.
	Id uint32 `protobuf:"varint,2,opt,name=id,proto3" json:"id,omitempty"`
	// 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.
	Caseless bool `protobuf:"varint,3,opt,name=caseless,proto3" json:"caseless,omitempty"`
	// Matching a “.“ will not exclude newlines.
	DotAll bool `protobuf:"varint,4,opt,name=dot_all,json=dotAll,proto3" json:"dot_all,omitempty"`
	// “^“ and “$“ anchors match any newlines in data.
	Multiline bool `protobuf:"varint,5,opt,name=multiline,proto3" json:"multiline,omitempty"`
	// 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.
	AllowEmpty bool `protobuf:"varint,6,opt,name=allow_empty,json=allowEmpty,proto3" json:"allow_empty,omitempty"`
	// Treat the pattern as a sequence of UTF-8 characters.
	Utf8 bool `protobuf:"varint,7,opt,name=utf8,proto3" json:"utf8,omitempty"`
	// 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“.
	Ucp bool `protobuf:"varint,8,opt,name=ucp,proto3" json:"ucp,omitempty"`
	// 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 “|“.
	Combination bool `protobuf:"varint,9,opt,name=combination,proto3" json:"combination,omitempty"`
	// 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.
	Quiet bool `protobuf:"varint,10,opt,name=quiet,proto3" json:"quiet,omitempty"`
	// contains filtered or unexported fields
}

[#next-free-field: 11]

func (*Hyperscan_Regex) Descriptor deprecated

func (*Hyperscan_Regex) Descriptor() ([]byte, []int)

Deprecated: Use Hyperscan_Regex.ProtoReflect.Descriptor instead.

func (*Hyperscan_Regex) GetAllowEmpty

func (x *Hyperscan_Regex) GetAllowEmpty() bool

func (*Hyperscan_Regex) GetCaseless

func (x *Hyperscan_Regex) GetCaseless() bool

func (*Hyperscan_Regex) GetCombination

func (x *Hyperscan_Regex) GetCombination() bool

func (*Hyperscan_Regex) GetDotAll

func (x *Hyperscan_Regex) GetDotAll() bool

func (*Hyperscan_Regex) GetId

func (x *Hyperscan_Regex) GetId() uint32

func (*Hyperscan_Regex) GetMultiline

func (x *Hyperscan_Regex) GetMultiline() bool

func (*Hyperscan_Regex) GetQuiet

func (x *Hyperscan_Regex) GetQuiet() bool

func (*Hyperscan_Regex) GetRegex

func (x *Hyperscan_Regex) GetRegex() string

func (*Hyperscan_Regex) GetUcp

func (x *Hyperscan_Regex) GetUcp() bool

func (*Hyperscan_Regex) GetUtf8

func (x *Hyperscan_Regex) GetUtf8() bool

func (*Hyperscan_Regex) ProtoMessage

func (*Hyperscan_Regex) ProtoMessage()

func (*Hyperscan_Regex) ProtoReflect

func (x *Hyperscan_Regex) ProtoReflect() protoreflect.Message

func (*Hyperscan_Regex) Reset

func (x *Hyperscan_Regex) Reset()

func (*Hyperscan_Regex) String

func (x *Hyperscan_Regex) String() string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL