Skip to content

xds: Refactor to allow common code usage between the ext_proc client and server interceptors#12883

Open
kannanjgithub wants to merge 1 commit into
grpc:masterfrom
kannanjgithub:ext-proc-common
Open

xds: Refactor to allow common code usage between the ext_proc client and server interceptors#12883
kannanjgithub wants to merge 1 commit into
grpc:masterfrom
kannanjgithub:ext-proc-common

Conversation

@kannanjgithub

@kannanjgithub kannanjgithub commented Jun 29, 2026

Copy link
Copy Markdown
Contributor

Moved some of the util classes for ext_proc to a new sub package io.grpc.xds.internal.extproc, with public access modifier:

  1. Otel metric instruments out of the client interceptor
  2. Moved KnownLengthInputStream used during observability mode to send message to the data plane out of the client interceptor.

Created a new class io.grpc.xds.ExternalProcessorUtil with the below. This class is kept here and not in the above sub-package because toHeaderMap operates on HeaderMutationRulesConfig which is package-private.

  1. Method outboundStreamFromByteString used to construct the ProcessingRequest payload to Util as a static utility method.
  2. Method toHeaderMap to Util.

@kannanjgithub kannanjgithub requested a review from sauravzg June 29, 2026 07:04
@kannanjgithub kannanjgithub force-pushed the ext-proc-common branch 3 times, most recently from 72f9b1f to 522db6e Compare June 29, 2026 09:41
…rpc.xds.internal.extproc, with public access modifier:

1. Otel metric instruments out of the client interceptor
2. Moved `KnownLengthInputStream` used during observability mode to send message to the data plane out of the client interceptor.

Created a new class io.grpc.xds.ExternalProcessorUtil with the below. This class is kept here and not in the above sub-package because `toHeaderMap` operates on `HeaderMutationRulesConfig` which is package-private.
1. Method `outboundStreamFromByteString` used to construct the ProcessingRequest payload to Util as a static utility method.
2. Method `toHeaderMap` to Util.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant