Inheritance: OpenSim.Services.Connectors.BaseServiceConnector, IGridService
Example #1
0
        public void Initialize(IConfigSource config, IRegistryCore registry)
        {
            IConfig handlerConfig = config.Configs["Handlers"];
            if (handlerConfig.GetString("GridHandler", "") != Name)
                return;

            m_registry = registry;
            m_localService = new GridService();
            m_localService.Configure(config, registry);
            m_remoteService = new GridServicesConnector();
            m_remoteService.Initialize(config, registry);
            registry.RegisterModuleInterface<IGridService>(this);
        }
        public void Initialize(IConfigSource config, IRegistryCore registry)
        {
            IConfig handlerConfig = config.Configs["Handlers"];
            if (handlerConfig.GetString("GridHandler", "") != Name)
                return;

            string localHandler = handlerConfig.GetString("LocalGridHandler", "GridService");
            List<IGridService> services = Aurora.Framework.AuroraModuleLoader.PickupModules<IGridService>();
            foreach(IGridService s in services)
                if(s.GetType().Name == localHandler)
                    m_localService = s;

            m_registry = registry;
            if(m_localService == null)
                m_localService = new GridService();
            m_localService.Configure(config, registry);
            m_remoteService = new GridServicesConnector();
            m_remoteService.Initialize(config, registry);
            registry.RegisterModuleInterface<IGridService>(this);
        }
