Class FilterChain

  • All Implemented Interfaces:
    com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, FilterChainOrBuilder, java.io.Serializable

    public final class FilterChain
    extends com.google.protobuf.GeneratedMessage
    implements FilterChainOrBuilder
     A filter chain wraps a set of match criteria, an option TLS context, a set of filters, and
     various other parameters.
     [#next-free-field: 10]
     
    Protobuf type envoy.config.listener.v3.FilterChain
    See Also:
    Serialized Form
    • Field Detail

      • bitField0_

        private int bitField0_
      • FILTER_CHAIN_MATCH_FIELD_NUMBER

        public static final int FILTER_CHAIN_MATCH_FIELD_NUMBER
        See Also:
        Constant Field Values
      • filters_

        private java.util.List<Filter> filters_
      • USE_PROXY_PROTO_FIELD_NUMBER

        public static final int USE_PROXY_PROTO_FIELD_NUMBER
        See Also:
        Constant Field Values
      • useProxyProto_

        private com.google.protobuf.BoolValue useProxyProto_
      • TRANSPORT_SOCKET_FIELD_NUMBER

        public static final int TRANSPORT_SOCKET_FIELD_NUMBER
        See Also:
        Constant Field Values
      • TRANSPORT_SOCKET_CONNECT_TIMEOUT_FIELD_NUMBER

        public static final int TRANSPORT_SOCKET_CONNECT_TIMEOUT_FIELD_NUMBER
        See Also:
        Constant Field Values
      • transportSocketConnectTimeout_

        private com.google.protobuf.Duration transportSocketConnectTimeout_
      • name_

        private volatile java.lang.Object name_
      • ON_DEMAND_CONFIGURATION_FIELD_NUMBER

        public static final int ON_DEMAND_CONFIGURATION_FIELD_NUMBER
        See Also:
        Constant Field Values
      • memoizedIsInitialized

        private byte memoizedIsInitialized
      • DEFAULT_INSTANCE

        private static final FilterChain DEFAULT_INSTANCE
      • PARSER

        private static final com.google.protobuf.Parser<FilterChain> PARSER
    • Constructor Detail

      • FilterChain

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

        private FilterChain()
    • 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
      • hasFilterChainMatch

        public boolean hasFilterChainMatch()
         The criteria to use when matching a connection to this filter chain.
         
        .envoy.config.listener.v3.FilterChainMatch filter_chain_match = 1;
        Specified by:
        hasFilterChainMatch in interface FilterChainOrBuilder
        Returns:
        Whether the filterChainMatch field is set.
      • getFilterChainMatch

        public FilterChainMatch getFilterChainMatch()
         The criteria to use when matching a connection to this filter chain.
         
        .envoy.config.listener.v3.FilterChainMatch filter_chain_match = 1;
        Specified by:
        getFilterChainMatch in interface FilterChainOrBuilder
        Returns:
        The filterChainMatch.
      • getFiltersList

        public java.util.List<Filter> getFiltersList()
         A list of individual network filters that make up the filter chain for
         connections established with the listener. Order matters as the filters are
         processed sequentially as connection events happen. Note: If the filter
         list is empty, the connection will close by default.
        
         For QUIC listeners, network filters other than HTTP Connection Manager (HCM)
         can be created, but due to differences in the connection implementation compared
         to TCP, the onData() method will never be called. Therefore, network filters
         for QUIC listeners should only expect to do work at the start of a new connection
         (i.e. in onNewConnection()). HCM must be the last (or only) filter in the chain.
         
        repeated .envoy.config.listener.v3.Filter filters = 3;
        Specified by:
        getFiltersList in interface FilterChainOrBuilder
      • getFiltersOrBuilderList

        public java.util.List<? extends FilterOrBuilder> getFiltersOrBuilderList()
         A list of individual network filters that make up the filter chain for
         connections established with the listener. Order matters as the filters are
         processed sequentially as connection events happen. Note: If the filter
         list is empty, the connection will close by default.
        
         For QUIC listeners, network filters other than HTTP Connection Manager (HCM)
         can be created, but due to differences in the connection implementation compared
         to TCP, the onData() method will never be called. Therefore, network filters
         for QUIC listeners should only expect to do work at the start of a new connection
         (i.e. in onNewConnection()). HCM must be the last (or only) filter in the chain.
         
        repeated .envoy.config.listener.v3.Filter filters = 3;
        Specified by:
        getFiltersOrBuilderList in interface FilterChainOrBuilder
      • getFiltersCount

        public int getFiltersCount()
         A list of individual network filters that make up the filter chain for
         connections established with the listener. Order matters as the filters are
         processed sequentially as connection events happen. Note: If the filter
         list is empty, the connection will close by default.
        
         For QUIC listeners, network filters other than HTTP Connection Manager (HCM)
         can be created, but due to differences in the connection implementation compared
         to TCP, the onData() method will never be called. Therefore, network filters
         for QUIC listeners should only expect to do work at the start of a new connection
         (i.e. in onNewConnection()). HCM must be the last (or only) filter in the chain.
         
        repeated .envoy.config.listener.v3.Filter filters = 3;
        Specified by:
        getFiltersCount in interface FilterChainOrBuilder
      • getFilters

        public Filter getFilters​(int index)
         A list of individual network filters that make up the filter chain for
         connections established with the listener. Order matters as the filters are
         processed sequentially as connection events happen. Note: If the filter
         list is empty, the connection will close by default.
        
         For QUIC listeners, network filters other than HTTP Connection Manager (HCM)
         can be created, but due to differences in the connection implementation compared
         to TCP, the onData() method will never be called. Therefore, network filters
         for QUIC listeners should only expect to do work at the start of a new connection
         (i.e. in onNewConnection()). HCM must be the last (or only) filter in the chain.
         
        repeated .envoy.config.listener.v3.Filter filters = 3;
        Specified by:
        getFilters in interface FilterChainOrBuilder
      • getFiltersOrBuilder

        public FilterOrBuilder getFiltersOrBuilder​(int index)
         A list of individual network filters that make up the filter chain for
         connections established with the listener. Order matters as the filters are
         processed sequentially as connection events happen. Note: If the filter
         list is empty, the connection will close by default.
        
         For QUIC listeners, network filters other than HTTP Connection Manager (HCM)
         can be created, but due to differences in the connection implementation compared
         to TCP, the onData() method will never be called. Therefore, network filters
         for QUIC listeners should only expect to do work at the start of a new connection
         (i.e. in onNewConnection()). HCM must be the last (or only) filter in the chain.
         
        repeated .envoy.config.listener.v3.Filter filters = 3;
        Specified by:
        getFiltersOrBuilder in interface FilterChainOrBuilder
      • hasUseProxyProto

        @Deprecated
        public boolean hasUseProxyProto()
        Deprecated.
        envoy.config.listener.v3.FilterChain.use_proxy_proto is deprecated. See envoy/config/listener/v3/listener_components.proto;l=247
         Whether the listener should expect a PROXY protocol V1 header on new
         connections. If this option is enabled, the listener will assume that that
         remote address of the connection is the one specified in the header. Some
         load balancers including the AWS ELB support this option. If the option is
         absent or set to false, Envoy will use the physical peer address of the
         connection as the remote address.
        
         This field is deprecated. Add a
         :ref:`PROXY protocol listener filter <config_listener_filters_proxy_protocol>`
         explicitly instead.
         
        .google.protobuf.BoolValue use_proxy_proto = 4 [deprecated = true, (.envoy.annotations.deprecated_at_minor_version) = "3.0"];
        Specified by:
        hasUseProxyProto in interface FilterChainOrBuilder
        Returns:
        Whether the useProxyProto field is set.
      • getUseProxyProto

        @Deprecated
        public com.google.protobuf.BoolValue getUseProxyProto()
        Deprecated.
        envoy.config.listener.v3.FilterChain.use_proxy_proto is deprecated. See envoy/config/listener/v3/listener_components.proto;l=247
         Whether the listener should expect a PROXY protocol V1 header on new
         connections. If this option is enabled, the listener will assume that that
         remote address of the connection is the one specified in the header. Some
         load balancers including the AWS ELB support this option. If the option is
         absent or set to false, Envoy will use the physical peer address of the
         connection as the remote address.
        
         This field is deprecated. Add a
         :ref:`PROXY protocol listener filter <config_listener_filters_proxy_protocol>`
         explicitly instead.
         
        .google.protobuf.BoolValue use_proxy_proto = 4 [deprecated = true, (.envoy.annotations.deprecated_at_minor_version) = "3.0"];
        Specified by:
        getUseProxyProto in interface FilterChainOrBuilder
        Returns:
        The useProxyProto.
      • getUseProxyProtoOrBuilder

        @Deprecated
        public com.google.protobuf.BoolValueOrBuilder getUseProxyProtoOrBuilder()
        Deprecated.
         Whether the listener should expect a PROXY protocol V1 header on new
         connections. If this option is enabled, the listener will assume that that
         remote address of the connection is the one specified in the header. Some
         load balancers including the AWS ELB support this option. If the option is
         absent or set to false, Envoy will use the physical peer address of the
         connection as the remote address.
        
         This field is deprecated. Add a
         :ref:`PROXY protocol listener filter <config_listener_filters_proxy_protocol>`
         explicitly instead.
         
        .google.protobuf.BoolValue use_proxy_proto = 4 [deprecated = true, (.envoy.annotations.deprecated_at_minor_version) = "3.0"];
        Specified by:
        getUseProxyProtoOrBuilder in interface FilterChainOrBuilder
      • hasMetadata

        public boolean hasMetadata()
         [#not-implemented-hide:] filter chain metadata.
         
        .envoy.config.core.v3.Metadata metadata = 5;
        Specified by:
        hasMetadata in interface FilterChainOrBuilder
        Returns:
        Whether the metadata field is set.
      • getMetadata

        public Metadata getMetadata()
         [#not-implemented-hide:] filter chain metadata.
         
        .envoy.config.core.v3.Metadata metadata = 5;
        Specified by:
        getMetadata in interface FilterChainOrBuilder
        Returns:
        The metadata.
      • hasTransportSocket

        public boolean hasTransportSocket()
         Optional custom transport socket implementation to use for downstream connections.
         To setup TLS, set a transport socket with name ``envoy.transport_sockets.tls`` and
         :ref:`DownstreamTlsContext <envoy_v3_api_msg_extensions.transport_sockets.tls.v3.DownstreamTlsContext>` in the ``typed_config``.
         If no transport socket configuration is specified, new connections
         will be set up with plaintext.
         [#extension-category: envoy.transport_sockets.downstream]
         
        .envoy.config.core.v3.TransportSocket transport_socket = 6;
        Specified by:
        hasTransportSocket in interface FilterChainOrBuilder
        Returns:
        Whether the transportSocket field is set.
      • getTransportSocket

        public TransportSocket getTransportSocket()
         Optional custom transport socket implementation to use for downstream connections.
         To setup TLS, set a transport socket with name ``envoy.transport_sockets.tls`` and
         :ref:`DownstreamTlsContext <envoy_v3_api_msg_extensions.transport_sockets.tls.v3.DownstreamTlsContext>` in the ``typed_config``.
         If no transport socket configuration is specified, new connections
         will be set up with plaintext.
         [#extension-category: envoy.transport_sockets.downstream]
         
        .envoy.config.core.v3.TransportSocket transport_socket = 6;
        Specified by:
        getTransportSocket in interface FilterChainOrBuilder
        Returns:
        The transportSocket.
      • getTransportSocketOrBuilder

        public TransportSocketOrBuilder getTransportSocketOrBuilder()
         Optional custom transport socket implementation to use for downstream connections.
         To setup TLS, set a transport socket with name ``envoy.transport_sockets.tls`` and
         :ref:`DownstreamTlsContext <envoy_v3_api_msg_extensions.transport_sockets.tls.v3.DownstreamTlsContext>` in the ``typed_config``.
         If no transport socket configuration is specified, new connections
         will be set up with plaintext.
         [#extension-category: envoy.transport_sockets.downstream]
         
        .envoy.config.core.v3.TransportSocket transport_socket = 6;
        Specified by:
        getTransportSocketOrBuilder in interface FilterChainOrBuilder
      • hasTransportSocketConnectTimeout

        public boolean hasTransportSocketConnectTimeout()
         If present and nonzero, the amount of time to allow incoming connections to complete any
         transport socket negotiations. If this expires before the transport reports connection
         establishment, the connection is summarily closed.
         
        .google.protobuf.Duration transport_socket_connect_timeout = 9;
        Specified by:
        hasTransportSocketConnectTimeout in interface FilterChainOrBuilder
        Returns:
        Whether the transportSocketConnectTimeout field is set.
      • getTransportSocketConnectTimeout

        public com.google.protobuf.Duration getTransportSocketConnectTimeout()
         If present and nonzero, the amount of time to allow incoming connections to complete any
         transport socket negotiations. If this expires before the transport reports connection
         establishment, the connection is summarily closed.
         
        .google.protobuf.Duration transport_socket_connect_timeout = 9;
        Specified by:
        getTransportSocketConnectTimeout in interface FilterChainOrBuilder
        Returns:
        The transportSocketConnectTimeout.
      • getTransportSocketConnectTimeoutOrBuilder

        public com.google.protobuf.DurationOrBuilder getTransportSocketConnectTimeoutOrBuilder()
         If present and nonzero, the amount of time to allow incoming connections to complete any
         transport socket negotiations. If this expires before the transport reports connection
         establishment, the connection is summarily closed.
         
        .google.protobuf.Duration transport_socket_connect_timeout = 9;
        Specified by:
        getTransportSocketConnectTimeoutOrBuilder in interface FilterChainOrBuilder
      • getName

        public java.lang.String getName()
         The unique name (or empty) by which this filter chain is known.
         Note: :ref:`filter_chain_matcher
         <envoy_v3_api_field_config.listener.v3.Listener.filter_chain_matcher>`
         requires that filter chains are uniquely named within a listener.
         
        string name = 7;
        Specified by:
        getName in interface FilterChainOrBuilder
        Returns:
        The name.
      • getNameBytes

        public com.google.protobuf.ByteString getNameBytes()
         The unique name (or empty) by which this filter chain is known.
         Note: :ref:`filter_chain_matcher
         <envoy_v3_api_field_config.listener.v3.Listener.filter_chain_matcher>`
         requires that filter chains are uniquely named within a listener.
         
        string name = 7;
        Specified by:
        getNameBytes in interface FilterChainOrBuilder
        Returns:
        The bytes for name.
      • hasOnDemandConfiguration

        public boolean hasOnDemandConfiguration()
         [#not-implemented-hide:] The configuration to specify whether the filter chain will be built on-demand.
         If this field is not empty, the filter chain will be built on-demand.
         Otherwise, the filter chain will be built normally and block listener warming.
         
        .envoy.config.listener.v3.FilterChain.OnDemandConfiguration on_demand_configuration = 8;
        Specified by:
        hasOnDemandConfiguration in interface FilterChainOrBuilder
        Returns:
        Whether the onDemandConfiguration field is set.
      • getOnDemandConfiguration

        public FilterChain.OnDemandConfiguration getOnDemandConfiguration()
         [#not-implemented-hide:] The configuration to specify whether the filter chain will be built on-demand.
         If this field is not empty, the filter chain will be built on-demand.
         Otherwise, the filter chain will be built normally and block listener warming.
         
        .envoy.config.listener.v3.FilterChain.OnDemandConfiguration on_demand_configuration = 8;
        Specified by:
        getOnDemandConfiguration in interface FilterChainOrBuilder
        Returns:
        The onDemandConfiguration.
      • getOnDemandConfigurationOrBuilder

        public FilterChain.OnDemandConfigurationOrBuilder getOnDemandConfigurationOrBuilder()
         [#not-implemented-hide:] The configuration to specify whether the filter chain will be built on-demand.
         If this field is not empty, the filter chain will be built on-demand.
         Otherwise, the filter chain will be built normally and block listener warming.
         
        .envoy.config.listener.v3.FilterChain.OnDemandConfiguration on_demand_configuration = 8;
        Specified by:
        getOnDemandConfigurationOrBuilder in interface FilterChainOrBuilder
      • 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 FilterChain parseFrom​(java.nio.ByteBuffer data)
                                     throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

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

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

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

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

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

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

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

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

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

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

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

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

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

        protected FilterChain.Builder newBuilderForType​(com.google.protobuf.AbstractMessage.BuilderParent parent)
        Overrides:
        newBuilderForType in class com.google.protobuf.AbstractMessage
      • getDefaultInstance

        public static FilterChain getDefaultInstance()
      • parser

        public static com.google.protobuf.Parser<FilterChain> parser()
      • getParserForType

        public com.google.protobuf.Parser<FilterChain> 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 FilterChain getDefaultInstanceForType()
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder