Documentation
¶
Index ¶
- Variables
- type Hyperscan
- type Hyperscan_Regex
- 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) SetAllowEmpty(v bool)
- func (x *Hyperscan_Regex) SetCaseless(v bool)
- func (x *Hyperscan_Regex) SetCombination(v bool)
- func (x *Hyperscan_Regex) SetDotAll(v bool)
- func (x *Hyperscan_Regex) SetId(v uint32)
- func (x *Hyperscan_Regex) SetMultiline(v bool)
- func (x *Hyperscan_Regex) SetQuiet(v bool)
- func (x *Hyperscan_Regex) SetRegex(v string)
- func (x *Hyperscan_Regex) SetUcp(v bool)
- func (x *Hyperscan_Regex) SetUtf8(v bool)
- func (x *Hyperscan_Regex) String() string
- type Hyperscan_Regex_builder
- type Hyperscan_builder
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
func (*Hyperscan) SetRegexes ¶
func (x *Hyperscan) SetRegexes(v []*Hyperscan_Regex)
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) 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) SetAllowEmpty ¶
func (x *Hyperscan_Regex) SetAllowEmpty(v bool)
func (*Hyperscan_Regex) SetCaseless ¶
func (x *Hyperscan_Regex) SetCaseless(v bool)
func (*Hyperscan_Regex) SetCombination ¶
func (x *Hyperscan_Regex) SetCombination(v bool)
func (*Hyperscan_Regex) SetDotAll ¶
func (x *Hyperscan_Regex) SetDotAll(v bool)
func (*Hyperscan_Regex) SetId ¶
func (x *Hyperscan_Regex) SetId(v uint32)
func (*Hyperscan_Regex) SetMultiline ¶
func (x *Hyperscan_Regex) SetMultiline(v bool)
func (*Hyperscan_Regex) SetQuiet ¶
func (x *Hyperscan_Regex) SetQuiet(v bool)
func (*Hyperscan_Regex) SetRegex ¶
func (x *Hyperscan_Regex) SetRegex(v string)
func (*Hyperscan_Regex) SetUcp ¶
func (x *Hyperscan_Regex) SetUcp(v bool)
func (*Hyperscan_Regex) SetUtf8 ¶
func (x *Hyperscan_Regex) SetUtf8(v bool)
func (*Hyperscan_Regex) String ¶
func (x *Hyperscan_Regex) String() string
type Hyperscan_Regex_builder ¶
type Hyperscan_Regex_builder struct {
// The regex expression.
//
// The expression must represent only the pattern to be matched, with no delimiters or flags.
Regex string
// The ID of the regex expression.
//
// This option is designed to be used on the sub-expressions in logical combinations.
Id uint32
// 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
// Matching a “.“ will not exclude newlines.
DotAll bool
// “^“ and “$“ anchors match any newlines in data.
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.
AllowEmpty bool
// Treat the pattern as a sequence of UTF-8 characters.
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“.
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 “|“.
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.
Quiet bool
// contains filtered or unexported fields
}
func (Hyperscan_Regex_builder) Build ¶
func (b0 Hyperscan_Regex_builder) Build() *Hyperscan_Regex
type Hyperscan_builder ¶
type Hyperscan_builder struct {
// Specifies a set of regex expressions that the input should match on.
Regexes []*Hyperscan_Regex
// contains filtered or unexported fields
}
func (Hyperscan_builder) Build ¶
func (b0 Hyperscan_builder) Build() *Hyperscan
Source Files
¶
- hyperscan.pb.go
Click to show internal directories.
Click to hide internal directories.