Package io.grpc.xds
Class XdsListenerResource
- java.lang.Object
-
- io.grpc.xds.client.XdsResourceType<XdsListenerResource.LdsUpdate>
-
- io.grpc.xds.XdsListenerResource
-
class XdsListenerResource extends XdsResourceType<XdsListenerResource.LdsUpdate>
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static classXdsListenerResource.LdsUpdate-
Nested classes/interfaces inherited from class io.grpc.xds.client.XdsResourceType
XdsResourceType.Args, XdsResourceType.ResourceInvalidException, XdsResourceType.StructOrError<T>
-
-
Field Summary
Fields Modifier and Type Field Description (package private) static java.lang.StringADS_TYPE_URL_LDSprivate static FilterRegistryfilterRegistryprivate static XdsListenerResourceinstanceprivate static java.lang.StringTRANSPORT_SOCKET_NAME_TLS(package private) static java.lang.StringTYPE_URL_HTTP_CONNECTION_MANAGER-
Fields inherited from class io.grpc.xds.client.XdsResourceType
HASH_POLICY_FILTER_STATE_KEY, TYPE_URL_CLUSTER_CONFIG, TYPE_URL_TYPED_STRUCT, TYPE_URL_TYPED_STRUCT_UDPA
-
-
Constructor Summary
Constructors Constructor Description XdsListenerResource()
-
Method Summary
-
Methods inherited from class io.grpc.xds.client.XdsResourceType
unpackCompatibleType
-
-
-
-
Field Detail
-
ADS_TYPE_URL_LDS
static final java.lang.String ADS_TYPE_URL_LDS
- See Also:
- Constant Field Values
-
TYPE_URL_HTTP_CONNECTION_MANAGER
static final java.lang.String TYPE_URL_HTTP_CONNECTION_MANAGER
- See Also:
- Constant Field Values
-
TRANSPORT_SOCKET_NAME_TLS
private static final java.lang.String TRANSPORT_SOCKET_NAME_TLS
- See Also:
- Constant Field Values
-
instance
private static final XdsListenerResource instance
-
filterRegistry
private static final FilterRegistry filterRegistry
-
-
Method Detail
-
getInstance
static XdsListenerResource getInstance()
-
extractResourceName
@Nullable protected java.lang.String extractResourceName(com.google.protobuf.Message unpackedResource)
Description copied from class:XdsResourceTypeExtract the resource name from an older resource type that included the name within the resource contents itself. The newer approach has resources wrapped withenvoy.service.discovery.v3.Resourcewhich then provides the name. This method is only called for the old approach.- Overrides:
extractResourceNamein classXdsResourceType<XdsListenerResource.LdsUpdate>- Returns:
- the resource's name, or
nullif name is not stored within the resource contents
-
typeName
public java.lang.String typeName()
- Specified by:
typeNamein classXdsResourceType<XdsListenerResource.LdsUpdate>
-
unpackedClassName
protected java.lang.Class<Listener> unpackedClassName()
- Specified by:
unpackedClassNamein classXdsResourceType<XdsListenerResource.LdsUpdate>
-
typeUrl
public java.lang.String typeUrl()
- Specified by:
typeUrlin classXdsResourceType<XdsListenerResource.LdsUpdate>
-
shouldRetrieveResourceKeysForArgs
public boolean shouldRetrieveResourceKeysForArgs()
- Specified by:
shouldRetrieveResourceKeysForArgsin classXdsResourceType<XdsListenerResource.LdsUpdate>
-
isFullStateOfTheWorld
protected boolean isFullStateOfTheWorld()
- Specified by:
isFullStateOfTheWorldin classXdsResourceType<XdsListenerResource.LdsUpdate>
-
doParse
protected XdsListenerResource.LdsUpdate doParse(XdsResourceType.Args args, com.google.protobuf.Message unpackedMessage) throws XdsResourceType.ResourceInvalidException
- Specified by:
doParsein classXdsResourceType<XdsListenerResource.LdsUpdate>- Throws:
XdsResourceType.ResourceInvalidException
-
processClientSideListener
private XdsListenerResource.LdsUpdate processClientSideListener(Listener listener) throws XdsResourceType.ResourceInvalidException
-
processServerSideListener
private XdsListenerResource.LdsUpdate processServerSideListener(Listener proto, XdsResourceType.Args args) throws XdsResourceType.ResourceInvalidException
-
parseServerSideListener
static EnvoyServerProtoData.Listener parseServerSideListener(Listener proto, TlsContextManager tlsContextManager, FilterRegistry filterRegistry, java.util.Set<java.lang.String> certProviderInstances) throws XdsResourceType.ResourceInvalidException
-
parseFilterChain
static EnvoyServerProtoData.FilterChain parseFilterChain(FilterChain proto, TlsContextManager tlsContextManager, FilterRegistry filterRegistry, java.util.Set<EnvoyServerProtoData.FilterChainMatch> uniqueSet, java.util.Set<java.lang.String> certProviderInstances) throws XdsResourceType.ResourceInvalidException
-
validateDownstreamTlsContext
static DownstreamTlsContext validateDownstreamTlsContext(DownstreamTlsContext downstreamTlsContext, java.util.Set<java.lang.String> certProviderInstances) throws XdsResourceType.ResourceInvalidException
-
checkForUniqueness
private static void checkForUniqueness(java.util.Set<EnvoyServerProtoData.FilterChainMatch> uniqueSet, EnvoyServerProtoData.FilterChainMatch filterChainMatch) throws XdsResourceType.ResourceInvalidException
-
getCrossProduct
private static java.util.List<EnvoyServerProtoData.FilterChainMatch> getCrossProduct(EnvoyServerProtoData.FilterChainMatch filterChainMatch)
-
expandOnPrefixRange
private static java.util.List<EnvoyServerProtoData.FilterChainMatch> expandOnPrefixRange(EnvoyServerProtoData.FilterChainMatch filterChainMatch)
-
expandOnApplicationProtocols
private static java.util.List<EnvoyServerProtoData.FilterChainMatch> expandOnApplicationProtocols(java.util.Collection<EnvoyServerProtoData.FilterChainMatch> set)
-
expandOnSourcePrefixRange
private static java.util.List<EnvoyServerProtoData.FilterChainMatch> expandOnSourcePrefixRange(java.util.Collection<EnvoyServerProtoData.FilterChainMatch> set)
-
expandOnSourcePorts
private static java.util.List<EnvoyServerProtoData.FilterChainMatch> expandOnSourcePorts(java.util.Collection<EnvoyServerProtoData.FilterChainMatch> set)
-
expandOnServerNames
private static java.util.List<EnvoyServerProtoData.FilterChainMatch> expandOnServerNames(java.util.Collection<EnvoyServerProtoData.FilterChainMatch> set)
-
parseFilterChainMatch
private static EnvoyServerProtoData.FilterChainMatch parseFilterChainMatch(FilterChainMatch proto) throws XdsResourceType.ResourceInvalidException
-
parseHttpConnectionManager
static HttpConnectionManager parseHttpConnectionManager(HttpConnectionManager proto, FilterRegistry filterRegistry, boolean isForClient) throws XdsResourceType.ResourceInvalidException
-
isTerminalFilter
private static boolean isTerminalFilter(Filter.FilterConfig filterConfig)
-
parseHttpFilter
@Nullable static XdsResourceType.StructOrError<Filter.FilterConfig> parseHttpFilter(HttpFilter httpFilter, FilterRegistry filterRegistry, boolean isForClient)
-
-