Package io.grpc.xds
Class CsdsService
java.lang.Object
io.grpc.xds.CsdsService
- All Implemented Interfaces:
io.grpc.BindableService
The CSDS service provides information about the status of a running xDS client.
Client Status Discovery Service is a service that exposes xDS config of a given client. See the full design at gRFC A40: xDS Configuration Dump via Client Status Discovery Service in gRPC.
- Since:
- 1.37.0
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate final class
Hide protobuf from being exposed via the API. -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final CsdsService.CsdsServiceInternal
private static final Logger
private final XdsClientPoolFactory
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprivate
(package private)
CsdsService
(XdsClientPoolFactory xdsClientPoolFactory) -
Method Summary
Modifier and TypeMethodDescriptionprivate static Map
<XdsResourceType<?>, Map<String, XdsClient.ResourceMetadata>> awaitSubscribedResourcesMetadata
(com.google.common.util.concurrent.ListenableFuture<Map<XdsResourceType<?>, Map<String, XdsClient.ResourceMetadata>>> future) io.grpc.ServerServiceDefinition
(package private) static ClientConfig
getClientConfigForXdsClient
(XdsClient xdsClient, String target) private ClientConfig
getConfigForRequest
(String target) private ClientStatusResponse
getStatusResponse
(List<ClientConfig> clientConfigs) private boolean
handleRequest
(ClientStatusRequest request, io.grpc.stub.StreamObserver<ClientStatusResponse> responseObserver) (package private) static ClientResourceStatus
private static UpdateFailureState
static CsdsService
Creates an instance.
-
Field Details
-
logger
-
xdsClientPoolFactory
-
delegate
-
-
Constructor Details
-
CsdsService
CsdsService(XdsClientPoolFactory xdsClientPoolFactory) -
CsdsService
private CsdsService()
-
-
Method Details
-
newInstance
Creates an instance. -
bindService
public io.grpc.ServerServiceDefinition bindService()- Specified by:
bindService
in interfaceio.grpc.BindableService
-
handleRequest
private boolean handleRequest(ClientStatusRequest request, io.grpc.stub.StreamObserver<ClientStatusResponse> responseObserver) -
getConfigForRequest
- Throws:
InterruptedException
-
getStatusResponse
-
getClientConfigForXdsClient
static ClientConfig getClientConfigForXdsClient(XdsClient xdsClient, String target) throws InterruptedException - Throws:
InterruptedException
-
awaitSubscribedResourcesMetadata
private static Map<XdsResourceType<?>,Map<String, awaitSubscribedResourcesMetadataXdsClient.ResourceMetadata>> (com.google.common.util.concurrent.ListenableFuture<Map<XdsResourceType<?>, Map<String, throws InterruptedExceptionXdsClient.ResourceMetadata>>> future) - Throws:
InterruptedException
-
metadataStatusToClientStatus
static ClientResourceStatus metadataStatusToClientStatus(XdsClient.ResourceMetadata.ResourceMetadataStatus status) -
metadataUpdateFailureStateToProto
private static UpdateFailureState metadataUpdateFailureStateToProto(XdsClient.ResourceMetadata.UpdateFailureState errorState)
-