net.sourceforge.jtds.ssl.TdsTlsSocket Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jtds Show documentation
Show all versions of jtds Show documentation
jTDS is an open source 100% pure Java (type 4) JDBC 3.0 driver
for Microsoft SQL Server (6.5, 7, 2000, 2005, 2008, 2012) and Sybase ASE
(10, 11, 12, 15). jTDS is based on FreeTDS and is currently the fastest
production-ready JDBC driver for SQL Server and Sybase. jTDS is 100% JDBC
3.0 compatible, supporting forward-only and scrollable/updateable ResultSets
and implementing all the DatabaseMetaData and ResultSetMetaData methods.
//jTDS JDBC Driver for Microsoft SQL Server and Sybase
//Copyright (C) 2004 The jTDS Project
//
//This library is free software; you can redistribute it and/or
//modify it under the terms of the GNU Lesser General Public
//License as published by the Free Software Foundation; either
//version 2.1 of the License, or (at your option) any later version.
//
//This library is distributed in the hope that it will be useful,
//but WITHOUT ANY WARRANTY; without even the implied warranty of
//MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
//Lesser General Public License for more details.
//
//You should have received a copy of the GNU Lesser General Public
//License along with this library; if not, write to the Free Software
//Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
//
package net.sourceforge.jtds.ssl;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;
import java.net.SocketException;
/**
* A socket that mediates between JSSE and the DB server.
*
* @author Rob Worsnop
* @author Mike Hutchinson
* @version $Id: TdsTlsSocket.java,v 1.3.2.1 2009-08-07 14:02:11 ickzon Exp $
*/
class TdsTlsSocket extends Socket {
private final Socket delegate;
private final InputStream istm;
private final OutputStream ostm;
/**
* Constructs a TdsTlsSocket around an underlying socket.
*
* @param delegate the underlying socket
*/
TdsTlsSocket(Socket delegate) throws IOException {
this.delegate = delegate;
istm = new TdsTlsInputStream(delegate.getInputStream());
ostm = new TdsTlsOutputStream(delegate.getOutputStream());
}
/*
* (non-Javadoc)
*
* @see java.net.Socket#close()
*/
public synchronized void close() throws IOException {
// Do nothing. Underlying socket closed elsewhere
}
/*
* (non-Javadoc)
*
* @see java.net.Socket#getInputStream()
*/
public InputStream getInputStream() throws IOException {
return istm;
}
/*
* (non-Javadoc)
*
* @see java.net.Socket#getOutputStream()
*/
public OutputStream getOutputStream() throws IOException {
return ostm;
}
/*
* (non-Javadoc)
*
* @see java.net.Socket#isConnected()
*/
public boolean isConnected() {
return true;
}
/*
* (non-Javadoc)
*
* @see java.net.Socket#setSoTimeout(int)
*/
public synchronized void setSoTimeout(int timeout) throws SocketException {
delegate.setSoTimeout(timeout);
}
/*
* (non-Javadoc)
*
* @see java.net.Socket#setKeepAlive(boolean)
*/
public synchronized void setKeepAlive(boolean keepAlive) throws SocketException {
delegate.setKeepAlive(keepAlive);
}
/*
* (non-Javadoc)
*
* @see java.net.Socket#setTcpNoDelay(boolean)
*/
public void setTcpNoDelay(boolean on) throws SocketException {
delegate.setTcpNoDelay(on);
}
}