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 class
XdsListenerResource.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.String
ADS_TYPE_URL_LDS
private static FilterRegistry
filterRegistry
private static XdsListenerResource
instance
private static java.lang.String
TRANSPORT_SOCKET_NAME_TLS
(package private) static java.lang.String
TYPE_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:XdsResourceType
Extract 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.Resource
which then provides the name. This method is only called for the old approach.- Overrides:
extractResourceName
in classXdsResourceType<XdsListenerResource.LdsUpdate>
- Returns:
- the resource's name, or
null
if name is not stored within the resource contents
-
typeName
public java.lang.String typeName()
- Specified by:
typeName
in classXdsResourceType<XdsListenerResource.LdsUpdate>
-
unpackedClassName
protected java.lang.Class<Listener> unpackedClassName()
- Specified by:
unpackedClassName
in classXdsResourceType<XdsListenerResource.LdsUpdate>
-
typeUrl
public java.lang.String typeUrl()
- Specified by:
typeUrl
in classXdsResourceType<XdsListenerResource.LdsUpdate>
-
shouldRetrieveResourceKeysForArgs
public boolean shouldRetrieveResourceKeysForArgs()
- Specified by:
shouldRetrieveResourceKeysForArgs
in classXdsResourceType<XdsListenerResource.LdsUpdate>
-
isFullStateOfTheWorld
protected boolean isFullStateOfTheWorld()
- Specified by:
isFullStateOfTheWorld
in classXdsResourceType<XdsListenerResource.LdsUpdate>
-
doParse
protected XdsListenerResource.LdsUpdate doParse(XdsResourceType.Args args, com.google.protobuf.Message unpackedMessage) throws XdsResourceType.ResourceInvalidException
- Specified by:
doParse
in 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)
-
-