Author: sebb
Date: Tue Jun 12 08:20:34 2007
New Revision: 546522

URL: http://svn.apache.org/viewvc?view=rev&rev=546522
Log:
Add SlowSSLSocket wrapper if required

Modified:
    
jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/util/HttpSSLProtocolSocketFactory.java

Modified: 
jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/util/HttpSSLProtocolSocketFactory.java
URL: 
http://svn.apache.org/viewvc/jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/util/HttpSSLProtocolSocketFactory.java?view=diff&rev=546522&r1=546521&r2=546522
==============================================================================
--- 
jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/util/HttpSSLProtocolSocketFactory.java
 (original)
+++ 
jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/util/HttpSSLProtocolSocketFactory.java
 Tue Jun 12 08:20:34 2007
@@ -50,12 +50,22 @@
        
        private JsseSSLManager sslManager;
 
+    private final int CPS; // Characters per second to emulate
+
     private HttpSSLProtocolSocketFactory(){
+       CPS=0;
     }
     
     public HttpSSLProtocolSocketFactory(JsseSSLManager sslManager) {
         super();
         this.sslManager = sslManager;
+        CPS=0;
+    }
+    
+    public HttpSSLProtocolSocketFactory(JsseSSLManager sslManager, int cps) {
+        super();
+        this.sslManager = sslManager;
+        CPS=cps;
     }
     
     private static final String protocolList = 
@@ -119,6 +129,14 @@
         }
     }
 
+    /*
+     * Wraps the socket in a slow SSL socket if necessary
+     */
+    private Socket wrapSocket(Socket sock){
+       if (CPS>0) return new SlowSSLSocket((SSLSocket) sock, CPS);
+       return sock;
+    }
+
        /**
      * Attempts to get a new socket connection to the given host within the 
given time limit.
      *  
@@ -158,7 +176,7 @@
             socket.connect(remoteaddr, timeout);
         }
         setSocket(socket);
-        return socket;
+        return wrapSocket(socket);
     }
 
     /**
@@ -172,7 +190,7 @@
             port
         );
         setSocket(sock);
-       return sock;
+       return wrapSocket(sock);
     }
 
     /**
@@ -192,7 +210,7 @@
             autoClose
         );
         setSocket(sock);
-       return sock;
+       return wrapSocket(sock);
     }
 
     /**
@@ -213,21 +231,21 @@
             clientPort
         );
         setSocket(sock);
-        return sock;
+        return wrapSocket(sock);
     }
 
        public Socket createSocket(InetAddress host, int port) throws 
IOException {
         SSLSocketFactory sslfac = getSSLSocketFactory();
                Socket sock=sslfac.createSocket(host,port);
         setSocket(sock);
-               return sock;
+               return wrapSocket(sock);
        }
 
        public Socket createSocket(InetAddress address, int port, InetAddress 
localAddress, int localPort) throws IOException {
         SSLSocketFactory sslfac = getSSLSocketFactory();
                Socket sock=sslfac.createSocket(address, port, localAddress, 
localPort);
         setSocket(sock);
-               return sock;
+               return wrapSocket(sock);
        }
 
        public String[] getDefaultCipherSuites() {



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to