You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jmeter-dev@jakarta.apache.org by se...@apache.org on 2007/06/12 17:11:48 UTC
svn commit: r546519 -
/jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/util/SlowSocket.java
Author: sebb
Date: Tue Jun 12 08:11:47 2007
New Revision: 546519
URL: http://svn.apache.org/viewvc?view=rev&rev=546519
Log:
Use generic slow streams
Modified:
jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/util/SlowSocket.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=546519&r1=546518&r2=546519
==============================================================================
--- 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 Tue Jun 12 08:11:47 2007
@@ -18,8 +18,6 @@
package org.apache.jmeter.util;
-import java.io.FilterInputStream;
-import java.io.FilterOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
@@ -30,7 +28,7 @@
import java.net.UnknownHostException;
/**
- * "Slow" socket implementation to emulate dial-up modems etc
+ * "Slow" (non-SSL) socket implementation to emulate dial-up modems etc
*/
public class SlowSocket extends Socket {
@@ -89,60 +87,12 @@
// Override so we can intercept the stream
public OutputStream getOutputStream() throws IOException {
- return new SlowOutputStream(super.getOutputStream());
+ return new SlowOutputStream(super.getOutputStream(), CPS);
}
// Override so we can intercept the stream
public InputStream getInputStream() throws IOException {
- return new SlowInputStream(super.getInputStream());
+ return new SlowInputStream(super.getInputStream(), CPS);
}
- // Conversions for milli and nano seconds
- private static final int MS_PER_SEC = 1000;
- private static final int NS_PER_SEC = 1000000000;
- private static final int NS_PER_MS = NS_PER_SEC/MS_PER_SEC;
-
- private void pause(int bytes){
- long sleepMS = (bytes*MS_PER_SEC)/CPS;
- int sleepNS = ((bytes*MS_PER_SEC)/CPS) % NS_PER_MS;
- try {
- Thread.sleep(sleepMS,sleepNS);
- } catch (InterruptedException ignored) {
- }
- }
-
- private class SlowInputStream extends FilterInputStream {
-
- public SlowInputStream(InputStream in) {
- super(in);
- }
-
- public int read() throws IOException {
- pause(1);
- return in.read();
- }
-
- public int read(byte[] b, int off, int len) throws IOException {
- pause(len);
- return in.read(b, off, len);
- }
-
- }
-
- private class SlowOutputStream extends FilterOutputStream {
-
- public SlowOutputStream(OutputStream out) {
- super(out);
- }
-
- public void write(byte[] b, int off, int len) throws IOException {
- pause(len);
- out.write(b, off, len);
- }
-
- public void write(int b) throws IOException {
- pause(1);
- out.write(b);
- }
- }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: jmeter-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jmeter-dev-help@jakarta.apache.org