syntax = "proto3";

package grpcctest;

enum EventType {
  EVENT_TYPE_TEST = 0;
  EVENT_TYPE_TEST_AGAIN = 1;
}

service TestService {
  rpc SayHello(SayRequest) returns (SayReply) {}
  rpc SayClientStream(stream SayRequest) returns (SayReply) {}
  rpc SayServerStream(stream SayRequest) returns (stream SayReply) {}
  rpc SayBidirectionalStream(stream SayRequest) returns (stream SayReply) {}
}

message SayRequest {
  required string sayWhat = 1;
  enum SayWhen {
    SAY_NOW = 1;
    SAY_LATER = 2;
  }
  SayWhen when = 2;
}

message SayReply {
  required string saidWhat = 1;
}
