• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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