using System;
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
namespace MediaBrowser.Controller.MediaEncoding;
///
/// A no-op implementation of used in single-instance deployments
/// where durable session tracking across pods is not required.
///
public sealed class NullTranscodeSessionStore : ITranscodeSessionStore
{
///
public Task TryGetAsync(string playSessionId, CancellationToken cancellationToken = default)
=> Task.FromResult(null);
///
public Task TryTakeoverAsync(string playSessionId, string claimingPod, CancellationToken cancellationToken = default)
=> Task.FromResult(false);
///
public Task SetAsync(TranscodeSession session, CancellationToken cancellationToken = default)
=> Task.CompletedTask;
///
public Task RenewLeaseAsync(string playSessionId, CancellationToken cancellationToken = default)
=> Task.CompletedTask;
///
public Task DeleteAsync(string playSessionId, CancellationToken cancellationToken = default)
=> Task.CompletedTask;
///
public Task> GetActiveSessionsAsync(CancellationToken cancellationToken = default)
=> Task.FromResult>(Array.Empty());
}