summaryrefslogtreecommitdiff
path: root/java/common/src
diff options
context:
space:
mode:
authorKim van der Riet <kpvdr@apache.org>2007-01-22 14:53:43 +0000
committerKim van der Riet <kpvdr@apache.org>2007-01-22 14:53:43 +0000
commit210aacb8d90319e0a643836fc55a6717f54ddb05 (patch)
tree0aa0a64dbe7a44b18953273ab7fe6821b325959e /java/common/src
parent1afc480c103f3e9de3f468c0203cfa4bcfa67168 (diff)
downloadqpid-python-210aacb8d90319e0a643836fc55a6717f54ddb05.tar.gz
Improvements to debugging messages from Request/ResponseManager. Added timed wait for Channel.CloseOk massage in broker's closeChannelRequest method. Added checks for illegal frames that would open a closed channel
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/qpid.0-9@498631 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/common/src')
-rw-r--r--java/common/src/main/java/org/apache/qpid/framing/RequestManager.java15
-rw-r--r--java/common/src/main/java/org/apache/qpid/framing/ResponseManager.java17
2 files changed, 23 insertions, 9 deletions
diff --git a/java/common/src/main/java/org/apache/qpid/framing/RequestManager.java b/java/common/src/main/java/org/apache/qpid/framing/RequestManager.java
index a3379484bd..1bad249bc2 100644
--- a/java/common/src/main/java/org/apache/qpid/framing/RequestManager.java
+++ b/java/common/src/main/java/org/apache/qpid/framing/RequestManager.java
@@ -29,7 +29,13 @@ import org.apache.qpid.protocol.AMQProtocolWriter;
public class RequestManager
{
private int channel;
- AMQProtocolWriter protocolWriter;
+ private AMQProtocolWriter protocolWriter;
+
+ /**
+ * Used for logging and debugging only - allows the context of this instance
+ * to be known.
+ */
+ private boolean serverFlag;
/**
* Request and response frames must have a requestID and responseID which
@@ -45,10 +51,11 @@ public class RequestManager
private ConcurrentHashMap<Long, AMQMethodListener> requestSentMap;
- public RequestManager(int channel, AMQProtocolWriter protocolWriter)
+ public RequestManager(int channel, AMQProtocolWriter protocolWriter, boolean serverFlag)
{
this.channel = channel;
this.protocolWriter = protocolWriter;
+ this.serverFlag = serverFlag;
requestIdCount = 1L;
lastProcessedResponseId = 0L;
requestSentMap = new ConcurrentHashMap<Long, AMQMethodListener>();
@@ -64,7 +71,7 @@ public class RequestManager
lastProcessedResponseId, requestMethodBody);
requestSentMap.put(requestId, methodListener);
protocolWriter.writeFrame(requestFrame);
- // System.out.println("[" + channel + "] SEND REQUEST: requestId = " + requestId + " {" + this.toString().substring(this.toString().lastIndexOf("@")) + "} " + requestMethodBody);
+ // System.out.println((serverFlag ? "SRV" : "CLI") + " TX REQ: ch=" + channel + " Req[" + requestId + " " + lastProcessedResponseId + "]; " + requestMethodBody);
return requestId;
}
@@ -73,7 +80,7 @@ public class RequestManager
{
long requestIdStart = responseBody.getRequestId();
long requestIdStop = requestIdStart + responseBody.getBatchOffset();
- // System.out.println("[" + channel + "] RECEIVE RESPONSE: " + responseBody + "; " + responseBody.getMethodPayload());
+ // System.out.println((serverFlag ? "SRV" : "CLI") + " RX RES: ch=" + channel + " " + responseBody + "; " + responseBody.getMethodPayload());
for (long requestId = requestIdStart; requestId <= requestIdStop; requestId++)
{
AMQMethodListener methodListener = requestSentMap.get(requestId);
diff --git a/java/common/src/main/java/org/apache/qpid/framing/ResponseManager.java b/java/common/src/main/java/org/apache/qpid/framing/ResponseManager.java
index 43c6de74c5..90f33a08c0 100644
--- a/java/common/src/main/java/org/apache/qpid/framing/ResponseManager.java
+++ b/java/common/src/main/java/org/apache/qpid/framing/ResponseManager.java
@@ -31,8 +31,14 @@ import org.apache.qpid.protocol.AMQProtocolWriter;
public class ResponseManager
{
private int channel;
- AMQMethodListener methodListener;
- AMQProtocolWriter protocolWriter;
+ private AMQMethodListener methodListener;
+ private AMQProtocolWriter protocolWriter;
+
+ /**
+ * Used for logging and debugging only - allows the context of this instance
+ * to be known.
+ */
+ private boolean serverFlag;
/**
* Determines the batch behaviour of the manager.
@@ -91,11 +97,12 @@ public class ResponseManager
private ConcurrentHashMap<Long, ResponseStatus> responseMap;
public ResponseManager(int channel, AMQMethodListener methodListener,
- AMQProtocolWriter protocolWriter)
+ AMQProtocolWriter protocolWriter, boolean serverFlag)
{
this.channel = channel;
this.methodListener = methodListener;
this.protocolWriter = protocolWriter;
+ this.serverFlag = serverFlag;
responseIdCount = 1L;
lastReceivedRequestId = 0L;
responseMap = new ConcurrentHashMap<Long, ResponseStatus>();
@@ -106,7 +113,7 @@ public class ResponseManager
public void requestReceived(AMQRequestBody requestBody) throws Exception
{
long requestId = requestBody.getRequestId();
- // System.out.println("[" + channel + "] RECEIVE REQUEST: " + requestBody + "; " + requestBody.getMethodPayload());
+ // System.out.println((serverFlag ? "SRV" : "CLI") + " RX REQ: ch=" + channel + " " + requestBody + "; " + requestBody.getMethodPayload());
// TODO: responseMark is used in HA, but until then, ignore...
long responseMark = requestBody.getResponseMark();
lastReceivedRequestId = requestId;
@@ -119,7 +126,7 @@ public class ResponseManager
public void sendResponse(long requestId, AMQMethodBody responseMethodBody)
throws RequestResponseMappingException
{
- // System.out.println("[" + channel + "] SEND RESPONSE: requestId = " + requestId + "; " + responseMethodBody);
+ // System.out.println((serverFlag ? "SRV" : "CLI") + " TX RES: ch=" + channel + " Res[# " + requestId + "]; " + responseMethodBody);
ResponseStatus responseStatus = responseMap.get(requestId);
if (responseStatus == null)
throw new RequestResponseMappingException(requestId,