syntax = "proto3";

package echo;

service EchoService {
  // Unary (1 -> 1)
  rpc UnaryEcho(EchoRequest) returns (EchoReply) {}

  // Server Streaming (1 -> N)
  rpc ServerStreamingEcho(EchoRequest) returns (stream EchoReply) {}

  // Client Streaming (N -> 1)
  rpc ClientStreamingEcho(stream EchoRequest) returns (EchoReply) {}

  // Bidirectional Streaming (N -> N)
  rpc BidirectionalStreamingEcho(stream EchoRequest) returns (stream EchoReply) {}
}

message EchoRequest {
  string message = 1;
}

message EchoReply {
  string message = 1;
}
