Documentation ¶
Index ¶
- Variables
- type Hyperscan
- type Hyperscan_Regex
- func (*Hyperscan_Regex) Descriptor() ([]byte, []int)deprecated
- func (x *Hyperscan_Regex) GetAllowEmpty() bool
- func (x *Hyperscan_Regex) GetCaseless() bool
- func (x *Hyperscan_Regex) GetCombination() bool
- func (x *Hyperscan_Regex) GetDotAll() bool
- func (x *Hyperscan_Regex) GetId() uint32
- func (x *Hyperscan_Regex) GetMultiline() bool
- func (x *Hyperscan_Regex) GetQuiet() bool
- func (x *Hyperscan_Regex) GetRegex() string
- func (x *Hyperscan_Regex) GetUcp() bool
- func (x *Hyperscan_Regex) GetUtf8() bool
- func (*Hyperscan_Regex) ProtoMessage()
- func (x *Hyperscan_Regex) ProtoReflect() protoreflect.Message
- func (x *Hyperscan_Regex) Reset()
- func (x *Hyperscan_Regex) String() string
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) GetRegexes ¶
func (x *Hyperscan) GetRegexes() []*Hyperscan_Regex
func (*Hyperscan) ProtoReflect ¶
func (x *Hyperscan) ProtoReflect() protoreflect.Message
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
Click to show internal directories.
Click to hide internal directories.