xref: /aosp_15_r20/external/grpc-grpc/examples/python/async_streaming/phone.proto (revision cc02d7e222339f7a4f6ba5f422e6413f4bd931f2)
1*cc02d7e2SAndroid Build Coastguard Worker// Copyright 2020 The gRPC Authors
2*cc02d7e2SAndroid Build Coastguard Worker//
3*cc02d7e2SAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License");
4*cc02d7e2SAndroid Build Coastguard Worker// you may not use this file except in compliance with the License.
5*cc02d7e2SAndroid Build Coastguard Worker// You may obtain a copy of the License at
6*cc02d7e2SAndroid Build Coastguard Worker//
7*cc02d7e2SAndroid Build Coastguard Worker//     http://www.apache.org/licenses/LICENSE-2.0
8*cc02d7e2SAndroid Build Coastguard Worker//
9*cc02d7e2SAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software
10*cc02d7e2SAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS,
11*cc02d7e2SAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*cc02d7e2SAndroid Build Coastguard Worker// See the License for the specific language governing permissions and
13*cc02d7e2SAndroid Build Coastguard Worker// limitations under the License.
14*cc02d7e2SAndroid Build Coastguard Worker
15*cc02d7e2SAndroid Build Coastguard Workersyntax = "proto3";
16*cc02d7e2SAndroid Build Coastguard Worker
17*cc02d7e2SAndroid Build Coastguard Workerpackage grpc.testing;
18*cc02d7e2SAndroid Build Coastguard Worker
19*cc02d7e2SAndroid Build Coastguard Workermessage CallInfo {
20*cc02d7e2SAndroid Build Coastguard Worker  string session_id = 1;
21*cc02d7e2SAndroid Build Coastguard Worker  string media = 2;
22*cc02d7e2SAndroid Build Coastguard Worker}
23*cc02d7e2SAndroid Build Coastguard Worker
24*cc02d7e2SAndroid Build Coastguard Workermessage CallState {
25*cc02d7e2SAndroid Build Coastguard Worker  enum State {
26*cc02d7e2SAndroid Build Coastguard Worker    // The default state.
27*cc02d7e2SAndroid Build Coastguard Worker    UNDEFINED = 0;
28*cc02d7e2SAndroid Build Coastguard Worker    // The call is newly created.
29*cc02d7e2SAndroid Build Coastguard Worker    NEW = 1;
30*cc02d7e2SAndroid Build Coastguard Worker    // The call is connected.
31*cc02d7e2SAndroid Build Coastguard Worker    ACTIVE = 6;
32*cc02d7e2SAndroid Build Coastguard Worker    // The call is finished.
33*cc02d7e2SAndroid Build Coastguard Worker    ENDED = 7;
34*cc02d7e2SAndroid Build Coastguard Worker  }
35*cc02d7e2SAndroid Build Coastguard Worker  State state = 2;
36*cc02d7e2SAndroid Build Coastguard Worker}
37*cc02d7e2SAndroid Build Coastguard Worker
38*cc02d7e2SAndroid Build Coastguard Workermessage StreamCallRequest {
39*cc02d7e2SAndroid Build Coastguard Worker  string phone_number = 1;
40*cc02d7e2SAndroid Build Coastguard Worker}
41*cc02d7e2SAndroid Build Coastguard Worker
42*cc02d7e2SAndroid Build Coastguard Workermessage StreamCallResponse {
43*cc02d7e2SAndroid Build Coastguard Worker  oneof stream_call_response {
44*cc02d7e2SAndroid Build Coastguard Worker    CallInfo call_info = 1;
45*cc02d7e2SAndroid Build Coastguard Worker    CallState call_state = 2;
46*cc02d7e2SAndroid Build Coastguard Worker  }
47*cc02d7e2SAndroid Build Coastguard Worker}
48*cc02d7e2SAndroid Build Coastguard Worker
49*cc02d7e2SAndroid Build Coastguard Workerservice Phone {
50*cc02d7e2SAndroid Build Coastguard Worker  // Makes a phone call and communicate states via a stream.
51*cc02d7e2SAndroid Build Coastguard Worker  rpc StreamCall(stream StreamCallRequest) returns (stream StreamCallResponse);
52*cc02d7e2SAndroid Build Coastguard Worker}
53