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

  Modifier and Type
  Method
  Description
  `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 javax.net.ssl.SSLSocket

  `getApplicationProtocol, getHandshakeApplicationProtocol, getHandshakeApplicationProtocolSelector, getHandshakeSession, getSSLParameters, setHandshakeApplicationProtocolSelector, setSSLParameters`

  ### Methods inherited from class java.net.Socket

  `getOption, setOption, setPerformancePreferences, setSocketImplFactory, supportedOptions`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- ## Constructor Details

  - ### 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 Details

  - ### 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
    Specified by:
      `close` in interface `AutoCloseable`
    Specified by:
      `close` in interface `Closeable`
    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`