xref: /aosp_15_r20/external/grpc-grpc/examples/python/async_streaming/phone.proto (revision cc02d7e222339f7a4f6ba5f422e6413f4bd931f2)
1// Copyright 2020 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
15syntax = "proto3";
16
17package grpc.testing;
18
19message CallInfo {
20  string session_id = 1;
21  string media = 2;
22}
23
24message CallState {
25  enum State {
26    // The default state.
27    UNDEFINED = 0;
28    // The call is newly created.
29    NEW = 1;
30    // The call is connected.
31    ACTIVE = 6;
32    // The call is finished.
33    ENDED = 7;
34  }
35  State state = 2;
36}
37
38message StreamCallRequest {
39  string phone_number = 1;
40}
41
42message StreamCallResponse {
43  oneof stream_call_response {
44    CallInfo call_info = 1;
45    CallState call_state = 2;
46  }
47}
48
49service Phone {
50  // Makes a phone call and communicate states via a stream.
51  rpc StreamCall(stream StreamCallRequest) returns (stream StreamCallResponse);
52}
53