Package io.grpc.xds
Class XdsEndpointResource
- java.lang.Object
-
- io.grpc.xds.client.XdsResourceType<XdsEndpointResource.EdsUpdate>
-
- io.grpc.xds.XdsEndpointResource
-
class XdsEndpointResource extends XdsResourceType<XdsEndpointResource.EdsUpdate>
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static class
XdsEndpointResource.EdsUpdate
-
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_EDS
static java.lang.String
GRPC_EXPERIMENTAL_XDS_DUALSTACK_ENDPOINTS
private static XdsEndpointResource
instance
-
Fields inherited from class io.grpc.xds.client.XdsResourceType
HASH_POLICY_FILTER_STATE_KEY, TRANSPORT_SOCKET_NAME_TLS, TYPE_URL_CLUSTER_CONFIG, TYPE_URL_TYPED_STRUCT, TYPE_URL_TYPED_STRUCT_UDPA
-
-
Constructor Summary
Constructors Constructor Description XdsEndpointResource()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected XdsEndpointResource.EdsUpdate
doParse(XdsResourceType.Args args, com.google.protobuf.Message unpackedMessage)
protected java.lang.String
extractResourceName(com.google.protobuf.Message unpackedResource)
Extract the resource name from an older resource type that included the name within the resource contents itself.private static java.net.InetSocketAddress
getInetSocketAddress(Address address)
(package private) static XdsEndpointResource
getInstance()
private static int
getRatePerMillion(FractionalPercent percent)
private static boolean
isEnabledXdsDualStack()
protected boolean
isFullStateOfTheWorld()
private static Endpoints.DropOverload
parseDropOverload(ClusterLoadAssignment.Policy.DropOverload proto)
private static Locality
parseLocality(Locality proto)
(package private) static XdsResourceType.StructOrError<Endpoints.LocalityLbEndpoints>
parseLocalityLbEndpoints(LocalityLbEndpoints proto)
private static XdsEndpointResource.EdsUpdate
processClusterLoadAssignment(ClusterLoadAssignment assignment)
boolean
shouldRetrieveResourceKeysForArgs()
java.lang.String
typeName()
java.lang.String
typeUrl()
protected java.lang.Class<ClusterLoadAssignment>
unpackedClassName()
-
Methods inherited from class io.grpc.xds.client.XdsResourceType
unpackCompatibleType
-
-
-
-
Field Detail
-
ADS_TYPE_URL_EDS
static final java.lang.String ADS_TYPE_URL_EDS
- See Also:
- Constant Field Values
-
GRPC_EXPERIMENTAL_XDS_DUALSTACK_ENDPOINTS
public static final java.lang.String GRPC_EXPERIMENTAL_XDS_DUALSTACK_ENDPOINTS
- See Also:
- Constant Field Values
-
instance
private static final XdsEndpointResource instance
-
-
Method Detail
-
getInstance
static XdsEndpointResource 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<XdsEndpointResource.EdsUpdate>
- 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<XdsEndpointResource.EdsUpdate>
-
typeUrl
public java.lang.String typeUrl()
- Specified by:
typeUrl
in classXdsResourceType<XdsEndpointResource.EdsUpdate>
-
shouldRetrieveResourceKeysForArgs
public boolean shouldRetrieveResourceKeysForArgs()
- Specified by:
shouldRetrieveResourceKeysForArgs
in classXdsResourceType<XdsEndpointResource.EdsUpdate>
-
isFullStateOfTheWorld
protected boolean isFullStateOfTheWorld()
- Specified by:
isFullStateOfTheWorld
in classXdsResourceType<XdsEndpointResource.EdsUpdate>
-
unpackedClassName
protected java.lang.Class<ClusterLoadAssignment> unpackedClassName()
- Specified by:
unpackedClassName
in classXdsResourceType<XdsEndpointResource.EdsUpdate>
-
doParse
protected XdsEndpointResource.EdsUpdate doParse(XdsResourceType.Args args, com.google.protobuf.Message unpackedMessage) throws XdsResourceType.ResourceInvalidException
- Specified by:
doParse
in classXdsResourceType<XdsEndpointResource.EdsUpdate>
- Throws:
XdsResourceType.ResourceInvalidException
-
isEnabledXdsDualStack
private static boolean isEnabledXdsDualStack()
-
processClusterLoadAssignment
private static XdsEndpointResource.EdsUpdate processClusterLoadAssignment(ClusterLoadAssignment assignment) throws XdsResourceType.ResourceInvalidException
-
parseDropOverload
private static Endpoints.DropOverload parseDropOverload(ClusterLoadAssignment.Policy.DropOverload proto)
-
getRatePerMillion
private static int getRatePerMillion(FractionalPercent percent)
-
parseLocalityLbEndpoints
@Nullable static XdsResourceType.StructOrError<Endpoints.LocalityLbEndpoints> parseLocalityLbEndpoints(LocalityLbEndpoints proto)
-
getInetSocketAddress
private static java.net.InetSocketAddress getInetSocketAddress(Address address)
-
-