ratman 0.5.0

Ratman types, client, and interface library
// SPDX-FileCopyrightText: 2019-2022 Katharina Fey <kookie@spacekookie.de>
//
// SPDX-License-Identifier: AGPL-3.0-or-later WITH LicenseRef-AppStore

syntax = "proto3";

message StandardRecipient {
        repeated bytes standard = 1;
}

// Recipient state information
message Recipient {
        oneof inner {
                StandardRecipient std = 1;
                // A message gets generated for each recipient
                bytes flood_scope = 2;
        }
}

// A complete message type that maps onto a Ratman message
message Message {
        // Message ID filled in by Ratman
        bytes id = 1;
        // Sender address information
        bytes sender = 2;
        // Recipient information
        Recipient recipient = 3;
        // Timestamp filled in by Ratman
        string time = 4;

        /////////////////////////

        // Main message payload
        bytes payload = 10;
        // Payload signature
        bytes signature = 11;
}