| 123456789101112131415161718192021222324252627282930313233343536373839404142 |
- using System;
- using System.Threading;
- using Renci.SshNet.Common;
- namespace Renci.SshNet
- {
- /// <summary>
- /// Base interface for SSH subsystem implementations.
- /// </summary>
- internal interface ISubsystemSession : IDisposable
- {
- /// <summary>
- /// Gets a value indicating whether this session is open.
- /// </summary>
- /// <value>
- /// <c>true</c> if this session is open; otherwise, <c>false</c>.
- /// </value>
- bool IsOpen { get; }
- /// <summary>
- /// Connects the subsystem using a new SSH channel session.
- /// </summary>
- /// <exception cref="InvalidOperationException">The session is already connected.</exception>
- /// <exception cref="ObjectDisposedException">The method was called after the session was disposed.</exception>
- void Connect();
- /// <summary>
- /// Disconnects the subsystem channel.
- /// </summary>
- void Disconnect();
- /// <summary>
- /// Waits a specified time for a given <see cref="WaitHandle"/> to get signaled.
- /// </summary>
- /// <param name="waitHandle">The handle to wait for.</param>
- /// <param name="operationTimeout">The time to wait for <paramref name="waitHandle"/> to get signaled.</param>
- /// <exception cref="SshException">The connection was closed by the server.</exception>
- /// <exception cref="SshException">The channel was closed.</exception>
- /// <exception cref="SshOperationTimeoutException">The handle did not get signaled within the specified <paramref name="operationTimeout"/>.</exception>
- void WaitOnHandle(WaitHandle waitHandle, TimeSpan operationTimeout);
- }
- }
|