| Index: third_party/grpc/src/proto/math/math.proto
|
| diff --git a/breakpad/linux/generate-test-dump.cc b/third_party/grpc/src/proto/math/math.proto
|
| similarity index 55%
|
| copy from breakpad/linux/generate-test-dump.cc
|
| copy to third_party/grpc/src/proto/math/math.proto
|
| index b0dca00a3679a062cb398d4f1cca95867ef6279c..311e148c021f66a8ed450e8258c60961314f546f 100644
|
| --- a/breakpad/linux/generate-test-dump.cc
|
| +++ b/third_party/grpc/src/proto/math/math.proto
|
| @@ -1,4 +1,5 @@
|
| -// Copyright (c) 2009, Google Inc.
|
| +
|
| +// Copyright 2015, Google Inc.
|
| // All rights reserved.
|
| //
|
| // Redistribution and use in source and binary forms, with or without
|
| @@ -27,41 +28,53 @@
|
| // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
| // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
|
| -// This code exists to generate minidump files for testing.
|
| -
|
| -#include <stdlib.h>
|
| +syntax = "proto3";
|
|
|
| -#include <unistd.h>
|
| +package math;
|
|
|
| -#include "breakpad/src/client/linux/handler/exception_handler.h"
|
| -#include "breakpad/src/common/linux/linux_libc_support.h"
|
| -#include "third_party/lss/linux_syscall_support.h"
|
| +message DivArgs {
|
| + int64 dividend = 1;
|
| + int64 divisor = 2;
|
| +}
|
|
|
| -static bool DumpCallback(const google_breakpad::MinidumpDescriptor& descriptor,
|
| - void* context, bool success) {
|
| - if (!success) {
|
| - static const char msg[] = "Failed to write minidump\n";
|
| - sys_write(2, msg, sizeof(msg) - 1);
|
| - return false;
|
| - }
|
| +message DivReply {
|
| + int64 quotient = 1;
|
| + int64 remainder = 2;
|
| +}
|
|
|
| - static const char msg[] = "Wrote minidump: ";
|
| - sys_write(2, msg, sizeof(msg) - 1);
|
| - sys_write(2, descriptor.path(), strlen(descriptor.path()));
|
| - sys_write(2, "\n", 1);
|
| +message FibArgs {
|
| + int64 limit = 1;
|
| +}
|
|
|
| - return true;
|
| +message Num {
|
| + int64 num = 1;
|
| }
|
|
|
| -static void DoSomethingWhichCrashes() {
|
| - int local_var = 1;
|
| - *reinterpret_cast<volatile char*>(NULL) = 1;
|
| +message FibReply {
|
| + int64 count = 1;
|
| }
|
|
|
| -int main() {
|
| - google_breakpad::MinidumpDescriptor minidump(".");
|
| - google_breakpad::ExceptionHandler breakpad(minidump, NULL, DumpCallback, NULL,
|
| - true, -1);
|
| - DoSomethingWhichCrashes();
|
| - return 0;
|
| +service Math {
|
| + // Div divides args.dividend by args.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 args.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) {
|
| + }
|
| }
|
|
|