Example #3
0
//        private static readonly ILog m_log =
//                LogManager.GetLogger(
//                MethodBase.GetCurrentMethod().DeclaringType);
        
        public static void Main(string[] args)
        {
            ConsoleAppender consoleAppender = new ConsoleAppender();
            consoleAppender.Layout =
                new PatternLayout("%date [%thread] %-5level %logger [%property{NDC}] - %message%newline");
            log4net.Config.BasicConfigurator.Configure(consoleAppender);

            string serverURI = "http://127.0.0.1:8001";
            GridServicesConnector m_Connector = new GridServicesConnector(serverURI);

            GridRegion r1 = CreateRegion("Test Region 1", 1000, 1000);
            GridRegion r2 = CreateRegion("Test Region 2", 1001, 1000);
            GridRegion r3 = CreateRegion("Test Region 3", 1005, 1000);

            Console.WriteLine("[GRID CLIENT]: *** Registering region 1"); 
            string msg = m_Connector.RegisterRegion(UUID.Zero, r1);
            if (msg == String.Empty)
                Console.WriteLine("[GRID CLIENT]: Successfully registered region 1");
            else
                Console.WriteLine("[GRID CLIENT]: region 1 failed to register");

            Console.WriteLine("[GRID CLIENT]: *** Registering region 2");
            msg = m_Connector.RegisterRegion(UUID.Zero, r2);
            if (msg == String.Empty)
                Console.WriteLine("[GRID CLIENT]: Successfully registered region 2");
            else
                Console.WriteLine("[GRID CLIENT]: region 2 failed to register");

            Console.WriteLine("[GRID CLIENT]: *** Registering region 3");
            msg = m_Connector.RegisterRegion(UUID.Zero, r3);
            if (msg == String.Empty)
                Console.WriteLine("[GRID CLIENT]: Successfully registered region 3");
            else
                Console.WriteLine("[GRID CLIENT]: region 3 failed to register");


            bool success;
            Console.WriteLine("[GRID CLIENT]: *** Deregistering region 3");
            success = m_Connector.DeregisterRegion(r3.RegionID);
            if (success)
                Console.WriteLine("[GRID CLIENT]: Successfully deregistered region 3");
            else
                Console.WriteLine("[GRID CLIENT]: region 3 failed to deregister");
            Console.WriteLine("[GRID CLIENT]: *** Registering region 3 again");
            msg = m_Connector.RegisterRegion(UUID.Zero, r3);
            if (msg == String.Empty)
                Console.WriteLine("[GRID CLIENT]: Successfully registered region 3");
            else
                Console.WriteLine("[GRID CLIENT]: region 3 failed to register");

            Console.WriteLine("[GRID CLIENT]: *** GetNeighbours of region 1");
            List<GridRegion> regions = m_Connector.GetNeighbours(UUID.Zero, r1.RegionID);
            if (regions == null)
                Console.WriteLine("[GRID CLIENT]: GetNeighbours of region 1 failed");
            else if (regions.Count > 0)
            {
                if (regions.Count != 1)
                    Console.WriteLine("[GRID CLIENT]: GetNeighbours of region 1 returned more neighbours than expected: " + regions.Count);
                else
                    Console.WriteLine("[GRID CLIENT]: GetNeighbours of region 1 returned the right neighbour " + regions[0].RegionName);
            }
            else
                Console.WriteLine("[GRID CLIENT]: GetNeighbours of region 1 returned 0 neighbours");


            Console.WriteLine("[GRID CLIENT]: *** GetRegionByUUID of region 2 (this should succeed)");
            GridRegion region = m_Connector.GetRegionByUUID(UUID.Zero, r2.RegionID);
            if (region == null)
                Console.WriteLine("[GRID CLIENT]: GetRegionByUUID returned null");
            else
                Console.WriteLine("[GRID CLIENT]: GetRegionByUUID returned region " + region.RegionName);

            Console.WriteLine("[GRID CLIENT]: *** GetRegionByUUID of non-existent region (this should fail)");
            region = m_Connector.GetRegionByUUID(UUID.Zero, UUID.Random());
            if (region == null)
                Console.WriteLine("[GRID CLIENT]: GetRegionByUUID returned null");
            else
                Console.WriteLine("[GRID CLIENT]: GetRegionByUUID returned region " + region.RegionName);

            Console.WriteLine("[GRID CLIENT]: *** GetRegionByName of region 3 (this should succeed)");
            region = m_Connector.GetRegionByName(UUID.Zero, r3.RegionName);
            if (region == null)
                Console.WriteLine("[GRID CLIENT]: GetRegionByName returned null");
            else
                Console.WriteLine("[GRID CLIENT]: GetRegionByName returned region " + region.RegionName);

            Console.WriteLine("[GRID CLIENT]: *** GetRegionByName of non-existent region (this should fail)");
            region = m_Connector.GetRegionByName(UUID.Zero, "Foo");
            if (region == null)
                Console.WriteLine("[GRID CLIENT]: GetRegionByName returned null");
            else
                Console.WriteLine("[GRID CLIENT]: GetRegionByName returned region " + region.RegionName);

            Console.WriteLine("[GRID CLIENT]: *** GetRegionsByName (this should return 3 regions)");
            regions = m_Connector.GetRegionsByName(UUID.Zero, "Test", 10);
            if (regions == null)
                Console.WriteLine("[GRID CLIENT]: GetRegionsByName returned null");
            else
                Console.WriteLine("[GRID CLIENT]: GetRegionsByName returned " + regions.Count + " regions");

            Console.WriteLine("[GRID CLIENT]: *** GetRegionRange (this should return 2 regions)");
            regions = m_Connector.GetRegionRange(UUID.Zero, 
                (int)Util.RegionToWorldLoc(900), (int)Util.RegionToWorldLoc(1002),
                (int)Util.RegionToWorldLoc(900), (int)Util.RegionToWorldLoc(1002) );
            if (regions == null)
                Console.WriteLine("[GRID CLIENT]: GetRegionRange returned null");
            else
                Console.WriteLine("[GRID CLIENT]: GetRegionRange returned " + regions.Count + " regions");
            Console.WriteLine("[GRID CLIENT]: *** GetRegionRange (this should return 0 regions)");
            regions = m_Connector.GetRegionRange(UUID.Zero,
                (int)Util.RegionToWorldLoc(900), (int)Util.RegionToWorldLoc(950),
                (int)Util.RegionToWorldLoc(900), (int)Util.RegionToWorldLoc(950) );
            if (regions == null)
                Console.WriteLine("[GRID CLIENT]: GetRegionRange returned null");
            else
                Console.WriteLine("[GRID CLIENT]: GetRegionRange returned " + regions.Count + " regions");

            Console.Write("Proceed to deregister? Press enter...");
            Console.ReadLine();

            // Deregister them all
            Console.WriteLine("[GRID CLIENT]: *** Deregistering region 1");
            success = m_Connector.DeregisterRegion(r1.RegionID);
            if (success)
                Console.WriteLine("[GRID CLIENT]: Successfully deregistered region 1");
            else
                Console.WriteLine("[GRID CLIENT]: region 1 failed to deregister");
            Console.WriteLine("[GRID CLIENT]: *** Deregistering region 2");
            success = m_Connector.DeregisterRegion(r2.RegionID);
            if (success)
                Console.WriteLine("[GRID CLIENT]: Successfully deregistered region 2");
            else
                Console.WriteLine("[GRID CLIENT]: region 2 failed to deregister");
            Console.WriteLine("[GRID CLIENT]: *** Deregistering region 3");
            success = m_Connector.DeregisterRegion(r3.RegionID);
            if (success)
                Console.WriteLine("[GRID CLIENT]: Successfully deregistered region 3");
            else
                Console.WriteLine("[GRID CLIENT]: region 3 failed to deregister");

        }
