Class NetworkExternalProcessor
java.lang.Object
com.google.protobuf.AbstractMessageLite
com.google.protobuf.AbstractMessage
com.google.protobuf.GeneratedMessageV3
io.envoyproxy.envoy.extensions.filters.network.ext_proc.v3.NetworkExternalProcessor
- All Implemented Interfaces:
com.google.protobuf.Message,com.google.protobuf.MessageLite,com.google.protobuf.MessageLiteOrBuilder,com.google.protobuf.MessageOrBuilder,NetworkExternalProcessorOrBuilder,Serializable
public final class NetworkExternalProcessor
extends com.google.protobuf.GeneratedMessageV3
implements NetworkExternalProcessorOrBuilder
The Network External Processing filter allows an external service to process raw TCP/UDP traffic in a flexible way using a bidirectional gRPC stream. Unlike the HTTP External Processing filter, this filter operates at the L4 (transport) layer, giving access to raw network traffic. The filter communicates with an external gRPC service that can: 1. Inspect traffic in both directions 2. Modify the network traffic 3. Control connection lifecycle (continue, close, or reset) By using the filter's processing mode, you can selectively choose which data directions to process (read, write or both), allowing for efficient processing. [#next-free-field: 7]Protobuf type
envoy.extensions.filters.network.ext_proc.v3.NetworkExternalProcessor- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classThe Network External Processing filter allows an external service to process raw TCP/UDP traffic in a flexible way using a bidirectional gRPC stream.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 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 NetworkExternalProcessorstatic final com.google.protobuf.Descriptors.DescriptorbooleanBy default, if the gRPC stream cannot be established, or if it is closed prematurely with an error, the filter will fail, leading to the close of connection.The gRPC service that will process network traffic.The gRPC service that will process network traffic.com.google.protobuf.DurationSpecifies the timeout for each individual message sent on the stream and when the filter is running in synchronous mode.com.google.protobuf.DurationOrBuilderSpecifies the timeout for each individual message sent on the stream and when the filter is running in synchronous mode.Options related to the sending and receiving of dynamic metadata.Options related to the sending and receiving of dynamic metadata.com.google.protobuf.Parser<NetworkExternalProcessor>Options for controlling processing behavior.Options for controlling processing behavior.intstring stat_prefix = 5 [(.validate.rules) = { ... }com.google.protobuf.ByteStringstring stat_prefix = 5 [(.validate.rules) = { ... }booleanThe gRPC service that will process network traffic.inthashCode()booleanSpecifies the timeout for each individual message sent on the stream and when the filter is running in synchronous mode.booleanOptions related to the sending and receiving of dynamic metadata.booleanOptions for controlling processing behavior.protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTablefinal booleannewBuilder(NetworkExternalProcessor prototype) protected NetworkExternalProcessor.BuildernewBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) protected ObjectnewInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused) static NetworkExternalProcessorparseDelimitedFrom(InputStream input) static NetworkExternalProcessorparseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static NetworkExternalProcessorparseFrom(byte[] data) static NetworkExternalProcessorparseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static NetworkExternalProcessorparseFrom(com.google.protobuf.ByteString data) static NetworkExternalProcessorparseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static NetworkExternalProcessorparseFrom(com.google.protobuf.CodedInputStream input) static NetworkExternalProcessorparseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static NetworkExternalProcessorparseFrom(InputStream input) static NetworkExternalProcessorparseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static NetworkExternalProcessorparseFrom(ByteBuffer data) static NetworkExternalProcessorparseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static com.google.protobuf.Parser<NetworkExternalProcessor>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
-
GRPC_SERVICE_FIELD_NUMBER
public static final int GRPC_SERVICE_FIELD_NUMBER- See Also:
-
FAILURE_MODE_ALLOW_FIELD_NUMBER
public static final int FAILURE_MODE_ALLOW_FIELD_NUMBER- See Also:
-
PROCESSING_MODE_FIELD_NUMBER
public static final int PROCESSING_MODE_FIELD_NUMBER- See Also:
-
MESSAGE_TIMEOUT_FIELD_NUMBER
public static final int MESSAGE_TIMEOUT_FIELD_NUMBER- See Also:
-
STAT_PREFIX_FIELD_NUMBER
public static final int STAT_PREFIX_FIELD_NUMBER- See Also:
-
METADATA_OPTIONS_FIELD_NUMBER
public static final int METADATA_OPTIONS_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
-
hasGrpcService
public boolean hasGrpcService()The gRPC service that will process network traffic. This service must implement the NetworkExternalProcessor service defined in the proto file /envoy/service/network_ext_proc/v3/external_processor.proto.
.envoy.config.core.v3.GrpcService grpc_service = 1;- Specified by:
hasGrpcServicein interfaceNetworkExternalProcessorOrBuilder- Returns:
- Whether the grpcService field is set.
-
getGrpcService
The gRPC service that will process network traffic. This service must implement the NetworkExternalProcessor service defined in the proto file /envoy/service/network_ext_proc/v3/external_processor.proto.
.envoy.config.core.v3.GrpcService grpc_service = 1;- Specified by:
getGrpcServicein interfaceNetworkExternalProcessorOrBuilder- Returns:
- The grpcService.
-
getGrpcServiceOrBuilder
The gRPC service that will process network traffic. This service must implement the NetworkExternalProcessor service defined in the proto file /envoy/service/network_ext_proc/v3/external_processor.proto.
.envoy.config.core.v3.GrpcService grpc_service = 1;- Specified by:
getGrpcServiceOrBuilderin interfaceNetworkExternalProcessorOrBuilder
-
getFailureModeAllow
public boolean getFailureModeAllow()By default, if the gRPC stream cannot be established, or if it is closed prematurely with an error, the filter will fail, leading to the close of connection. With this parameter set to true, however, then if the gRPC stream is prematurely closed or could not be opened, processing continues without error.
bool failure_mode_allow = 2;- Specified by:
getFailureModeAllowin interfaceNetworkExternalProcessorOrBuilder- Returns:
- The failureModeAllow.
-
hasProcessingMode
public boolean hasProcessingMode()Options for controlling processing behavior.
.envoy.extensions.filters.network.ext_proc.v3.ProcessingMode processing_mode = 3;- Specified by:
hasProcessingModein interfaceNetworkExternalProcessorOrBuilder- Returns:
- Whether the processingMode field is set.
-
getProcessingMode
Options for controlling processing behavior.
.envoy.extensions.filters.network.ext_proc.v3.ProcessingMode processing_mode = 3;- Specified by:
getProcessingModein interfaceNetworkExternalProcessorOrBuilder- Returns:
- The processingMode.
-
getProcessingModeOrBuilder
Options for controlling processing behavior.
.envoy.extensions.filters.network.ext_proc.v3.ProcessingMode processing_mode = 3;- Specified by:
getProcessingModeOrBuilderin interfaceNetworkExternalProcessorOrBuilder
-
hasMessageTimeout
public boolean hasMessageTimeout()Specifies the timeout for each individual message sent on the stream and when the filter is running in synchronous mode. Whenever the proxy sends a message on the stream that requires a response, it will reset this timer, and will stop processing and return an error (subject to the processing mode) if the timer expires. Default is 200 ms.
.google.protobuf.Duration message_timeout = 4 [(.validate.rules) = { ... }- Specified by:
hasMessageTimeoutin interfaceNetworkExternalProcessorOrBuilder- Returns:
- Whether the messageTimeout field is set.
-
getMessageTimeout
public com.google.protobuf.Duration getMessageTimeout()Specifies the timeout for each individual message sent on the stream and when the filter is running in synchronous mode. Whenever the proxy sends a message on the stream that requires a response, it will reset this timer, and will stop processing and return an error (subject to the processing mode) if the timer expires. Default is 200 ms.
.google.protobuf.Duration message_timeout = 4 [(.validate.rules) = { ... }- Specified by:
getMessageTimeoutin interfaceNetworkExternalProcessorOrBuilder- Returns:
- The messageTimeout.
-
getMessageTimeoutOrBuilder
public com.google.protobuf.DurationOrBuilder getMessageTimeoutOrBuilder()Specifies the timeout for each individual message sent on the stream and when the filter is running in synchronous mode. Whenever the proxy sends a message on the stream that requires a response, it will reset this timer, and will stop processing and return an error (subject to the processing mode) if the timer expires. Default is 200 ms.
.google.protobuf.Duration message_timeout = 4 [(.validate.rules) = { ... }- Specified by:
getMessageTimeoutOrBuilderin interfaceNetworkExternalProcessorOrBuilder
-
getStatPrefix
string stat_prefix = 5 [(.validate.rules) = { ... }- Specified by:
getStatPrefixin interfaceNetworkExternalProcessorOrBuilder- Returns:
- The statPrefix.
-
getStatPrefixBytes
public com.google.protobuf.ByteString getStatPrefixBytes()string stat_prefix = 5 [(.validate.rules) = { ... }- Specified by:
getStatPrefixBytesin interfaceNetworkExternalProcessorOrBuilder- Returns:
- The bytes for statPrefix.
-
hasMetadataOptions
public boolean hasMetadataOptions()Options related to the sending and receiving of dynamic metadata.
.envoy.extensions.filters.network.ext_proc.v3.MetadataOptions metadata_options = 6;- Specified by:
hasMetadataOptionsin interfaceNetworkExternalProcessorOrBuilder- Returns:
- Whether the metadataOptions field is set.
-
getMetadataOptions
Options related to the sending and receiving of dynamic metadata.
.envoy.extensions.filters.network.ext_proc.v3.MetadataOptions metadata_options = 6;- Specified by:
getMetadataOptionsin interfaceNetworkExternalProcessorOrBuilder- Returns:
- The metadataOptions.
-
getMetadataOptionsOrBuilder
Options related to the sending and receiving of dynamic metadata.
.envoy.extensions.filters.network.ext_proc.v3.MetadataOptions metadata_options = 6;- Specified by:
getMetadataOptionsOrBuilderin interfaceNetworkExternalProcessorOrBuilder
-
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 NetworkExternalProcessor parseFrom(ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static NetworkExternalProcessor parseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static NetworkExternalProcessor parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static NetworkExternalProcessor parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static NetworkExternalProcessor parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static NetworkExternalProcessor parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
- Throws:
IOException
-
parseFrom
public static NetworkExternalProcessor parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException - Throws:
IOException
-
parseDelimitedFrom
- Throws:
IOException
-
parseDelimitedFrom
public static NetworkExternalProcessor parseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException - Throws:
IOException
-
parseFrom
public static NetworkExternalProcessor parseFrom(com.google.protobuf.CodedInputStream input) throws IOException - Throws:
IOException
-
parseFrom
public static NetworkExternalProcessor 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 NetworkExternalProcessor.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
-