ISubsystemSession
Base interface for SSH subsystem implementations.
            
                using Microsoft.Extensions.Logging;
using System;
using System.Threading;
using System.Threading.Tasks;
namespace Renci.SshNet
{
    internal interface ISubsystemSession : IDisposable
    {
        ILoggerFactory SessionLoggerFactory { get; }
        int OperationTimeout { get; set; }
        bool IsOpen { get; }
        void Connect();
        void Disconnect();
        void WaitOnHandle(WaitHandle waitHandle, int millisecondsTimeout);
        Task WaitOnHandleAsync(WaitHandle waitHandle, int millisecondsTimeout, CancellationToken cancellationToken);
        Task<T> WaitOnHandleAsync<T>(TaskCompletionSource<T> tcs, int millisecondsTimeout, CancellationToken cancellationToken);
        int WaitAny(WaitHandle[] waitHandles, int millisecondsTimeout);
        WaitHandle[] CreateWaitHandleArray(WaitHandle waitHandle1, WaitHandle waitHandle2);
    }
}