diff options
Diffstat (limited to 'OpenSim/Region/ClientStack/Linden/Caps')
-rw-r--r-- | OpenSim/Region/ClientStack/Linden/Caps/EventQueue/EventQueueGetModule.cs | 58 |
1 files changed, 14 insertions, 44 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/Caps/EventQueue/EventQueueGetModule.cs b/OpenSim/Region/ClientStack/Linden/Caps/EventQueue/EventQueueGetModule.cs index c5e28ad..d02496f 100644 --- a/OpenSim/Region/ClientStack/Linden/Caps/EventQueue/EventQueueGetModule.cs +++ b/OpenSim/Region/ClientStack/Linden/Caps/EventQueue/EventQueueGetModule.cs | |||
@@ -91,7 +91,6 @@ namespace OpenSim.Region.ClientStack.Linden | |||
91 | scene.RegisterModuleInterface<IEventQueue>(this); | 91 | scene.RegisterModuleInterface<IEventQueue>(this); |
92 | 92 | ||
93 | scene.EventManager.OnClientClosed += ClientClosed; | 93 | scene.EventManager.OnClientClosed += ClientClosed; |
94 | scene.EventManager.OnMakeChildAgent += MakeChildAgent; | ||
95 | scene.EventManager.OnRegisterCaps += OnRegisterCaps; | 94 | scene.EventManager.OnRegisterCaps += OnRegisterCaps; |
96 | 95 | ||
97 | MainConsole.Instance.Commands.AddCommand( | 96 | MainConsole.Instance.Commands.AddCommand( |
@@ -120,7 +119,6 @@ namespace OpenSim.Region.ClientStack.Linden | |||
120 | return; | 119 | return; |
121 | 120 | ||
122 | scene.EventManager.OnClientClosed -= ClientClosed; | 121 | scene.EventManager.OnClientClosed -= ClientClosed; |
123 | scene.EventManager.OnMakeChildAgent -= MakeChildAgent; | ||
124 | scene.EventManager.OnRegisterCaps -= OnRegisterCaps; | 122 | scene.EventManager.OnRegisterCaps -= OnRegisterCaps; |
125 | 123 | ||
126 | scene.UnregisterModuleInterface<IEventQueue>(this); | 124 | scene.UnregisterModuleInterface<IEventQueue>(this); |
@@ -189,14 +187,12 @@ namespace OpenSim.Region.ClientStack.Linden | |||
189 | { | 187 | { |
190 | if (!queues.ContainsKey(agentId)) | 188 | if (!queues.ContainsKey(agentId)) |
191 | { | 189 | { |
192 | /* | ||
193 | m_log.DebugFormat( | 190 | m_log.DebugFormat( |
194 | "[EVENTQUEUE]: Adding new queue for agent {0} in region {1}", | 191 | "[EVENTQUEUE]: Adding new queue for agent {0} in region {1}", |
195 | agentId, m_scene.RegionInfo.RegionName); | 192 | agentId, m_scene.RegionInfo.RegionName); |
196 | */ | ||
197 | queues[agentId] = new Queue<OSD>(); | 193 | queues[agentId] = new Queue<OSD>(); |
198 | } | 194 | } |
199 | 195 | ||
200 | return queues[agentId]; | 196 | return queues[agentId]; |
201 | } | 197 | } |
202 | } | 198 | } |
@@ -228,8 +224,12 @@ namespace OpenSim.Region.ClientStack.Linden | |||
228 | { | 224 | { |
229 | Queue<OSD> queue = GetQueue(avatarID); | 225 | Queue<OSD> queue = GetQueue(avatarID); |
230 | if (queue != null) | 226 | if (queue != null) |
227 | { | ||
231 | lock (queue) | 228 | lock (queue) |
232 | queue.Enqueue(ev); | 229 | queue.Enqueue(ev); |
230 | } | ||
231 | else | ||
232 | m_log.WarnFormat("[EVENTQUEUE]: (Enqueue) No queue found for agent {0} in region {1}", avatarID, m_scene.RegionInfo.RegionName); | ||
233 | } | 233 | } |
234 | catch (NullReferenceException e) | 234 | catch (NullReferenceException e) |
235 | { | 235 | { |
@@ -244,7 +244,7 @@ namespace OpenSim.Region.ClientStack.Linden | |||
244 | 244 | ||
245 | private void ClientClosed(UUID agentID, Scene scene) | 245 | private void ClientClosed(UUID agentID, Scene scene) |
246 | { | 246 | { |
247 | // m_log.DebugFormat("[EVENTQUEUE]: Closed client {0} in region {1}", agentID, m_scene.RegionInfo.RegionName); | 247 | //m_log.DebugFormat("[EVENTQUEUE]: Closed client {0} in region {1}", agentID, m_scene.RegionInfo.RegionName); |
248 | 248 | ||
249 | int count = 0; | 249 | int count = 0; |
250 | while (queues.ContainsKey(agentID) && queues[agentID].Count > 0 && count++ < 5) | 250 | while (queues.ContainsKey(agentID) && queues[agentID].Count > 0 && count++ < 5) |
@@ -261,31 +261,6 @@ namespace OpenSim.Region.ClientStack.Linden | |||
261 | lock (m_AvatarQueueUUIDMapping) | 261 | lock (m_AvatarQueueUUIDMapping) |
262 | m_AvatarQueueUUIDMapping.Remove(agentID); | 262 | m_AvatarQueueUUIDMapping.Remove(agentID); |
263 | 263 | ||
264 | // lock (m_AvatarQueueUUIDMapping) | ||
265 | // { | ||
266 | // foreach (UUID ky in m_AvatarQueueUUIDMapping.Keys) | ||
267 | // { | ||
268 | //// m_log.DebugFormat("[EVENTQUEUE]: Found key {0} in m_AvatarQueueUUIDMapping while looking for {1}", ky, AgentID); | ||
269 | // if (ky == agentID) | ||
270 | // { | ||
271 | // removeitems.Add(ky); | ||
272 | // } | ||
273 | // } | ||
274 | // | ||
275 | // foreach (UUID ky in removeitems) | ||
276 | // { | ||
277 | // UUID eventQueueGetUuid = m_AvatarQueueUUIDMapping[ky]; | ||
278 | // m_AvatarQueueUUIDMapping.Remove(ky); | ||
279 | // | ||
280 | // string eqgPath = GenerateEqgCapPath(eventQueueGetUuid); | ||
281 | // MainServer.Instance.RemovePollServiceHTTPHandler("", eqgPath); | ||
282 | // | ||
283 | //// m_log.DebugFormat( | ||
284 | //// "[EVENT QUEUE GET MODULE]: Removed EQG handler {0} for {1} in {2}", | ||
285 | //// eqgPath, agentID, m_scene.RegionInfo.RegionName); | ||
286 | // } | ||
287 | // } | ||
288 | |||
289 | UUID searchval = UUID.Zero; | 264 | UUID searchval = UUID.Zero; |
290 | 265 | ||
291 | removeitems.Clear(); | 266 | removeitems.Clear(); |
@@ -305,19 +280,9 @@ namespace OpenSim.Region.ClientStack.Linden | |||
305 | foreach (UUID ky in removeitems) | 280 | foreach (UUID ky in removeitems) |
306 | m_QueueUUIDAvatarMapping.Remove(ky); | 281 | m_QueueUUIDAvatarMapping.Remove(ky); |
307 | } | 282 | } |
308 | } | ||
309 | 283 | ||
310 | private void MakeChildAgent(ScenePresence avatar) | 284 | // m_log.DebugFormat("[EVENTQUEUE]: Deleted queues for {0} in region {1}", agentID, m_scene.RegionInfo.RegionName); |
311 | { | 285 | |
312 | //m_log.DebugFormat("[EVENTQUEUE]: Make Child agent {0} in region {1}.", avatar.UUID, m_scene.RegionInfo.RegionName); | ||
313 | //lock (m_ids) | ||
314 | // { | ||
315 | //if (m_ids.ContainsKey(avatar.UUID)) | ||
316 | //{ | ||
317 | // close the event queue. | ||
318 | //m_ids[avatar.UUID] = -1; | ||
319 | //} | ||
320 | //} | ||
321 | } | 286 | } |
322 | 287 | ||
323 | /// <summary> | 288 | /// <summary> |
@@ -417,7 +382,12 @@ namespace OpenSim.Region.ClientStack.Linden | |||
417 | if (DebugLevel >= 2) | 382 | if (DebugLevel >= 2) |
418 | m_log.WarnFormat("POLLED FOR EQ MESSAGES BY {0} in {1}", pAgentId, m_scene.RegionInfo.RegionName); | 383 | m_log.WarnFormat("POLLED FOR EQ MESSAGES BY {0} in {1}", pAgentId, m_scene.RegionInfo.RegionName); |
419 | 384 | ||
420 | Queue<OSD> queue = TryGetQueue(pAgentId); | 385 | Queue<OSD> queue = GetQueue(pAgentId); |
386 | if (queue == null) | ||
387 | { | ||
388 | return NoEvents(requestID, pAgentId); | ||
389 | } | ||
390 | |||
421 | OSD element; | 391 | OSD element; |
422 | lock (queue) | 392 | lock (queue) |
423 | { | 393 | { |