xref: /aosp_15_r20/external/grpc-grpc/src/proto/math/math.proto (revision cc02d7e222339f7a4f6ba5f422e6413f4bd931f2)
1*cc02d7e2SAndroid Build Coastguard Worker
2*cc02d7e2SAndroid Build Coastguard Worker// Copyright 2015 gRPC authors.
3*cc02d7e2SAndroid Build Coastguard Worker//
4*cc02d7e2SAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License");
5*cc02d7e2SAndroid Build Coastguard Worker// you may not use this file except in compliance with the License.
6*cc02d7e2SAndroid Build Coastguard Worker// You may obtain a copy of the License at
7*cc02d7e2SAndroid Build Coastguard Worker//
8*cc02d7e2SAndroid Build Coastguard Worker//     http://www.apache.org/licenses/LICENSE-2.0
9*cc02d7e2SAndroid Build Coastguard Worker//
10*cc02d7e2SAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software
11*cc02d7e2SAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS,
12*cc02d7e2SAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13*cc02d7e2SAndroid Build Coastguard Worker// See the License for the specific language governing permissions and
14*cc02d7e2SAndroid Build Coastguard Worker// limitations under the License.
15*cc02d7e2SAndroid Build Coastguard Worker
16*cc02d7e2SAndroid Build Coastguard Workersyntax = "proto3";
17*cc02d7e2SAndroid Build Coastguard Worker
18*cc02d7e2SAndroid Build Coastguard Workerpackage math;
19*cc02d7e2SAndroid Build Coastguard Worker
20*cc02d7e2SAndroid Build Coastguard Workermessage DivArgs {
21*cc02d7e2SAndroid Build Coastguard Worker  int64 dividend = 1;
22*cc02d7e2SAndroid Build Coastguard Worker  int64 divisor = 2;
23*cc02d7e2SAndroid Build Coastguard Worker}
24*cc02d7e2SAndroid Build Coastguard Worker
25*cc02d7e2SAndroid Build Coastguard Workermessage DivReply {
26*cc02d7e2SAndroid Build Coastguard Worker  int64 quotient = 1;
27*cc02d7e2SAndroid Build Coastguard Worker  int64 remainder = 2;
28*cc02d7e2SAndroid Build Coastguard Worker}
29*cc02d7e2SAndroid Build Coastguard Worker
30*cc02d7e2SAndroid Build Coastguard Workermessage FibArgs {
31*cc02d7e2SAndroid Build Coastguard Worker  int64 limit = 1;
32*cc02d7e2SAndroid Build Coastguard Worker}
33*cc02d7e2SAndroid Build Coastguard Worker
34*cc02d7e2SAndroid Build Coastguard Workermessage Num {
35*cc02d7e2SAndroid Build Coastguard Worker  int64 num = 1;
36*cc02d7e2SAndroid Build Coastguard Worker}
37*cc02d7e2SAndroid Build Coastguard Worker
38*cc02d7e2SAndroid Build Coastguard Workermessage FibReply {
39*cc02d7e2SAndroid Build Coastguard Worker  int64 count = 1;
40*cc02d7e2SAndroid Build Coastguard Worker}
41*cc02d7e2SAndroid Build Coastguard Worker
42*cc02d7e2SAndroid Build Coastguard Workerservice Math {
43*cc02d7e2SAndroid Build Coastguard Worker  // Div divides DivArgs.dividend by DivArgs.divisor and returns the quotient
44*cc02d7e2SAndroid Build Coastguard Worker  // and remainder.
45*cc02d7e2SAndroid Build Coastguard Worker  rpc Div (DivArgs) returns (DivReply) {
46*cc02d7e2SAndroid Build Coastguard Worker  }
47*cc02d7e2SAndroid Build Coastguard Worker
48*cc02d7e2SAndroid Build Coastguard Worker  // DivMany accepts an arbitrary number of division args from the client stream
49*cc02d7e2SAndroid Build Coastguard Worker  // and sends back the results in the reply stream.  The stream continues until
50*cc02d7e2SAndroid Build Coastguard Worker  // the client closes its end; the server does the same after sending all the
51*cc02d7e2SAndroid Build Coastguard Worker  // replies.  The stream ends immediately if either end aborts.
52*cc02d7e2SAndroid Build Coastguard Worker  rpc DivMany (stream DivArgs) returns (stream DivReply) {
53*cc02d7e2SAndroid Build Coastguard Worker  }
54*cc02d7e2SAndroid Build Coastguard Worker
55*cc02d7e2SAndroid Build Coastguard Worker  // Fib generates numbers in the Fibonacci sequence.  If FibArgs.limit > 0, Fib
56*cc02d7e2SAndroid Build Coastguard Worker  // generates up to limit numbers; otherwise it continues until the call is
57*cc02d7e2SAndroid Build Coastguard Worker  // canceled.  Unlike Fib above, Fib has no final FibReply.
58*cc02d7e2SAndroid Build Coastguard Worker  rpc Fib (FibArgs) returns (stream Num) {
59*cc02d7e2SAndroid Build Coastguard Worker  }
60*cc02d7e2SAndroid Build Coastguard Worker
61*cc02d7e2SAndroid Build Coastguard Worker  // Sum sums a stream of numbers, returning the final result once the stream
62*cc02d7e2SAndroid Build Coastguard Worker  // is closed.
63*cc02d7e2SAndroid Build Coastguard Worker  rpc Sum (stream Num) returns (Num) {
64*cc02d7e2SAndroid Build Coastguard Worker  }
65*cc02d7e2SAndroid Build Coastguard Worker}
66