1// Copyright 2019 The gRPC Authors 2// 3// Licensed under the Apache License, Version 2.0 (the "License"); 4// you may not use this file except in compliance with the License. 5// You may obtain a copy of the License at 6// 7// http://www.apache.org/licenses/LICENSE-2.0 8// 9// Unless required by applicable law or agreed to in writing, software 10// distributed under the License is distributed on an "AS IS" BASIS, 11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12// See the License for the specific language governing permissions and 13// limitations under the License. 14 15// This file contains the eds protocol and its dependency. 16// 17// TODO(juanlishen): This file is a hack to avoid a problem we're 18// currently having where we can't depend on a proto file in an external 19// repo due to bazel limitations. Once that's fixed, this should be 20// removed. Until this, it should be used in the gRPC tests only, or else it 21// will cause a conflict due to the same proto messages being defined in 22// multiple files in the same binary. 23 24syntax = "proto3"; 25 26package envoy.service.discovery.v2; 27 28import "src/proto/grpc/testing/xds/eds_for_test.proto"; 29 30// [#not-implemented-hide:] Discovery services for endpoints, clusters, routes, 31// and listeners are retained in the package `envoy.api.v2` for backwards 32// compatibility with existing management servers. New development in discovery 33// services should proceed in the package `envoy.service.discovery.v2`. 34 35// See https://github.com/lyft/envoy-api#apis for a description of the role of 36// ADS and how it is intended to be used by a management server. ADS requests 37// have the same structure as their singleton xDS counterparts, but can 38// multiplex many resource types on a single stream. The type_url in the 39// DiscoveryRequest/DiscoveryResponse provides sufficient information to recover 40// the multiplexed singleton APIs at the Envoy instance and management server. 41service AggregatedDiscoveryService { 42 // This is a gRPC-only API. 43 rpc StreamAggregatedResources(stream envoy.api.v2.DiscoveryRequest) 44 returns (stream envoy.api.v2.DiscoveryResponse) { 45 } 46 47 // Commented out so that we don't have to copy the request/response protos. 48// rpc DeltaAggregatedResources(stream api.v2.DeltaDiscoveryRequest) 49// returns (stream api.v2.DeltaDiscoveryResponse) { 50// } 51} 52