public void MsgDispatcherLogical_DynamicEP() { MsgDispatcher dispatcher; MsgRouter router; ChannelEP target; dispatcher = new MsgDispatcher(); router = new MsgRouter(dispatcher); router.Dispatcher.AddTarget(this, "foo", new Munger(), null); router.RouterEP = MsgEP.Parse("physical://foo.com/" + Helper.NewGuid().ToString()); router.Start(IPAddress.Any, null, new IPEndPoint(IPAddress.Any, 0), new IPEndPoint(IPAddress.Any, 0), 5, TimeSpan.FromSeconds(60)); target = new ChannelEP(Transport.Udp, router.UdpEP); try { Clear(); router.Transmit(target, new _DispatchMsg1("logical://MungedDynamic")); Thread.Sleep(DispatchWait); Assert.IsTrue(dispatchDynamic); } finally { router.Stop(); } }
public void ChannelEP_Udp() { ChannelEP ep; ep = new ChannelEP("udp://127.0.77.1:55"); Assert.AreEqual(Transport.Udp, ep.Transport); Assert.AreEqual(IPAddress.Parse("127.0.77.1"), ep.NetEP.Address); Assert.AreEqual(55, ep.NetEP.Port); Assert.AreEqual("udp://127.0.77.1:55", ep.ToString()); ep = new ChannelEP("UDP://127.0.77.1:104"); Assert.AreEqual(Transport.Udp, ep.Transport); Assert.AreEqual(IPAddress.Parse("127.0.77.1"), ep.NetEP.Address); Assert.AreEqual(104, ep.NetEP.Port); }
public void ChannelEP_Multicast() { ChannelEP ep; ep = new ChannelEP("mcast://255.255.255.255:78"); Assert.AreEqual(Transport.Multicast, ep.Transport); Assert.AreEqual(IPAddress.Broadcast, ep.NetEP.Address); Assert.AreEqual(78, ep.NetEP.Port); Assert.AreEqual("mcast://*:78", ep.ToString()); ep = new ChannelEP("mcast://*:39101"); Assert.AreEqual(Transport.Multicast, ep.Transport); Assert.AreEqual(IPAddress.Broadcast, ep.NetEP.Address); Assert.AreEqual(39101, ep.NetEP.Port); ep = new ChannelEP("Mcast://*:39101"); Assert.AreEqual(Transport.Multicast, ep.Transport); Assert.AreEqual(IPAddress.Broadcast, ep.NetEP.Address); Assert.AreEqual(39101, ep.NetEP.Port); }
public void ChannelEP_Tcp() { ChannelEP ep; ep = new ChannelEP("tcp://127.0.0.1:55"); Assert.AreEqual(Transport.Tcp, ep.Transport); Assert.AreEqual(IPAddress.Loopback, ep.NetEP.Address); Assert.AreEqual(55, ep.NetEP.Port); Assert.AreEqual("tcp://127.0.0.1:55", ep.ToString()); ep = new ChannelEP("TCP://127.0.0.1:98"); Assert.AreEqual(Transport.Tcp, ep.Transport); Assert.AreEqual(IPAddress.Loopback, ep.NetEP.Address); Assert.AreEqual(98, ep.NetEP.Port); Assert.AreEqual("tcp://127.0.0.1:98", ep.ToString()); ep = "TCP://1.2.3.4:1001"; Assert.AreEqual(Transport.Tcp, ep.Transport); Assert.AreEqual(IPAddress.Parse("1.2.3.4"), ep.NetEP.Address); Assert.AreEqual(1001, ep.NetEP.Port); Assert.AreEqual("tcp://1.2.3.4:1001", (string)ep); }
public void MsgEP_Physical_Basic() { MsgEP ep; ep = new MsgEP("physical://root:70/hub/leaf"); Assert.AreEqual("root", ep.RootHost); Assert.AreEqual(70, ep.RootPort); CollectionAssert.AreEqual(new string[] { "hub", "leaf" }, ep.Segments); Assert.IsNull(ep.ChannelEP); Assert.IsNull(ep.ObjectID); Assert.AreEqual("physical://root:70/hub/leaf", ep.ToString()); Assert.IsTrue(ep.IsPhysical); Assert.IsFalse(ep.IsLogical); Assert.IsFalse(ep.IsChannel); Assert.IsFalse(ep.IsNull); ep = "physical://root:70/hub/leaf"; Assert.AreEqual("root", ep.RootHost); Assert.AreEqual(70, ep.RootPort); CollectionAssert.AreEqual(new string[] { "hub", "leaf" }, ep.Segments); Assert.IsNull(ep.ChannelEP); Assert.IsNull(ep.ObjectID); Assert.AreEqual("physical://root:70/hub/leaf", (string)ep); Assert.IsTrue(ep.IsPhysical); Assert.IsFalse(ep.IsLogical); Assert.IsFalse(ep.IsChannel); ep = new MsgEP("physical://ROOT:70/HUB/LEAF"); Assert.AreEqual("root", ep.RootHost); Assert.AreEqual(70, ep.RootPort); CollectionAssert.AreEqual(new string[] { "hub", "leaf" }, ep.Segments); Assert.IsNull(ep.ChannelEP); Assert.IsNull(ep.ObjectID); Assert.AreEqual("physical://root:70/hub/leaf", ep.ToString()); ep = new MsgEP("physical://ROOT:70/HUB/LEAF/ExtraCrap"); Assert.AreEqual("root", ep.RootHost); Assert.AreEqual(70, ep.RootPort); CollectionAssert.AreEqual(new string[] { "hub", "leaf", "extracrap" }, ep.Segments); Assert.IsNull(ep.ChannelEP); Assert.IsNull(ep.ObjectID); Assert.AreEqual("physical://root:70/hub/leaf/extracrap", ep.ToString()); ep = new MsgEP("physical://ROOT:70/HUB/LEAF/?ExtraCrap"); Assert.AreEqual("root", ep.RootHost); Assert.AreEqual(70, ep.RootPort); CollectionAssert.AreEqual(new string[] { "hub", "leaf" }, ep.Segments); Assert.IsNull(ep.ChannelEP); Assert.IsNull(ep.ObjectID); Assert.AreEqual("physical://root:70/hub/leaf", ep.ToString()); ep = new MsgEP("physical://root:70/hub/"); Assert.AreEqual("root", ep.RootHost); Assert.AreEqual(70, ep.RootPort); CollectionAssert.AreEqual(new string[] { "hub" }, ep.Segments); Assert.IsNull(ep.ChannelEP); Assert.IsNull(ep.ObjectID); Assert.AreEqual("physical://root:70/hub", ep.ToString()); ep = new MsgEP("physical://root:70/hub"); Assert.AreEqual("root", ep.RootHost); Assert.AreEqual(70, ep.RootPort); CollectionAssert.AreEqual(new string[] { "hub" }, ep.Segments); Assert.IsNull(ep.ChannelEP); Assert.IsNull(ep.ObjectID); Assert.AreEqual("physical://root:70/hub", ep.ToString()); ep = new MsgEP("physical://root:10005/"); Assert.AreEqual("root", ep.RootHost); Assert.AreEqual(10005, ep.RootPort); CollectionAssert.AreEqual(new string[0], ep.Segments); Assert.IsNull(ep.ChannelEP); Assert.IsNull(ep.ObjectID); Assert.AreEqual("physical://root:10005", ep.ToString()); ep = new MsgEP("physical://root:70"); Assert.AreEqual("root", ep.RootHost); Assert.AreEqual(70, ep.RootPort); CollectionAssert.AreEqual(new string[0], ep.Segments); Assert.IsNull(ep.ChannelEP); Assert.IsNull(ep.ObjectID); Assert.AreEqual("physical://root:70", ep.ToString()); ep = new MsgEP("physical://root"); Assert.AreEqual("root", ep.RootHost); Assert.AreEqual(-1, ep.RootPort); CollectionAssert.AreEqual(new string[0], ep.Segments); Assert.IsNull(ep.ChannelEP); Assert.IsNull(ep.ObjectID); Assert.AreEqual("physical://root", ep.ToString()); ep = new MsgEP("physical://?c=tcp://127.0.0.1:3333"); Assert.IsTrue(ep.IsPhysical); Assert.IsTrue(ep.IsChannel); Assert.IsFalse(ep.IsLogical); Assert.AreEqual(ChannelEP.Parse("tcp://127.0.0.1:3333"), ep.ChannelEP); Assert.IsNull(ep.RootHost); Assert.AreEqual(-1, ep.RootPort); CollectionAssert.AreEqual(new string[0], ep.Segments); Assert.AreEqual("physical://?c=tcp://127.0.0.1:3333", ep.ToString()); ep = new MsgEP(ChannelEP.Parse("tcp://1.2.3.4:1111")); Assert.IsTrue(ep.IsPhysical); Assert.IsTrue(ep.IsChannel); Assert.IsFalse(ep.IsLogical); Assert.AreEqual(ChannelEP.Parse("tcp://1.2.3.4:1111"), ep.ChannelEP); Assert.IsNull(ep.RootHost); Assert.AreEqual(-1, ep.RootPort); CollectionAssert.AreEqual(new string[0], ep.Segments); Assert.AreEqual("physical://?c=tcp://1.2.3.4:1111", ep.ToString()); }