syntax = "proto3";
package com.example.grpc;

// Request payload
message HelloRequest {
    // Each message attribute is strongly typed.
    // You also must assign a "tag" number.
    // Each tag number is unique within the message.
    string name = 1;

    // This defines a strongly typed list of String
    repeated string hobbies = 2;

    // There are many more basics types, like Enum, Map
    // See https://developers.google.com/protocol-buffers/docs/proto3
    // for more information.
}

message HelloResponse {
    string greeting = 1;
}

// Defining a Service, a Service can have multiple RPC operations
service GreetingService {

    rpc greeting(HelloRequest) returns (HelloResponse);

    rpc streamGreeting(HelloRequest) returns (stream HelloResponse);
}