* Purged 'Regions' code pending Agent layer grok.

* Changed so prims aren't loaded until AFTER parcels.
* The region startup flow is still an ungodly rats nest.
afrisby
lbsa71 2007-09-23 23:55:29 +00:00
parent 8dda11d17e
commit b3eeb5a8dc
9 changed files with 16 additions and 125 deletions

View File

@ -147,7 +147,7 @@ namespace OpenSim
Directory.CreateDirectory(Util.logDir()); Directory.CreateDirectory(Util.logDir());
} }
m_log = new LogBase(Path.Combine(Util.logDir(), m_logFilename), "Region", this, m_silent); m_log = CreateLog();
MainLog.Instance = m_log; MainLog.Instance = m_log;
base.StartUp(); base.StartUp();

View File

@ -70,8 +70,6 @@ namespace OpenSim.Region.ClientStack
Initialize(); Initialize();
ScenePresence.CreateDefaultTextureEntry();
m_httpServer = new BaseHttpServer(m_httpServerPort); m_httpServer = new BaseHttpServer(m_httpServerPort);
m_log.Verbose("Starting HTTP server"); m_log.Verbose("Starting HTTP server");
@ -112,7 +110,6 @@ namespace OpenSim.Region.ClientStack
scene.PhysScene = GetPhysicsScene(); scene.PhysScene = GetPhysicsScene();
scene.PhysScene.SetTerrain(scene.Terrain.GetHeights1D()); scene.PhysScene.SetTerrain(scene.Terrain.GetHeights1D());
scene.LoadPrimsFromStorage();
//Master Avatar Setup //Master Avatar Setup
UserProfileData masterAvatar = m_commsManager.UserServer.SetupMasterUser(scene.RegionInfo.MasterAvatarFirstName, scene.RegionInfo.MasterAvatarLastName, scene.RegionInfo.MasterAvatarSandboxPassword); UserProfileData masterAvatar = m_commsManager.UserServer.SetupMasterUser(scene.RegionInfo.MasterAvatarFirstName, scene.RegionInfo.MasterAvatarLastName, scene.RegionInfo.MasterAvatarSandboxPassword);
@ -128,7 +125,9 @@ namespace OpenSim.Region.ClientStack
scene.RegionInfo.MasterAvatarAssignedUUID = libsecondlife.LLUUID.Zero; scene.RegionInfo.MasterAvatarAssignedUUID = libsecondlife.LLUUID.Zero;
//TODO: Load parcels from storageManager //TODO: Load parcels from storageManager
} }
scene.LandManager.resetSimLandObjects(); scene.LandManager.resetSimLandObjects();
scene.LoadPrimsFromStorage();
scene.performParcelPrimCountUpdate(); scene.performParcelPrimCountUpdate();
scene.StartTimer(); scene.StartTimer();

View File

@ -87,8 +87,8 @@ namespace OpenSim.Region.Environment.LandManagement
/// </summary> /// </summary>
public bool landPrimCountTainted = false; public bool landPrimCountTainted = false;
private Scene m_scene; private readonly Scene m_scene;
private RegionInfo m_regInfo; private readonly RegionInfo m_regInfo;
#endregion #endregion

View File

@ -1,49 +0,0 @@
using System.Collections.Generic;
using libsecondlife;
using OpenSim.Region.Environment.Scenes;
using OpenSim.Region.Terrain;
using OpenSim.Framework.Interfaces;
using System;
namespace OpenSim.Region.Environment.Regions
{
public class Region
{
// This is a temporary (and real ugly) construct to emulate us really having a separate list
// of region subscribers. It should be removed ASAP, like.
private readonly Scene m_scene;
private Dictionary<LLUUID, RegionSubscription> m_regionSubscriptions
{
get
{
Dictionary<LLUUID, RegionSubscription> subscriptions = new Dictionary<LLUUID, RegionSubscription>( );
foreach( ScenePresence presence in m_scene.GetScenePresences() )
{
subscriptions.Add( presence.UUID, new RegionSubscription( presence.ControllingClient ));
}
return subscriptions;
}
}
public Region( Scene scene )
{
m_scene = scene; // The Scene reference should be removed.
}
internal void Broadcast( Action<IClientAPI> whatToDo )
{
foreach (RegionSubscription subscription in m_regionSubscriptions.Values )
{
whatToDo(subscription.Client);
}
}
internal void Remove(LLUUID agentID)
{
// TODO : Well, remove it!
}
}
}

