public void Close(IScene scene)
        {
            //Deregister the interface
            scene.UnregisterModuleInterface <IGridRegisterModule>(this);
            m_scenes.Remove(scene);

            MainConsole.Instance.InfoFormat("[RegisterRegionWithGrid]: Deregistering region {0} from the grid...",
                                            scene.RegionInfo.RegionName);

            //Deregister from the grid server
            IGridService GridService = scene.RequestModuleInterface <IGridService>();
            GridRegion   r           = BuildGridRegion(scene.RegionInfo);

            r.IsOnline = false;
            string error = "";

            if (scene.RegionInfo.HasBeenDeleted)
            {
                GridService.DeregisterRegion(r);
            }
            else if ((error = GridService.UpdateMap(r)) != "")
            {
                MainConsole.Instance.WarnFormat("[RegisterRegionWithGrid]: Deregister from grid failed for region {0}, {1}",
                                                scene.RegionInfo.RegionName, error);
            }
        }
示例#2
0
        private byte[] UpdateMap(OSDMap request)
        {
            GridRegion rinfo = new GridRegion();

            rinfo.FromOSD((OSDMap)request["Region"]);
            UUID   SecureSessionID = request["SecureSessionID"].AsUUID();
            string result          = "";

            if (rinfo != null)
            {
                result = m_GridService.UpdateMap(rinfo, SecureSessionID);
            }

            OSDMap resultMap = new OSDMap();

            resultMap["Result"] = result;

            return(Encoding.UTF8.GetBytes(OSDParser.SerializeJsonString(OSD.FromBoolean(true))));
        }
        /// <summary>
        ///   Update the grid server with new info about this region
        /// </summary>
        /// <param name = "scene"></param>
        public void UpdateGridRegion(IScene scene)
        {
            IGridService GridService = scene.RequestModuleInterface <IGridService>();

            GridService.UpdateMap(BuildGridRegion(scene.RegionInfo));
        }
 public string UpdateMap(GridRegion region)
 {
     return(m_localService.UpdateMap(region));
 }
示例#5
0
 public string UpdateMap(GridRegion region, UUID sessionID)
 {
     return(m_localService.UpdateMap(region, sessionID));
 }