syntax = "proto3"; package com.fundamentum.edge.v1; import "google/protobuf/empty.proto"; import "qos.proto"; // Fundamentum Edge's telemetry service. service Telemetry { // Publishes device-specific data to the `event` topic or to one of its sub-topics if specified. rpc Publish (stream TelemetryRequest) returns (google.protobuf.Empty); // Publish one device-specific data to the `event` topic or to one of its sub-topics if specified. rpc PublishOne (TelemetryRequest) returns (google.protobuf.Empty); } // Request for the `Telemetry.SendTelemetry` endpoint. message TelemetryRequest { // The telemetry data to be published. // Defaults to an empty payload if unspecified. bytes payload = 1; // Sub topic to publish the message to. // Defaults to the top-level `event` topic if unspecified. string sub_topic = 2; // The QoS level to use when publishing the message. // Defaults to 2 (QOS_EXACTLY_ONCE) if unspecified. optional Qos qos = 3; }