Package io.grpc.xds
Class XdsEndpointResource
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescription(package private) static final class
Nested classes/interfaces inherited from class io.grpc.xds.client.XdsResourceType
XdsResourceType.Args, XdsResourceType.ResourceInvalidException, XdsResourceType.StructOrError<T>
-
Field Summary
FieldsModifier and TypeFieldDescription(package private) static final String
static final String
private static final XdsEndpointResource
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 -
Method Summary
Modifier and TypeMethodDescriptionprotected XdsEndpointResource.EdsUpdate
doParse
(XdsResourceType.Args args, com.google.protobuf.Message unpackedMessage) protected 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 InetSocketAddress
getInetSocketAddress
(Address address) (package private) static XdsEndpointResource
private static int
getRatePerMillion
(FractionalPercent percent) private static boolean
protected boolean
private static Endpoints.DropOverload
private static Locality
parseLocality
(Locality proto) (package private) static XdsResourceType.StructOrError
<Endpoints.LocalityLbEndpoints> private static XdsEndpointResource.EdsUpdate
processClusterLoadAssignment
(ClusterLoadAssignment assignment) boolean
typeName()
typeUrl()
protected Class
<ClusterLoadAssignment> Methods inherited from class io.grpc.xds.client.XdsResourceType
unpackCompatibleType
-
Field Details
-
ADS_TYPE_URL_EDS
- See Also:
-
GRPC_EXPERIMENTAL_XDS_DUALSTACK_ENDPOINTS
- See Also:
-
instance
-
-
Constructor Details
-
XdsEndpointResource
XdsEndpointResource()
-
-
Method Details
-
getInstance
-
extractResourceName
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
- Specified by:
typeName
in classXdsResourceType<XdsEndpointResource.EdsUpdate>
-
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
- 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 -
parseLocality
-
parseDropOverload
private static Endpoints.DropOverload parseDropOverload(ClusterLoadAssignment.Policy.DropOverload proto) -
getRatePerMillion
-
parseLocalityLbEndpoints
@Nullable static XdsResourceType.StructOrError<Endpoints.LocalityLbEndpoints> parseLocalityLbEndpoints(LocalityLbEndpoints proto) -
getInetSocketAddress
-