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

// Request payload
message ChatMessage {
    // Each message attribute is strongly typed.
    // You also must assign a "tag" number.
    // Each tag number is unique within the message.
    string from = 1;
    // This defines a strongly typed list of String
    string message = 2;

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

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

    rpc chat(stream ChatMessage) returns (stream ChatMessage);
}