syntax = "proto3";

option go_package = "github.com/jhump/protoreflect/internal/testprotos/grpc";

package testprotos;

import "desc_test1.proto";
import "pkg/desc_test_pkg.proto";

message DummyRequest {
  repeated bytes foo = 1;
  string bar = 2;
  TestMessage baz = 3;
  TestMessage.NestedMessage.AnotherNestedMessage snafu = 4;
  map<string, bool> flags = 5;
  map<string, TestMessage> others = 6;
}

message DummyResponse {
  AnotherTestMessage atm = 1;
  repeated int32 vs = 2;
}

// Basically looks just like TestService in "../desc_test_proto3.proto". Except we only
// generate gRPC-related code for this package, not in "..". This copy lets us test reflection
// over said gRPC-related code from grpcreflect.
service DummyService {
  rpc DoSomething (DummyRequest) returns (jhump.protoreflect.desc.Bar);
  rpc DoSomethingElse (stream TestMessage) returns (DummyResponse);
  rpc DoSomethingAgain (jhump.protoreflect.desc.Bar) returns (stream AnotherTestMessage);
  rpc DoSomethingForever (stream DummyRequest) returns (stream DummyResponse);
}
