You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by ta...@apache.org on 2017/03/06 23:29:38 UTC

[14/50] [abbrv] activemq-nms-stomp git commit: Merge from trunk

Merge from trunk

fix for: https://issues.apache.org/jira/browse/AMQNET-308
fix for: https://issues.apache.org/jira/browse/AMQNET-307


Project: http://git-wip-us.apache.org/repos/asf/activemq-nms-stomp/repo
Commit: http://git-wip-us.apache.org/repos/asf/activemq-nms-stomp/commit/196ee4bb
Tree: http://git-wip-us.apache.org/repos/asf/activemq-nms-stomp/tree/196ee4bb
Diff: http://git-wip-us.apache.org/repos/asf/activemq-nms-stomp/diff/196ee4bb

Branch: refs/heads/1.5.x
Commit: 196ee4bb0ade61f14434e91a418c58224935bc37
Parents: 9ece124
Author: Timothy A. Bish <ta...@apache.org>
Authored: Fri Jan 21 15:03:17 2011 +0000
Committer: Timothy A. Bish <ta...@apache.org>
Committed: Fri Jan 21 15:03:17 2011 +0000

----------------------------------------------------------------------
 src/main/csharp/Protocol/StompWireFormat.cs | 26 +++++++++++++++++-------
 1 file changed, 19 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/activemq-nms-stomp/blob/196ee4bb/src/main/csharp/Protocol/StompWireFormat.cs
----------------------------------------------------------------------
diff --git a/src/main/csharp/Protocol/StompWireFormat.cs b/src/main/csharp/Protocol/StompWireFormat.cs
index 5554e19..6b864f7 100644
--- a/src/main/csharp/Protocol/StompWireFormat.cs
+++ b/src/main/csharp/Protocol/StompWireFormat.cs
@@ -32,6 +32,7 @@ namespace Apache.NMS.Stomp.Protocol
         private IPrimitiveMapMarshaler mapMarshaler = new XmlPrimitiveMapMarshaler();
         private ITransport transport;
         private WireFormatInfo remoteWireFormatInfo;
+        private int connectedResponseId = -1;
 
         public StompWireFormat()
         {
@@ -190,8 +191,6 @@ namespace Apache.NMS.Stomp.Protocol
 
         protected virtual Command ReadConnected(StompFrame frame)
         {
-            string responseId = frame.RemoveProperty("response-id");
-
             this.remoteWireFormatInfo = new WireFormatInfo();
 
             if(frame.HasProperty("version"))
@@ -222,11 +221,16 @@ namespace Apache.NMS.Stomp.Protocol
                 remoteWireFormatInfo.Version = 1.0f;
             }
 
-            if(responseId != null)
+            if(this.connectedResponseId != -1)
             {
                 Response answer = new Response();
-                answer.CorrelationId = Int32.Parse(responseId);
+                answer.CorrelationId = this.connectedResponseId;
                 SendCommand(answer);
+                this.connectedResponseId = -1;
+            }
+            else
+            {
+                throw new IOException("Received Connected Frame without a set Response Id for it.");
             }
 
             return remoteWireFormatInfo;
@@ -421,6 +425,7 @@ namespace Apache.NMS.Stomp.Protocol
             }   
 
             frame.SetProperty("message-id", command.LastMessageId.ToString());
+            frame.SetProperty("subscription", command.ConsumerId.ToString());
 
             if(command.TransactionId != null)
             {
@@ -442,9 +447,14 @@ namespace Apache.NMS.Stomp.Protocol
             StompFrame frame = new StompFrame("CONNECT");
 
             frame.SetProperty("client-id", command.ClientId);
-            frame.SetProperty("login", command.UserName);
-            frame.SetProperty("passcode", command.Password);
-            frame.SetProperty("request-id", command.CommandId);
+            if(!String.IsNullOrEmpty(command.UserName))
+            {
+                frame.SetProperty("login", command.UserName);
+            }
+            if(!String.IsNullOrEmpty(command.Password))
+            {
+                frame.SetProperty("passcode", command.Password);
+            }
             frame.SetProperty("host", command.Host);
             frame.SetProperty("accept-version", "1.0,1.1");
 
@@ -458,6 +468,8 @@ namespace Apache.NMS.Stomp.Protocol
                 Tracer.Debug("StompWireFormat - Writing " + frame.ToString());
             }
 
+            this.connectedResponseId = command.CommandId;
+
             frame.ToStream(dataOut);
         }