Example #4
0
        public void Grid_001()
        {
            GridServicesConnector m_Connector = new GridServicesConnector(DemonServer.Address);

            GridRegion r1 = CreateRegion("Test Region 1", 1000, 1000);
            GridRegion r2 = CreateRegion("Test Region 2", 1001, 1000);
            GridRegion r3 = CreateRegion("Test Region 3", 1005, 1000);

            string msg = m_Connector.RegisterRegion(UUID.Zero, r1);
            Assert.AreEqual(msg, string.Empty, "Region 1 failed to register");

            msg = m_Connector.RegisterRegion(UUID.Zero, r2);
            Assert.AreEqual(msg, string.Empty, "Region 2 failed to register");

            msg = m_Connector.RegisterRegion(UUID.Zero, r3);
            Assert.AreEqual(msg, string.Empty, "Region 3 failed to register");

            bool success;
            success = m_Connector.DeregisterRegion(r3.RegionID);
            Assert.AreEqual(success, true, "Region 3 failed to deregister");

            msg = m_Connector.RegisterRegion(UUID.Zero, r3);
            Assert.AreEqual(msg, string.Empty, "Region 3 failed to re-register");

            List<GridRegion> regions = m_Connector.GetNeighbours(UUID.Zero, r1.RegionID);
            Assert.AreNotEqual(regions, null, "GetNeighbours of region 1 failed");
            Assert.AreEqual(regions.Count, 1, "Region 1 should have 1 neighbor");
            Assert.AreEqual(regions[0].RegionName, "Test Region 2", "Region 1 has the wrong neighbor");

            GridRegion region = m_Connector.GetRegionByUUID(UUID.Zero, r2.RegionID);
            Assert.AreNotEqual(region, null, "GetRegionByUUID for region 2 failed");
            Assert.AreEqual(region.RegionName, "Test Region 2", "GetRegionByUUID of region 2 returned wrong region");

            region = m_Connector.GetRegionByUUID(UUID.Zero, UUID.Random());
            Assert.AreEqual(region, null, "Region with randon id should not exist");

            region = m_Connector.GetRegionByName(UUID.Zero, r3.RegionName);
            Assert.AreNotEqual(region, null, "GetRegionByUUID for region 3 failed");
            Assert.AreEqual(region.RegionName, "Test Region 3", "GetRegionByUUID of region 3 returned wrong region");

            region = m_Connector.GetRegionByName(UUID.Zero, "Foo");
            Assert.AreEqual(region, null, "Region Foo should not exist");

            regions = m_Connector.GetRegionsByName(UUID.Zero, "Test", 10);
            Assert.AreNotEqual(regions, null, "GetRegionsByName failed");
            Assert.AreEqual(regions.Count, 3, "GetRegionsByName should return 3");

            regions = m_Connector.GetRegionRange(UUID.Zero, 
                (int)Util.RegionToWorldLoc(900), (int)Util.RegionToWorldLoc(1002),
                (int)Util.RegionToWorldLoc(900), (int)Util.RegionToWorldLoc(1002) );
            Assert.AreNotEqual(regions, null, "GetRegionRange failed");
            Assert.AreEqual(regions.Count, 2, "GetRegionRange should return 2");

            regions = m_Connector.GetRegionRange(UUID.Zero,
                (int)Util.RegionToWorldLoc(900), (int)Util.RegionToWorldLoc(950),
                (int)Util.RegionToWorldLoc(900), (int)Util.RegionToWorldLoc(950) );
            Assert.AreNotEqual(regions, null, "GetRegionRange (bis) failed");
            Assert.AreEqual(regions.Count, 0, "GetRegionRange (bis) should return 0");

            // Deregister them all
            success = m_Connector.DeregisterRegion(r1.RegionID);
            Assert.AreEqual(success, true, "Region 1 failed to deregister");

            success = m_Connector.DeregisterRegion(r2.RegionID);
            Assert.AreEqual(success, true, "Region 2 failed to deregister");

            success = m_Connector.DeregisterRegion(r3.RegionID);
            Assert.AreEqual(success, true, "Region 3 failed to deregister");
        }