Class DynamicModuleNetworkFilter
java.lang.Object
com.google.protobuf.AbstractMessageLite
com.google.protobuf.AbstractMessage
com.google.protobuf.GeneratedMessageV3
io.envoyproxy.envoy.extensions.filters.network.dynamic_modules.v3.DynamicModuleNetworkFilter
- All Implemented Interfaces:
com.google.protobuf.Message,com.google.protobuf.MessageLite,com.google.protobuf.MessageLiteOrBuilder,com.google.protobuf.MessageOrBuilder,DynamicModuleNetworkFilterOrBuilder,Serializable
public final class DynamicModuleNetworkFilter
extends com.google.protobuf.GeneratedMessageV3
implements DynamicModuleNetworkFilterOrBuilder
Configuration for the Dynamic Modules network filter. This filter allows loading shared object files that can be loaded via ``dlopen`` to extend the network filter chain. A module can be loaded by multiple network filters; the module is loaded only once and shared across multiple filters. Unlike HTTP filters which operate on structured headers, body, and trailers, network filters work with raw TCP byte streams. The filter can: * Inspect, modify, or inject data into the downstream connection. * Access connection-level information such as addresses and TLS status. * Control connection lifecycle (e.g., close the connection).Protobuf type
envoy.extensions.filters.network.dynamic_modules.v3.DynamicModuleNetworkFilter- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classConfiguration for the Dynamic Modules network filter.Nested classes/interfaces inherited from class com.google.protobuf.GeneratedMessageV3
com.google.protobuf.GeneratedMessageV3.BuilderParent, com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageT extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT>,BuilderT extends com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageT, BuilderT>>, com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT>>, com.google.protobuf.GeneratedMessageV3.ExtendableMessageOrBuilder<MessageT extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageT>>, com.google.protobuf.GeneratedMessageV3.FieldAccessorTable, com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter Nested classes/interfaces inherited from class com.google.protobuf.AbstractMessageLite
com.google.protobuf.AbstractMessageLite.InternalOneOfEnum -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intstatic final intstatic final intstatic final intFields inherited from class com.google.protobuf.GeneratedMessageV3
alwaysUseFieldBuilders, unknownFieldsFields inherited from class com.google.protobuf.AbstractMessage
memoizedSizeFields inherited from class com.google.protobuf.AbstractMessageLite
memoizedHashCode -
Method Summary
Modifier and TypeMethodDescriptionbooleanstatic DynamicModuleNetworkFilterstatic final com.google.protobuf.Descriptors.DescriptorSpecifies the shared-object level configuration.Specifies the shared-object level configuration.com.google.protobuf.AnyThe configuration for the filter chosen by ``filter_name``.com.google.protobuf.AnyOrBuilderThe configuration for the filter chosen by ``filter_name``.The name for this filter configuration.com.google.protobuf.ByteStringThe name for this filter configuration.com.google.protobuf.Parser<DynamicModuleNetworkFilter>intbooleanIf ``true``, the dynamic module is a terminal filter to use without an upstream connection.booleanSpecifies the shared-object level configuration.booleanThe configuration for the filter chosen by ``filter_name``.inthashCode()protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTablefinal booleannewBuilder(DynamicModuleNetworkFilter prototype) protected DynamicModuleNetworkFilter.BuildernewBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) protected ObjectnewInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused) static DynamicModuleNetworkFilterparseDelimitedFrom(InputStream input) static DynamicModuleNetworkFilterparseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static DynamicModuleNetworkFilterparseFrom(byte[] data) static DynamicModuleNetworkFilterparseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static DynamicModuleNetworkFilterparseFrom(com.google.protobuf.ByteString data) static DynamicModuleNetworkFilterparseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static DynamicModuleNetworkFilterparseFrom(com.google.protobuf.CodedInputStream input) static DynamicModuleNetworkFilterparseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static DynamicModuleNetworkFilterparseFrom(InputStream input) static DynamicModuleNetworkFilterparseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static DynamicModuleNetworkFilterparseFrom(ByteBuffer data) static DynamicModuleNetworkFilterparseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static com.google.protobuf.Parser<DynamicModuleNetworkFilter>parser()voidwriteTo(com.google.protobuf.CodedOutputStream output) Methods inherited from class com.google.protobuf.GeneratedMessageV3
canUseUnsafe, computeStringSize, computeStringSizeNoTag, emptyBooleanList, emptyDoubleList, emptyFloatList, emptyIntList, emptyList, emptyLongList, getAllFields, getDescriptorForType, getField, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof, internalGetMapField, internalGetMapFieldReflection, isStringEmpty, makeExtensionsImmutable, makeMutableCopy, makeMutableCopy, mergeFromAndMakeImmutableInternal, mutableCopy, mutableCopy, mutableCopy, mutableCopy, mutableCopy, newBooleanList, newBuilderForType, newDoubleList, newFloatList, newIntList, newLongList, parseDelimitedWithIOException, parseDelimitedWithIOException, parseUnknownField, parseUnknownFieldProto3, parseWithIOException, parseWithIOException, parseWithIOException, parseWithIOException, serializeBooleanMapTo, serializeIntegerMapTo, serializeLongMapTo, serializeStringMapTo, writeReplace, writeString, writeStringNoTagMethods inherited from class com.google.protobuf.AbstractMessage
findInitializationErrors, getInitializationErrorString, hashBoolean, hashEnum, hashEnumList, hashFields, hashLong, toStringMethods inherited from class com.google.protobuf.AbstractMessageLite
addAll, addAll, checkByteStringIsUtf8, toByteArray, toByteString, writeDelimitedTo, writeToMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface com.google.protobuf.MessageLite
toByteArray, toByteString, writeDelimitedTo, writeToMethods inherited from interface com.google.protobuf.MessageOrBuilder
findInitializationErrors, getAllFields, getDescriptorForType, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof
-
Field Details
-
DYNAMIC_MODULE_CONFIG_FIELD_NUMBER
public static final int DYNAMIC_MODULE_CONFIG_FIELD_NUMBER- See Also:
-
FILTER_NAME_FIELD_NUMBER
public static final int FILTER_NAME_FIELD_NUMBER- See Also:
-
FILTER_CONFIG_FIELD_NUMBER
public static final int FILTER_CONFIG_FIELD_NUMBER- See Also:
-
TERMINAL_FILTER_FIELD_NUMBER
public static final int TERMINAL_FILTER_FIELD_NUMBER- See Also:
-
-
Method Details
-
newInstance
- Overrides:
newInstancein classcom.google.protobuf.GeneratedMessageV3
-
getDescriptor
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() -
internalGetFieldAccessorTable
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()- Specified by:
internalGetFieldAccessorTablein classcom.google.protobuf.GeneratedMessageV3
-
hasDynamicModuleConfig
public boolean hasDynamicModuleConfig()Specifies the shared-object level configuration.
.envoy.extensions.dynamic_modules.v3.DynamicModuleConfig dynamic_module_config = 1;- Specified by:
hasDynamicModuleConfigin interfaceDynamicModuleNetworkFilterOrBuilder- Returns:
- Whether the dynamicModuleConfig field is set.
-
getDynamicModuleConfig
Specifies the shared-object level configuration.
.envoy.extensions.dynamic_modules.v3.DynamicModuleConfig dynamic_module_config = 1;- Specified by:
getDynamicModuleConfigin interfaceDynamicModuleNetworkFilterOrBuilder- Returns:
- The dynamicModuleConfig.
-
getDynamicModuleConfigOrBuilder
Specifies the shared-object level configuration.
.envoy.extensions.dynamic_modules.v3.DynamicModuleConfig dynamic_module_config = 1;- Specified by:
getDynamicModuleConfigOrBuilderin interfaceDynamicModuleNetworkFilterOrBuilder
-
getFilterName
The name for this filter configuration. This can be used to distinguish between different filter implementations inside a dynamic module. For example, a module can have completely different filter implementations. When Envoy receives this configuration, it passes the ``filter_name`` to the dynamic module's network filter config init function together with the ``filter_config``. That way a module can decide which in-module filter implementation to use based on the name at load time.
string filter_name = 2;- Specified by:
getFilterNamein interfaceDynamicModuleNetworkFilterOrBuilder- Returns:
- The filterName.
-
getFilterNameBytes
public com.google.protobuf.ByteString getFilterNameBytes()The name for this filter configuration. This can be used to distinguish between different filter implementations inside a dynamic module. For example, a module can have completely different filter implementations. When Envoy receives this configuration, it passes the ``filter_name`` to the dynamic module's network filter config init function together with the ``filter_config``. That way a module can decide which in-module filter implementation to use based on the name at load time.
string filter_name = 2;- Specified by:
getFilterNameBytesin interfaceDynamicModuleNetworkFilterOrBuilder- Returns:
- The bytes for filterName.
-
hasFilterConfig
public boolean hasFilterConfig()The configuration for the filter chosen by ``filter_name``. This is passed to the module's network filter initialization function. Together with the ``filter_name``, the module can decide which in-module filter implementation to use and fine-tune the behavior of the filter. For example, if a module has two filter implementations, one for echo and one for rate limiting, ``filter_name`` is used to choose either echo or rate limiting. The ``filter_config`` can be used to configure the echo behavior or the rate limiting parameters. ``google.protobuf.Struct`` is serialized as JSON before passing it to the module. ``google.protobuf.BytesValue`` and ``google.protobuf.StringValue`` are passed directly without the wrapper. .. code-block:: yaml # Passing a string value filter_config: "@type": "type.googleapis.com/google.protobuf.StringValue" value: hello # Passing raw bytes filter_config: "@type": "type.googleapis.com/google.protobuf.BytesValue" value: aGVsbG8= # echo -n "hello" | base64.google.protobuf.Any filter_config = 3;- Specified by:
hasFilterConfigin interfaceDynamicModuleNetworkFilterOrBuilder- Returns:
- Whether the filterConfig field is set.
-
getFilterConfig
public com.google.protobuf.Any getFilterConfig()The configuration for the filter chosen by ``filter_name``. This is passed to the module's network filter initialization function. Together with the ``filter_name``, the module can decide which in-module filter implementation to use and fine-tune the behavior of the filter. For example, if a module has two filter implementations, one for echo and one for rate limiting, ``filter_name`` is used to choose either echo or rate limiting. The ``filter_config`` can be used to configure the echo behavior or the rate limiting parameters. ``google.protobuf.Struct`` is serialized as JSON before passing it to the module. ``google.protobuf.BytesValue`` and ``google.protobuf.StringValue`` are passed directly without the wrapper. .. code-block:: yaml # Passing a string value filter_config: "@type": "type.googleapis.com/google.protobuf.StringValue" value: hello # Passing raw bytes filter_config: "@type": "type.googleapis.com/google.protobuf.BytesValue" value: aGVsbG8= # echo -n "hello" | base64.google.protobuf.Any filter_config = 3;- Specified by:
getFilterConfigin interfaceDynamicModuleNetworkFilterOrBuilder- Returns:
- The filterConfig.
-
getFilterConfigOrBuilder
public com.google.protobuf.AnyOrBuilder getFilterConfigOrBuilder()The configuration for the filter chosen by ``filter_name``. This is passed to the module's network filter initialization function. Together with the ``filter_name``, the module can decide which in-module filter implementation to use and fine-tune the behavior of the filter. For example, if a module has two filter implementations, one for echo and one for rate limiting, ``filter_name`` is used to choose either echo or rate limiting. The ``filter_config`` can be used to configure the echo behavior or the rate limiting parameters. ``google.protobuf.Struct`` is serialized as JSON before passing it to the module. ``google.protobuf.BytesValue`` and ``google.protobuf.StringValue`` are passed directly without the wrapper. .. code-block:: yaml # Passing a string value filter_config: "@type": "type.googleapis.com/google.protobuf.StringValue" value: hello # Passing raw bytes filter_config: "@type": "type.googleapis.com/google.protobuf.BytesValue" value: aGVsbG8= # echo -n "hello" | base64.google.protobuf.Any filter_config = 3;- Specified by:
getFilterConfigOrBuilderin interfaceDynamicModuleNetworkFilterOrBuilder
-
getTerminalFilter
public boolean getTerminalFilter()If ``true``, the dynamic module is a terminal filter to use without an upstream connection. The dynamic module is responsible for creating and sending the response to downstream. Defaults to ``false``.
bool terminal_filter = 4;- Specified by:
getTerminalFilterin interfaceDynamicModuleNetworkFilterOrBuilder- Returns:
- The terminalFilter.
-
isInitialized
public final boolean isInitialized()- Specified by:
isInitializedin interfacecom.google.protobuf.MessageLiteOrBuilder- Overrides:
isInitializedin classcom.google.protobuf.GeneratedMessageV3
-
writeTo
- Specified by:
writeToin interfacecom.google.protobuf.MessageLite- Overrides:
writeToin classcom.google.protobuf.GeneratedMessageV3- Throws:
IOException
-
getSerializedSize
public int getSerializedSize()- Specified by:
getSerializedSizein interfacecom.google.protobuf.MessageLite- Overrides:
getSerializedSizein classcom.google.protobuf.GeneratedMessageV3
-
equals
- Specified by:
equalsin interfacecom.google.protobuf.Message- Overrides:
equalsin classcom.google.protobuf.AbstractMessage
-
hashCode
public int hashCode()- Specified by:
hashCodein interfacecom.google.protobuf.Message- Overrides:
hashCodein classcom.google.protobuf.AbstractMessage
-
parseFrom
public static DynamicModuleNetworkFilter parseFrom(ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static DynamicModuleNetworkFilter parseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static DynamicModuleNetworkFilter parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static DynamicModuleNetworkFilter parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static DynamicModuleNetworkFilter parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static DynamicModuleNetworkFilter parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
- Throws:
IOException
-
parseFrom
public static DynamicModuleNetworkFilter parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException - Throws:
IOException
-
parseDelimitedFrom
- Throws:
IOException
-
parseDelimitedFrom
public static DynamicModuleNetworkFilter parseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException - Throws:
IOException
-
parseFrom
public static DynamicModuleNetworkFilter parseFrom(com.google.protobuf.CodedInputStream input) throws IOException - Throws:
IOException
-
parseFrom
public static DynamicModuleNetworkFilter parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException - Throws:
IOException
-
newBuilderForType
- Specified by:
newBuilderForTypein interfacecom.google.protobuf.Message- Specified by:
newBuilderForTypein interfacecom.google.protobuf.MessageLite
-
newBuilder
-
newBuilder
-
toBuilder
- Specified by:
toBuilderin interfacecom.google.protobuf.Message- Specified by:
toBuilderin interfacecom.google.protobuf.MessageLite
-
newBuilderForType
protected DynamicModuleNetworkFilter.Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) - Specified by:
newBuilderForTypein classcom.google.protobuf.GeneratedMessageV3
-
getDefaultInstance
-
parser
-
getParserForType
- Specified by:
getParserForTypein interfacecom.google.protobuf.Message- Specified by:
getParserForTypein interfacecom.google.protobuf.MessageLite- Overrides:
getParserForTypein classcom.google.protobuf.GeneratedMessageV3
-
getDefaultInstanceForType
- Specified by:
getDefaultInstanceForTypein interfacecom.google.protobuf.MessageLiteOrBuilder- Specified by:
getDefaultInstanceForTypein interfacecom.google.protobuf.MessageOrBuilder
-