diff options
Converted the LSL scripting engine into a IRegionModule, so now all "modules" share a common base interface and are loaded from the single loader. (It seems to work fine, but I have left the old scriptengine loader, incase we have to change back).
Removed the reference to OpenJpeg in the DynamicTextureModule, to see if that was causing the build problem someone is having.
Added a Temporary fix for the "existing connection was forcibly closed by the remote host" exception on windows when a user logs out of a multiregion instance.
Some early work to prepare for improving the way clients are updated (about prims etc).
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/Environment/Scenes/ScenePresence.cs | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/OpenSim/Region/Environment/Scenes/ScenePresence.cs b/OpenSim/Region/Environment/Scenes/ScenePresence.cs index 285c691..7b7c595 100644 --- a/OpenSim/Region/Environment/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Environment/Scenes/ScenePresence.cs | |||
@@ -88,11 +88,13 @@ namespace OpenSim.Region.Environment.Scenes | |||
88 | public delegate void SignificantClientMovement(IClientAPI remote_client); | 88 | public delegate void SignificantClientMovement(IClientAPI remote_client); |
89 | public event SignificantClientMovement OnSignificantClientMovement; | 89 | public event SignificantClientMovement OnSignificantClientMovement; |
90 | 90 | ||
91 | public List<SceneObjectGroup> InterestList = new List<SceneObjectGroup>(); | ||
92 | |||
91 | // private Queue<SceneObjectGroup> m_fullGroupUpdates = new Queue<SceneObjectGroup>(); | 93 | // private Queue<SceneObjectGroup> m_fullGroupUpdates = new Queue<SceneObjectGroup>(); |
92 | // private Queue<SceneObjectGroup> m_terseGroupUpdates = new Queue<SceneObjectGroup>(); | 94 | // private Queue<SceneObjectGroup> m_terseGroupUpdates = new Queue<SceneObjectGroup>(); |
93 | 95 | ||
94 | private Queue<SceneObjectPart> m_fullPartUpdates = new Queue<SceneObjectPart>(); | 96 | private Queue<SceneObjectPart> m_fullPartUpdates = new Queue<SceneObjectPart>(); |
95 | private Queue<SceneObjectPart> m_teserPartUpdates = new Queue<SceneObjectPart>(); | 97 | private Queue<SceneObjectPart> m_tersePartUpdates = new Queue<SceneObjectPart>(); |
96 | 98 | ||
97 | #region Properties | 99 | #region Properties |
98 | /// <summary> | 100 | /// <summary> |
@@ -201,7 +203,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
201 | 203 | ||
202 | public void AddTersePart(SceneObjectPart part) | 204 | public void AddTersePart(SceneObjectPart part) |
203 | { | 205 | { |
204 | m_teserPartUpdates.Enqueue(part); | 206 | m_tersePartUpdates.Enqueue(part); |
205 | } | 207 | } |
206 | 208 | ||
207 | public void AddFullPart(SceneObjectPart part) | 209 | public void AddFullPart(SceneObjectPart part) |
@@ -211,18 +213,18 @@ namespace OpenSim.Region.Environment.Scenes | |||
211 | 213 | ||
212 | public void SendPrimUpdates() | 214 | public void SendPrimUpdates() |
213 | { | 215 | { |
214 | if (m_teserPartUpdates.Count > 0) | 216 | if (m_tersePartUpdates.Count > 0) |
215 | { | 217 | { |
216 | bool terse = true; | 218 | bool terse = true; |
217 | int terseCount = 0; | 219 | int terseCount = 0; |
218 | 220 | ||
219 | while (terse) | 221 | while (terse) |
220 | { | 222 | { |
221 | SceneObjectPart part = m_teserPartUpdates.Dequeue(); | 223 | SceneObjectPart part = m_tersePartUpdates.Dequeue(); |
222 | part.SendTerseUpdate(this.ControllingClient); | 224 | part.SendTerseUpdate(this.ControllingClient); |
223 | terseCount++; | 225 | terseCount++; |
224 | 226 | ||
225 | if ((m_teserPartUpdates.Count < 1) |(terseCount > 30)) | 227 | if ((m_tersePartUpdates.Count < 1) |(terseCount > 30)) |
226 | { | 228 | { |
227 | terse = false; | 229 | terse = false; |
228 | } | 230 | } |