Apache JMeter

org.apache.jmeter.util
Class SlowSSLSocket

java.lang.Object
  extended by java.net.Socket
      extended by javax.net.ssl.SSLSocket
          extended by org.apache.jmeter.util.SlowSSLSocket

public class SlowSSLSocket
extends SSLSocket

"Slow" SSLsocket implementation to emulate dial-up modems etc WARNING: the class relies on overriding all superclass methods in order to apply them to the input socket. Any missing methods will access the superclass socket, which will probably be in the wrong state.


Constructor Summary
SlowSSLSocket(SSLSocket sock, int cps)
          Wrap an SSLSocket with slow input and output streams
 
Method Summary
 void addHandshakeCompletedListener(HandshakeCompletedListener arg0)
           
 void bind(SocketAddress bindpoint)
           
 void close()
           
 void connect(SocketAddress endpoint)
           
 void connect(SocketAddress endpoint, int timeout)
           
 SocketChannel getChannel()
           
 String[] getEnabledCipherSuites()
           
 String[] getEnabledProtocols()
           
 boolean getEnableSessionCreation()
           
 InetAddress getInetAddress()
           
 InputStream getInputStream()
           
 boolean getKeepAlive()
           
 InetAddress getLocalAddress()
           
 int getLocalPort()
           
 SocketAddress getLocalSocketAddress()
           
 boolean getNeedClientAuth()
           
 boolean getOOBInline()
           
 OutputStream getOutputStream()
           
 int getPort()
           
 int getReceiveBufferSize()
           
 SocketAddress getRemoteSocketAddress()
           
 boolean getReuseAddress()
           
 int getSendBufferSize()
           
 SSLSession getSession()
           
 int getSoLinger()
           
 int getSoTimeout()
           
 String[] getSupportedCipherSuites()
           
 String[] getSupportedProtocols()
           
 boolean getTcpNoDelay()
           
 int getTrafficClass()
           
 boolean getUseClientMode()
           
 boolean getWantClientAuth()
           
 boolean isBound()
           
 boolean isClosed()
           
 boolean isConnected()
           
 boolean isInputShutdown()
           
 boolean isOutputShutdown()
           
 void removeHandshakeCompletedListener(HandshakeCompletedListener arg0)
           
 void sendUrgentData(int data)
           
 void setEnabledCipherSuites(String[] arg0)
           
 void setEnabledProtocols(String[] arg0)
           
 void setEnableSessionCreation(boolean arg0)
           
 void setKeepAlive(boolean on)
           
 void setNeedClientAuth(boolean arg0)
           
 void setOOBInline(boolean on)
           
 void setReceiveBufferSize(int size)
           
 void setReuseAddress(boolean on)
           
 void setSendBufferSize(int size)
           
 void setSoLinger(boolean on, int linger)
           
 void setSoTimeout(int timeout)
           
 void setTcpNoDelay(boolean on)
           
 void setTrafficClass(int tc)
           
 void setUseClientMode(boolean arg0)
           
 void setWantClientAuth(boolean arg0)
           
 void shutdownInput()
           
 void shutdownOutput()
           
 void startHandshake()
           
 String toString()
           
 
Methods inherited from class java.net.Socket
setPerformancePreferences, setSocketImplFactory
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

SlowSSLSocket

public SlowSSLSocket(SSLSocket sock,
                     int cps)
Wrap an SSLSocket with slow input and output streams

Parameters:
sock - SSLSocket to be wrapped
cps - characters per second to emulate
Method Detail

getOutputStream

public OutputStream getOutputStream()
                             throws IOException
Overrides:
getOutputStream in class Socket
Throws:
IOException

getInputStream

public InputStream getInputStream()
                           throws IOException
Overrides:
getInputStream in class Socket
Throws:
IOException

addHandshakeCompletedListener

public void addHandshakeCompletedListener(HandshakeCompletedListener arg0)
Specified by:
addHandshakeCompletedListener in class SSLSocket

getEnableSessionCreation

public boolean getEnableSessionCreation()
Specified by:
getEnableSessionCreation in class SSLSocket

getEnabledCipherSuites

public String[] getEnabledCipherSuites()
Specified by:
getEnabledCipherSuites in class SSLSocket

getEnabledProtocols

public String[] getEnabledProtocols()
Specified by:
getEnabledProtocols in class SSLSocket

getNeedClientAuth

public boolean getNeedClientAuth()
Specified by:
getNeedClientAuth in class SSLSocket

getSession

public SSLSession getSession()
Specified by:
getSession in class SSLSocket

getSupportedCipherSuites

public String[] getSupportedCipherSuites()
Specified by:
getSupportedCipherSuites in class SSLSocket

getSupportedProtocols

public String[] getSupportedProtocols()
Specified by:
getSupportedProtocols in class SSLSocket

getUseClientMode

public boolean getUseClientMode()
Specified by:
getUseClientMode in class SSLSocket

getWantClientAuth

public boolean getWantClientAuth()
Specified by:
getWantClientAuth in class SSLSocket

removeHandshakeCompletedListener

public void removeHandshakeCompletedListener(HandshakeCompletedListener arg0)
Specified by:
removeHandshakeCompletedListener in class SSLSocket

setEnableSessionCreation

public void setEnableSessionCreation(boolean arg0)
Specified by:
setEnableSessionCreation in class SSLSocket

setEnabledCipherSuites

public void setEnabledCipherSuites(String[] arg0)
Specified by:
setEnabledCipherSuites in class SSLSocket

setEnabledProtocols

