9e66708d87
Ownership is claimed with a Lua check-and-set keyed on the instance holding the websocket, routing prefers a live controller over a local copy, the session list deduplicates by owner, removal is ownership-checked, undelivered routed messages surface, single-session lookups stop scanning the keyspace and directory writes leave the request path bounded by a timeout.
31 lines
909 B
C#
31 lines
909 B
C#
using System;
|
|
|
|
namespace MediaBrowser.Controller.Session;
|
|
|
|
/// <summary>
|
|
/// An additional-user change for a session held by another instance, carried as a
|
|
/// <see cref="PodMessage"/>. The calling instance has already authorized it.
|
|
/// </summary>
|
|
public sealed class RoutedAdditionalUserChange
|
|
{
|
|
/// <summary>
|
|
/// The <see cref="PodMessage.Kind"/> this payload travels under.
|
|
/// </summary>
|
|
public const string Kind = "AdditionalUserChange";
|
|
|
|
/// <summary>
|
|
/// Gets or sets the session the change applies to.
|
|
/// </summary>
|
|
public string SessionId { get; set; } = string.Empty;
|
|
|
|
/// <summary>
|
|
/// Gets or sets the user to attach or detach.
|
|
/// </summary>
|
|
public Guid UserId { get; set; }
|
|
|
|
/// <summary>
|
|
/// Gets or sets a value indicating whether the user is being attached rather than detached.
|
|
/// </summary>
|
|
public bool Add { get; set; }
|
|
}
|