43 lines
801 B
C#
43 lines
801 B
C#
using System;
|
|
|
|
using Org.BouncyCastle.Utilities.IO;
|
|
|
|
namespace Org.BouncyCastle.Crypto.Tls
|
|
{
|
|
/// <remarks>An input Stream for a TLS 1.0 connection.</remarks>
|
|
// TODO Fix name and make internal once TlsProtocolHandler.TlsInputStream is removed
|
|
public class TlsInputStream
|
|
: BaseInputStream
|
|
{
|
|
private readonly TlsProtocolHandler handler;
|
|
|
|
internal TlsInputStream(
|
|
TlsProtocolHandler handler)
|
|
{
|
|
this.handler = handler;
|
|
}
|
|
|
|
public override int Read(
|
|
byte[] buf,
|
|
int offset,
|
|
int len)
|
|
{
|
|
return this.handler.ReadApplicationData(buf, offset, len);
|
|
}
|
|
|
|
public override int ReadByte()
|
|
{
|
|
byte[] buf = new byte[1];
|
|
if (this.Read(buf, 0, 1) <= 0)
|
|
return -1;
|
|
return buf[0];
|
|
}
|
|
|
|
public override void Close()
|
|
{
|
|
handler.Close();
|
|
base.Close();
|
|
}
|
|
}
|
|
}
|