|  | @@ -0,0 +1,68 @@
 | 
	
		
			
				|  |  | +using System;
 | 
	
		
			
				|  |  | +using Amqp;
 | 
	
		
			
				|  |  | +using Amqp.Framing;
 | 
	
		
			
				|  |  | +using Amqp.Sasl;
 | 
	
		
			
				|  |  | +using Amqp.Types;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +namespace receive
 | 
	
		
			
				|  |  | +{
 | 
	
		
			
				|  |  | +    class Program
 | 
	
		
			
				|  |  | +    {
 | 
	
		
			
				|  |  | +        static void Main(string[] args)
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  | +            string url = "amqp://localhost:61616";
 | 
	
		
			
				|  |  | +            string addr = "sampleTopic";
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            bool durable = false;
 | 
	
		
			
				|  |  | +            string cid = "";
 | 
	
		
			
				|  |  | +            if (args.Length > 0) {
 | 
	
		
			
				|  |  | +                durable = bool.Parse(args[0]);
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            if (durable && args.Length > 1) {
 | 
	
		
			
				|  |  | +                cid = args[1];
 | 
	
		
			
				|  |  | +            } else if (durable) {
 | 
	
		
			
				|  |  | +                cid = Guid.NewGuid().ToString();
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            Address a = new Address(url);
 | 
	
		
			
				|  |  | +            Connection c;
 | 
	
		
			
				|  |  | +            if (durable) {
 | 
	
		
			
				|  |  | +                c = new Connection(a, SaslProfile.Anonymous,
 | 
	
		
			
				|  |  | +                                            new Open() { ContainerId = cid },
 | 
	
		
			
				|  |  | +                                            null);
 | 
	
		
			
				|  |  | +            } else {
 | 
	
		
			
				|  |  | +                c = new Connection(a);
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            Console.WriteLine("Created new " + (durable ? "" : "non-") + "durable subscriber" + (durable ? " with ID " + cid : ""));
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            Session s = new Session(c);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            ReceiverLink rl;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            if (durable) {
 | 
	
		
			
				|  |  | +                Source src = new Source() {
 | 
	
		
			
				|  |  | +                    Address = addr,
 | 
	
		
			
				|  |  | +                    Durable = 2,
 | 
	
		
			
				|  |  | +                    ExpiryPolicy = new Symbol("never"),
 | 
	
		
			
				|  |  | +                };
 | 
	
		
			
				|  |  | +                rl = new ReceiverLink(s, "receiver", src, null);
 | 
	
		
			
				|  |  | +            } else {
 | 
	
		
			
				|  |  | +                rl = new ReceiverLink(s, "receiver", addr);
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            Console.WriteLine("Receiving random metrics from " + url + "/" + addr);
 | 
	
		
			
				|  |  | +            while (true) {
 | 
	
		
			
				|  |  | +                Message m = rl.Receive();
 | 
	
		
			
				|  |  | +                rl.Accept(m);
 | 
	
		
			
				|  |  | +                if (m != null) {
 | 
	
		
			
				|  |  | +                    Console.WriteLine("Got: " + m.Body.ToString());
 | 
	
		
			
				|  |  | +                    continue;
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                System.Threading.Thread.Sleep(1000);
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +}
 |