| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- using System;
- using System.Collections.Generic;
- using System.Threading;
- using Renci.SshNet.Common;
- namespace Renci.SshNet.Tests.Classes
- {
- internal class SubsystemSessionStub : SubsystemSession
- {
- private int _onChannelOpenInvocationCount;
- public SubsystemSessionStub(ISession session, string subsystemName, int operationTimeout)
- : base(session, subsystemName, operationTimeout)
- {
- OnDataReceivedInvocations = new List<ChannelDataEventArgs>();
- }
- public int OnChannelOpenInvocationCount
- {
- get { return _onChannelOpenInvocationCount; }
- }
- public IList<ChannelDataEventArgs> OnDataReceivedInvocations { get; private set; }
- public Exception OnChannelOpenException { get; set; }
- public Exception OnDataReceivedException { get; set; }
- protected override void OnChannelOpen()
- {
- _ = Interlocked.Increment(ref _onChannelOpenInvocationCount);
- if (OnChannelOpenException != null)
- {
- throw OnChannelOpenException;
- }
- }
- protected override void OnDataReceived(byte[] data)
- {
- OnDataReceivedInvocations.Add(new ChannelDataEventArgs(0, data));
- if (OnDataReceivedException != null)
- {
- throw OnDataReceivedException;
- }
- }
- }
- }
|