public void Basic_scenario() { var r = new ManualResetEvent(false); var publisher = new Publisher <Message1>("mem://message1"); publisher.Start(); var subscriber = new Subscriber <Message1>("mem://message1"); subscriber.Subscribe(m => { Console.WriteLine(m.Name); Console.WriteLine(m.Number); if (m.Name == "DONE") { r.Set(); } }); publisher.Publish(new Message1 { Name = "A", Number = 1 }); publisher.Publish(new Message1 { Name = "B", Number = 2 }); publisher.Publish(new Message1 { Name = "C", Number = 3 }); publisher.Publish(new Message1 { Name = "DONE", Number = 4 }); r.WaitOne(); publisher.Stop(); subscriber.Close(); }
public static void Main(string [] args) { for (int i = 0; i < args.Length; i++) { if (args[i].Equals("--username") || args[i].Equals("-u")) { if (i + 1 < args.Length && !args[i + 1].StartsWith("-")) { username = args[++i]; } else { Usage(); } } else if (args[i].Equals("--password") || args[i].Equals("-p")) { if (i + 1 < args.Length && !args[i + 1].StartsWith("-")) { password = args[++i]; } else { Usage(); } } else if (args[i].Equals("--destination") || args[i].Equals("-d")) { if (i + 1 < args.Length && !args[i + 1].StartsWith("-")) { destination = args[++i]; } else { Usage(); } } else if (args[i].Equals("--name") || args[i].Equals("-n")) { if (i + 1 < args.Length && !args[i + 1].StartsWith("-")) { durable = args[++i]; } else { Usage(); } } else if (args[i].Equals("--count") || args[i].Equals("-c")) { if (i + 1 < args.Length && !args[i + 1].StartsWith("-")) { count = Int32.Parse(args[++i]); } else { Usage(); } } else if (args[i].StartsWith("-")) { Usage(); } else { url = args[i]; } } Console.Write("#\n# Subscriber\n#\n# {0}\n#\n", EFTL.GetVersion()); try { Subscriber client = new Subscriber(url, username, password); try { if (client.IsConnected()) { latch.Reset(); client.Subscribe(destination, durable, count); } } catch (Exception) {} finally { client.Close(); } } catch (Exception e) { Console.WriteLine(e.ToString()); } }