diff options
Diffstat (limited to 'bcprov/src/main/java/org/bouncycastle/crypto/tls/TlsInputStream.java')
-rw-r--r-- | bcprov/src/main/java/org/bouncycastle/crypto/tls/TlsInputStream.java | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/bcprov/src/main/java/org/bouncycastle/crypto/tls/TlsInputStream.java b/bcprov/src/main/java/org/bouncycastle/crypto/tls/TlsInputStream.java new file mode 100644 index 0000000..a2cf74e --- /dev/null +++ b/bcprov/src/main/java/org/bouncycastle/crypto/tls/TlsInputStream.java @@ -0,0 +1,47 @@ +package org.bouncycastle.crypto.tls; + +import java.io.IOException; +import java.io.InputStream; + +/** + * An InputStream for an TLS 1.0 connection. + */ +class TlsInputStream + extends InputStream +{ + private byte[] buf = new byte[1]; + private TlsProtocol handler = null; + + TlsInputStream(TlsProtocol handler) + { + this.handler = handler; + } + + public int available() + throws IOException + { + return this.handler.applicationDataAvailable(); + } + + public int read(byte[] buf, int offset, int len) + throws IOException + { + return this.handler.readApplicationData(buf, offset, len); + } + + public int read() + throws IOException + { + if (this.read(buf) < 0) + { + return -1; + } + return buf[0] & 0xff; + } + + public void close() + throws IOException + { + handler.close(); + } +} |