Skip to content

Commit 08d9464

Browse files
committed
xds: Introduce FilterContext and pass it to newInstance
TAG=agy
1 parent cd72421 commit 08d9464

10 files changed

Lines changed: 122 additions & 87 deletions

xds/src/main/java/io/grpc/xds/ExternalProcessorFilter.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616

1717
package io.grpc.xds;
1818

19+
import io.grpc.xds.Filter.FilterContext;
20+
1921
import io.grpc.xds.Filter.FilterConfigParseContext;
2022

2123
import static com.google.common.base.Preconditions.checkNotNull;

xds/src/main/java/io/grpc/xds/FaultFilter.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616

1717
package io.grpc.xds;
1818

19+
import io.grpc.xds.Filter.FilterContext;
20+
1921
import io.grpc.xds.Filter.FilterConfigParseContext;
2022

2123
import static com.google.common.base.Preconditions.checkNotNull;

xds/src/main/java/io/grpc/xds/Filter.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import com.google.common.base.MoreObjects;
2222
import com.google.protobuf.Message;
2323
import io.grpc.ClientInterceptor;
24+
import io.grpc.MetricRecorder;
2425
import io.grpc.ServerInterceptor;
2526
import io.grpc.xds.client.Bootstrapper.BootstrapInfo;
2627
import io.grpc.xds.client.Bootstrapper.ServerInfo;
@@ -152,6 +153,18 @@ abstract static class Builder {
152153
}
153154
}
154155

156+
/** Context containing naming and metrics reporting objects for a filter instance. */
157+
@AutoValue
158+
abstract static class FilterContext {
159+
abstract String filterName();
160+
161+
abstract MetricRecorder metricsRecorder();
162+
163+
static FilterContext create(String filterName, MetricRecorder metricsRecorder) {
164+
return new AutoValue_Filter_FilterContext(filterName, metricsRecorder);
165+
}
166+
}
167+
155168
/** Filter config with instance name. */
156169
final class NamedFilterConfig {
157170
// filter instance name

xds/src/main/java/io/grpc/xds/GcpAuthenticationFilter.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616

1717
package io.grpc.xds;
1818

19+
import io.grpc.xds.Filter.FilterContext;
20+
1921
import io.grpc.xds.Filter.FilterConfigParseContext;
2022

2123
import static com.google.common.base.Preconditions.checkNotNull;

xds/src/main/java/io/grpc/xds/RbacFilter.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616

1717
package io.grpc.xds;
1818

19+
import io.grpc.xds.Filter.FilterContext;
20+
1921
import io.grpc.xds.Filter.FilterConfigParseContext;
2022

2123
import static com.google.common.base.Preconditions.checkNotNull;

xds/src/main/java/io/grpc/xds/RouterFilter.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616

1717
package io.grpc.xds;
1818

19+
import io.grpc.xds.Filter.FilterContext;
20+
1921
import io.grpc.xds.Filter.FilterConfigParseContext;
2022

2123
import com.google.protobuf.Message;

xds/src/test/java/io/grpc/xds/ExternalProcessorFilterTest.java

Lines changed: 95 additions & 87 deletions
Large diffs are not rendered by default.

xds/src/test/java/io/grpc/xds/GrpcXdsClientImplDataTest.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,8 @@
131131
import io.grpc.xds.Endpoints.LbEndpoint;
132132
import io.grpc.xds.Endpoints.LocalityLbEndpoints;
133133
import io.grpc.xds.Filter.FilterConfig;
134+
import io.grpc.xds.Filter.FilterConfigParseContext;
135+
import io.grpc.xds.Filter.FilterContext;
134136
import io.grpc.xds.GcpAuthenticationFilter.AudienceMetadataParser.AudienceWrapper;
135137
import io.grpc.xds.MetadataRegistry.MetadataValueParser;
136138
import io.grpc.xds.RouteLookupServiceClusterSpecifierPlugin.RlsPluginConfig;

xds/src/test/java/io/grpc/xds/XdsNameResolverTest.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@
8484
import io.grpc.xds.FaultConfig.FaultAbort;
8585
import io.grpc.xds.FaultConfig.FaultDelay;
8686
import io.grpc.xds.Filter.FilterConfig;
87+
import io.grpc.xds.Filter.FilterContext;
8788
import io.grpc.xds.Filter.NamedFilterConfig;
8889
import io.grpc.xds.RouteLookupServiceClusterSpecifierPlugin.RlsPluginConfig;
8990
import io.grpc.xds.VirtualHost.Route;

xds/src/test/java/io/grpc/xds/XdsServerWrapperTest.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@
5858
import io.grpc.xds.EnvoyServerProtoData.FilterChainMatch;
5959
import io.grpc.xds.EnvoyServerProtoData.Listener;
6060
import io.grpc.xds.Filter.FilterConfig;
61+
import io.grpc.xds.Filter.FilterContext;
6162
import io.grpc.xds.Filter.NamedFilterConfig;
6263
import io.grpc.xds.FilterChainMatchingProtocolNegotiators.FilterChainMatchingHandler.FilterChainSelector;
6364
import io.grpc.xds.StatefulFilter.Config;

0 commit comments

Comments
 (0)