Files

40 lines
1.3 KiB
C#

namespace MediaBrowser.Controller.Session;
/// <summary>
/// An envelope addressed to one instance. <see cref="Kind"/> names the payload so that features other
/// than session routing can share the same channel.
/// </summary>
public sealed class PodMessage
{
/// <summary>
/// The <see cref="Kind"/> of the acknowledgement the receiving instance sends back.
/// </summary>
public const string AckKind = "Ack";
/// <summary>
/// Gets or sets the payload discriminator.
/// </summary>
public string Kind { get; set; } = string.Empty;
/// <summary>
/// Gets or sets the identity of the sending instance.
/// </summary>
public string OriginPod { get; set; } = string.Empty;
/// <summary>
/// Gets or sets the identifier tying an acknowledgement to the message it answers.
/// </summary>
public string CorrelationId { get; set; } = string.Empty;
/// <summary>
/// Gets or sets a value indicating whether the receiving instance carried the message out. Only
/// meaningful on an <see cref="AckKind"/> message.
/// </summary>
public bool Handled { get; set; }
/// <summary>
/// Gets or sets the serialized payload.
/// </summary>
public string Payload { get; set; } = string.Empty;
}