class AggregatedDiscoveryService
Interface definition for AggregatedDiscoveryService Used with Async::GRPC::Client to make xDS calls
endpoint = Async::HTTP::Endpoint.parse("https://xds-control-plane:18000") http_client = Async::HTTP::Client.new(endpoint) grpc_client = Async::GRPC::Client.new(http_client)
stub = grpc_client.stub( Envoy::Service::Discovery::V3::AggregatedDiscoveryService, "envoy.service.discovery.v3.AggregatedDiscoveryService" )
Bidirectional streaming RPC
stub.stream_aggregated_resources do |input, output| request = Envoy::Service::Discovery::V3::DiscoveryRequest.new( type_url: "type.googleapis.com/envoy.config.cluster.v3.Cluster", resource_names: ["my-cluster"] ) output.write(request)
input.each do |response|
# Process DiscoveryResponse
end
end
Example: Using with Async::GRPC::Client
require "envoy/service/discovery/v3/aggregated_discovery_service"
require "async/grpc/client"