Package org.apache.jmeter.util
Class SlowSSLSocket
- java.lang.Object
-
- java.net.Socket
-
- javax.net.ssl.SSLSocket
-
- org.apache.jmeter.util.SlowSSLSocket
-
- All Implemented Interfaces:
Closeable
,AutoCloseable
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
Constructors Constructor Description SlowSSLSocket(SSLSocket sock, int cps)
Wrap an SSLSocket with slow input and output streams
-
Method Summary
-
Methods inherited from class javax.net.ssl.SSLSocket
getApplicationProtocol, getHandshakeApplicationProtocol, getHandshakeApplicationProtocolSelector, getHandshakeSession, getSSLParameters, setHandshakeApplicationProtocolSelector, setSSLParameters
-
Methods inherited from class java.net.Socket
getOption, setOption, setPerformancePreferences, setSocketImplFactory, supportedOptions
-
-
-
-
Constructor Detail
-
SlowSSLSocket
public SlowSSLSocket(SSLSocket sock, int cps)
Wrap an SSLSocket with slow input and output streams- Parameters:
sock
- SSLSocket to be wrappedcps
- characters per second to emulate
-
-
Method Detail
-
getOutputStream
public OutputStream getOutputStream() throws IOException
- Overrides:
getOutputStream
in classSocket
- Throws:
IOException
-
getInputStream
public InputStream getInputStream() throws IOException
- Overrides:
getInputStream
in classSocket
- Throws:
IOException
-
addHandshakeCompletedListener
public void addHandshakeCompletedListener(HandshakeCompletedListener arg0)
- Specified by:
addHandshakeCompletedListener
in classSSLSocket
-
getEnableSessionCreation
public boolean getEnableSessionCreation()
- Specified by:
getEnableSessionCreation
in classSSLSocket
-
getEnabledCipherSuites
public String[] getEnabledCipherSuites()
- Specified by:
getEnabledCipherSuites
in classSSLSocket
-
getEnabledProtocols
public String[] getEnabledProtocols()
- Specified by:
getEnabledProtocols
in classSSLSocket
-
getNeedClientAuth
public boolean getNeedClientAuth()
- Specified by:
getNeedClientAuth
in classSSLSocket
-
getSession
public SSLSession getSession()
- Specified by:
getSession
in classSSLSocket
-
getSupportedCipherSuites
public String[] getSupportedCipherSuites()
- Specified by:
getSupportedCipherSuites
in classSSLSocket
-
getSupportedProtocols
public String[] getSupportedProtocols()
- Specified by:
getSupportedProtocols
in classSSLSocket
-
getUseClientMode
public boolean getUseClientMode()
- Specified by:
getUseClientMode
in classSSLSocket
-
getWantClientAuth
public boolean getWantClientAuth()
- Specified by:
getWantClientAuth
in classSSLSocket
-
removeHandshakeCompletedListener
public void removeHandshakeCompletedListener(HandshakeCompletedListener arg0)
- Specified by:
removeHandshakeCompletedListener
in classSSLSocket
-
setEnableSessionCreation
public void setEnableSessionCreation(boolean arg0)
- Specified by:
setEnableSessionCreation
in classSSLSocket
-
setEnabledCipherSuites
public void setEnabledCipherSuites(String[] arg0)
- Specified by:
setEnabledCipherSuites
in classSSLSocket
-
setEnabledProtocols
public void setEnabledProtocols(String[] arg0)
- Specified by:
setEnabledProtocols
in classSSLSocket
-
setNeedClientAuth
public void setNeedClientAuth(boolean arg0)
- Specified by:
setNeedClientAuth
in classSSLSocket
-
setUseClientMode
public void setUseClientMode(boolean arg0)
- Specified by:
setUseClientMode
in classSSLSocket
-
setWantClientAuth
public void setWantClientAuth(boolean arg0)
- Specified by:
setWantClientAuth
in classSSLSocket
-
startHandshake
public void startHandshake() throws IOException
- Specified by:
startHandshake
in classSSLSocket
- Throws:
IOException
-
bind
public void bind(SocketAddress bindpoint) throws IOException
- Overrides:
bind
in classSocket
- Throws:
IOException
-
close
public void close() throws IOException
- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Overrides:
close
in classSocket
- Throws:
IOException
-
connect
public void connect(SocketAddress endpoint, int timeout) throws IOException
- Overrides:
connect
in classSocket
- Throws:
IOException
-
connect
public void connect(SocketAddress endpoint) throws IOException
- Overrides:
connect
in classSocket
- Throws:
IOException
-
getChannel
public SocketChannel getChannel()
- Overrides:
getChannel
in classSocket
-
getInetAddress
public InetAddress getInetAddress()
- Overrides:
getInetAddress
in classSocket
-
getKeepAlive
public boolean getKeepAlive() throws SocketException
- Overrides:
getKeepAlive
in classSocket
- Throws:
SocketException
-
getLocalAddress
public InetAddress getLocalAddress()
- Overrides:
getLocalAddress
in classSocket
-
getLocalPort
public int getLocalPort()
- Overrides:
getLocalPort
in classSocket
-
getLocalSocketAddress
public SocketAddress getLocalSocketAddress()
- Overrides:
getLocalSocketAddress
in classSocket
-
getOOBInline
public boolean getOOBInline() throws SocketException
- Overrides:
getOOBInline
in classSocket
- Throws:
SocketException
-
getReceiveBufferSize
public int getReceiveBufferSize() throws SocketException
- Overrides:
getReceiveBufferSize
in classSocket
- Throws:
SocketException
-
getRemoteSocketAddress
public SocketAddress getRemoteSocketAddress()
- Overrides:
getRemoteSocketAddress
in classSocket
-
getReuseAddress
public boolean getReuseAddress() throws SocketException
- Overrides:
getReuseAddress
in classSocket
- Throws:
SocketException
-
getSendBufferSize
public int getSendBufferSize() throws SocketException
- Overrides:
getSendBufferSize
in classSocket
- Throws:
SocketException
-
getSoLinger
public int getSoLinger() throws SocketException
- Overrides:
getSoLinger
in classSocket
- Throws:
SocketException
-
getSoTimeout
public int getSoTimeout() throws SocketException
- Overrides:
getSoTimeout
in classSocket
- Throws:
SocketException
-
getTcpNoDelay
public boolean getTcpNoDelay() throws SocketException
- Overrides:
getTcpNoDelay
in classSocket
- Throws:
SocketException
-
getTrafficClass
public int getTrafficClass() throws SocketException
- Overrides:
getTrafficClass
in classSocket
- Throws:
SocketException
-
isConnected
public boolean isConnected()
- Overrides:
isConnected
in classSocket
-
isInputShutdown
public boolean isInputShutdown()
- Overrides:
isInputShutdown
in classSocket
-
isOutputShutdown
public boolean isOutputShutdown()
- Overrides:
isOutputShutdown
in classSocket
-
sendUrgentData
public void sendUrgentData(int data) throws IOException
- Overrides:
sendUrgentData
in classSocket
- Throws:
IOException
-
setKeepAlive
public void setKeepAlive(boolean on) throws SocketException
- Overrides:
setKeepAlive
in classSocket
- Throws:
SocketException
-
setOOBInline
public void setOOBInline(boolean on) throws SocketException
- Overrides:
setOOBInline
in classSocket
- Throws:
SocketException
-
setReceiveBufferSize
public void setReceiveBufferSize(int size) throws SocketException
- Overrides:
setReceiveBufferSize
in classSocket
- Throws:
SocketException
-
setReuseAddress
public void setReuseAddress(boolean on) throws SocketException
- Overrides:
setReuseAddress
in classSocket
- Throws:
SocketException
-
setSendBufferSize
public void setSendBufferSize(int size) throws SocketException
- Overrides:
setSendBufferSize
in classSocket
- Throws:
SocketException
-
setSoLinger
public void setSoLinger(boolean on, int linger) throws SocketException
- Overrides:
setSoLinger
in classSocket
- Throws:
SocketException
-
setSoTimeout
public void setSoTimeout(int timeout) throws SocketException
- Overrides:
setSoTimeout
in classSocket
- Throws:
SocketException
-
setTcpNoDelay
public void setTcpNoDelay(boolean on) throws SocketException
- Overrides:
setTcpNoDelay
in classSocket
- Throws:
SocketException
-
setTrafficClass
public void setTrafficClass(int tc) throws SocketException
- Overrides:
setTrafficClass
in classSocket
- Throws:
SocketException
-
shutdownInput
public void shutdownInput() throws IOException
- Overrides:
shutdownInput
in classSocket
- Throws:
IOException
-
shutdownOutput
public void shutdownOutput() throws IOException
- Overrides:
shutdownOutput
in classSocket
- Throws:
IOException
-
-