Package net.sourceforge.jtds.ssl
Class TdsTlsInputStream
- java.lang.Object
-
- java.io.InputStream
-
- java.io.FilterInputStream
-
- net.sourceforge.jtds.ssl.TdsTlsInputStream
-
- All Implemented Interfaces:
java.io.Closeable,java.lang.AutoCloseable
class TdsTlsInputStream extends java.io.FilterInputStreamAn input stream that filters out TDS headers so they are not returned to JSSE (which will not recognize them).- Version:
- $Id: TdsTlsInputStream.java,v 1.5 2005-10-20 09:46:38 alin_sinpalean Exp $
- Author:
- Rob Worsnop, Mike Hutchinson
-
-
Field Summary
Fields Modifier and Type Field Description (package private) java.io.InputStreambufferStream(package private) intbytesOutstanding(package private) booleanpureSSLFalse if TLS packets are encapsulated in TDS packets.(package private) byte[]readBufferTemporary buffer used to de-encapsulate inital TLS packets.
-
Constructor Summary
Constructors Constructor Description TdsTlsInputStream(java.io.InputStream in)Constructs a TdsTlsInputStream and bases it on an underlying stream.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private voidprimeBuffer()Read in entire TLS record or TDS packet and store the TLS record in the buffer.intread(byte[] b, int off, int len)private voidreadFully(byte[] b, int off, int len)Readslenbytes or throws anIOExceptionif there aren't that many bytes available.-
Methods inherited from class java.io.FilterInputStream
available, close, mark, markSupported, read, read, reset, skip
-
-
-
-
Field Detail
-
bytesOutstanding
int bytesOutstanding
-
readBuffer
final byte[] readBuffer
Temporary buffer used to de-encapsulate inital TLS packets. Initial size should be enough for login phase after which no buffering is required.
-
bufferStream
java.io.InputStream bufferStream
-
pureSSL
boolean pureSSL
False if TLS packets are encapsulated in TDS packets.
-
-
Method Detail
-
read
public int read(byte[] b, int off, int len) throws java.io.IOException- Overrides:
readin classjava.io.FilterInputStream- Throws:
java.io.IOException
-
primeBuffer
private void primeBuffer() throws java.io.IOExceptionRead in entire TLS record or TDS packet and store the TLS record in the buffer. (TDS packets will always contain a TLS record.)- Throws:
java.io.IOException
-
readFully
private void readFully(byte[] b, int off, int len) throws java.io.IOExceptionReadslenbytes or throws anIOExceptionif there aren't that many bytes available.- Parameters:
b- buffer to read intooff- offset in the buffer where to start storinglen- amount of data to read- Throws:
java.io.IOException- if an I/O error occurs or not enough data is available
-
-