xref: /aosp_15_r20/external/grpc-grpc/test/cpp/interop/istio_echo_server_lib.h (revision cc02d7e222339f7a4f6ba5f422e6413f4bd931f2)
1 //
2 // Copyright 2022 gRPC authors.
3 //
4 // Licensed under the Apache License, Version 2.0 (the "License");
5 // you may not use this file except in compliance with the License.
6 // You may obtain a copy of the License at
7 //
8 //     http://www.apache.org/licenses/LICENSE-2.0
9 //
10 // Unless required by applicable law or agreed to in writing, software
11 // distributed under the License is distributed on an "AS IS" BASIS,
12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 // See the License for the specific language governing permissions and
14 // limitations under the License.
15 //
16 
17 #ifndef GRPC_TEST_CPP_INTEROP_ISTIO_ECHO_SERVER_LIB_H
18 #define GRPC_TEST_CPP_INTEROP_ISTIO_ECHO_SERVER_LIB_H
19 
20 #include "src/proto/grpc/testing/istio_echo.grpc.pb.h"
21 
22 namespace grpc {
23 namespace testing {
24 
25 class EchoTestServiceImpl : public proto::EchoTestService::Service {
26  public:
27   EchoTestServiceImpl(std::string hostname, std::string service_version,
28                       std::string forwarding_address);
29 
30   grpc::Status Echo(grpc::ServerContext* context,
31                     const proto::EchoRequest* request,
32                     proto::EchoResponse* response) override;
33 
34   grpc::Status ForwardEcho(grpc::ServerContext* /*context*/,
35                            const proto::ForwardEchoRequest* request,
36                            proto::ForwardEchoResponse* response) override;
37 
38  private:
39   std::string hostname_;
40   std::string service_version_;
41   std::string forwarding_address_;
42   std::unique_ptr<proto::EchoTestService::Stub> forwarding_stub_;
43   // The following fields are not set yet. But we may need them later.
44   //  int port_;
45   //  std::string cluster_;
46   //  std::string istio_version_;
47 };
48 
49 }  // namespace testing
50 }  // namespace grpc
51 
52 #endif  // GRPC_TEST_CPP_INTEROP_ISTIO_ECHO_SERVER_LIB_H
53