aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/libs/grpc/src/proto/math/math.proto
blob: e72270310ade07f83fae881b52de2d6d3cab0523 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
 
// Copyright 2015 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 math; 
 
message DivArgs { 
  int64 dividend = 1; 
  int64 divisor = 2; 
} 
 
message DivReply { 
  int64 quotient = 1; 
  int64 remainder = 2; 
} 
 
message FibArgs { 
  int64 limit = 1; 
} 
 
message Num { 
  int64 num = 1; 
} 
 
message FibReply { 
  int64 count = 1; 
} 
 
service Math { 
  // Div divides DivArgs.dividend by DivArgs.divisor and returns the quotient 
  // and remainder. 
  rpc Div (DivArgs) returns (DivReply) { 
  } 
 
  // DivMany accepts an arbitrary number of division args from the client stream 
  // and sends back the results in the reply stream.  The stream continues until 
  // the client closes its end; the server does the same after sending all the 
  // replies.  The stream ends immediately if either end aborts. 
  rpc DivMany (stream DivArgs) returns (stream DivReply) { 
  } 
 
  // Fib generates numbers in the Fibonacci sequence.  If FibArgs.limit > 0, Fib 
  // generates up to limit numbers; otherwise it continues until the call is 
  // canceled.  Unlike Fib above, Fib has no final FibReply. 
  rpc Fib (FibArgs) returns (stream Num) { 
  } 
 
  // Sum sums a stream of numbers, returning the final result once the stream 
  // is closed. 
  rpc Sum (stream Num) returns (Num) { 
  } 
}