View File

@ -1,19 +0,0 @@
using OpenSim.Framework.Interfaces;
namespace OpenSim.Region.Environment.Regions
{
public class RegionSubscription
{
private readonly IClientAPI m_client;
public RegionSubscription(IClientAPI client )
{
m_client = client;
}
public IClientAPI Client
{
get { return m_client; }
}
}
}

View File

@ -1,16 +0,0 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace OpenSim.Region.Environment.Regions
{
public class RegionSubscriptionManager
{
private Dictionary<uint, Region> m_regions;
public RegionSubscriptionManager( )
{
m_regions = new Dictionary<uint, Region>( );
}
}
}

View File

@ -49,7 +49,6 @@ using OpenSim.Region.Environment.Types;
using OpenSim.Region.Physics.Manager; using OpenSim.Region.Physics.Manager;
using OpenSim.Region.Terrain; using OpenSim.Region.Terrain;
using Timer = System.Timers.Timer; using Timer = System.Timers.Timer;
using OpenSim.Region.Environment.Regions;
namespace OpenSim.Region.Environment.Scenes namespace OpenSim.Region.Environment.Scenes
{ {
@ -64,8 +63,6 @@ namespace OpenSim.Region.Environment.Scenes
/// publicized so it can be accessed from SceneObjectGroup. /// publicized so it can be accessed from SceneObjectGroup.
protected float timeStep = 0.1f; protected float timeStep = 0.1f;
private Regions.Region m_region;
private Random Rand = new Random(); private Random Rand = new Random();
private uint _primCount = 702000; private uint _primCount = 702000;
private readonly Mutex _primAllocateMutex = new Mutex(false); private readonly Mutex _primAllocateMutex = new Mutex(false);
@ -162,8 +159,6 @@ namespace OpenSim.Region.Environment.Scenes
{ {
updateLock = new Mutex(false); updateLock = new Mutex(false);
m_region = new Regions.Region(this);
m_moduleLoader = moduleLoader; m_moduleLoader = moduleLoader;
authenticateHandler = authen; authenticateHandler = authen;
commsManager = commsMan; commsManager = commsMan;
@ -373,7 +368,10 @@ namespace OpenSim.Region.Environment.Scenes
/// <returns></returns> /// <returns></returns>
internal void Broadcast(Action<IClientAPI> whatToDo) internal void Broadcast(Action<IClientAPI> whatToDo)
{ {
m_region.Broadcast(whatToDo); ForEachScenePresence( delegate( ScenePresence presence )
{
whatToDo(presence.ControllingClient);
});
} }
/// <summary> /// <summary>
/// ///
@ -458,7 +456,7 @@ namespace OpenSim.Region.Environment.Scenes
/// <summary> /// <summary>
/// Loads the World's objects /// Loads the World's objects
/// </summary> /// </summary>
public void LoadPrimsFromStorage() public virtual void LoadPrimsFromStorage()
{ {
MainLog.Instance.Verbose("Loading objects from datastore"); MainLog.Instance.Verbose("Loading objects from datastore");
List<SceneObjectGroup> PrimsFromDB = storageManager.DataStore.LoadObjects(m_regInfo.SimUUID); List<SceneObjectGroup> PrimsFromDB = storageManager.DataStore.LoadObjects(m_regInfo.SimUUID);
@ -790,11 +788,6 @@ namespace OpenSim.Region.Environment.Scenes
m_scenePresences.Remove(agentID); m_scenePresences.Remove(agentID);
} }
lock (m_region)
{
m_region.Remove(agentID);
}
lock (Entities) lock (Entities)
{ {
Entities.Remove(agentID); Entities.Remove(agentID);
@ -1135,7 +1128,7 @@ namespace OpenSim.Region.Environment.Scenes
} }
public void SendUrlToUser(LLUUID avatarID, string objectname, LLUUID objectID, LLUUID ownerID, bool groupOwned, public void SendUrlToUser(LLUUID avatarID, string objectname, LLUUID objectID, LLUUID ownerID, bool groupOwned,
string message, string url) string message, string url)
{ {
if (m_scenePresences.ContainsKey(avatarID)) if (m_scenePresences.ContainsKey(avatarID))
{ {

View File

@ -35,7 +35,6 @@ using OpenSim.Framework.Interfaces;
using OpenSim.Framework.Types; using OpenSim.Framework.Types;
using OpenSim.Framework.Utilities; using OpenSim.Framework.Utilities;
using OpenSim.Region.Physics.Manager; using OpenSim.Region.Physics.Manager;
using OpenSim.Region.Environment.Regions;
namespace OpenSim.Region.Environment.Scenes namespace OpenSim.Region.Environment.Scenes
{ {
@ -214,13 +213,6 @@ namespace OpenSim.Region.Environment.Scenes
set { m_isChildAgent = value; } set { m_isChildAgent = value; }
} }
private RegionSubscription m_regionSubscription;
public RegionSubscription RegionSubscription
{
get { return m_regionSubscription; }
}
#endregion #endregion
#region Constructor(s) #region Constructor(s)
@ -234,8 +226,6 @@ namespace OpenSim.Region.Environment.Scenes
/// <param name="regionDat"></param> /// <param name="regionDat"></param>
public ScenePresence(IClientAPI client, Scene world, RegionInfo reginfo) public ScenePresence(IClientAPI client, Scene world, RegionInfo reginfo)
{ {
m_regionSubscription = new RegionSubscription( client );
m_scene = world; m_scene = world;
m_uuid = client.AgentId; m_uuid = client.AgentId;
@ -881,7 +871,7 @@ namespace OpenSim.Region.Environment.Scenes
} }
} }
public static void CreateDefaultTextureEntry() static ScenePresence()
{ {
LLObject.TextureEntry textu = new LLObject.TextureEntry(new LLUUID("C228D1CF-4B5D-4BA8-84F4-899A0796AA97")); LLObject.TextureEntry textu = new LLObject.TextureEntry(new LLUUID("C228D1CF-4B5D-4BA8-84F4-899A0796AA97"));
textu.CreateFace(0).TextureID = new LLUUID("00000000-0000-1111-9999-000000000012"); textu.CreateFace(0).TextureID = new LLUUID("00000000-0000-1111-9999-000000000012");

View File

@ -1,23 +1,16 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.IO;
using System.Net; using System.Net;
using libsecondlife; using libsecondlife;
using OpenSim.Framework; using OpenSim.Framework.Communications.Caches;
using OpenSim.Framework.Console; using OpenSim.Framework.Console;
using OpenSim.Framework.Interfaces;
using OpenSim.Framework.Servers;
using OpenSim.Framework.Types; using OpenSim.Framework.Types;
using OpenSim.Region.Physics.Manager;
using OpenSim.Region.Capabilities;
using OpenSim.Region.ClientStack; using OpenSim.Region.ClientStack;
using OpenSim.Region.Communications.Local; using OpenSim.Region.Communications.Local;
using OpenSim.Framework.Communications.Caches;
using System.Timers;
using OpenSim.Region.Environment.Scenes;
using OpenSim.Framework.Data;
using OpenSim.Region.Environment; using OpenSim.Region.Environment;
using System.IO; using OpenSim.Region.Environment.Scenes;
using OpenSim.Region.Physics.Manager;
namespace SimpleApp namespace SimpleApp
{ {