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 2008/11/06 02:53:48 UTC
svn commit: r711753 - in
/jakarta/jmeter/trunk/src/protocol/tcp/org/apache/jmeter/protocol/tcp/sampler:
AbstractTCPClient.java BinaryTCPClientImpl.java
LengthPrefixedBinaryTCPClientImpl.java TCPClient.java TCPClientImpl.java
Author: sebb
Date: Wed Nov 5 17:53:48 2008
New Revision: 711753
URL: http://svn.apache.org/viewvc?rev=711753&view=rev
Log:
Move eolByte processing to AbstractTCPClient
Change setEolByte to take int parameter so can unset it
Length-prefixed implementations do not use eomByte processing
Modified:
jakarta/jmeter/trunk/src/protocol/tcp/org/apache/jmeter/protocol/tcp/sampler/AbstractTCPClient.java
jakarta/jmeter/trunk/src/protocol/tcp/org/apache/jmeter/protocol/tcp/sampler/BinaryTCPClientImpl.java
jakarta/jmeter/trunk/src/protocol/tcp/org/apache/jmeter/protocol/tcp/sampler/LengthPrefixedBinaryTCPClientImpl.java
jakarta/jmeter/trunk/src/protocol/tcp/org/apache/jmeter/protocol/tcp/sampler/TCPClient.java
jakarta/jmeter/trunk/src/protocol/tcp/org/apache/jmeter/protocol/tcp/sampler/TCPClientImpl.java
Modified: jakarta/jmeter/trunk/src/protocol/tcp/org/apache/jmeter/protocol/tcp/sampler/AbstractTCPClient.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/protocol/tcp/org/apache/jmeter/protocol/tcp/sampler/AbstractTCPClient.java?rev=711753&r1=711752&r2=711753&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/protocol/tcp/org/apache/jmeter/protocol/tcp/sampler/AbstractTCPClient.java (original)
+++ jakarta/jmeter/trunk/src/protocol/tcp/org/apache/jmeter/protocol/tcp/sampler/AbstractTCPClient.java Wed Nov 5 17:53:48 2008
@@ -23,17 +23,26 @@
*/
public abstract class AbstractTCPClient implements TCPClient {
+ protected byte eolByte;
+ protected boolean useEolByte = false;
+
/* (non-Javadoc)
* @see org.apache.jmeter.protocol.tcp.sampler.TCPClient#getEolByte()
*/
public byte getEolByte() {
- return 0;
+ return eolByte;
}
/* (non-Javadoc)
- * @see org.apache.jmeter.protocol.tcp.sampler.TCPClient#setEolByte(byte)
+ * @see org.apache.jmeter.protocol.tcp.sampler.TCPClient#setEolByte(int)
*/
- public void setEolByte(byte eolByte) {
+ public void setEolByte(int eolInt) {
+ if (eolInt >= Byte.MIN_VALUE && eolInt <= Byte.MAX_VALUE) {
+ this.eolByte = (byte) eolInt;
+ useEolByte = true;
+ } else {
+ useEolByte = false;
+ }
}
/* (non-Javadoc)
Modified: jakarta/jmeter/trunk/src/protocol/tcp/org/apache/jmeter/protocol/tcp/sampler/BinaryTCPClientImpl.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/protocol/tcp/org/apache/jmeter/protocol/tcp/sampler/BinaryTCPClientImpl.java?rev=711753&r1=711752&r2=711753&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/protocol/tcp/org/apache/jmeter/protocol/tcp/sampler/BinaryTCPClientImpl.java (original)
+++ jakarta/jmeter/trunk/src/protocol/tcp/org/apache/jmeter/protocol/tcp/sampler/BinaryTCPClientImpl.java Wed Nov 5 17:53:48 2008
@@ -49,17 +49,13 @@
public class BinaryTCPClientImpl extends AbstractTCPClient {
private static final Logger log = LoggingManager.getLoggerForClass();
- private int eomInt = JMeterUtils.getPropDefault("tcp.BinaryTCPClient.eomByte", 1000); // $NON_NLS-1$
+ private static final int eomInt = JMeterUtils.getPropDefault("tcp.BinaryTCPClient.eomByte", 1000); // $NON_NLS-1$
- // End of message byte (defaults to none)
- private byte eomByte = (byte) eomInt; // -128 to +127
-
- private boolean eomIgnore = eomInt < -128 || eomInt > 127;
-
public BinaryTCPClientImpl() {
super();
- if (!eomIgnore) {
- log.info("Using eomByte=" + eomByte);
+ setEolByte(eomInt);
+ if (useEolByte) {
+ log.info("Using eomByte=" + eolByte);
}
}
@@ -134,7 +130,7 @@
try {
while ((x = is.read(buffer)) > -1) {
w.write(buffer, 0, x);
- if (!eomIgnore && (buffer[x - 1] == eomByte)) {
+ if (useEolByte && (buffer[x - 1] == eolByte)) {
break;
}
}
@@ -168,19 +164,4 @@
return hexString;
}
- /**
- * @return Returns the eomByte.
- */
- public byte getEolByte() {
- return eomByte;
- }
-
- /**
- * @param eomByte
- * The eomByte to set.
- */
- public void setEolByte(byte eomByte) {
- this.eomByte = eomByte;
- eomIgnore = false;
- }
}
Modified: jakarta/jmeter/trunk/src/protocol/tcp/org/apache/jmeter/protocol/tcp/sampler/LengthPrefixedBinaryTCPClientImpl.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/protocol/tcp/org/apache/jmeter/protocol/tcp/sampler/LengthPrefixedBinaryTCPClientImpl.java?rev=711753&r1=711752&r2=711753&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/protocol/tcp/org/apache/jmeter/protocol/tcp/sampler/LengthPrefixedBinaryTCPClientImpl.java (original)
+++ jakarta/jmeter/trunk/src/protocol/tcp/org/apache/jmeter/protocol/tcp/sampler/LengthPrefixedBinaryTCPClientImpl.java Wed Nov 5 17:53:48 2008
@@ -50,6 +50,7 @@
public LengthPrefixedBinaryTCPClientImpl() {
super(new BinaryTCPClientImpl());
+ tcpClient.setEolByte(Byte.MAX_VALUE+1);
}
@@ -128,6 +129,8 @@
}
/**
+ * Not useful, as the byte is never used.
+ *
* @return Returns the eolByte.
*/
public byte getEolByte() {
@@ -135,10 +138,10 @@
}
/**
- * @param eolByte
+ * @param eolInt
* The eolByte to set.
*/
- public void setEolByte(byte eolByte) {
- tcpClient.setEolByte(eolByte);
+ public void setEolByte(int eolInt) {
+ throw new UnsupportedOperationException("Cannot set eomByte for prefixed messages");
}
}
Modified: jakarta/jmeter/trunk/src/protocol/tcp/org/apache/jmeter/protocol/tcp/sampler/TCPClient.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/protocol/tcp/org/apache/jmeter/protocol/tcp/sampler/TCPClient.java?rev=711753&r1=711752&r2=711753&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/protocol/tcp/org/apache/jmeter/protocol/tcp/sampler/TCPClient.java (original)
+++ jakarta/jmeter/trunk/src/protocol/tcp/org/apache/jmeter/protocol/tcp/sampler/TCPClient.java Wed Nov 5 17:53:48 2008
@@ -69,13 +69,18 @@
String read(InputStream is);
/**
+ * Get the end-of-line/end-of-message byte.
* @return Returns the eolByte.
*/
public byte getEolByte();
/**
- * @param eolByte
- * The eolByte to set.
+ * Set the end-of-line/end-of-message byte.
+ * If the value is out of range of a byte, then it is to be ignored.
+ *
+ * @param eolInt
+ * The value to set
*/
- public void setEolByte(byte eolByte);
+ public void setEolByte(int eolInt);
+
}
\ No newline at end of file
Modified: jakarta/jmeter/trunk/src/protocol/tcp/org/apache/jmeter/protocol/tcp/sampler/TCPClientImpl.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/protocol/tcp/org/apache/jmeter/protocol/tcp/sampler/TCPClientImpl.java?rev=711753&r1=711752&r2=711753&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/protocol/tcp/org/apache/jmeter/protocol/tcp/sampler/TCPClientImpl.java (original)
+++ jakarta/jmeter/trunk/src/protocol/tcp/org/apache/jmeter/protocol/tcp/sampler/TCPClientImpl.java Wed Nov 5 17:53:48 2008
@@ -50,13 +50,10 @@
private int eolInt = JMeterUtils.getPropDefault("tcp.eolByte", 1000); // $NON-NLS-1$
// default is not in range of a byte
- private byte eolByte = (byte) eolInt; // -128 to +127
-
- private boolean eolIgnore = eolInt < -128 || eolInt > 127;
-
public TCPClientImpl() {
super();
- if (!eolIgnore) {
+ setEolByte(eolInt);
+ if (useEolByte) {
log.info("Using eolByte=" + eolByte);
}
}
@@ -108,7 +105,7 @@
try {
while ((x = is.read(buffer)) > -1) {
w.write(buffer, 0, x);
- if (!eolIgnore && (buffer[x - 1] == eolByte)) {
+ if (useEolByte && (buffer[x - 1] == eolByte)) {
break;
}
}
@@ -140,20 +137,4 @@
log.debug("Read: " + w.size() + "\n" + w.toString());
return w.toString();
}
-
- /**
- * @return Returns the eolByte.
- */
- public byte getEolByte() {
- return eolByte;
- }
-
- /**
- * @param eolByte
- * The eolByte to set.
- */
- public void setEolByte(byte eolByte) {
- this.eolByte = eolByte;
- eolIgnore = false;
- }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: jmeter-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jmeter-dev-help@jakarta.apache.org