Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## net.sourceforge.jtds.ssl
Class TdsTlsInputStream

    java.lang.Object
      |
      +--java.io.InputStream
            |
            +--java.io.FilterInputStream
                  |
                  +--net.sourceforge.jtds.ssl.TdsTlsInputStream

class TdsTlsInputStream
extends java.io.FilterInputStream

An 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
`(package private) java.io.InputStream` | `bufferStream`
`(package private) int` | `bytesOutstanding`
`(package private) boolean` | `pureSSL` False if TLS packets are encapsulated in TDS packets.
`(package private) byte[]` | `readBuffer` Temporary buffer used to de-encapsulate inital TLS packets.

Fields inherited from class java.io.FilterInputStream
`in`

Fields inherited from class java.io.InputStream
`SKIP_BUFFER_SIZE, skipBuffer`

Constructor Summary
`TdsTlsInputStream(java.io.InputStream in)` Constructs a TdsTlsInputStream and bases it on an underlying stream.

Method Summary
`private void` | `primeBuffer()` Read in entire TLS record or TDS packet and store the TLS record in the buffer.
`int` | `read(byte[] b, int off, int len)`
`private void` | `readFully(byte[] b, int off, int len)` Reads `len` bytes or throws an `IOException` if there aren't that many bytes available.

Methods inherited from class java.io.FilterInputStream
`available, close, mark, markSupported, read, read, reset, skip`

Methods inherited from class java.lang.Object
`, clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, wait`

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.

Constructor Detail

### TdsTlsInputStream

    public TdsTlsInputStream(java.io.InputStream in)

  Constructs a TdsTlsInputStream and bases it on an underlying stream.
  Parameters:
    `in` - the underlying stream

Method Detail

### read

    public int read(byte[] b,
                    int off,
                    int len)
             throws java.io.IOException

  Overrides:
    `read` in class `java.io.FilterInputStream`

### primeBuffer

    private void primeBuffer()
                      throws java.io.IOException

  Read in entire TLS record or TDS packet and store the TLS record in the buffer. (TDS packets will always contain a TLS record.)

### readFully

    private void readFully(byte[] b,
                           int off,
                           int len)
                    throws java.io.IOException

  Reads `len` bytes or throws an `IOException` if there aren't that many bytes available.
  Parameters:
    `b` - buffer to read into
    `off` - offset in the buffer where to start storing
    `len` - amount of data to read
  Throws:
    `java.io.IOException` - if an I/O error occurs or not enough data is available

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Generated on August 22 2007