// Copyright 2018 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

syntax = "proto3";

package goproto.protoc.grpc;

option go_package = "google.golang.org/protobuf/cmd/protoc-gen-go/testdata/grpc";

message Request {}
message Response {}

// Service and method names chosen to exercise the distinction between the
// proto definition names and the CamelCased Go names.
service test_service {
  rpc unary_call(Request) returns (Response);

  // This RPC streams from the server only.
  rpc downstream_call(Request) returns (stream Response);

  // This RPC streams from the client.
  rpc upstream_call(stream Request) returns (Response);

  // This one streams in both directions.
  rpc bidi_call(stream Request) returns (stream Response);
}
