Class RegexMatcher.GoogleRE2

  • All Implemented Interfaces:
    com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, RegexMatcher.GoogleRE2OrBuilder, java.io.Serializable
    Enclosing class:
    RegexMatcher

    public static final class RegexMatcher.GoogleRE2
    extends com.google.protobuf.GeneratedMessage
    implements RegexMatcher.GoogleRE2OrBuilder
     Google's `RE2 <https://github.com/google/re2>`_ regex engine. The regex string must adhere to
     the documented `syntax <https://github.com/google/re2/wiki/Syntax>`_. The engine is designed
     to complete execution in linear time as well as limit the amount of memory used.
    
     Envoy supports program size checking via runtime. The runtime keys ``re2.max_program_size.error_level``
     and ``re2.max_program_size.warn_level`` can be set to integers as the maximum program size or
     complexity that a compiled regex can have before an exception is thrown or a warning is
     logged, respectively. ``re2.max_program_size.error_level`` defaults to 100, and
     ``re2.max_program_size.warn_level`` has no default if unset (will not check/log a warning).
    
     Envoy emits two stats for tracking the program size of regexes: the histogram ``re2.program_size``,
     which records the program size, and the counter ``re2.exceeded_warn_level``, which is incremented
     each time the program size exceeds the warn level threshold.
     
    Protobuf type envoy.type.matcher.v3.RegexMatcher.GoogleRE2
    See Also:
    Serialized Form
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  RegexMatcher.GoogleRE2.Builder
      Google's `RE2 <https://github.com/google/re2>`_ regex engine.
      • Nested classes/interfaces inherited from class com.google.protobuf.GeneratedMessage

        com.google.protobuf.GeneratedMessage.ExtendableBuilder<MessageT extends com.google.protobuf.GeneratedMessage.ExtendableMessage<MessageT>,​BuilderT extends com.google.protobuf.GeneratedMessage.ExtendableBuilder<MessageT,​BuilderT>>, com.google.protobuf.GeneratedMessage.ExtendableMessage<MessageT extends com.google.protobuf.GeneratedMessage.ExtendableMessage<MessageT>>, com.google.protobuf.GeneratedMessage.ExtendableMessageOrBuilder<MessageT extends com.google.protobuf.GeneratedMessage.ExtendableMessage<MessageT>>, com.google.protobuf.GeneratedMessage.FieldAccessorTable, com.google.protobuf.GeneratedMessage.GeneratedExtension<ContainingT extends com.google.protobuf.Message,​T extends java.lang.Object>, com.google.protobuf.GeneratedMessage.UnusedPrivateParameter
      • Nested classes/interfaces inherited from class com.google.protobuf.AbstractMessage

        com.google.protobuf.AbstractMessage.BuilderParent
      • Nested classes/interfaces inherited from class com.google.protobuf.AbstractMessageLite

        com.google.protobuf.AbstractMessageLite.InternalOneOfEnum
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      private GoogleRE2()  
      private GoogleRE2​(com.google.protobuf.GeneratedMessage.Builder<?> builder)  
    • Field Detail

      • bitField0_

        private int bitField0_
      • MAX_PROGRAM_SIZE_FIELD_NUMBER

        public static final int MAX_PROGRAM_SIZE_FIELD_NUMBER
        See Also:
        Constant Field Values
      • maxProgramSize_

        private com.google.protobuf.UInt32Value maxProgramSize_
      • memoizedIsInitialized

        private byte memoizedIsInitialized
    • Constructor Detail

      • GoogleRE2

        private GoogleRE2​(com.google.protobuf.GeneratedMessage.Builder<?> builder)
      • GoogleRE2

        private GoogleRE2()
    • Method Detail

      • getDescriptor

        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
      • internalGetFieldAccessorTable

        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable()
        Specified by:
        internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessage
      • hasMaxProgramSize

        @Deprecated
        public boolean hasMaxProgramSize()
        Deprecated.
        envoy.type.matcher.v3.RegexMatcher.GoogleRE2.max_program_size is deprecated. See envoy/type/matcher/v3/regex.proto;l=53
         This field controls the RE2 "program size" which is a rough estimate of how complex a
         compiled regex is to evaluate. A regex that has a program size greater than the configured
         value will fail to compile. In this case, the configured max program size can be increased
         or the regex can be simplified. If not specified, the default is 100.
        
         This field is deprecated; regexp validation should be performed on the management server
         instead of being done by each individual client.
        
         .. note::
        
         Although this field is deprecated, the program size will still be checked against the
         global ``re2.max_program_size.error_level`` runtime value.
         
        .google.protobuf.UInt32Value max_program_size = 1 [deprecated = true, (.envoy.annotations.deprecated_at_minor_version) = "3.0"];
        Specified by:
        hasMaxProgramSize in interface RegexMatcher.GoogleRE2OrBuilder
        Returns:
        Whether the maxProgramSize field is set.
      • getMaxProgramSize

        @Deprecated
        public com.google.protobuf.UInt32Value getMaxProgramSize()
        Deprecated.
        envoy.type.matcher.v3.RegexMatcher.GoogleRE2.max_program_size is deprecated. See envoy/type/matcher/v3/regex.proto;l=53
         This field controls the RE2 "program size" which is a rough estimate of how complex a
         compiled regex is to evaluate. A regex that has a program size greater than the configured
         value will fail to compile. In this case, the configured max program size can be increased
         or the regex can be simplified. If not specified, the default is 100.
        
         This field is deprecated; regexp validation should be performed on the management server
         instead of being done by each individual client.
        
         .. note::
        
         Although this field is deprecated, the program size will still be checked against the
         global ``re2.max_program_size.error_level`` runtime value.
         
        .google.protobuf.UInt32Value max_program_size = 1 [deprecated = true, (.envoy.annotations.deprecated_at_minor_version) = "3.0"];
        Specified by:
        getMaxProgramSize in interface RegexMatcher.GoogleRE2OrBuilder
        Returns:
        The maxProgramSize.
      • getMaxProgramSizeOrBuilder

        @Deprecated
        public com.google.protobuf.UInt32ValueOrBuilder getMaxProgramSizeOrBuilder()
        Deprecated.
         This field controls the RE2 "program size" which is a rough estimate of how complex a
         compiled regex is to evaluate. A regex that has a program size greater than the configured
         value will fail to compile. In this case, the configured max program size can be increased
         or the regex can be simplified. If not specified, the default is 100.
        
         This field is deprecated; regexp validation should be performed on the management server
         instead of being done by each individual client.
        
         .. note::
        
         Although this field is deprecated, the program size will still be checked against the
         global ``re2.max_program_size.error_level`` runtime value.
         
        .google.protobuf.UInt32Value max_program_size = 1 [deprecated = true, (.envoy.annotations.deprecated_at_minor_version) = "3.0"];
        Specified by:
        getMaxProgramSizeOrBuilder in interface RegexMatcher.GoogleRE2OrBuilder
      • isInitialized

        public final boolean isInitialized()
        Specified by:
        isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
        Overrides:
        isInitialized in class com.google.protobuf.GeneratedMessage
      • writeTo

        public void writeTo​(com.google.protobuf.CodedOutputStream output)
                     throws java.io.IOException
        Specified by:
        writeTo in interface com.google.protobuf.MessageLite
        Overrides:
        writeTo in class com.google.protobuf.GeneratedMessage
        Throws:
        java.io.IOException
      • getSerializedSize

        public int getSerializedSize()
        Specified by:
        getSerializedSize in interface com.google.protobuf.MessageLite
        Overrides:
        getSerializedSize in class com.google.protobuf.GeneratedMessage
      • equals

        public boolean equals​(java.lang.Object obj)
        Specified by:
        equals in interface com.google.protobuf.Message
        Overrides:
        equals in class com.google.protobuf.AbstractMessage
      • hashCode

        public int hashCode()
        Specified by:
        hashCode in interface com.google.protobuf.Message
        Overrides:
        hashCode in class com.google.protobuf.AbstractMessage
      • parseFrom

        public static RegexMatcher.GoogleRE2 parseFrom​(java.nio.ByteBuffer data)
                                                throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static RegexMatcher.GoogleRE2 parseFrom​(java.nio.ByteBuffer data,
                                                       com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static RegexMatcher.GoogleRE2 parseFrom​(com.google.protobuf.ByteString data)
                                                throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static RegexMatcher.GoogleRE2 parseFrom​(com.google.protobuf.ByteString data,
                                                       com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static RegexMatcher.GoogleRE2 parseFrom​(byte[] data)
                                                throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static RegexMatcher.GoogleRE2 parseFrom​(byte[] data,
                                                       com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static RegexMatcher.GoogleRE2 parseFrom​(java.io.InputStream input)
                                                throws java.io.IOException
        Throws:
        java.io.IOException
      • parseFrom

        public static RegexMatcher.GoogleRE2 parseFrom​(java.io.InputStream input,
                                                       com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                throws java.io.IOException
        Throws:
        java.io.IOException
      • parseDelimitedFrom

        public static RegexMatcher.GoogleRE2 parseDelimitedFrom​(java.io.InputStream input)
                                                         throws java.io.IOException
        Throws:
        java.io.IOException
      • parseDelimitedFrom

        public static RegexMatcher.GoogleRE2 parseDelimitedFrom​(java.io.InputStream input,
                                                                com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                         throws java.io.IOException
        Throws:
        java.io.IOException
      • parseFrom

        public static RegexMatcher.GoogleRE2 parseFrom​(com.google.protobuf.CodedInputStream input)
                                                throws java.io.IOException
        Throws:
        java.io.IOException
      • parseFrom

        public static RegexMatcher.GoogleRE2 parseFrom​(com.google.protobuf.CodedInputStream input,
                                                       com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                throws java.io.IOException
        Throws:
        java.io.IOException
      • newBuilderForType

        public RegexMatcher.GoogleRE2.Builder newBuilderForType()
        Specified by:
        newBuilderForType in interface com.google.protobuf.Message
        Specified by:
        newBuilderForType in interface com.google.protobuf.MessageLite
      • toBuilder

        public RegexMatcher.GoogleRE2.Builder toBuilder()
        Specified by:
        toBuilder in interface com.google.protobuf.Message
        Specified by:
        toBuilder in interface com.google.protobuf.MessageLite
      • newBuilderForType

        protected RegexMatcher.GoogleRE2.Builder newBuilderForType​(com.google.protobuf.AbstractMessage.BuilderParent parent)
        Overrides:
        newBuilderForType in class com.google.protobuf.AbstractMessage
      • getParserForType

        public com.google.protobuf.Parser<RegexMatcher.GoogleRE2> getParserForType()
        Specified by:
        getParserForType in interface com.google.protobuf.Message
        Specified by:
        getParserForType in interface com.google.protobuf.MessageLite
        Overrides:
        getParserForType in class com.google.protobuf.GeneratedMessage
      • getDefaultInstanceForType

        public RegexMatcher.GoogleRE2 getDefaultInstanceForType()
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder