Exemple #1
0
        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();
            }
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        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);
        }
Exemple #4
0
        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);
        }
Exemple #5
0
        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());
        }