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 classXdsEndpointResource.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.StringADS_TYPE_URL_EDSstatic java.lang.StringGRPC_EXPERIMENTAL_XDS_DUALSTACK_ENDPOINTSprivate static XdsEndpointResourceinstance-
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.EdsUpdatedoParse(XdsResourceType.Args args, com.google.protobuf.Message unpackedMessage)protected java.lang.StringextractResourceName(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.InetSocketAddressgetInetSocketAddress(Address address)(package private) static XdsEndpointResourcegetInstance()private static intgetRatePerMillion(FractionalPercent percent)private static booleanisEnabledXdsDualStack()protected booleanisFullStateOfTheWorld()private static Endpoints.DropOverloadparseDropOverload(ClusterLoadAssignment.Policy.DropOverload proto)private static LocalityparseLocality(Locality proto)(package private) static XdsResourceType.StructOrError<Endpoints.LocalityLbEndpoints>parseLocalityLbEndpoints(LocalityLbEndpoints proto)private static XdsEndpointResource.EdsUpdateprocessClusterLoadAssignment(ClusterLoadAssignment assignment)booleanshouldRetrieveResourceKeysForArgs()java.lang.StringtypeName()java.lang.StringtypeUrl()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: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<XdsEndpointResource.EdsUpdate>- 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<XdsEndpointResource.EdsUpdate>
-
typeUrl
public java.lang.String typeUrl()
- Specified by:
typeUrlin classXdsResourceType<XdsEndpointResource.EdsUpdate>
-
shouldRetrieveResourceKeysForArgs
public boolean shouldRetrieveResourceKeysForArgs()
- Specified by:
shouldRetrieveResourceKeysForArgsin classXdsResourceType<XdsEndpointResource.EdsUpdate>
-
isFullStateOfTheWorld
protected boolean isFullStateOfTheWorld()
- Specified by:
isFullStateOfTheWorldin classXdsResourceType<XdsEndpointResource.EdsUpdate>
-
unpackedClassName
protected java.lang.Class<ClusterLoadAssignment> unpackedClassName()
- Specified by:
unpackedClassNamein classXdsResourceType<XdsEndpointResource.EdsUpdate>
-
doParse
protected XdsEndpointResource.EdsUpdate doParse(XdsResourceType.Args args, com.google.protobuf.Message unpackedMessage) throws XdsResourceType.ResourceInvalidException
- Specified by:
doParsein 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)
-
-