public void setEnabledProtocols(String[] arg0)
Specified by:
setEnabledProtocols in class SSLSocket

setNeedClientAuth

public void setNeedClientAuth(boolean arg0)
Specified by:
setNeedClientAuth in class SSLSocket

setUseClientMode

public void setUseClientMode(boolean arg0)
Specified by:
setUseClientMode in class SSLSocket

setWantClientAuth

public void setWantClientAuth(boolean arg0)
Specified by:
setWantClientAuth in class SSLSocket

startHandshake

public void startHandshake()
                    throws IOException
Specified by:
startHandshake in class SSLSocket
Throws:
IOException

bind

public void bind(SocketAddress bindpoint)
          throws IOException
Overrides:
bind in class Socket
Throws:
IOException

close

public void close()
           throws IOException
Overrides:
close in class Socket
Throws:
IOException

connect

public void connect(SocketAddress endpoint,
                    int timeout)
             throws IOException
Overrides:
connect in class Socket
Throws:
IOException

connect

public void connect(SocketAddress endpoint)
             throws IOException
Overrides:
connect in class Socket
Throws:
IOException

getChannel

public SocketChannel getChannel()
Overrides:
getChannel in class Socket

getInetAddress

public InetAddress getInetAddress()
Overrides:
getInetAddress in class Socket

getKeepAlive

public boolean getKeepAlive()
                     throws SocketException
Overrides:
getKeepAlive in class Socket
Throws:
SocketException

getLocalAddress

public InetAddress getLocalAddress()
Overrides:
getLocalAddress in class Socket

getLocalPort

public int getLocalPort()
Overrides:
getLocalPort in class Socket

getLocalSocketAddress

public SocketAddress getLocalSocketAddress()
Overrides:
getLocalSocketAddress in class Socket

getOOBInline

public boolean getOOBInline()
                     throws SocketException
Overrides:
getOOBInline in class Socket
Throws:
SocketException

getPort

public int getPort()
Overrides:
getPort in class Socket

getReceiveBufferSize

public int getReceiveBufferSize()
                         throws SocketException
Overrides:
getReceiveBufferSize in class Socket
Throws:
SocketException

getRemoteSocketAddress

public SocketAddress getRemoteSocketAddress()
Overrides:
getRemoteSocketAddress in class Socket

getReuseAddress

public boolean getReuseAddress()
                        throws SocketException
Overrides:
getReuseAddress in class Socket
Throws:
SocketException

getSendBufferSize

public int getSendBufferSize()
                      throws SocketException
Overrides:
getSendBufferSize in class Socket
Throws:
SocketException

getSoLinger

public int getSoLinger()
                throws SocketException
Overrides:
getSoLinger in class Socket
Throws:
SocketException

getSoTimeout

public int getSoTimeout()
                 throws SocketException
Overrides:
getSoTimeout in class Socket
Throws:
SocketException

getTcpNoDelay

public boolean getTcpNoDelay()
                      throws SocketException
Overrides:
getTcpNoDelay in class Socket
Throws:
SocketException

getTrafficClass

public int getTrafficClass()
                    throws SocketException
Overrides:
getTrafficClass in class Socket
Throws:
SocketException

isBound

public boolean isBound()
Overrides:
isBound in class Socket

isClosed

public boolean isClosed()
Overrides:
isClosed in class Socket

isConnected

public boolean isConnected()
Overrides:
isConnected in class Socket

isInputShutdown

public boolean isInputShutdown()
Overrides:
isInputShutdown in class Socket

isOutputShutdown

public boolean isOutputShutdown()
Overrides:
isOutputShutdown in class Socket

sendUrgentData

public void sendUrgentData(int data)
                    throws IOException
Overrides:
sendUrgentData in class Socket
Throws:
IOException

setKeepAlive

public void setKeepAlive(boolean on)
                  throws SocketException
Overrides:
setKeepAlive in class Socket
Throws:
SocketException

setOOBInline

public void setOOBInline(boolean on)
                  throws SocketException
Overrides:
setOOBInline in class Socket
Throws:
SocketException

setReceiveBufferSize

public void setReceiveBufferSize(int size)
                          throws SocketException
Overrides:
setReceiveBufferSize in class Socket
Throws:
SocketException

setReuseAddress

public void setReuseAddress(boolean on)
                     throws SocketException
Overrides:
setReuseAddress in class Socket
Throws:
SocketException

setSendBufferSize

public void setSendBufferSize(int size)
                       throws SocketException
Overrides:
setSendBufferSize in class Socket
Throws:
SocketException

setSoLinger

public void setSoLinger(boolean on,
                        int linger)
                 throws SocketException
Overrides:
setSoLinger in class Socket
Throws:
SocketException

setSoTimeout

public void setSoTimeout(int timeout)
                  throws SocketException
Overrides:
setSoTimeout in class Socket
Throws:
SocketException

setTcpNoDelay

public void setTcpNoDelay(boolean on)
                   throws SocketException
Overrides:
setTcpNoDelay in class Socket
Throws:
SocketException

setTrafficClass

public void setTrafficClass(int tc)
                     throws SocketException
Overrides:
setTrafficClass in class Socket
Throws:
SocketException

shutdownInput

public void shutdownInput()
                   throws IOException
Overrides:
shutdownInput in class Socket
Throws:
IOException

shutdownOutput

public void shutdownOutput()
                    throws IOException
Overrides:
shutdownOutput in class Socket
Throws:
IOException

toString

public String toString()
Overrides:
toString in class Socket

Apache JMeter

Copyright © 1998-2012 Apache Software Foundation. All Rights Reserved.