44 lines
678 B
C#
44 lines
678 B
C#
using System.IO;
|
|
|
|
namespace Org.BouncyCastle.Utilities.IO;
|
|
|
|
public class TeeInputStream : BaseInputStream
|
|
{
|
|
private readonly Stream input;
|
|
|
|
private readonly Stream tee;
|
|
|
|
public TeeInputStream(Stream input, Stream tee)
|
|
{
|
|
this.input = input;
|
|
this.tee = tee;
|
|
}
|
|
|
|
public override void Close()
|
|
{
|
|
Platform.Dispose(input);
|
|
Platform.Dispose(tee);
|
|
base.Close();
|
|
}
|
|
|
|
public override int Read(byte[] buf, int off, int len)
|
|
{
|
|
int num = input.Read(buf, off, len);
|
|
if (num > 0)
|
|
{
|
|
tee.Write(buf, off, num);
|
|
}
|
|
return num;
|
|
}
|
|
|
|
public override int ReadByte()
|
|
{
|
|
int num = input.ReadByte();
|
|
if (num >= 0)
|
|
{
|
|
tee.WriteByte((byte)num);
|
|
}
|
|
return num;
|
|
}
|
|
}
|