using Esiur.Data.Types; using System; using System.Collections.Generic; using System.Text; namespace Esiur.Resource { /// /// Marks an exported function as streaming and specifies its delivery mode. /// [AttributeUsage( AttributeTargets.Method, AllowMultiple = false, Inherited = true)] public sealed class StreamAttribute : Attribute { /// /// Gets the stream delivery mode. /// public StreamMode Mode { get; } /// /// Indicates whether a push stream may be paused and resumed remotely. /// This should only be true when Mode is Push. /// public bool Pausable { get; set; } public StreamAttribute(StreamMode mode = StreamMode.Push) { Mode = mode; } } }