Author: sebb
Date: Mon Jun 11 18:25:42 2007
New Revision: 546346

URL: http://svn.apache.org/viewvc?view=rev&rev=546346
Log:
Implement the missing createSocket() method
(which was not needed originally, but is now)

Modified:
    
jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/util/SlowSocket.java
    
jakarta/jmeter/branches/rel-2-2/src/protocol/http/org/apache/jmeter/protocol/http/util/SlowHttpClientSocketFactory.java

Modified: 
jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/util/SlowSocket.java
URL: 
http://svn.apache.org/viewvc/jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/util/SlowSocket.java?view=diff&rev=546346&r1=546345&r2=546346
==============================================================================
--- 
jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/util/SlowSocket.java 
(original)
+++ 
jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/util/SlowSocket.java 
Mon Jun 11 18:25:42 2007
@@ -24,7 +24,9 @@
 import java.io.InputStream;
 import java.io.OutputStream;
 import java.net.InetAddress;
+import java.net.InetSocketAddress;
 import java.net.Socket;
+import java.net.SocketAddress;
 import java.net.UnknownHostException;
 
 /**
@@ -34,6 +36,20 @@
 
     private final int CPS; // Characters per second to emulate
     
+    public SlowSocket(final int cps, String host, int port, InetAddress 
localAddress, int localPort, int timeout) throws IOException {
+       super();
+        if (cps <=0) {
+            throw new IllegalArgumentException("Speed (cps) <= 0");
+        }
+        CPS=cps;
+        // This sequence is borrowed from:
+        // 
org.apache.commons.httpclient.protocol.ReflectionSocketFactory.createSocket
+        SocketAddress localaddr = new InetSocketAddress(localAddress, 
localPort);
+        SocketAddress remoteaddr = new InetSocketAddress(host, port);
+        bind(localaddr);
+        connect(remoteaddr, timeout);
+       }
+
     /**
      * 
      * @param cps characters per second
@@ -71,7 +87,7 @@
         CPS=cps;
     }
 
-    // Override so we can intercept the stream
+       // Override so we can intercept the stream
     public OutputStream getOutputStream() throws IOException {
         return new SlowOutputStream(super.getOutputStream());
     }

Modified: 
jakarta/jmeter/branches/rel-2-2/src/protocol/http/org/apache/jmeter/protocol/http/util/SlowHttpClientSocketFactory.java
URL: 
http://svn.apache.org/viewvc/jakarta/jmeter/branches/rel-2-2/src/protocol/http/org/apache/jmeter/protocol/http/util/SlowHttpClientSocketFactory.java?view=diff&rev=546346&r1=546345&r2=546346
==============================================================================
--- 
jakarta/jmeter/branches/rel-2-2/src/protocol/http/org/apache/jmeter/protocol/http/util/SlowHttpClientSocketFactory.java
 (original)
+++ 
jakarta/jmeter/branches/rel-2-2/src/protocol/http/org/apache/jmeter/protocol/http/util/SlowHttpClientSocketFactory.java
 Mon Jun 11 18:25:42 2007
@@ -55,8 +55,14 @@
         return new SlowSocket(CPS,host,port);
     }
 
-    public Socket createSocket(String arg0, int arg1, InetAddress arg2, int 
arg3, HttpConnectionParams arg4) throws IOException, UnknownHostException, 
ConnectTimeoutException {
-        // TODO Auto-generated method stub
-        return null;
+    public Socket createSocket(String host, int port, InetAddress 
localAddress, int localPort,
+               HttpConnectionParams params) 
+    throws IOException, UnknownHostException, ConnectTimeoutException {
+        int timeout = params.getConnectionTimeout();
+        if (timeout == 0) {
+               return new SlowSocket(CPS,host,port,localAddress,localPort);
+        } else {
+               return new SlowSocket(CPS,host,port,localAddress,localPort, 
timeout);           
+        }
     }
 }



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

Reply via email to