diff options
author | Dan Lake | 2010-03-19 05:51:16 -0700 |
---|---|---|
committer | John Hurliman | 2010-03-19 15:16:35 -0700 |
commit | 859bc717a4fe4cd5810ad9889cfb9b1e7f5c2046 (patch) | |
tree | dcce6c74d201b52c1a04ec9ec2cb90ce068fc020 /OpenSim/Region/UserStatistics | |
parent | Inconsistent locking of ScenePresence array in SceneGraph. Fixed by eliminati... (diff) | |
download | opensim-SC_OLD-859bc717a4fe4cd5810ad9889cfb9b1e7f5c2046.zip opensim-SC_OLD-859bc717a4fe4cd5810ad9889cfb9b1e7f5c2046.tar.gz opensim-SC_OLD-859bc717a4fe4cd5810ad9889cfb9b1e7f5c2046.tar.bz2 opensim-SC_OLD-859bc717a4fe4cd5810ad9889cfb9b1e7f5c2046.tar.xz |
Cleaned up access to scenepresences in scenegraph. GetScenePresences and GetAvatars have been removed to consolidate locking and iteration within SceneGraph. All callers which used these to then iterate over presences have been refactored to instead pass their delegates to Scene.ForEachScenePresence(Action<ScenePresence>).
Diffstat (limited to 'OpenSim/Region/UserStatistics')
-rw-r--r-- | OpenSim/Region/UserStatistics/ActiveConnectionsAJAX.cs | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/OpenSim/Region/UserStatistics/ActiveConnectionsAJAX.cs b/OpenSim/Region/UserStatistics/ActiveConnectionsAJAX.cs index a567413..dcbd717 100644 --- a/OpenSim/Region/UserStatistics/ActiveConnectionsAJAX.cs +++ b/OpenSim/Region/UserStatistics/ActiveConnectionsAJAX.cs | |||
@@ -68,17 +68,15 @@ namespace OpenSim.Region.UserStatistics | |||
68 | HTMLUtil.OL_O(ref output, ""); | 68 | HTMLUtil.OL_O(ref output, ""); |
69 | foreach (Scene scene in all_scenes) | 69 | foreach (Scene scene in all_scenes) |
70 | { | 70 | { |
71 | List<ScenePresence> avatarInScene = scene.GetScenePresences(); | ||
72 | |||
73 | HTMLUtil.LI_O(ref output, String.Empty); | 71 | HTMLUtil.LI_O(ref output, String.Empty); |
74 | output.Append(scene.RegionInfo.RegionName); | 72 | output.Append(scene.RegionInfo.RegionName); |
75 | HTMLUtil.OL_O(ref output, String.Empty); | 73 | HTMLUtil.OL_O(ref output, String.Empty); |
76 | foreach (ScenePresence av in avatarInScene) | 74 | scene.ForEachScenePresence(delegate(ScenePresence av) |
77 | { | 75 | { |
78 | Dictionary<string,string> queues = new Dictionary<string, string>(); | 76 | Dictionary<string, string> queues = new Dictionary<string, string>(); |
79 | if (av.ControllingClient is IStatsCollector) | 77 | if (av.ControllingClient is IStatsCollector) |
80 | { | 78 | { |
81 | IStatsCollector isClient = (IStatsCollector) av.ControllingClient; | 79 | IStatsCollector isClient = (IStatsCollector)av.ControllingClient; |
82 | queues = decodeQueueReport(isClient.Report()); | 80 | queues = decodeQueueReport(isClient.Report()); |
83 | } | 81 | } |
84 | HTMLUtil.LI_O(ref output, String.Empty); | 82 | HTMLUtil.LI_O(ref output, String.Empty); |
@@ -92,8 +90,8 @@ namespace OpenSim.Region.UserStatistics | |||
92 | else | 90 | else |
93 | { | 91 | { |
94 | output.Append(string.Format("<br /><NOBR>Position: <{0},{1},{2}></NOBR>", (int)av.AbsolutePosition.X, | 92 | output.Append(string.Format("<br /><NOBR>Position: <{0},{1},{2}></NOBR>", (int)av.AbsolutePosition.X, |
95 | (int) av.AbsolutePosition.Y, | 93 | (int)av.AbsolutePosition.Y, |
96 | (int) av.AbsolutePosition.Z)); | 94 | (int)av.AbsolutePosition.Z)); |
97 | } | 95 | } |
98 | Dictionary<string, int> throttles = DecodeClientThrottles(av.ControllingClient.GetThrottlesPacked(1)); | 96 | Dictionary<string, int> throttles = DecodeClientThrottles(av.ControllingClient.GetThrottlesPacked(1)); |
99 | 97 | ||
@@ -124,7 +122,7 @@ namespace OpenSim.Region.UserStatistics | |||
124 | 122 | ||
125 | HTMLUtil.UL_C(ref output); | 123 | HTMLUtil.UL_C(ref output); |
126 | HTMLUtil.LI_C(ref output); | 124 | HTMLUtil.LI_C(ref output); |
127 | } | 125 | }); |
128 | HTMLUtil.OL_C(ref output); | 126 | HTMLUtil.OL_C(ref output); |
129 | } | 127 | } |
130 | HTMLUtil.OL_C(ref output); | 128 | HTMLUtil.OL_C(ref output); |