<PackageReference Include="SSH.NET" Version="2020.0.2" />

Renci.SshNet.SubsystemSession

Base class for SSH subsystem implementations
namespace Renci.SshNet { internal abstract class SubsystemSession : ISubsystemSession, IDisposable { public int OperationTimeout { get; } public bool IsOpen { get; } public event EventHandler<ExceptionEventArgs> ErrorOccurred; public event EventHandler<EventArgs> Disconnected; protected SubsystemSession(ISession session, string subsystemName, int operationTimeout); public void Connect(); public void Disconnect(); public void SendData(byte[] data); protected abstract void OnChannelOpen(); protected abstract void OnDataReceived(byte[] data); protected void RaiseError(Exception error); public void WaitOnHandle(WaitHandle waitHandle, int millisecondsTimeout); public bool WaitOne(WaitHandle waitHandle, int millisecondsTimeout); public int WaitAny(WaitHandle waitHandle1, WaitHandle waitHandle2, int millisecondsTimeout); public int WaitAny(WaitHandle[] waitHandles, int millisecondsTimeout); public WaitHandle[] CreateWaitHandleArray(WaitHandle waitHandle1, WaitHandle waitHandle2); public WaitHandle[] CreateWaitHandleArray(params WaitHandle[] waitHandles); public void Dispose(); protected virtual void Dispose(bool disposing); } }