| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- // Copyright 2020 The gRPC Authors
- //
- // Licensed under the Apache License, Version 2.0 (the "License");
- // you may not use this file except in compliance with the License.
- // You may obtain a copy of the License at
- //
- // http://www.apache.org/licenses/LICENSE-2.0
- //
- // Unless required by applicable law or agreed to in writing, software
- // distributed under the License is distributed on an "AS IS" BASIS,
- // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- // See the License for the specific language governing permissions and
- // limitations under the License.
- syntax = "proto3";
- package grpc.lookup.v1;
- import "google/protobuf/any.proto";
- option go_package = "google.golang.org/grpc/lookup/grpc_lookup_v1";
- option java_multiple_files = true;
- option java_package = "io.grpc.lookup.v1";
- option java_outer_classname = "RlsProto";
- message RouteLookupRequest {
- // Target type allows the client to specify what kind of target format it
- // would like from RLS to allow it to find the regional server, e.g. "grpc".
- string target_type = 3;
- // Possible reasons for making a request.
- enum Reason {
- REASON_UNKNOWN = 0; // Unused
- REASON_MISS = 1; // No data available in local cache
- REASON_STALE = 2; // Data in local cache is stale
- }
- // Reason for making this request.
- Reason reason = 5;
- // For REASON_STALE, the header_data from the stale response, if any.
- string stale_header_data = 6;
- // Map of key values extracted via key builders for the gRPC or HTTP request.
- map<string, string> key_map = 4;
- // Application-specific optional extensions.
- repeated google.protobuf.Any extensions = 7;
- reserved 1, 2;
- reserved "server", "path";
- }
- message RouteLookupResponse {
- // Prioritized list (best one first) of addressable entities to use
- // for routing, using syntax requested by the request target_type.
- // The targets will be tried in order until a healthy one is found.
- repeated string targets = 3;
- // Optional header value to pass along to AFE in the X-Google-RLS-Data header.
- // Cached with "target" and sent with all requests that match the request key.
- // Allows the RLS to pass its work product to the eventual target.
- string header_data = 2;
- // Application-specific optional extensions.
- repeated google.protobuf.Any extensions = 4;
- reserved 1;
- reserved "target";
- }
- service RouteLookupService {
- // Lookup returns a target for a single key.
- rpc RouteLookup(RouteLookupRequest) returns (RouteLookupResponse) {}
- }
|