syntax = "proto3"; package com.fundamentum.edge.v1; // Quality of Service (QoS) levels enum Qos { // This level guarantees that the message is delivered at most once. // This is also known as "fire and forget" and it provides the same // guarantee as the underlying TCP protocol. QOS_AT_MOST_ONCE = 0; // This level guarantees that the message is delivered at least once. // If the sender doesn't receive an acknowledgement, it will resend // the message. QOS_AT_LEAST_ONCE = 1; // This level guarantees that the message is delivered exactly once. // This is the safest but slowest QoS level. QOS_EXACTLY_ONCE = 2; }