using System; using Org.BouncyCastle.Utilities.IO; namespace Org.BouncyCastle.Crypto.Tls { /// An input Stream for a TLS 1.0 connection. // 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(); } } }