Exemplo n.º 1
0
        public void FindAdvertisedNameTest()
        {
            gotAllNames.Reset();
            BusAttachment bus = new BusAttachment("advertise", true, 4);

            bus.Start();
            bus.ConnectAsync(connectSpec).AsTask().Wait();

            BusAttachment        clientConsumer = new BusAttachment("clientConsumer", true, 4);
            AdvertiseBusListener bl             = new AdvertiseBusListener(clientConsumer);

            clientConsumer.Start();
            clientConsumer.ConnectAsync(connectSpec).AsTask().Wait();
            clientConsumer.FindAdvertisedName("org.alljoyn.prefix");

            byte   flags = (byte)RequestNameType.DBUS_NAME_DO_NOT_QUEUE;
            string name0 = "org.alljoyn.prefix";
            string name1 = "org.alljoyn.prefix.looooooooooonnnnggggggggggg.sssstttttrrrrringgggg";
            string name2 = "org.alljoyn.prefix.m3455555555552349568868979999";
            string name3 = "org.alljoyn.prefix.asfdff.g123555555.jisjjiofdjkdsf.z45566666";
            string name4 = "org.alljoyn.this.should.not.befound";
            string name5 = "org.alljoyn.pre";
            string name6 = "org.alljoyn";

            bus.RequestName(name4, flags);
            bus.RequestName(name5, flags);
            bus.RequestName(name6, flags);
            bus.RequestName(name0, flags);
            bus.RequestName(name1, flags);
            bus.RequestName(name2, flags);
            bus.RequestName(name3, flags);
            bus.AdvertiseName(name4, TransportMaskType.TRANSPORT_ANY);
            bus.AdvertiseName(name5, TransportMaskType.TRANSPORT_ANY);
            bus.AdvertiseName(name6, TransportMaskType.TRANSPORT_ANY);
            bus.AdvertiseName(name0, TransportMaskType.TRANSPORT_ANY);
            bus.AdvertiseName(name1, TransportMaskType.TRANSPORT_ANY);
            bus.AdvertiseName(name2, TransportMaskType.TRANSPORT_ANY);
            bus.AdvertiseName(name3, TransportMaskType.TRANSPORT_ANY);

            gotAllNames.WaitOne();

            lock (bl.FoundNames)
            {
                Assert.IsTrue(bl.FoundNames.Contains(name0));
                Assert.IsTrue(bl.FoundNames.Contains(name1));
                Assert.IsTrue(bl.FoundNames.Contains(name2));
                Assert.IsTrue(bl.FoundNames.Contains(name3));
                Assert.IsFalse(bl.FoundNames.Contains(name4));
                Assert.IsFalse(bl.FoundNames.Contains(name5));
                Assert.IsFalse(bl.FoundNames.Contains(name6));
            }
        }
Exemplo n.º 2
0
        public void FindAdvertisedNameTest()
        {
            gotAllNames.Reset();
            BusAttachment bus = new BusAttachment("advertise", true, 4);
            bus.Start();
            bus.ConnectAsync(connectSpec).AsTask().Wait();

            BusAttachment clientConsumer = new BusAttachment("clientConsumer", true, 4);
            AdvertiseBusListener bl = new AdvertiseBusListener(clientConsumer);
            clientConsumer.Start();
            clientConsumer.ConnectAsync(connectSpec).AsTask().Wait();
            clientConsumer.FindAdvertisedName("org.alljoyn.prefix");

            byte flags = (byte)RequestNameType.DBUS_NAME_DO_NOT_QUEUE;
            string name0 = "org.alljoyn.prefix";
            string name1 = "org.alljoyn.prefix.looooooooooonnnnggggggggggg.sssstttttrrrrringgggg";
            string name2 = "org.alljoyn.prefix.m3455555555552349568868979999";
            string name3 = "org.alljoyn.prefix.asfdff.g123555555.jisjjiofdjkdsf.z45566666";
            string name4 = "org.alljoyn.this.should.not.befound";
            string name5 = "org.alljoyn.pre";
            string name6 = "org.alljoyn";
            bus.RequestName(name4, flags);
            bus.RequestName(name5, flags);
            bus.RequestName(name6, flags);
            bus.RequestName(name0, flags);
            bus.RequestName(name1, flags);
            bus.RequestName(name2, flags);
            bus.RequestName(name3, flags);
            bus.AdvertiseName(name4, TransportMaskType.TRANSPORT_ANY);
            bus.AdvertiseName(name5, TransportMaskType.TRANSPORT_ANY);
            bus.AdvertiseName(name6, TransportMaskType.TRANSPORT_ANY);
            bus.AdvertiseName(name0, TransportMaskType.TRANSPORT_ANY);
            bus.AdvertiseName(name1, TransportMaskType.TRANSPORT_ANY);
            bus.AdvertiseName(name2, TransportMaskType.TRANSPORT_ANY);
            bus.AdvertiseName(name3, TransportMaskType.TRANSPORT_ANY);

            gotAllNames.WaitOne();
            
            lock (bl.FoundNames)
            {
                Assert.IsTrue(bl.FoundNames.Contains(name0));
                Assert.IsTrue(bl.FoundNames.Contains(name1));
                Assert.IsTrue(bl.FoundNames.Contains(name2));
                Assert.IsTrue(bl.FoundNames.Contains(name3));
                Assert.IsFalse(bl.FoundNames.Contains(name4));
                Assert.IsFalse(bl.FoundNames.Contains(name5));
                Assert.IsFalse(bl.FoundNames.Contains(name6));
            }
        }
