root/trunk/nuxleus/Source/Xameleon/Function/QueueManager.cs

Revision 4541, 2.3 kB (checked in by xmlhacker, 6 months ago)

various across the board changes

Line 
1 using System;
2 using System.Web;
3 using System.Text;
4 using Nuxleus.Atom;
5 using Nuxleus.Bucker;
6 using Nuxleus.Messaging.LLUP;
7 using Nuxleus.PubSub;
8
9 namespace Xameleon.Function {
10
11     public static class QueueManager {
12
13         public static string Push (HttpContext context, string queueName, string message) {
14             return Push(queueName, message);
15         }
16
17         private static string Push (string queueName, string message) {
18             // Notification
19             Notification n = new Notification();
20             n.Action = "publish";
21             n.Expires = DateTime.Now.AddHours(1);
22             n.Categories = new Category[2];
23             n.Categories[0] = new Category();
24             n.Categories[0].Term = message;
25             n.Categories[1] = new Category();
26             n.Categories[1].Term = "indie";
27
28             // The actual Queue Message to send
29             Message pm = new Message();
30             pm.Op.Type = OperationType.PushMessage;
31             pm.QueueId = queueName;
32
33             Console.WriteLine(queueName);
34             Console.WriteLine(n.ToString());
35             pm.Payload = Convert.ToBase64String(Notification.Serialize(n));
36
37             // An event handler
38             MessageEvent me = new MessageEvent();
39             me.Message = pm;
40             // Let's see what the response of the server was
41             me.MessageReceived += new MessageEventHandler(queue_MessageReceived);
42
43             QueueClientPool.Enqueue(me);
44
45             return "message sent";
46         }
47
48         private static void queue_MessageReceived (object sender, MessageStateEventArgs e) {
49             MessageEvent me = (MessageEvent)sender;
50             Message received = e.Message;
51             //Console.WriteLine("RESPONSE: {0}", received.ToString());
52         }
53
54         //public static void Push(HttpContext context, object message) {
55         //  QueueClient qs = context.Application["queueclient"] as QueueClient;
56         //  if(qs != null) {
57         //Push(qs, message);
58         //  }
59         //}
60
61         //public static void Push(QueueClient qs, object message) {
62         //  //qs.Send(message);
63         //  //MessageState ms = new MessageState();
64         //  //ms.Dismiss = true; // we are not interested in storing the response
65         //  //qs.AsyncRecv(ms);
66         //}
67     }
68 }
Note: See TracBrowser for help on using the browser.