Exemplo n.º 3
0
        public void AdvertisingTest()
        {
            BusAttachment bus = new BusAttachment("advertise", true, 4);

            bus.Start();
            bus.ConnectAsync(connectSpec).AsTask().Wait();

            BusAttachment        clientConsumer = new BusAttachment("clientConsumer", true, 4);
            AdvertiseBusListener bl             = new AdvertiseBusListener(clientConsumer);

            clientConsumer.Start();
            clientConsumer.ConnectAsync(connectSpec).AsTask().Wait();
            clientConsumer.FindAdvertisedName("org.alljoyn.one");
            clientConsumer.FindAdvertisedName("org.alljoyn.two");
            clientConsumer.FindAdvertisedName("org.alljoyn.three");
            clientConsumer.FindAdvertisedName("org.alljoyn.four");

            byte   flags = (byte)RequestNameType.DBUS_NAME_DO_NOT_QUEUE;
            string name1 = "org.alljoyn.one";
            string name2 = "org.alljoyn.two";
            string name3 = "org.alljoyn.three";
            string name4 = "org.alljoyn.four";

            bus.RequestName(name1, flags);
            bus.RequestName(name2, flags);
            bus.RequestName(name3, flags);
            bus.RequestName(name4, flags);

            bus.AdvertiseName(name1, TransportMaskType.TRANSPORT_ANY);
            bus.AdvertiseName(name2, TransportMaskType.TRANSPORT_ANY);
            bus.AdvertiseName(name3, TransportMaskType.TRANSPORT_ANY);
            bus.AdvertiseName(name4, TransportMaskType.TRANSPORT_ANY);

            gotAllNames.WaitOne();

            lock (bl.FoundNames)
            {
                Assert.IsTrue(bl.FoundNames.Contains(name1));
                Assert.IsTrue(bl.FoundNames.Contains(name2));
                Assert.IsTrue(bl.FoundNames.Contains(name3));
                Assert.IsTrue(bl.FoundNames.Contains(name4));
            }

            gotAllNames.Reset();

            bus.CancelAdvertiseName(name1, TransportMaskType.TRANSPORT_ANY);
            bus.CancelAdvertiseName(name2, TransportMaskType.TRANSPORT_ANY);
            bus.CancelAdvertiseName(name3, TransportMaskType.TRANSPORT_ANY);
            bus.CancelAdvertiseName(name4, TransportMaskType.TRANSPORT_ANY);

            gotAllNames.WaitOne();

            lock (bl.LostNames)
            {
                Assert.IsTrue(bl.LostNames.Contains(name1));
                Assert.IsTrue(bl.LostNames.Contains(name2));
                Assert.IsTrue(bl.LostNames.Contains(name3));
                Assert.IsTrue(bl.LostNames.Contains(name4));
            }

            // TODO: Make sure we're not still receiving advertisements for the names
        }
Exemplo n.º 4
0
        public void AdvertisingTest()
        {
            BusAttachment bus = new BusAttachment("advertise", true, 4);
            bus.Start();
            bus.ConnectAsync(connectSpec).AsTask().Wait();

            BusAttachment clientConsumer = new BusAttachment("clientConsumer", true, 4);
            AdvertiseBusListener bl = new AdvertiseBusListener(clientConsumer);
            clientConsumer.Start();
            clientConsumer.ConnectAsync(connectSpec).AsTask().Wait();
            clientConsumer.FindAdvertisedName("org.alljoyn.one");
            clientConsumer.FindAdvertisedName("org.alljoyn.two");
            clientConsumer.FindAdvertisedName("org.alljoyn.three");
            clientConsumer.FindAdvertisedName("org.alljoyn.four");

            byte flags = (byte)RequestNameType.DBUS_NAME_DO_NOT_QUEUE;
            string name1 = "org.alljoyn.one";
            string name2 = "org.alljoyn.two";
            string name3 = "org.alljoyn.three";
            string name4 = "org.alljoyn.four";

            bus.RequestName(name1, flags);
            bus.RequestName(name2, flags);
            bus.RequestName(name3, flags);
            bus.RequestName(name4, flags);

            bus.AdvertiseName(name1, TransportMaskType.TRANSPORT_ANY);
            bus.AdvertiseName(name2, TransportMaskType.TRANSPORT_ANY);
            bus.AdvertiseName(name3, TransportMaskType.TRANSPORT_ANY);
            bus.AdvertiseName(name4, TransportMaskType.TRANSPORT_ANY);

            gotAllNames.WaitOne();

            lock (bl.FoundNames)
            {
                Assert.IsTrue(bl.FoundNames.Contains(name1));
                Assert.IsTrue(bl.FoundNames.Contains(name2));
                Assert.IsTrue(bl.FoundNames.Contains(name3));
                Assert.IsTrue(bl.FoundNames.Contains(name4));
            }

            gotAllNames.Reset();

            bus.CancelAdvertiseName(name1, TransportMaskType.TRANSPORT_ANY);
            bus.CancelAdvertiseName(name2, TransportMaskType.TRANSPORT_ANY);
            bus.CancelAdvertiseName(name3, TransportMaskType.TRANSPORT_ANY);
            bus.CancelAdvertiseName(name4, TransportMaskType.TRANSPORT_ANY);

            gotAllNames.WaitOne();

            lock (bl.LostNames)
            {
                Assert.IsTrue(bl.LostNames.Contains(name1));
                Assert.IsTrue(bl.LostNames.Contains(name2));
                Assert.IsTrue(bl.LostNames.Contains(name3));
                Assert.IsTrue(bl.LostNames.Contains(name4));
            }

            // TODO: Make sure we're not still receiving advertisements for the names
        }