diff options
Diffstat (limited to '')
116 files changed, 1323 insertions, 1323 deletions
diff --git a/OpenSim/Framework/AgentCircuitData.cs b/OpenSim/Framework/AgentCircuitData.cs index 4529944..5a9eeb5 100644 --- a/OpenSim/Framework/AgentCircuitData.cs +++ b/OpenSim/Framework/AgentCircuitData.cs | |||
@@ -77,7 +77,7 @@ namespace OpenSim.Framework | |||
77 | public bool child; | 77 | public bool child; |
78 | 78 | ||
79 | /// <summary> | 79 | /// <summary> |
80 | /// Number given to the client when they log-in that they provide | 80 | /// Number given to the client when they log-in that they provide |
81 | /// as credentials to the UDP server | 81 | /// as credentials to the UDP server |
82 | /// </summary> | 82 | /// </summary> |
83 | public uint circuitcode; | 83 | public uint circuitcode; |
@@ -328,7 +328,7 @@ namespace OpenSim.Framework | |||
328 | Vector3.TryParse(args["start_pos"].AsString(), out startpos); | 328 | Vector3.TryParse(args["start_pos"].AsString(), out startpos); |
329 | 329 | ||
330 | //m_log.InfoFormat("[AGENTCIRCUITDATA]: agentid={0}, child={1}, startpos={2}", AgentID, child, startpos); | 330 | //m_log.InfoFormat("[AGENTCIRCUITDATA]: agentid={0}, child={1}, startpos={2}", AgentID, child, startpos); |
331 | 331 | ||
332 | try | 332 | try |
333 | { | 333 | { |
334 | // Unpack various appearance elements | 334 | // Unpack various appearance elements |
@@ -353,7 +353,7 @@ namespace OpenSim.Framework | |||
353 | { | 353 | { |
354 | m_log.ErrorFormat("[AGENTCIRCUITDATA] failed to unpack appearance; {0}",e.Message); | 354 | m_log.ErrorFormat("[AGENTCIRCUITDATA] failed to unpack appearance; {0}",e.Message); |
355 | } | 355 | } |
356 | 356 | ||
357 | ServiceURLs = new Dictionary<string, object>(); | 357 | ServiceURLs = new Dictionary<string, object>(); |
358 | // Try parse the new way, OSDMap | 358 | // Try parse the new way, OSDMap |
359 | if (args.ContainsKey("serviceurls") && args["serviceurls"] != null && (args["serviceurls"]).Type == OSDType.Map) | 359 | if (args.ContainsKey("serviceurls") && args["serviceurls"] != null && (args["serviceurls"]).Type == OSDType.Map) |
diff --git a/OpenSim/Framework/AnimationSet.cs b/OpenSim/Framework/AnimationSet.cs index 6c5b15c..87c4a78 100644 --- a/OpenSim/Framework/AnimationSet.cs +++ b/OpenSim/Framework/AnimationSet.cs | |||
@@ -84,7 +84,7 @@ namespace OpenSim.Framework | |||
84 | it.GroupPermissions = 0; | 84 | it.GroupPermissions = 0; |
85 | it.EveryOnePermissions = 0; | 85 | it.EveryOnePermissions = 0; |
86 | } | 86 | } |
87 | 87 | ||
88 | public int AnimationCount { get; private set; } | 88 | public int AnimationCount { get; private set; } |
89 | private Dictionary<string, KeyValuePair<string, UUID>> m_animations = new Dictionary<string, KeyValuePair<string, UUID>>(); | 89 | private Dictionary<string, KeyValuePair<string, UUID>> m_animations = new Dictionary<string, KeyValuePair<string, UUID>>(); |
90 | 90 | ||
diff --git a/OpenSim/Framework/AssetBase.cs b/OpenSim/Framework/AssetBase.cs index 87fd04a..88edf2f 100644 --- a/OpenSim/Framework/AssetBase.cs +++ b/OpenSim/Framework/AssetBase.cs | |||
@@ -112,7 +112,7 @@ namespace OpenSim.Framework | |||
112 | { | 112 | { |
113 | get | 113 | get |
114 | { | 114 | { |
115 | return | 115 | return |
116 | IsTextualAsset && ( | 116 | IsTextualAsset && ( |
117 | Type != (sbyte)AssetType.Notecard | 117 | Type != (sbyte)AssetType.Notecard |
118 | && Type != (sbyte)AssetType.CallingCard | 118 | && Type != (sbyte)AssetType.CallingCard |
@@ -137,7 +137,7 @@ namespace OpenSim.Framework | |||
137 | { | 137 | { |
138 | get | 138 | get |
139 | { | 139 | { |
140 | return | 140 | return |
141 | (Type == (sbyte)AssetType.Animation || | 141 | (Type == (sbyte)AssetType.Animation || |
142 | Type == (sbyte)AssetType.Gesture || | 142 | Type == (sbyte)AssetType.Gesture || |
143 | Type == (sbyte)AssetType.Simstate || | 143 | Type == (sbyte)AssetType.Simstate || |
@@ -282,7 +282,7 @@ namespace OpenSim.Framework | |||
282 | 282 | ||
283 | return m_id; | 283 | return m_id; |
284 | } | 284 | } |
285 | 285 | ||
286 | set | 286 | set |
287 | { | 287 | { |
288 | UUID uuid = UUID.Zero; | 288 | UUID uuid = UUID.Zero; |
diff --git a/OpenSim/Framework/AssetLoader/Filesystem/Properties/AssemblyInfo.cs b/OpenSim/Framework/AssetLoader/Filesystem/Properties/AssemblyInfo.cs index d269e5d..b6ea077 100644 --- a/OpenSim/Framework/AssetLoader/Filesystem/Properties/AssemblyInfo.cs +++ b/OpenSim/Framework/AssetLoader/Filesystem/Properties/AssemblyInfo.cs | |||
@@ -2,7 +2,7 @@ | |||
2 | using System.Runtime.CompilerServices; | 2 | using System.Runtime.CompilerServices; |
3 | using System.Runtime.InteropServices; | 3 | using System.Runtime.InteropServices; |
4 | 4 | ||
5 | // General Information about an assembly is controlled through the following | 5 | // General Information about an assembly is controlled through the following |
6 | // set of attributes. Change these attribute values to modify the information | 6 | // set of attributes. Change these attribute values to modify the information |
7 | // associated with an assembly. | 7 | // associated with an assembly. |
8 | [assembly: AssemblyTitle("OpenSim.Framework.AssetLoader.Filesystem")] | 8 | [assembly: AssemblyTitle("OpenSim.Framework.AssetLoader.Filesystem")] |
@@ -14,8 +14,8 @@ using System.Runtime.InteropServices; | |||
14 | [assembly: AssemblyTrademark("")] | 14 | [assembly: AssemblyTrademark("")] |
15 | [assembly: AssemblyCulture("")] | 15 | [assembly: AssemblyCulture("")] |
16 | 16 | ||
17 | // Setting ComVisible to false makes the types in this assembly not visible | 17 | // Setting ComVisible to false makes the types in this assembly not visible |
18 | // to COM components. If you need to access a type in this assembly from | 18 | // to COM components. If you need to access a type in this assembly from |
19 | // COM, set the ComVisible attribute to true on that type. | 19 | // COM, set the ComVisible attribute to true on that type. |
20 | [assembly: ComVisible(false)] | 20 | [assembly: ComVisible(false)] |
21 | 21 | ||
@@ -25,7 +25,7 @@ using System.Runtime.InteropServices; | |||
25 | // Version information for an assembly consists of the following four values: | 25 | // Version information for an assembly consists of the following four values: |
26 | // | 26 | // |
27 | // Major Version | 27 | // Major Version |
28 | // Minor Version | 28 | // Minor Version |
29 | // Build Number | 29 | // Build Number |
30 | // Revision | 30 | // Revision |
31 | // | 31 | // |
diff --git a/OpenSim/Framework/AssetRequestToClient.cs b/OpenSim/Framework/AssetRequestToClient.cs index d602c1f..3dfbb91 100644 --- a/OpenSim/Framework/AssetRequestToClient.cs +++ b/OpenSim/Framework/AssetRequestToClient.cs | |||
@@ -31,10 +31,10 @@ namespace OpenSim.Framework | |||
31 | { | 31 | { |
32 | /// <summary> | 32 | /// <summary> |
33 | /// This class was created to refactor OutPacket out of AssetCache | 33 | /// This class was created to refactor OutPacket out of AssetCache |
34 | /// There is a conflict between | 34 | /// There is a conflict between |
35 | /// OpenSim.Framework.Communications.Cache.AssetRequest and OpenSim.Framework.AssetRequest | 35 | /// OpenSim.Framework.Communications.Cache.AssetRequest and OpenSim.Framework.AssetRequest |
36 | /// and unifying them results in a prebuild chicken and egg problem with OpenSim.Framework requiring | 36 | /// and unifying them results in a prebuild chicken and egg problem with OpenSim.Framework requiring |
37 | /// OpenSim.Framework.Communications.Cache while OpenSim.Framework.Communications.Cache | 37 | /// OpenSim.Framework.Communications.Cache while OpenSim.Framework.Communications.Cache |
38 | /// requiring OpenSim.Framework | 38 | /// requiring OpenSim.Framework |
39 | /// </summary> | 39 | /// </summary> |
40 | public class AssetRequestToClient | 40 | public class AssetRequestToClient |
diff --git a/OpenSim/Framework/AvatarAppearance.cs b/OpenSim/Framework/AvatarAppearance.cs index 07c739d..77a7621 100644 --- a/OpenSim/Framework/AvatarAppearance.cs +++ b/OpenSim/Framework/AvatarAppearance.cs | |||
@@ -53,7 +53,7 @@ namespace OpenSim.Framework | |||
53 | // should be only used as initial default value ( V1 viewers ) | 53 | // should be only used as initial default value ( V1 viewers ) |
54 | public readonly static int VISUALPARAM_COUNT = 218; | 54 | public readonly static int VISUALPARAM_COUNT = 218; |
55 | 55 | ||
56 | // public readonly static int TEXTURE_COUNT = 21 | 56 | // public readonly static int TEXTURE_COUNT = 21 |
57 | // 21 bad, make it be updated as libovm gets update | 57 | // 21 bad, make it be updated as libovm gets update |
58 | // also keeping in sync with it | 58 | // also keeping in sync with it |
59 | public readonly static int TEXTURE_COUNT = Primitive.TextureEntry.MAX_FACES; | 59 | public readonly static int TEXTURE_COUNT = Primitive.TextureEntry.MAX_FACES; |
@@ -121,7 +121,7 @@ namespace OpenSim.Framework | |||
121 | get { return m_avatarHeight; } | 121 | get { return m_avatarHeight; } |
122 | set { m_avatarHeight = value; } | 122 | set { m_avatarHeight = value; } |
123 | } | 123 | } |
124 | 124 | ||
125 | public virtual WearableCacheItem[] WearableCacheItems | 125 | public virtual WearableCacheItem[] WearableCacheItems |
126 | { | 126 | { |
127 | get { return m_cacheitems; } | 127 | get { return m_cacheitems; } |
@@ -219,7 +219,7 @@ namespace OpenSim.Framework | |||
219 | m_wearables[i] = new AvatarWearable(); | 219 | m_wearables[i] = new AvatarWearable(); |
220 | AvatarWearable wearable = appearance.Wearables[i]; | 220 | AvatarWearable wearable = appearance.Wearables[i]; |
221 | for (int j = 0; j < wearable.Count; j++) | 221 | for (int j = 0; j < wearable.Count; j++) |
222 | m_wearables[i].Add(wearable[j].ItemID, wearable[j].AssetID); | 222 | m_wearables[i].Add(wearable[j].ItemID, wearable[j].AssetID); |
223 | } | 223 | } |
224 | } | 224 | } |
225 | else | 225 | else |
@@ -291,18 +291,18 @@ namespace OpenSim.Framework | |||
291 | public virtual void ResetAppearance() | 291 | public virtual void ResetAppearance() |
292 | { | 292 | { |
293 | // m_log.WarnFormat("[AVATAR APPEARANCE]: Reset appearance"); | 293 | // m_log.WarnFormat("[AVATAR APPEARANCE]: Reset appearance"); |
294 | 294 | ||
295 | m_serial = 0; | 295 | m_serial = 0; |
296 | 296 | ||
297 | SetDefaultTexture(); | 297 | SetDefaultTexture(); |
298 | 298 | ||
299 | //for (int i = 0; i < BAKE_INDICES.Length; i++) | 299 | //for (int i = 0; i < BAKE_INDICES.Length; i++) |
300 | // { | 300 | // { |
301 | // int idx = BAKE_INDICES[i]; | 301 | // int idx = BAKE_INDICES[i]; |
302 | // m_texture.FaceTextures[idx].TextureID = UUID.Zero; | 302 | // m_texture.FaceTextures[idx].TextureID = UUID.Zero; |
303 | // } | 303 | // } |
304 | } | 304 | } |
305 | 305 | ||
306 | protected virtual void SetDefaultParams() | 306 | protected virtual void SetDefaultParams() |
307 | { | 307 | { |
308 | m_visualparams = new byte[] { 33,61,85,23,58,127,63,85,63,42,0,85,63,36,85,95,153,63,34,0,63,109,88,132,63,136,81,85,103,136,127,0,150,150,150,127,0,0,0,0,0,127,0,0,255,127,114,127,99,63,127,140,127,127,0,0,0,191,0,104,0,0,0,0,0,0,0,0,0,145,216,133,0,127,0,127,170,0,0,127,127,109,85,127,127,63,85,42,150,150,150,150,150,150,150,25,150,150,150,0,127,0,0,144,85,127,132,127,85,0,127,127,127,127,127,127,59,127,85,127,127,106,47,79,127,127,204,2,141,66,0,0,127,127,0,0,0,0,127,0,159,0,0,178,127,36,85,131,127,127,127,153,95,0,140,75,27,127,127,0,150,150,198,0,0,63,30,127,165,209,198,127,127,153,204,51,51,255,255,255,204,0,255,150,150,150,150,150,150,150,150,150,150,0,150,150,150,150,150,0,127,127,150,150,150,150,150,150,150,150,0,0,150,51,132,150,150,150 }; | 308 | m_visualparams = new byte[] { 33,61,85,23,58,127,63,85,63,42,0,85,63,36,85,95,153,63,34,0,63,109,88,132,63,136,81,85,103,136,127,0,150,150,150,127,0,0,0,0,0,127,0,0,255,127,114,127,99,63,127,140,127,127,0,0,0,191,0,104,0,0,0,0,0,0,0,0,0,145,216,133,0,127,0,127,170,0,0,127,127,109,85,127,127,63,85,42,150,150,150,150,150,150,150,25,150,150,150,0,127,0,0,144,85,127,132,127,85,0,127,127,127,127,127,127,59,127,85,127,127,106,47,79,127,127,204,2,141,66,0,0,127,127,0,0,0,0,127,0,159,0,0,178,127,36,85,131,127,127,127,153,95,0,140,75,27,127,127,0,150,150,198,0,0,63,30,127,165,209,198,127,127,153,204,51,51,255,255,255,204,0,255,150,150,150,150,150,150,150,150,150,150,0,150,150,150,150,150,0,127,127,150,150,150,150,150,150,150,150,0,0,150,51,132,150,150,150 }; |
@@ -319,14 +319,14 @@ namespace OpenSim.Framework | |||
319 | public virtual void ResetBakedTextures() | 319 | public virtual void ResetBakedTextures() |
320 | { | 320 | { |
321 | SetDefaultTexture(); | 321 | SetDefaultTexture(); |
322 | 322 | ||
323 | //for (int i = 0; i < BAKE_INDICES.Length; i++) | 323 | //for (int i = 0; i < BAKE_INDICES.Length; i++) |
324 | // { | 324 | // { |
325 | // int idx = BAKE_INDICES[i]; | 325 | // int idx = BAKE_INDICES[i]; |
326 | // m_texture.FaceTextures[idx].TextureID = UUID.Zero; | 326 | // m_texture.FaceTextures[idx].TextureID = UUID.Zero; |
327 | // } | 327 | // } |
328 | } | 328 | } |
329 | 329 | ||
330 | protected virtual void SetDefaultTexture() | 330 | protected virtual void SetDefaultTexture() |
331 | { | 331 | { |
332 | m_texture = new Primitive.TextureEntry(new UUID(AppearanceManager.DEFAULT_AVATAR_TEXTURE)); | 332 | m_texture = new Primitive.TextureEntry(new UUID(AppearanceManager.DEFAULT_AVATAR_TEXTURE)); |
@@ -371,7 +371,7 @@ namespace OpenSim.Framework | |||
371 | } | 371 | } |
372 | 372 | ||
373 | m_texture = textureEntry; | 373 | m_texture = textureEntry; |
374 | 374 | ||
375 | return changed; | 375 | return changed; |
376 | } | 376 | } |
377 | 377 | ||
@@ -531,14 +531,14 @@ namespace OpenSim.Framework | |||
531 | { | 531 | { |
532 | lock (m_attachments) | 532 | lock (m_attachments) |
533 | { | 533 | { |
534 | List<AvatarAttachment> alist = new List<AvatarAttachment>(); | 534 | List<AvatarAttachment> alist = new List<AvatarAttachment>(); |
535 | foreach (KeyValuePair<int, List<AvatarAttachment>> kvp in m_attachments) | 535 | foreach (KeyValuePair<int, List<AvatarAttachment>> kvp in m_attachments) |
536 | { | 536 | { |
537 | foreach (AvatarAttachment attach in kvp.Value) | 537 | foreach (AvatarAttachment attach in kvp.Value) |
538 | alist.Add(new AvatarAttachment(attach)); | 538 | alist.Add(new AvatarAttachment(attach)); |
539 | } | 539 | } |
540 | return alist; | 540 | return alist; |
541 | } | 541 | } |
542 | } | 542 | } |
543 | 543 | ||
544 | internal void AppendAttachment(AvatarAttachment attach) | 544 | internal void AppendAttachment(AvatarAttachment attach) |
@@ -551,7 +551,7 @@ namespace OpenSim.Framework | |||
551 | { | 551 | { |
552 | if (!m_attachments.ContainsKey(attach.AttachPoint)) | 552 | if (!m_attachments.ContainsKey(attach.AttachPoint)) |
553 | m_attachments[attach.AttachPoint] = new List<AvatarAttachment>(); | 553 | m_attachments[attach.AttachPoint] = new List<AvatarAttachment>(); |
554 | 554 | ||
555 | foreach (AvatarAttachment prev in m_attachments[attach.AttachPoint]) | 555 | foreach (AvatarAttachment prev in m_attachments[attach.AttachPoint]) |
556 | { | 556 | { |
557 | if (prev.ItemID == attach.ItemID) | 557 | if (prev.ItemID == attach.ItemID) |
@@ -608,7 +608,7 @@ namespace OpenSim.Framework | |||
608 | m_attachments.Remove(attachpoint); | 608 | m_attachments.Remove(attachpoint); |
609 | return true; | 609 | return true; |
610 | } | 610 | } |
611 | 611 | ||
612 | return false; | 612 | return false; |
613 | } | 613 | } |
614 | 614 | ||
@@ -622,13 +622,13 @@ namespace OpenSim.Framework | |||
622 | if (existingAttachment != null) | 622 | if (existingAttachment != null) |
623 | { | 623 | { |
624 | // m_log.DebugFormat( | 624 | // m_log.DebugFormat( |
625 | // "[AVATAR APPEARANCE]: Found existing attachment for {0}, asset {1} at point {2}", | 625 | // "[AVATAR APPEARANCE]: Found existing attachment for {0}, asset {1} at point {2}", |
626 | // existingAttachment.ItemID, existingAttachment.AssetID, existingAttachment.AttachPoint); | 626 | // existingAttachment.ItemID, existingAttachment.AssetID, existingAttachment.AttachPoint); |
627 | 627 | ||
628 | if (existingAttachment.AssetID != UUID.Zero && existingAttachment.AttachPoint == (attachpoint & 0x7F)) | 628 | if (existingAttachment.AssetID != UUID.Zero && existingAttachment.AttachPoint == (attachpoint & 0x7F)) |
629 | { | 629 | { |
630 | m_log.DebugFormat( | 630 | m_log.DebugFormat( |
631 | "[AVATAR APPEARANCE]: Ignoring attempt to attach an already attached item {0} at point {1}", | 631 | "[AVATAR APPEARANCE]: Ignoring attempt to attach an already attached item {0} at point {1}", |
632 | item, attachpoint); | 632 | item, attachpoint); |
633 | 633 | ||
634 | return false; | 634 | return false; |
@@ -640,7 +640,7 @@ namespace OpenSim.Framework | |||
640 | DetachAttachment(existingAttachment.ItemID); | 640 | DetachAttachment(existingAttachment.ItemID); |
641 | } | 641 | } |
642 | } | 642 | } |
643 | 643 | ||
644 | // check if this is an append or a replace, 0x80 marks it as an append | 644 | // check if this is an append or a replace, 0x80 marks it as an append |
645 | if ((attachpoint & 0x80) > 0) | 645 | if ((attachpoint & 0x80) > 0) |
646 | { | 646 | { |
@@ -701,16 +701,16 @@ namespace OpenSim.Framework | |||
701 | if (index >= 0) | 701 | if (index >= 0) |
702 | { | 702 | { |
703 | // m_log.DebugFormat( | 703 | // m_log.DebugFormat( |
704 | // "[AVATAR APPEARANCE]: Detaching attachment {0}, index {1}, point {2}", | 704 | // "[AVATAR APPEARANCE]: Detaching attachment {0}, index {1}, point {2}", |
705 | // m_attachments[kvp.Key][index].ItemID, index, m_attachments[kvp.Key][index].AttachPoint); | 705 | // m_attachments[kvp.Key][index].ItemID, index, m_attachments[kvp.Key][index].AttachPoint); |
706 | 706 | ||
707 | // Remove it from the list of attachments at that attach point | 707 | // Remove it from the list of attachments at that attach point |
708 | m_attachments[kvp.Key].RemoveAt(index); | 708 | m_attachments[kvp.Key].RemoveAt(index); |
709 | 709 | ||
710 | // And remove the list if there are no more attachments here | 710 | // And remove the list if there are no more attachments here |
711 | if (m_attachments[kvp.Key].Count == 0) | 711 | if (m_attachments[kvp.Key].Count == 0) |
712 | m_attachments.Remove(kvp.Key); | 712 | m_attachments.Remove(kvp.Key); |
713 | 713 | ||
714 | return true; | 714 | return true; |
715 | } | 715 | } |
716 | } | 716 | } |
@@ -867,7 +867,7 @@ namespace OpenSim.Framework | |||
867 | { | 867 | { |
868 | AvatarAttachment att = new AvatarAttachment((OSDMap)attachs[i]); | 868 | AvatarAttachment att = new AvatarAttachment((OSDMap)attachs[i]); |
869 | AppendAttachment(att); | 869 | AppendAttachment(att); |
870 | 870 | ||
871 | // m_log.DebugFormat( | 871 | // m_log.DebugFormat( |
872 | // "[AVATAR APPEARANCE]: Unpacked attachment itemID {0}, assetID {1}, point {2}", | 872 | // "[AVATAR APPEARANCE]: Unpacked attachment itemID {0}, assetID {1}, point {2}", |
873 | // att.ItemID, att.AssetID, att.AttachPoint); | 873 | // att.ItemID, att.AssetID, att.AttachPoint); |
@@ -1644,14 +1644,14 @@ namespace OpenSim.Framework | |||
1644 | SHAPE_EYELID_INNER_CORNER_UP = 214, | 1644 | SHAPE_EYELID_INNER_CORNER_UP = 214, |
1645 | SKIRT_SKIRT_RED = 215, | 1645 | SKIRT_SKIRT_RED = 215, |
1646 | SKIRT_SKIRT_GREEN = 216, | 1646 | SKIRT_SKIRT_GREEN = 216, |
1647 | SKIRT_SKIRT_BLUE = 217, | 1647 | SKIRT_SKIRT_BLUE = 217, |
1648 | 1648 | ||
1649 | /// <summary> | 1649 | /// <summary> |
1650 | /// Avatar Physics section. These are 0 type visual params which get transmitted. | 1650 | /// Avatar Physics section. These are 0 type visual params which get transmitted. |
1651 | /// </summary> | 1651 | /// </summary> |
1652 | 1652 | ||
1653 | /// <summary> | 1653 | /// <summary> |
1654 | /// Breast Part 1 | 1654 | /// Breast Part 1 |
1655 | /// </summary> | 1655 | /// </summary> |
1656 | BREAST_PHYSICS_MASS = 218, | 1656 | BREAST_PHYSICS_MASS = 218, |
1657 | BREAST_PHYSICS_GRAVITY = 219, | 1657 | BREAST_PHYSICS_GRAVITY = 219, |
@@ -1697,7 +1697,7 @@ namespace OpenSim.Framework | |||
1697 | BREAST_PHYSICS_LEFTRIGHT_GAIN = 249, | 1697 | BREAST_PHYSICS_LEFTRIGHT_GAIN = 249, |
1698 | BREAST_PHYSICS_LEFTRIGHT_DAMPING = 250, | 1698 | BREAST_PHYSICS_LEFTRIGHT_DAMPING = 250, |
1699 | 1699 | ||
1700 | // Ubit: 07/96/2013 new parameters | 1700 | // Ubit: 07/96/2013 new parameters |
1701 | _APPEARANCEMESSAGE_VERSION = 251, //ID 11000 | 1701 | _APPEARANCEMESSAGE_VERSION = 251, //ID 11000 |
1702 | 1702 | ||
1703 | SHAPE_HOVER = 252, //ID 11001 | 1703 | SHAPE_HOVER = 252, //ID 11001 |
diff --git a/OpenSim/Framework/AvatarWearable.cs b/OpenSim/Framework/AvatarWearable.cs index 7bc46ed..0e8f960 100644 --- a/OpenSim/Framework/AvatarWearable.cs +++ b/OpenSim/Framework/AvatarWearable.cs | |||
@@ -96,7 +96,7 @@ namespace OpenSim.Framework | |||
96 | 96 | ||
97 | // public static readonly UUID DEFAULT_TATTOO_ITEM = new UUID("c47e22bd-3021-4ba4-82aa-2b5cb34d35e1"); | 97 | // public static readonly UUID DEFAULT_TATTOO_ITEM = new UUID("c47e22bd-3021-4ba4-82aa-2b5cb34d35e1"); |
98 | // public static readonly UUID DEFAULT_TATTOO_ASSET = new UUID("00000000-0000-2222-3333-100000001007"); | 98 | // public static readonly UUID DEFAULT_TATTOO_ASSET = new UUID("00000000-0000-2222-3333-100000001007"); |
99 | 99 | ||
100 | protected Dictionary<UUID, UUID> m_items = new Dictionary<UUID, UUID>(); | 100 | protected Dictionary<UUID, UUID> m_items = new Dictionary<UUID, UUID>(); |
101 | protected List<UUID> m_ids = new List<UUID>(); | 101 | protected List<UUID> m_ids = new List<UUID>(); |
102 | 102 | ||
@@ -234,10 +234,10 @@ namespace OpenSim.Framework | |||
234 | { | 234 | { |
235 | defaultWearables[i] = new AvatarWearable(); | 235 | defaultWearables[i] = new AvatarWearable(); |
236 | } | 236 | } |
237 | 237 | ||
238 | // Body | 238 | // Body |
239 | defaultWearables[BODY].Add(DEFAULT_BODY_ITEM, DEFAULT_BODY_ASSET); | 239 | defaultWearables[BODY].Add(DEFAULT_BODY_ITEM, DEFAULT_BODY_ASSET); |
240 | 240 | ||
241 | // Hair | 241 | // Hair |
242 | defaultWearables[HAIR].Add(DEFAULT_HAIR_ITEM, DEFAULT_HAIR_ASSET); | 242 | defaultWearables[HAIR].Add(DEFAULT_HAIR_ITEM, DEFAULT_HAIR_ASSET); |
243 | 243 | ||
@@ -252,7 +252,7 @@ namespace OpenSim.Framework | |||
252 | 252 | ||
253 | // Pants | 253 | // Pants |
254 | defaultWearables[PANTS].Add(DEFAULT_PANTS_ITEM, DEFAULT_PANTS_ASSET); | 254 | defaultWearables[PANTS].Add(DEFAULT_PANTS_ITEM, DEFAULT_PANTS_ASSET); |
255 | 255 | ||
256 | // // Alpha | 256 | // // Alpha |
257 | // defaultWearables[ALPHA].Add(DEFAULT_ALPHA_ITEM, DEFAULT_ALPHA_ASSET); | 257 | // defaultWearables[ALPHA].Add(DEFAULT_ALPHA_ITEM, DEFAULT_ALPHA_ASSET); |
258 | 258 | ||
diff --git a/OpenSim/Framework/BasicDOSProtector.cs b/OpenSim/Framework/BasicDOSProtector.cs index 89bfa94..f1ff18f 100644 --- a/OpenSim/Framework/BasicDOSProtector.cs +++ b/OpenSim/Framework/BasicDOSProtector.cs | |||
@@ -31,7 +31,7 @@ using log4net; | |||
31 | 31 | ||
32 | namespace OpenSim.Framework | 32 | namespace OpenSim.Framework |
33 | { | 33 | { |
34 | 34 | ||
35 | public class BasicDOSProtector | 35 | public class BasicDOSProtector |
36 | { | 36 | { |
37 | public enum ThrottleAction | 37 | public enum ThrottleAction |
@@ -43,7 +43,7 @@ namespace OpenSim.Framework | |||
43 | private readonly BasicDosProtectorOptions _options; | 43 | private readonly BasicDosProtectorOptions _options; |
44 | private readonly Dictionary<string, CircularBuffer<int>> _deeperInspection; // per client request checker | 44 | private readonly Dictionary<string, CircularBuffer<int>> _deeperInspection; // per client request checker |
45 | private readonly Dictionary<string, int> _tempBlocked; // blocked list | 45 | private readonly Dictionary<string, int> _tempBlocked; // blocked list |
46 | private readonly Dictionary<string, int> _sessions; | 46 | private readonly Dictionary<string, int> _sessions; |
47 | private readonly System.Timers.Timer _forgetTimer; // Cleanup timer | 47 | private readonly System.Timers.Timer _forgetTimer; // Cleanup timer |
48 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); | 48 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); |
49 | private readonly System.Threading.ReaderWriterLockSlim _blockLockSlim = new System.Threading.ReaderWriterLockSlim(); | 49 | private readonly System.Threading.ReaderWriterLockSlim _blockLockSlim = new System.Threading.ReaderWriterLockSlim(); |
@@ -133,7 +133,7 @@ namespace OpenSim.Framework | |||
133 | else | 133 | else |
134 | throw new System.Security.SecurityException("Throttled"); | 134 | throw new System.Security.SecurityException("Throttled"); |
135 | } | 135 | } |
136 | 136 | ||
137 | _blockLockSlim.ExitReadLock(); | 137 | _blockLockSlim.ExitReadLock(); |
138 | 138 | ||
139 | lock (_generalRequestTimes) | 139 | lock (_generalRequestTimes) |
@@ -169,10 +169,10 @@ namespace OpenSim.Framework | |||
169 | _blockLockSlim.ExitWriteLock(); | 169 | _blockLockSlim.ExitWriteLock(); |
170 | 170 | ||
171 | } | 171 | } |
172 | 172 | ||
173 | 173 | ||
174 | } | 174 | } |
175 | else | 175 | else |
176 | ProcessConcurrency(key, endpoint); | 176 | ProcessConcurrency(key, endpoint); |
177 | } | 177 | } |
178 | if (_generalRequestTimes.Size == _generalRequestTimes.Capacity && | 178 | if (_generalRequestTimes.Size == _generalRequestTimes.Capacity && |
@@ -194,7 +194,7 @@ namespace OpenSim.Framework | |||
194 | _sessionLockSlim.EnterWriteLock(); | 194 | _sessionLockSlim.EnterWriteLock(); |
195 | if (_sessions.ContainsKey(key)) | 195 | if (_sessions.ContainsKey(key)) |
196 | _sessions[key] = _sessions[key] + 1; | 196 | _sessions[key] = _sessions[key] + 1; |
197 | else | 197 | else |
198 | _sessions.Add(key,1); | 198 | _sessions.Add(key,1); |
199 | _sessionLockSlim.ExitWriteLock(); | 199 | _sessionLockSlim.ExitWriteLock(); |
200 | } | 200 | } |
@@ -209,7 +209,7 @@ namespace OpenSim.Framework | |||
209 | } | 209 | } |
210 | else | 210 | else |
211 | _sessions.Add(key, 1); | 211 | _sessions.Add(key, 1); |
212 | 212 | ||
213 | _sessionLockSlim.ExitWriteLock(); | 213 | _sessionLockSlim.ExitWriteLock(); |
214 | } | 214 | } |
215 | 215 | ||
diff --git a/OpenSim/Framework/BlockingQueue.cs b/OpenSim/Framework/BlockingQueue.cs index f6861e4..2461049 100644 --- a/OpenSim/Framework/BlockingQueue.cs +++ b/OpenSim/Framework/BlockingQueue.cs | |||
@@ -65,7 +65,7 @@ namespace OpenSim.Framework | |||
65 | 65 | ||
66 | if (m_pqueue.Count > 0) | 66 | if (m_pqueue.Count > 0) |
67 | return m_pqueue.Dequeue(); | 67 | return m_pqueue.Dequeue(); |
68 | 68 | ||
69 | if (m_queue.Count > 0) | 69 | if (m_queue.Count > 0) |
70 | return m_queue.Dequeue(); | 70 | return m_queue.Dequeue(); |
71 | return default(T); | 71 | return default(T); |
diff --git a/OpenSim/Framework/Cache.cs b/OpenSim/Framework/Cache.cs index 80f5ff4..7ccc320 100644 --- a/OpenSim/Framework/Cache.cs +++ b/OpenSim/Framework/Cache.cs | |||
@@ -356,10 +356,10 @@ namespace OpenSim.Framework | |||
356 | Expire(true); | 356 | Expire(true); |
357 | return null; | 357 | return null; |
358 | } | 358 | } |
359 | 359 | ||
360 | item.hits++; | 360 | item.hits++; |
361 | item.lastUsed = DateTime.UtcNow; | 361 | item.lastUsed = DateTime.UtcNow; |
362 | 362 | ||
363 | Expire(true); | 363 | Expire(true); |
364 | } | 364 | } |
365 | 365 | ||
diff --git a/OpenSim/Framework/CapsUtil.cs b/OpenSim/Framework/CapsUtil.cs index 4baf505..020f6e2 100644 --- a/OpenSim/Framework/CapsUtil.cs +++ b/OpenSim/Framework/CapsUtil.cs | |||
@@ -43,7 +43,7 @@ namespace OpenSim.Framework | |||
43 | { | 43 | { |
44 | return "CAPS/" + capsObjectPath + "0000/"; | 44 | return "CAPS/" + capsObjectPath + "0000/"; |
45 | } | 45 | } |
46 | 46 | ||
47 | /// <summary> | 47 | /// <summary> |
48 | /// Get a random CAPS object path component that will be used as the identifying part of all future CAPS requests | 48 | /// Get a random CAPS object path component that will be used as the identifying part of all future CAPS requests |
49 | /// </summary> | 49 | /// </summary> |
diff --git a/OpenSim/Framework/ChildAgentDataUpdate.cs b/OpenSim/Framework/ChildAgentDataUpdate.cs index 61c870e..0e5eaf2 100644 --- a/OpenSim/Framework/ChildAgentDataUpdate.cs +++ b/OpenSim/Framework/ChildAgentDataUpdate.cs | |||
@@ -332,7 +332,7 @@ namespace OpenSim.Framework | |||
332 | public Vector3 UpAxis; | 332 | public Vector3 UpAxis; |
333 | 333 | ||
334 | /// <summary> | 334 | /// <summary> |
335 | /// Signal on a V2 teleport that Scene.IncomingChildAgentDataUpdate(AgentData ad) should wait for the | 335 | /// Signal on a V2 teleport that Scene.IncomingChildAgentDataUpdate(AgentData ad) should wait for the |
336 | /// scene presence to become root (triggered when the viewer sends a CompleteAgentMovement UDP packet after | 336 | /// scene presence to become root (triggered when the viewer sends a CompleteAgentMovement UDP packet after |
337 | /// establishing the connection triggered by it's receipt of a TeleportFinish EQ message). | 337 | /// establishing the connection triggered by it's receipt of a TeleportFinish EQ message). |
338 | /// </summary> | 338 | /// </summary> |
@@ -434,7 +434,7 @@ namespace OpenSim.Framework | |||
434 | args["active_group_name"] = OSD.FromString(ActiveGroupName); | 434 | args["active_group_name"] = OSD.FromString(ActiveGroupName); |
435 | if(ActiveGroupTitle != null) | 435 | if(ActiveGroupTitle != null) |
436 | args["active_group_title"] = OSD.FromString(ActiveGroupTitle); | 436 | args["active_group_title"] = OSD.FromString(ActiveGroupTitle); |
437 | 437 | ||
438 | if (ChildrenCapSeeds != null && ChildrenCapSeeds.Count > 0) | 438 | if (ChildrenCapSeeds != null && ChildrenCapSeeds.Count > 0) |
439 | { | 439 | { |
440 | OSDArray childrenSeeds = new OSDArray(ChildrenCapSeeds.Count); | 440 | OSDArray childrenSeeds = new OSDArray(ChildrenCapSeeds.Count); |
@@ -623,7 +623,7 @@ namespace OpenSim.Framework | |||
623 | 623 | ||
624 | if (args.ContainsKey("active_group_name") && args["active_group_name"] != null) | 624 | if (args.ContainsKey("active_group_name") && args["active_group_name"] != null) |
625 | ActiveGroupName = args["active_group_name"].AsString(); | 625 | ActiveGroupName = args["active_group_name"].AsString(); |
626 | 626 | ||
627 | if(args.ContainsKey("active_group_title") && args["active_group_title"] != null) | 627 | if(args.ContainsKey("active_group_title") && args["active_group_title"] != null) |
628 | ActiveGroupTitle = args["active_group_title"].AsString(); | 628 | ActiveGroupTitle = args["active_group_title"].AsString(); |
629 | 629 | ||
@@ -843,7 +843,7 @@ namespace OpenSim.Framework | |||
843 | 843 | ||
844 | public class CompleteAgentData : AgentData | 844 | public class CompleteAgentData : AgentData |
845 | { | 845 | { |
846 | public override OSDMap Pack(EntityTransferContext ctx) | 846 | public override OSDMap Pack(EntityTransferContext ctx) |
847 | { | 847 | { |
848 | return base.Pack(ctx); | 848 | return base.Pack(ctx); |
849 | } | 849 | } |
diff --git a/OpenSim/Framework/CircularBuffer.cs b/OpenSim/Framework/CircularBuffer.cs index e919337..e101938 100644 --- a/OpenSim/Framework/CircularBuffer.cs +++ b/OpenSim/Framework/CircularBuffer.cs | |||
@@ -1,21 +1,21 @@ | |||
1 | /* | 1 | /* |
2 | Copyright (c) 2012, Alex Regueiro | 2 | Copyright (c) 2012, Alex Regueiro |
3 | All rights reserved. | 3 | All rights reserved. |
4 | Redistribution and use in source and binary forms, with or without modification, are permitted provided that the | 4 | Redistribution and use in source and binary forms, with or without modification, are permitted provided that the |
5 | following conditions are met: | 5 | following conditions are met: |
6 | 6 | ||
7 | Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. | 7 | Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. |
8 | Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer | 8 | Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer |
9 | in the documentation and/or other materials provided with the distribution. | 9 | in the documentation and/or other materials provided with the distribution. |
10 | 10 | ||
11 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, | 11 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, |
12 | BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. | 12 | BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. |
13 | IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, | 13 | IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, |
14 | OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, | 14 | OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, |
15 | OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, | 15 | OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, |
16 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE | 16 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |
17 | POSSIBILITY OF SUCH DAMAGE. | 17 | POSSIBILITY OF SUCH DAMAGE. |
18 | */ | 18 | */ |
19 | using System; | 19 | using System; |
20 | using System.Collections; | 20 | using System.Collections; |
21 | using System.Collections.Generic; | 21 | using System.Collections.Generic; |
diff --git a/OpenSim/Framework/CnmMemoryCache.cs b/OpenSim/Framework/CnmMemoryCache.cs index 92af331..f996cb0 100644 --- a/OpenSim/Framework/CnmMemoryCache.cs +++ b/OpenSim/Framework/CnmMemoryCache.cs | |||
@@ -36,14 +36,14 @@ namespace OpenSim.Framework | |||
36 | /// Cenome memory based cache to store key/value pairs (elements) limited time and/or limited size. | 36 | /// Cenome memory based cache to store key/value pairs (elements) limited time and/or limited size. |
37 | /// </summary> | 37 | /// </summary> |
38 | /// <typeparam name="TKey"> | 38 | /// <typeparam name="TKey"> |
39 | /// The type of keys in the cache. | 39 | /// The type of keys in the cache. |
40 | /// </typeparam> | 40 | /// </typeparam> |
41 | /// <typeparam name="TValue"> | 41 | /// <typeparam name="TValue"> |
42 | /// The type of values in the dictionary. | 42 | /// The type of values in the dictionary. |
43 | /// </typeparam> | 43 | /// </typeparam> |
44 | /// <remarks> | 44 | /// <remarks> |
45 | /// <para> | 45 | /// <para> |
46 | /// Cenome memory cache stores elements to hash table generations. When new element is being added to cache, and new size would exceed | 46 | /// Cenome memory cache stores elements to hash table generations. When new element is being added to cache, and new size would exceed |
47 | /// maximal allowed size or maximal amount of allowed element count, then elements in oldest generation are deleted. Last access time | 47 | /// maximal allowed size or maximal amount of allowed element count, then elements in oldest generation are deleted. Last access time |
48 | /// is also tracked in generation level - thus it is possible that some elements are staying in cache far beyond their expiration time. | 48 | /// is also tracked in generation level - thus it is possible that some elements are staying in cache far beyond their expiration time. |
49 | /// If elements in older generations are accessed through <see cref="TryGetValue"/> method, they are moved to newest generation. | 49 | /// If elements in older generations are accessed through <see cref="TryGetValue"/> method, they are moved to newest generation. |
@@ -176,7 +176,7 @@ namespace OpenSim.Framework | |||
176 | } | 176 | } |
177 | 177 | ||
178 | /// <summary> | 178 | /// <summary> |
179 | /// Initializes a new instance of the <see cref="CnmMemoryCache{TKey,TValue}"/> class. | 179 | /// Initializes a new instance of the <see cref="CnmMemoryCache{TKey,TValue}"/> class. |
180 | /// </summary> | 180 | /// </summary> |
181 | /// <param name="maximalSize"> | 181 | /// <param name="maximalSize"> |
182 | /// Maximal cache size. | 182 | /// Maximal cache size. |
@@ -201,7 +201,7 @@ namespace OpenSim.Framework | |||
201 | } | 201 | } |
202 | 202 | ||
203 | /// <summary> | 203 | /// <summary> |
204 | /// Initializes a new instance of the <see cref="CnmMemoryCache{TKey,TValue}"/> class. | 204 | /// Initializes a new instance of the <see cref="CnmMemoryCache{TKey,TValue}"/> class. |
205 | /// </summary> | 205 | /// </summary> |
206 | /// <param name="maximalSize"> | 206 | /// <param name="maximalSize"> |
207 | /// Maximal cache size. | 207 | /// Maximal cache size. |
@@ -218,7 +218,7 @@ namespace OpenSim.Framework | |||
218 | } | 218 | } |
219 | 219 | ||
220 | /// <summary> | 220 | /// <summary> |
221 | /// Initializes a new instance of the <see cref="CnmMemoryCache{TKey,TValue}"/> class. | 221 | /// Initializes a new instance of the <see cref="CnmMemoryCache{TKey,TValue}"/> class. |
222 | /// </summary> | 222 | /// </summary> |
223 | /// <param name="maximalSize"> | 223 | /// <param name="maximalSize"> |
224 | /// Maximal cache size. | 224 | /// Maximal cache size. |
@@ -336,7 +336,7 @@ namespace OpenSim.Framework | |||
336 | /// </summary> | 336 | /// </summary> |
337 | private void CheckExpired() | 337 | private void CheckExpired() |
338 | { | 338 | { |
339 | // Do this only one in every m_operationsBetweenTimeChecks | 339 | // Do this only one in every m_operationsBetweenTimeChecks |
340 | // Fetching time is using several millisecons - it is better not to do all time. | 340 | // Fetching time is using several millisecons - it is better not to do all time. |
341 | m_operationsBetweenTimeChecks--; | 341 | m_operationsBetweenTimeChecks--; |
342 | if (m_operationsBetweenTimeChecks <= 0) | 342 | if (m_operationsBetweenTimeChecks <= 0) |
@@ -394,7 +394,7 @@ namespace OpenSim.Framework | |||
394 | new IEnumerator<KeyValuePair<TKey, TValue>>[2]; | 394 | new IEnumerator<KeyValuePair<TKey, TValue>>[2]; |
395 | 395 | ||
396 | /// <summary> | 396 | /// <summary> |
397 | /// Initializes a new instance of the <see cref="Enumerator"/> class. | 397 | /// Initializes a new instance of the <see cref="Enumerator"/> class. |
398 | /// </summary> | 398 | /// </summary> |
399 | /// <param name="cache"> | 399 | /// <param name="cache"> |
400 | /// The cache. | 400 | /// The cache. |
@@ -456,7 +456,7 @@ namespace OpenSim.Framework | |||
456 | /// <see langword="true"/>if the enumerator was successfully advanced to the next element; <see langword="false"/> if the enumerator has passed the end of the collection. | 456 | /// <see langword="true"/>if the enumerator was successfully advanced to the next element; <see langword="false"/> if the enumerator has passed the end of the collection. |
457 | /// </returns> | 457 | /// </returns> |
458 | /// <exception cref="T:System.InvalidOperationException"> | 458 | /// <exception cref="T:System.InvalidOperationException"> |
459 | /// The collection was modified after the enumerator was created. | 459 | /// The collection was modified after the enumerator was created. |
460 | /// </exception> | 460 | /// </exception> |
461 | /// <filterpriority>2</filterpriority> | 461 | /// <filterpriority>2</filterpriority> |
462 | public bool MoveNext() | 462 | public bool MoveNext() |
@@ -479,7 +479,7 @@ namespace OpenSim.Framework | |||
479 | /// Sets the enumerator to its initial position, which is before the first element in the collection. | 479 | /// Sets the enumerator to its initial position, which is before the first element in the collection. |
480 | /// </summary> | 480 | /// </summary> |
481 | /// <exception cref="T:System.InvalidOperationException"> | 481 | /// <exception cref="T:System.InvalidOperationException"> |
482 | /// The collection was modified after the enumerator was created. | 482 | /// The collection was modified after the enumerator was created. |
483 | /// </exception> | 483 | /// </exception> |
484 | /// <filterpriority>2</filterpriority> | 484 | /// <filterpriority>2</filterpriority> |
485 | public void Reset() | 485 | public void Reset() |
@@ -548,7 +548,7 @@ namespace OpenSim.Framework | |||
548 | private DateTime m_expirationTime1; | 548 | private DateTime m_expirationTime1; |
549 | 549 | ||
550 | /// <summary> | 550 | /// <summary> |
551 | /// Index to first free element. | 551 | /// Index to first free element. |
552 | /// </summary> | 552 | /// </summary> |
553 | private int m_firstFreeElement; | 553 | private int m_firstFreeElement; |
554 | 554 | ||
@@ -681,8 +681,8 @@ namespace OpenSim.Framework | |||
681 | /// Next element in chain. | 681 | /// Next element in chain. |
682 | /// </summary> | 682 | /// </summary> |
683 | /// <remarks> | 683 | /// <remarks> |
684 | /// When element have value (something is stored to it), this is index of | 684 | /// When element have value (something is stored to it), this is index of |
685 | /// next element with same bucket index. When element is free, this | 685 | /// next element with same bucket index. When element is free, this |
686 | /// is index of next element in free element's list. | 686 | /// is index of next element in free element's list. |
687 | /// </remarks> | 687 | /// </remarks> |
688 | public int Next; | 688 | public int Next; |
@@ -696,7 +696,7 @@ namespace OpenSim.Framework | |||
696 | public long Size; | 696 | public long Size; |
697 | 697 | ||
698 | /// <summary> | 698 | /// <summary> |
699 | /// Element's value. | 699 | /// Element's value. |
700 | /// </summary> | 700 | /// </summary> |
701 | /// <remarks> | 701 | /// <remarks> |
702 | /// It is possible that this value is <see langword="null"/> even when element | 702 | /// It is possible that this value is <see langword="null"/> even when element |
@@ -812,7 +812,7 @@ namespace OpenSim.Framework | |||
812 | /// true if the enumerator was successfully advanced to the next element; false if the enumerator has passed the end of the collection. | 812 | /// true if the enumerator was successfully advanced to the next element; false if the enumerator has passed the end of the collection. |
813 | /// </returns> | 813 | /// </returns> |
814 | /// <exception cref="InvalidOperationException"> | 814 | /// <exception cref="InvalidOperationException"> |
815 | /// The collection was modified after the enumerator was created. | 815 | /// The collection was modified after the enumerator was created. |
816 | /// </exception> | 816 | /// </exception> |
817 | public bool MoveNext() | 817 | public bool MoveNext() |
818 | { | 818 | { |
@@ -841,7 +841,7 @@ namespace OpenSim.Framework | |||
841 | /// Sets the enumerator to its initial position, which is before the first element in the collection. | 841 | /// Sets the enumerator to its initial position, which is before the first element in the collection. |
842 | /// </summary> | 842 | /// </summary> |
843 | /// <exception cref="InvalidOperationException"> | 843 | /// <exception cref="InvalidOperationException"> |
844 | /// The collection was modified after the enumerator was created. | 844 | /// The collection was modified after the enumerator was created. |
845 | /// </exception> | 845 | /// </exception> |
846 | /// <filterpriority>2</filterpriority> | 846 | /// <filterpriority>2</filterpriority> |
847 | public void Reset() | 847 | public void Reset() |
@@ -931,7 +931,7 @@ namespace OpenSim.Framework | |||
931 | /// The key to locate in the <see cref="IGeneration"/>. | 931 | /// The key to locate in the <see cref="IGeneration"/>. |
932 | /// </param> | 932 | /// </param> |
933 | /// <returns> | 933 | /// <returns> |
934 | /// <see langword="true"/>if the <see cref="IGeneration"/> contains an element with the <see cref="key"/>; | 934 | /// <see langword="true"/>if the <see cref="IGeneration"/> contains an element with the <see cref="key"/>; |
935 | /// otherwise <see langword="false"/>. | 935 | /// otherwise <see langword="false"/>. |
936 | /// </returns> | 936 | /// </returns> |
937 | public bool Contains(int bucketIndex, TKey key) | 937 | public bool Contains(int bucketIndex, TKey key) |
@@ -1014,7 +1014,7 @@ namespace OpenSim.Framework | |||
1014 | /// </returns> | 1014 | /// </returns> |
1015 | /// <remarks> | 1015 | /// <remarks> |
1016 | /// <para> | 1016 | /// <para> |
1017 | /// If element was already existing in generation and new element size fits to collection limits, | 1017 | /// If element was already existing in generation and new element size fits to collection limits, |
1018 | /// then it's value is replaced with new one and size information is updated. If element didn't | 1018 | /// then it's value is replaced with new one and size information is updated. If element didn't |
1019 | /// exists in generation before, then generation must have empty space for a new element and | 1019 | /// exists in generation before, then generation must have empty space for a new element and |
1020 | /// size must fit generation's limits, before element is added to generation. | 1020 | /// size must fit generation's limits, before element is added to generation. |
@@ -1070,7 +1070,7 @@ namespace OpenSim.Framework | |||
1070 | if (Size - m_elements[ elementIndex ].Size + size > m_cache.m_generationMaxSize) | 1070 | if (Size - m_elements[ elementIndex ].Size + size > m_cache.m_generationMaxSize) |
1071 | { | 1071 | { |
1072 | // Generation is full | 1072 | // Generation is full |
1073 | // Remove existing element, because generation is going to be recycled to | 1073 | // Remove existing element, because generation is going to be recycled to |
1074 | // old generation and element is stored to new generation | 1074 | // old generation and element is stored to new generation |
1075 | RemoveElement(bucketIndex, elementIndex, previousIndex); | 1075 | RemoveElement(bucketIndex, elementIndex, previousIndex); |
1076 | return false; | 1076 | return false; |
@@ -1110,12 +1110,12 @@ namespace OpenSim.Framework | |||
1110 | /// <remarks> | 1110 | /// <remarks> |
1111 | /// <para> | 1111 | /// <para> |
1112 | /// If element is not found from generation then <paramref name="value"/> and <paramref name="size"/> | 1112 | /// If element is not found from generation then <paramref name="value"/> and <paramref name="size"/> |
1113 | /// are set to default value (default(TValue) and 0). | 1113 | /// are set to default value (default(TValue) and 0). |
1114 | /// </para> | 1114 | /// </para> |
1115 | /// </remarks> | 1115 | /// </remarks> |
1116 | public bool TryGetValue(int bucketIndex, TKey key, out TValue value, out long size) | 1116 | public bool TryGetValue(int bucketIndex, TKey key, out TValue value, out long size) |
1117 | { | 1117 | { |
1118 | // Find entry index, | 1118 | // Find entry index, |
1119 | int previousIndex; | 1119 | int previousIndex; |
1120 | int elementIndex = FindElementIndex(bucketIndex, key, m_newGeneration, out previousIndex); | 1120 | int elementIndex = FindElementIndex(bucketIndex, key, m_newGeneration, out previousIndex); |
1121 | if (elementIndex == -1) | 1121 | if (elementIndex == -1) |
@@ -1166,7 +1166,7 @@ namespace OpenSim.Framework | |||
1166 | /// </para> | 1166 | /// </para> |
1167 | /// <para> | 1167 | /// <para> |
1168 | /// There are two kind generations: "new generation" and "old generation(s)". All new elements | 1168 | /// There are two kind generations: "new generation" and "old generation(s)". All new elements |
1169 | /// are added to "new generation". | 1169 | /// are added to "new generation". |
1170 | /// </para> | 1170 | /// </para> |
1171 | /// </remarks> | 1171 | /// </remarks> |
1172 | protected interface IGeneration : IEnumerable<KeyValuePair<TKey, TValue>> | 1172 | protected interface IGeneration : IEnumerable<KeyValuePair<TKey, TValue>> |
@@ -1211,7 +1211,7 @@ namespace OpenSim.Framework | |||
1211 | /// The key to locate in the <see cref="IGeneration"/>. | 1211 | /// The key to locate in the <see cref="IGeneration"/>. |
1212 | /// </param> | 1212 | /// </param> |
1213 | /// <returns> | 1213 | /// <returns> |
1214 | /// <see langword="true"/>if the <see cref="IGeneration"/> contains an element with the <see cref="key"/>; | 1214 | /// <see langword="true"/>if the <see cref="IGeneration"/> contains an element with the <see cref="key"/>; |
1215 | /// otherwise <see langword="false"/>. | 1215 | /// otherwise <see langword="false"/>. |
1216 | /// </returns> | 1216 | /// </returns> |
1217 | bool Contains(int bucketIndex, TKey key); | 1217 | bool Contains(int bucketIndex, TKey key); |
@@ -1259,7 +1259,7 @@ namespace OpenSim.Framework | |||
1259 | /// </returns> | 1259 | /// </returns> |
1260 | /// <remarks> | 1260 | /// <remarks> |
1261 | /// <para> | 1261 | /// <para> |
1262 | /// If element was already existing in generation and new element size fits to collection limits, | 1262 | /// If element was already existing in generation and new element size fits to collection limits, |
1263 | /// then it's value is replaced with new one and size information is updated. If element didn't | 1263 | /// then it's value is replaced with new one and size information is updated. If element didn't |
1264 | /// exists in generation before, then generation must have empty space for a new element and | 1264 | /// exists in generation before, then generation must have empty space for a new element and |
1265 | /// size must fit generation's limits, before element is added to generation. | 1265 | /// size must fit generation's limits, before element is added to generation. |
@@ -1288,7 +1288,7 @@ namespace OpenSim.Framework | |||
1288 | /// <remarks> | 1288 | /// <remarks> |
1289 | /// <para> | 1289 | /// <para> |
1290 | /// If element is not found from generation then <paramref name="value"/> and <paramref name="size"/> | 1290 | /// If element is not found from generation then <paramref name="value"/> and <paramref name="size"/> |
1291 | /// are set to default value (default(TValue) and 0). | 1291 | /// are set to default value (default(TValue) and 0). |
1292 | /// </para> | 1292 | /// </para> |
1293 | /// </remarks> | 1293 | /// </remarks> |
1294 | bool TryGetValue(int bucketIndex, TKey key, out TValue value, out long size); | 1294 | bool TryGetValue(int bucketIndex, TKey key, out TValue value, out long size); |
@@ -1303,8 +1303,8 @@ namespace OpenSim.Framework | |||
1303 | /// </summary> | 1303 | /// </summary> |
1304 | /// <remarks> | 1304 | /// <remarks> |
1305 | /// <para> | 1305 | /// <para> |
1306 | /// When adding an new element to <see cref="ICnmCache{TKey,TValue}"/> that is limiting element count, | 1306 | /// When adding an new element to <see cref="ICnmCache{TKey,TValue}"/> that is limiting element count, |
1307 | /// <see cref="ICnmCache{TKey,TValue}"/> will remove less recently used elements until it can fit an new element. | 1307 | /// <see cref="ICnmCache{TKey,TValue}"/> will remove less recently used elements until it can fit an new element. |
1308 | /// </para> | 1308 | /// </para> |
1309 | /// </remarks> | 1309 | /// </remarks> |
1310 | /// <seealso cref="ICnmCache{TKey,TValue}.MaxCount"/> | 1310 | /// <seealso cref="ICnmCache{TKey,TValue}.MaxCount"/> |
@@ -1324,13 +1324,13 @@ namespace OpenSim.Framework | |||
1324 | /// </value> | 1324 | /// </value> |
1325 | /// <remarks> | 1325 | /// <remarks> |
1326 | /// <para> | 1326 | /// <para> |
1327 | /// When element has been stored in <see cref="ICnmCache{TKey,TValue}"/> longer than <see cref="ICnmCache{TKey,TValue}.ExpirationTime"/> | 1327 | /// When element has been stored in <see cref="ICnmCache{TKey,TValue}"/> longer than <see cref="ICnmCache{TKey,TValue}.ExpirationTime"/> |
1328 | /// and it is not accessed through <see cref="ICnmCache{TKey,TValue}.TryGetValue"/> method or element's value is | 1328 | /// and it is not accessed through <see cref="ICnmCache{TKey,TValue}.TryGetValue"/> method or element's value is |
1329 | /// not replaced by <see cref="ICnmCache{TKey,TValue}.Set"/> method, then it is automatically removed from the | 1329 | /// not replaced by <see cref="ICnmCache{TKey,TValue}.Set"/> method, then it is automatically removed from the |
1330 | /// <see cref="ICnmCache{TKey,TValue}"/>. | 1330 | /// <see cref="ICnmCache{TKey,TValue}"/>. |
1331 | /// </para> | 1331 | /// </para> |
1332 | /// <para> | 1332 | /// <para> |
1333 | /// It is possible that <see cref="ICnmCache{TKey,TValue}"/> implementation removes element before it's expiration time, | 1333 | /// It is possible that <see cref="ICnmCache{TKey,TValue}"/> implementation removes element before it's expiration time, |
1334 | /// because total size or count of elements stored to cache is larger than <see cref="ICnmCache{TKey,TValue}.MaxSize"/> or <see cref="ICnmCache{TKey,TValue}.MaxCount"/>. | 1334 | /// because total size or count of elements stored to cache is larger than <see cref="ICnmCache{TKey,TValue}.MaxSize"/> or <see cref="ICnmCache{TKey,TValue}.MaxCount"/>. |
1335 | /// </para> | 1335 | /// </para> |
1336 | /// <para> | 1336 | /// <para> |
@@ -1375,17 +1375,17 @@ namespace OpenSim.Framework | |||
1375 | /// Gets a value indicating whether <see cref="ICnmCache{TKey,TValue}"/> is limiting count of elements. | 1375 | /// Gets a value indicating whether <see cref="ICnmCache{TKey,TValue}"/> is limiting count of elements. |
1376 | /// </summary> | 1376 | /// </summary> |
1377 | /// <value> | 1377 | /// <value> |
1378 | /// <see langword="true"/> if the <see cref="ICnmCache{TKey,TValue}"/> count of elements is limited; | 1378 | /// <see langword="true"/> if the <see cref="ICnmCache{TKey,TValue}"/> count of elements is limited; |
1379 | /// otherwise, <see langword="false"/>. | 1379 | /// otherwise, <see langword="false"/>. |
1380 | /// </value> | 1380 | /// </value> |
1381 | /// <remarks> | 1381 | /// <remarks> |
1382 | /// <para> | 1382 | /// <para> |
1383 | /// When adding an new element to <see cref="ICnmCache{TKey,TValue}"/> that is limiting element count, | 1383 | /// When adding an new element to <see cref="ICnmCache{TKey,TValue}"/> that is limiting element count, |
1384 | /// <see cref="ICnmCache{TKey,TValue}"/> will remove less recently used elements until it can fit an new element. | 1384 | /// <see cref="ICnmCache{TKey,TValue}"/> will remove less recently used elements until it can fit an new element. |
1385 | /// </para> | 1385 | /// </para> |
1386 | /// </remarks> | 1386 | /// </remarks> |
1387 | /// <seealso cref="ICnmCache{TKey,TValue}.Count"/> | 1387 | /// <seealso cref="ICnmCache{TKey,TValue}.Count"/> |
1388 | /// <seealso cref="ICnmCache{TKey,TValue}.MaxCount"/> | 1388 | /// <seealso cref="ICnmCache{TKey,TValue}.MaxCount"/> |
1389 | /// <seealso cref="ICnmCache{TKey,TValue}.IsSizeLimited"/> | 1389 | /// <seealso cref="ICnmCache{TKey,TValue}.IsSizeLimited"/> |
1390 | /// <seealso cref="ICnmCache{TKey,TValue}.IsTimeLimited"/> | 1390 | /// <seealso cref="ICnmCache{TKey,TValue}.IsTimeLimited"/> |
1391 | public bool IsCountLimited | 1391 | public bool IsCountLimited |
@@ -1397,13 +1397,13 @@ namespace OpenSim.Framework | |||
1397 | /// Gets a value indicating whether <see cref="ICnmCache{TKey,TValue}"/> is limiting size of elements. | 1397 | /// Gets a value indicating whether <see cref="ICnmCache{TKey,TValue}"/> is limiting size of elements. |
1398 | /// </summary> | 1398 | /// </summary> |
1399 | /// <value> | 1399 | /// <value> |
1400 | /// <see langword="true"/> if the <see cref="ICnmCache{TKey,TValue}"/> total size of elements is limited; | 1400 | /// <see langword="true"/> if the <see cref="ICnmCache{TKey,TValue}"/> total size of elements is limited; |
1401 | /// otherwise, <see langword="false"/>. | 1401 | /// otherwise, <see langword="false"/>. |
1402 | /// </value> | 1402 | /// </value> |
1403 | /// <remarks> | 1403 | /// <remarks> |
1404 | /// <para> | 1404 | /// <para> |
1405 | /// When adding an new element to <see cref="ICnmCache{TKey,TValue}"/> that is limiting total size of elements, | 1405 | /// When adding an new element to <see cref="ICnmCache{TKey,TValue}"/> that is limiting total size of elements, |
1406 | /// <see cref="ICnmCache{TKey,TValue}"/> will remove less recently used elements until it can fit an new element. | 1406 | /// <see cref="ICnmCache{TKey,TValue}"/> will remove less recently used elements until it can fit an new element. |
1407 | /// </para> | 1407 | /// </para> |
1408 | /// </remarks> | 1408 | /// </remarks> |
1409 | /// <seealso cref="ICnmCache{TKey,TValue}.MaxElementSize"/> | 1409 | /// <seealso cref="ICnmCache{TKey,TValue}.MaxElementSize"/> |
@@ -1420,12 +1420,12 @@ namespace OpenSim.Framework | |||
1420 | /// Gets a value indicating whether or not access to the <see cref="ICnmCache{TKey,TValue}"/> is synchronized (thread safe). | 1420 | /// Gets a value indicating whether or not access to the <see cref="ICnmCache{TKey,TValue}"/> is synchronized (thread safe). |
1421 | /// </summary> | 1421 | /// </summary> |
1422 | /// <value> | 1422 | /// <value> |
1423 | /// <see langword="true"/> if access to the <see cref="ICnmCache{TKey,TValue}"/> is synchronized (thread safe); | 1423 | /// <see langword="true"/> if access to the <see cref="ICnmCache{TKey,TValue}"/> is synchronized (thread safe); |
1424 | /// otherwise, <see langword="false"/>. | 1424 | /// otherwise, <see langword="false"/>. |
1425 | /// </value> | 1425 | /// </value> |
1426 | /// <remarks> | 1426 | /// <remarks> |
1427 | /// <para> | 1427 | /// <para> |
1428 | /// To get synchronized (thread safe) access to <see cref="ICnmCache{TKey,TValue}"/> object, use | 1428 | /// To get synchronized (thread safe) access to <see cref="ICnmCache{TKey,TValue}"/> object, use |
1429 | /// <see cref="CnmSynchronizedCache{TKey,TValue}.Synchronized"/> in <see cref="CnmSynchronizedCache{TKey,TValue}"/> class | 1429 | /// <see cref="CnmSynchronizedCache{TKey,TValue}.Synchronized"/> in <see cref="CnmSynchronizedCache{TKey,TValue}"/> class |
1430 | /// to retrieve synchronized wrapper for <see cref="ICnmCache{TKey,TValue}"/> object. | 1430 | /// to retrieve synchronized wrapper for <see cref="ICnmCache{TKey,TValue}"/> object. |
1431 | /// </para> | 1431 | /// </para> |
@@ -1441,13 +1441,13 @@ namespace OpenSim.Framework | |||
1441 | /// Gets a value indicating whether elements stored to <see cref="ICnmCache{TKey,TValue}"/> have limited inactivity time. | 1441 | /// Gets a value indicating whether elements stored to <see cref="ICnmCache{TKey,TValue}"/> have limited inactivity time. |
1442 | /// </summary> | 1442 | /// </summary> |
1443 | /// <value> | 1443 | /// <value> |
1444 | /// <see langword="true"/> if the <see cref="ICnmCache{TKey,TValue}"/> has a fixed total size of elements; | 1444 | /// <see langword="true"/> if the <see cref="ICnmCache{TKey,TValue}"/> has a fixed total size of elements; |
1445 | /// otherwise, <see langword="false"/>. | 1445 | /// otherwise, <see langword="false"/>. |
1446 | /// </value> | 1446 | /// </value> |
1447 | /// <remarks> | 1447 | /// <remarks> |
1448 | /// If <see cref="ICnmCache{TKey,TValue}"/> have limited inactivity time and element is not accessed through <see cref="ICnmCache{TKey,TValue}.Set"/> | 1448 | /// If <see cref="ICnmCache{TKey,TValue}"/> have limited inactivity time and element is not accessed through <see cref="ICnmCache{TKey,TValue}.Set"/> |
1449 | /// or <see cref="ICnmCache{TKey,TValue}.TryGetValue"/> methods in <see cref="ICnmCache{TKey,TValue}.ExpirationTime"/> , then element is automatically removed from | 1449 | /// or <see cref="ICnmCache{TKey,TValue}.TryGetValue"/> methods in <see cref="ICnmCache{TKey,TValue}.ExpirationTime"/> , then element is automatically removed from |
1450 | /// the cache. Depending on implementation of the <see cref="ICnmCache{TKey,TValue}"/>, some of the elements may | 1450 | /// the cache. Depending on implementation of the <see cref="ICnmCache{TKey,TValue}"/>, some of the elements may |
1451 | /// stay longer in cache. | 1451 | /// stay longer in cache. |
1452 | /// </remarks> | 1452 | /// </remarks> |
1453 | /// <seealso cref="ICnmCache{TKey,TValue}.ExpirationTime"/> | 1453 | /// <seealso cref="ICnmCache{TKey,TValue}.ExpirationTime"/> |
@@ -1463,13 +1463,13 @@ namespace OpenSim.Framework | |||
1463 | /// Gets or sets maximal allowed count of elements that can be stored to <see cref="ICnmCache{TKey,TValue}"/>. | 1463 | /// Gets or sets maximal allowed count of elements that can be stored to <see cref="ICnmCache{TKey,TValue}"/>. |
1464 | /// </summary> | 1464 | /// </summary> |
1465 | /// <value> | 1465 | /// <value> |
1466 | /// <see cref="int.MaxValue"/>, if <see cref="ICnmCache{TKey,TValue}"/> is not limited by count of elements; | 1466 | /// <see cref="int.MaxValue"/>, if <see cref="ICnmCache{TKey,TValue}"/> is not limited by count of elements; |
1467 | /// otherwise maximal allowed count of elements. | 1467 | /// otherwise maximal allowed count of elements. |
1468 | /// </value> | 1468 | /// </value> |
1469 | /// <remarks> | 1469 | /// <remarks> |
1470 | /// <para> | 1470 | /// <para> |
1471 | /// When adding an new element to <see cref="ICnmCache{TKey,TValue}"/> that is limiting element count, | 1471 | /// When adding an new element to <see cref="ICnmCache{TKey,TValue}"/> that is limiting element count, |
1472 | /// <see cref="ICnmCache{TKey,TValue}"/> will remove less recently used elements until it can fit an new element. | 1472 | /// <see cref="ICnmCache{TKey,TValue}"/> will remove less recently used elements until it can fit an new element. |
1473 | /// </para> | 1473 | /// </para> |
1474 | /// </remarks> | 1474 | /// </remarks> |
1475 | public int MaxCount | 1475 | public int MaxCount |
@@ -1496,7 +1496,7 @@ namespace OpenSim.Framework | |||
1496 | /// </value> | 1496 | /// </value> |
1497 | /// <remarks> | 1497 | /// <remarks> |
1498 | /// <para> | 1498 | /// <para> |
1499 | /// If element's size is larger than <see cref="ICnmCache{TKey,TValue}.MaxElementSize"/>, then element is | 1499 | /// If element's size is larger than <see cref="ICnmCache{TKey,TValue}.MaxElementSize"/>, then element is |
1500 | /// not added to the <see cref="ICnmCache{TKey,TValue}"/>. | 1500 | /// not added to the <see cref="ICnmCache{TKey,TValue}"/>. |
1501 | /// </para> | 1501 | /// </para> |
1502 | /// </remarks> | 1502 | /// </remarks> |
@@ -1522,8 +1522,8 @@ namespace OpenSim.Framework | |||
1522 | /// Normally size is total bytes used by elements in the cache. But it can be any other suitable unit of measure. | 1522 | /// Normally size is total bytes used by elements in the cache. But it can be any other suitable unit of measure. |
1523 | /// </para> | 1523 | /// </para> |
1524 | /// <para> | 1524 | /// <para> |
1525 | /// When adding an new element to <see cref="ICnmCache{TKey,TValue}"/> that is limiting total size of elements, | 1525 | /// When adding an new element to <see cref="ICnmCache{TKey,TValue}"/> that is limiting total size of elements, |
1526 | /// <see cref="ICnmCache{TKey,TValue}"/> will remove less recently used elements until it can fit an new element. | 1526 | /// <see cref="ICnmCache{TKey,TValue}"/> will remove less recently used elements until it can fit an new element. |
1527 | /// </para> | 1527 | /// </para> |
1528 | /// </remarks> | 1528 | /// </remarks> |
1529 | /// <seealso cref="ICnmCache{TKey,TValue}.MaxElementSize"/> | 1529 | /// <seealso cref="ICnmCache{TKey,TValue}.MaxElementSize"/> |
@@ -1556,11 +1556,11 @@ namespace OpenSim.Framework | |||
1556 | /// Normally bytes, but can be any suitable unit of measure. | 1556 | /// Normally bytes, but can be any suitable unit of measure. |
1557 | /// </para> | 1557 | /// </para> |
1558 | /// <para> | 1558 | /// <para> |
1559 | /// Element's size is given when element is added or replaced by <see cref="ICnmCache{TKey,TValue}.Set"/> method. | 1559 | /// Element's size is given when element is added or replaced by <see cref="ICnmCache{TKey,TValue}.Set"/> method. |
1560 | /// </para> | 1560 | /// </para> |
1561 | /// <para> | 1561 | /// <para> |
1562 | /// When adding an new element to <see cref="ICnmCache{TKey,TValue}"/> that is limiting total size of elements, | 1562 | /// When adding an new element to <see cref="ICnmCache{TKey,TValue}"/> that is limiting total size of elements, |
1563 | /// <see cref="ICnmCache{TKey,TValue}"/> will remove less recently used elements until it can fit an new element. | 1563 | /// <see cref="ICnmCache{TKey,TValue}"/> will remove less recently used elements until it can fit an new element. |
1564 | /// </para> | 1564 | /// </para> |
1565 | /// </remarks> | 1565 | /// </remarks> |
1566 | /// <seealso cref="ICnmCache{TKey,TValue}.MaxElementSize"/> | 1566 | /// <seealso cref="ICnmCache{TKey,TValue}.MaxElementSize"/> |
@@ -1581,8 +1581,8 @@ namespace OpenSim.Framework | |||
1581 | /// </value> | 1581 | /// </value> |
1582 | /// <remarks> | 1582 | /// <remarks> |
1583 | /// <para> | 1583 | /// <para> |
1584 | /// To get synchronized (thread safe) access to <see cref="ICnmCache{TKey,TValue}"/>, use <see cref="CnmSynchronizedCache{TKey,TValue}"/> | 1584 | /// To get synchronized (thread safe) access to <see cref="ICnmCache{TKey,TValue}"/>, use <see cref="CnmSynchronizedCache{TKey,TValue}"/> |
1585 | /// method <see cref="CnmSynchronizedCache{TKey,TValue}.Synchronized"/> to retrieve synchronized wrapper interface to | 1585 | /// method <see cref="CnmSynchronizedCache{TKey,TValue}.Synchronized"/> to retrieve synchronized wrapper interface to |
1586 | /// <see cref="ICnmCache{TKey,TValue}"/>. | 1586 | /// <see cref="ICnmCache{TKey,TValue}"/>. |
1587 | /// </para> | 1587 | /// </para> |
1588 | /// </remarks> | 1588 | /// </remarks> |
@@ -1735,7 +1735,7 @@ namespace OpenSim.Framework | |||
1735 | } | 1735 | } |
1736 | 1736 | ||
1737 | /// <summary> | 1737 | /// <summary> |
1738 | /// Add or replace an element with the provided <paramref name="key"/>, <paramref name="value"/> and <paramref name="size"/> to | 1738 | /// Add or replace an element with the provided <paramref name="key"/>, <paramref name="value"/> and <paramref name="size"/> to |
1739 | /// <see cref="ICnmCache{TKey,TValue}"/>. | 1739 | /// <see cref="ICnmCache{TKey,TValue}"/>. |
1740 | /// </summary> | 1740 | /// </summary> |
1741 | /// <param name="key"> | 1741 | /// <param name="key"> |
@@ -1748,7 +1748,7 @@ namespace OpenSim.Framework | |||
1748 | /// The element's size. Normally bytes, but can be any suitable unit of measure. | 1748 | /// The element's size. Normally bytes, but can be any suitable unit of measure. |
1749 | /// </param> | 1749 | /// </param> |
1750 | /// <returns> | 1750 | /// <returns> |
1751 | /// <see langword="true"/>if element has been added successfully to the <see cref="ICnmCache{TKey,TValue}"/>; | 1751 | /// <see langword="true"/>if element has been added successfully to the <see cref="ICnmCache{TKey,TValue}"/>; |
1752 | /// otherwise <see langword="false"/>. | 1752 | /// otherwise <see langword="false"/>. |
1753 | /// </returns> | 1753 | /// </returns> |
1754 | /// <exception cref="ArgumentNullException"> | 1754 | /// <exception cref="ArgumentNullException"> |
@@ -1759,17 +1759,17 @@ namespace OpenSim.Framework | |||
1759 | /// </exception> | 1759 | /// </exception> |
1760 | /// <remarks> | 1760 | /// <remarks> |
1761 | /// <para> | 1761 | /// <para> |
1762 | /// If element's <paramref name="size"/> is larger than <see cref="ICnmCache{TKey,TValue}.MaxElementSize"/>, then element is | 1762 | /// If element's <paramref name="size"/> is larger than <see cref="ICnmCache{TKey,TValue}.MaxElementSize"/>, then element is |
1763 | /// not added to the <see cref="ICnmCache{TKey,TValue}"/>, however - possible older element is | 1763 | /// not added to the <see cref="ICnmCache{TKey,TValue}"/>, however - possible older element is |
1764 | /// removed from the <see cref="ICnmCache{TKey,TValue}"/>. | 1764 | /// removed from the <see cref="ICnmCache{TKey,TValue}"/>. |
1765 | /// </para> | 1765 | /// </para> |
1766 | /// <para> | 1766 | /// <para> |
1767 | /// When adding an new element to <see cref="ICnmCache{TKey,TValue}"/> that is limiting total size of elements, | 1767 | /// When adding an new element to <see cref="ICnmCache{TKey,TValue}"/> that is limiting total size of elements, |
1768 | /// <see cref="ICnmCache{TKey,TValue}"/>will remove less recently used elements until it can fit an new element. | 1768 | /// <see cref="ICnmCache{TKey,TValue}"/>will remove less recently used elements until it can fit an new element. |
1769 | /// </para> | 1769 | /// </para> |
1770 | /// <para> | 1770 | /// <para> |
1771 | /// When adding an new element to <see cref="ICnmCache{TKey,TValue}"/> that is limiting element count, | 1771 | /// When adding an new element to <see cref="ICnmCache{TKey,TValue}"/> that is limiting element count, |
1772 | /// <see cref="ICnmCache{TKey,TValue}"/>will remove less recently used elements until it can fit an new element. | 1772 | /// <see cref="ICnmCache{TKey,TValue}"/>will remove less recently used elements until it can fit an new element. |
1773 | /// </para> | 1773 | /// </para> |
1774 | /// </remarks> | 1774 | /// </remarks> |
1775 | /// <seealso cref="ICnmCache{TKey,TValue}.IsSizeLimited"/> | 1775 | /// <seealso cref="ICnmCache{TKey,TValue}.IsSizeLimited"/> |
@@ -1809,15 +1809,15 @@ namespace OpenSim.Framework | |||
1809 | /// Gets the <paramref name="value"/> associated with the specified <paramref name="key"/>. | 1809 | /// Gets the <paramref name="value"/> associated with the specified <paramref name="key"/>. |
1810 | /// </summary> | 1810 | /// </summary> |
1811 | /// <returns> | 1811 | /// <returns> |
1812 | /// <see langword="true"/>if the <see cref="ICnmCache{TKey,TValue}"/> contains an element with | 1812 | /// <see langword="true"/>if the <see cref="ICnmCache{TKey,TValue}"/> contains an element with |
1813 | /// the specified key; otherwise, <see langword="false"/>. | 1813 | /// the specified key; otherwise, <see langword="false"/>. |
1814 | /// </returns> | 1814 | /// </returns> |
1815 | /// <param name="key"> | 1815 | /// <param name="key"> |
1816 | /// The key whose <paramref name="value"/> to get. | 1816 | /// The key whose <paramref name="value"/> to get. |
1817 | /// </param> | 1817 | /// </param> |
1818 | /// <param name="value"> | 1818 | /// <param name="value"> |
1819 | /// When this method returns, the value associated with the specified <paramref name="key"/>, | 1819 | /// When this method returns, the value associated with the specified <paramref name="key"/>, |
1820 | /// if the <paramref name="key"/> is found; otherwise, the | 1820 | /// if the <paramref name="key"/> is found; otherwise, the |
1821 | /// default value for the type of the <paramref name="value"/> parameter. This parameter is passed uninitialized. | 1821 | /// default value for the type of the <paramref name="value"/> parameter. This parameter is passed uninitialized. |
1822 | /// </param> | 1822 | /// </param> |
1823 | /// <exception cref="ArgumentNullException"> | 1823 | /// <exception cref="ArgumentNullException"> |
diff --git a/OpenSim/Framework/CnmSynchronizedCache.cs b/OpenSim/Framework/CnmSynchronizedCache.cs index 2bafbe9..b33f4f7 100644 --- a/OpenSim/Framework/CnmSynchronizedCache.cs +++ b/OpenSim/Framework/CnmSynchronizedCache.cs | |||
@@ -36,10 +36,10 @@ namespace OpenSim.Framework | |||
36 | /// Synchronized Cenome cache wrapper. | 36 | /// Synchronized Cenome cache wrapper. |
37 | /// </summary> | 37 | /// </summary> |
38 | /// <typeparam name="TKey"> | 38 | /// <typeparam name="TKey"> |
39 | /// The type of keys in the cache. | 39 | /// The type of keys in the cache. |
40 | /// </typeparam> | 40 | /// </typeparam> |
41 | /// <typeparam name="TValue"> | 41 | /// <typeparam name="TValue"> |
42 | /// The type of values in the cache. | 42 | /// The type of values in the cache. |
43 | /// </typeparam> | 43 | /// </typeparam> |
44 | /// <remarks> | 44 | /// <remarks> |
45 | /// <para> | 45 | /// <para> |
@@ -60,7 +60,7 @@ namespace OpenSim.Framework | |||
60 | private readonly object m_syncRoot; | 60 | private readonly object m_syncRoot; |
61 | 61 | ||
62 | /// <summary> | 62 | /// <summary> |
63 | /// Initializes a new instance of the <see cref="CnmSynchronizedCache{TKey,TValue}"/> class. | 63 | /// Initializes a new instance of the <see cref="CnmSynchronizedCache{TKey,TValue}"/> class. |
64 | /// Initializes a new instance of the <see cref="CnmSynchronizedCache{TKey,TValue}"/> class. | 64 | /// Initializes a new instance of the <see cref="CnmSynchronizedCache{TKey,TValue}"/> class. |
65 | /// </summary> | 65 | /// </summary> |
66 | /// <param name="cache"> | 66 | /// <param name="cache"> |
@@ -73,13 +73,13 @@ namespace OpenSim.Framework | |||
73 | } | 73 | } |
74 | 74 | ||
75 | /// <summary> | 75 | /// <summary> |
76 | /// Returns a <see cref="ICnmCache{TKey,TValue}"/> wrapper that is synchronized (thread safe). | 76 | /// Returns a <see cref="ICnmCache{TKey,TValue}"/> wrapper that is synchronized (thread safe). |
77 | /// </summary> | 77 | /// </summary> |
78 | /// <param name="cache"> | 78 | /// <param name="cache"> |
79 | /// The <see cref="ICnmCache{TKey,TValue}"/> to synchronize. | 79 | /// The <see cref="ICnmCache{TKey,TValue}"/> to synchronize. |
80 | /// </param> | 80 | /// </param> |
81 | /// <returns> | 81 | /// <returns> |
82 | /// A <see cref="ICnmCache{TKey,TValue}"/> wrapper that is synchronized (thread safe). | 82 | /// A <see cref="ICnmCache{TKey,TValue}"/> wrapper that is synchronized (thread safe). |
83 | /// </returns> | 83 | /// </returns> |
84 | /// <exception cref="ArgumentNullException"> | 84 | /// <exception cref="ArgumentNullException"> |
85 | /// <paramref name="cache"/>is null. | 85 | /// <paramref name="cache"/>is null. |
@@ -125,7 +125,7 @@ namespace OpenSim.Framework | |||
125 | } | 125 | } |
126 | 126 | ||
127 | /// <summary> | 127 | /// <summary> |
128 | /// Finalizes an instance of the <see cref="SynchronizedEnumerator"/> class. | 128 | /// Finalizes an instance of the <see cref="SynchronizedEnumerator"/> class. |
129 | /// </summary> | 129 | /// </summary> |
130 | ~SynchronizedEnumerator() | 130 | ~SynchronizedEnumerator() |
131 | { | 131 | { |
@@ -184,7 +184,7 @@ namespace OpenSim.Framework | |||
184 | /// true if the enumerator was successfully advanced to the next element; false if the enumerator has passed the end of the collection. | 184 | /// true if the enumerator was successfully advanced to the next element; false if the enumerator has passed the end of the collection. |
185 | /// </returns> | 185 | /// </returns> |
186 | /// <exception cref="InvalidOperationException"> | 186 | /// <exception cref="InvalidOperationException"> |
187 | /// The collection was modified after the enumerator was created. | 187 | /// The collection was modified after the enumerator was created. |
188 | /// </exception> | 188 | /// </exception> |
189 | public bool MoveNext() | 189 | public bool MoveNext() |
190 | { | 190 | { |
@@ -195,7 +195,7 @@ namespace OpenSim.Framework | |||
195 | /// Sets the enumerator to its initial position, which is before the first element in the collection. | 195 | /// Sets the enumerator to its initial position, which is before the first element in the collection. |
196 | /// </summary> | 196 | /// </summary> |
197 | /// <exception cref="InvalidOperationException"> | 197 | /// <exception cref="InvalidOperationException"> |
198 | /// The collection was modified after the enumerator was created. | 198 | /// The collection was modified after the enumerator was created. |
199 | /// </exception> | 199 | /// </exception> |
200 | public void Reset() | 200 | public void Reset() |
201 | { | 201 | { |
@@ -214,8 +214,8 @@ namespace OpenSim.Framework | |||
214 | /// </summary> | 214 | /// </summary> |
215 | /// <remarks> | 215 | /// <remarks> |
216 | /// <para> | 216 | /// <para> |
217 | /// When adding an new element to <see cref="ICnmCache{TKey,TValue}"/> that is limiting element count, | 217 | /// When adding an new element to <see cref="ICnmCache{TKey,TValue}"/> that is limiting element count, |
218 | /// <see cref="ICnmCache{TKey,TValue}"/> will remove less recently used elements until it can fit an new element. | 218 | /// <see cref="ICnmCache{TKey,TValue}"/> will remove less recently used elements until it can fit an new element. |
219 | /// </para> | 219 | /// </para> |
220 | /// </remarks> | 220 | /// </remarks> |
221 | /// <seealso cref="ICnmCache{TKey,TValue}.MaxCount"/> | 221 | /// <seealso cref="ICnmCache{TKey,TValue}.MaxCount"/> |
@@ -241,13 +241,13 @@ namespace OpenSim.Framework | |||
241 | /// </value> | 241 | /// </value> |
242 | /// <remarks> | 242 | /// <remarks> |
243 | /// <para> | 243 | /// <para> |
244 | /// When element has been stored in <see cref="ICnmCache{TKey,TValue}"/> longer than <see cref="ICnmCache{TKey,TValue}.ExpirationTime"/> | 244 | /// When element has been stored in <see cref="ICnmCache{TKey,TValue}"/> longer than <see cref="ICnmCache{TKey,TValue}.ExpirationTime"/> |
245 | /// and it is not accessed through <see cref="ICnmCache{TKey,TValue}.TryGetValue"/> method or element's value is | 245 | /// and it is not accessed through <see cref="ICnmCache{TKey,TValue}.TryGetValue"/> method or element's value is |
246 | /// not replaced by <see cref="ICnmCache{TKey,TValue}.Set"/> method, then it is automatically removed from the | 246 | /// not replaced by <see cref="ICnmCache{TKey,TValue}.Set"/> method, then it is automatically removed from the |
247 | /// <see cref="ICnmCache{TKey,TValue}"/>. | 247 | /// <see cref="ICnmCache{TKey,TValue}"/>. |
248 | /// </para> | 248 | /// </para> |
249 | /// <para> | 249 | /// <para> |
250 | /// It is possible that <see cref="ICnmCache{TKey,TValue}"/> implementation removes element before it's expiration time, | 250 | /// It is possible that <see cref="ICnmCache{TKey,TValue}"/> implementation removes element before it's expiration time, |
251 | /// because total size or count of elements stored to cache is larger than <see cref="ICnmCache{TKey,TValue}.MaxSize"/> or <see cref="ICnmCache{TKey,TValue}.MaxCount"/>. | 251 | /// because total size or count of elements stored to cache is larger than <see cref="ICnmCache{TKey,TValue}.MaxSize"/> or <see cref="ICnmCache{TKey,TValue}.MaxCount"/>. |
252 | /// </para> | 252 | /// </para> |
253 | /// <para> | 253 | /// <para> |
@@ -291,17 +291,17 @@ namespace OpenSim.Framework | |||
291 | /// Gets a value indicating whether <see cref="ICnmCache{TKey,TValue}"/> is limiting count of elements. | 291 | /// Gets a value indicating whether <see cref="ICnmCache{TKey,TValue}"/> is limiting count of elements. |
292 | /// </summary> | 292 | /// </summary> |
293 | /// <value> | 293 | /// <value> |
294 | /// <see langword="true"/> if the <see cref="ICnmCache{TKey,TValue}"/> count of elements is limited; | 294 | /// <see langword="true"/> if the <see cref="ICnmCache{TKey,TValue}"/> count of elements is limited; |
295 | /// otherwise, <see langword="false"/>. | 295 | /// otherwise, <see langword="false"/>. |
296 | /// </value> | 296 | /// </value> |
297 | /// <remarks> | 297 | /// <remarks> |
298 | /// <para> | 298 | /// <para> |
299 | /// When adding an new element to <see cref="ICnmCache{TKey,TValue}"/> that is limiting element count, | 299 | /// When adding an new element to <see cref="ICnmCache{TKey,TValue}"/> that is limiting element count, |
300 | /// <see cref="ICnmCache{TKey,TValue}"/> will remove less recently used elements until it can fit an new element. | 300 | /// <see cref="ICnmCache{TKey,TValue}"/> will remove less recently used elements until it can fit an new element. |
301 | /// </para> | 301 | /// </para> |
302 | /// </remarks> | 302 | /// </remarks> |
303 | /// <seealso cref="ICnmCache{TKey,TValue}.Count"/> | 303 | /// <seealso cref="ICnmCache{TKey,TValue}.Count"/> |
304 | /// <seealso cref="ICnmCache{TKey,TValue}.MaxCount"/> | 304 | /// <seealso cref="ICnmCache{TKey,TValue}.MaxCount"/> |
305 | /// <seealso cref="ICnmCache{TKey,TValue}.IsSizeLimited"/> | 305 | /// <seealso cref="ICnmCache{TKey,TValue}.IsSizeLimited"/> |
306 | /// <seealso cref="ICnmCache{TKey,TValue}.IsTimeLimited"/> | 306 | /// <seealso cref="ICnmCache{TKey,TValue}.IsTimeLimited"/> |
307 | public bool IsCountLimited | 307 | public bool IsCountLimited |
@@ -319,13 +319,13 @@ namespace OpenSim.Framework | |||
319 | /// Gets a value indicating whether <see cref="ICnmCache{TKey,TValue}"/> is limiting size of elements. | 319 | /// Gets a value indicating whether <see cref="ICnmCache{TKey,TValue}"/> is limiting size of elements. |
320 | /// </summary> | 320 | /// </summary> |
321 | /// <value> | 321 | /// <value> |
322 | /// <see langword="true"/> if the <see cref="ICnmCache{TKey,TValue}"/> total size of elements is limited; | 322 | /// <see langword="true"/> if the <see cref="ICnmCache{TKey,TValue}"/> total size of elements is limited; |
323 | /// otherwise, <see langword="false"/>. | 323 | /// otherwise, <see langword="false"/>. |
324 | /// </value> | 324 | /// </value> |
325 | /// <remarks> | 325 | /// <remarks> |
326 | /// <para> | 326 | /// <para> |
327 | /// When adding an new element to <see cref="ICnmCache{TKey,TValue}"/> that is limiting total size of elements, | 327 | /// When adding an new element to <see cref="ICnmCache{TKey,TValue}"/> that is limiting total size of elements, |
328 | /// <see cref="ICnmCache{TKey,TValue}"/> will remove less recently used elements until it can fit an new element. | 328 | /// <see cref="ICnmCache{TKey,TValue}"/> will remove less recently used elements until it can fit an new element. |
329 | /// </para> | 329 | /// </para> |
330 | /// </remarks> | 330 | /// </remarks> |
331 | /// <seealso cref="ICnmCache{TKey,TValue}.MaxElementSize"/> | 331 | /// <seealso cref="ICnmCache{TKey,TValue}.MaxElementSize"/> |
@@ -348,12 +348,12 @@ namespace OpenSim.Framework | |||
348 | /// Gets a value indicating whether or not access to the <see cref="ICnmCache{TKey,TValue}"/> is synchronized (thread safe). | 348 | /// Gets a value indicating whether or not access to the <see cref="ICnmCache{TKey,TValue}"/> is synchronized (thread safe). |
349 | /// </summary> | 349 | /// </summary> |
350 | /// <value> | 350 | /// <value> |
351 | /// <see langword="true"/> if access to the <see cref="ICnmCache{TKey,TValue}"/> is synchronized (thread safe); | 351 | /// <see langword="true"/> if access to the <see cref="ICnmCache{TKey,TValue}"/> is synchronized (thread safe); |
352 | /// otherwise, <see langword="false"/>. | 352 | /// otherwise, <see langword="false"/>. |
353 | /// </value> | 353 | /// </value> |
354 | /// <remarks> | 354 | /// <remarks> |
355 | /// <para> | 355 | /// <para> |
356 | /// To get synchronized (thread safe) access to <see cref="ICnmCache{TKey,TValue}"/> object, use | 356 | /// To get synchronized (thread safe) access to <see cref="ICnmCache{TKey,TValue}"/> object, use |
357 | /// <see cref="CnmSynchronizedCache{TKey,TValue}.Synchronized"/> in <see cref="CnmSynchronizedCache{TKey,TValue}"/> class | 357 | /// <see cref="CnmSynchronizedCache{TKey,TValue}.Synchronized"/> in <see cref="CnmSynchronizedCache{TKey,TValue}"/> class |
358 | /// to retrieve synchronized wrapper for <see cref="ICnmCache{TKey,TValue}"/> object. | 358 | /// to retrieve synchronized wrapper for <see cref="ICnmCache{TKey,TValue}"/> object. |
359 | /// </para> | 359 | /// </para> |
@@ -369,13 +369,13 @@ namespace OpenSim.Framework | |||
369 | /// Gets a value indicating whether elements stored to <see cref="ICnmCache{TKey,TValue}"/> have limited inactivity time. | 369 | /// Gets a value indicating whether elements stored to <see cref="ICnmCache{TKey,TValue}"/> have limited inactivity time. |
370 | /// </summary> | 370 | /// </summary> |
371 | /// <value> | 371 | /// <value> |
372 | /// <see langword="true"/> if the <see cref="ICnmCache{TKey,TValue}"/> has a fixed total size of elements; | 372 | /// <see langword="true"/> if the <see cref="ICnmCache{TKey,TValue}"/> has a fixed total size of elements; |
373 | /// otherwise, <see langword="false"/>. | 373 | /// otherwise, <see langword="false"/>. |
374 | /// </value> | 374 | /// </value> |
375 | /// <remarks> | 375 | /// <remarks> |
376 | /// If <see cref="ICnmCache{TKey,TValue}"/> have limited inactivity time and element is not accessed through <see cref="ICnmCache{TKey,TValue}.Set"/> | 376 | /// If <see cref="ICnmCache{TKey,TValue}"/> have limited inactivity time and element is not accessed through <see cref="ICnmCache{TKey,TValue}.Set"/> |
377 | /// or <see cref="ICnmCache{TKey,TValue}.TryGetValue"/> methods in <see cref="ICnmCache{TKey,TValue}.ExpirationTime"/> , then element is automatically removed from | 377 | /// or <see cref="ICnmCache{TKey,TValue}.TryGetValue"/> methods in <see cref="ICnmCache{TKey,TValue}.ExpirationTime"/> , then element is automatically removed from |
378 | /// the cache. Depending on implementation of the <see cref="ICnmCache{TKey,TValue}"/>, some of the elements may | 378 | /// the cache. Depending on implementation of the <see cref="ICnmCache{TKey,TValue}"/>, some of the elements may |
379 | /// stay longer in cache. | 379 | /// stay longer in cache. |
380 | /// </remarks> | 380 | /// </remarks> |
381 | /// <seealso cref="ICnmCache{TKey,TValue}.ExpirationTime"/> | 381 | /// <seealso cref="ICnmCache{TKey,TValue}.ExpirationTime"/> |
@@ -397,13 +397,13 @@ namespace OpenSim.Framework | |||
397 | /// Gets or sets maximal allowed count of elements that can be stored to <see cref="ICnmCache{TKey,TValue}"/>. | 397 | /// Gets or sets maximal allowed count of elements that can be stored to <see cref="ICnmCache{TKey,TValue}"/>. |
398 | /// </summary> | 398 | /// </summary> |
399 | /// <value> | 399 | /// <value> |
400 | /// <see cref="int.MaxValue"/>, if <see cref="ICnmCache{TKey,TValue}"/> is not limited by count of elements; | 400 | /// <see cref="int.MaxValue"/>, if <see cref="ICnmCache{TKey,TValue}"/> is not limited by count of elements; |
401 | /// otherwise maximal allowed count of elements. | 401 | /// otherwise maximal allowed count of elements. |
402 | /// </value> | 402 | /// </value> |
403 | /// <remarks> | 403 | /// <remarks> |
404 | /// <para> | 404 | /// <para> |
405 | /// When adding an new element to <see cref="ICnmCache{TKey,TValue}"/> that is limiting element count, | 405 | /// When adding an new element to <see cref="ICnmCache{TKey,TValue}"/> that is limiting element count, |
406 | /// <see cref="ICnmCache{TKey,TValue}"/> will remove less recently used elements until it can fit an new element. | 406 | /// <see cref="ICnmCache{TKey,TValue}"/> will remove less recently used elements until it can fit an new element. |
407 | /// </para> | 407 | /// </para> |
408 | /// </remarks> | 408 | /// </remarks> |
409 | public int MaxCount | 409 | public int MaxCount |
@@ -433,7 +433,7 @@ namespace OpenSim.Framework | |||
433 | /// </value> | 433 | /// </value> |
434 | /// <remarks> | 434 | /// <remarks> |
435 | /// <para> | 435 | /// <para> |
436 | /// If element's size is larger than <see cref="ICnmCache{TKey,TValue}.MaxElementSize"/>, then element is | 436 | /// If element's size is larger than <see cref="ICnmCache{TKey,TValue}.MaxElementSize"/>, then element is |
437 | /// not added to the <see cref="ICnmCache{TKey,TValue}"/>. | 437 | /// not added to the <see cref="ICnmCache{TKey,TValue}"/>. |
438 | /// </para> | 438 | /// </para> |
439 | /// </remarks> | 439 | /// </remarks> |
@@ -463,8 +463,8 @@ namespace OpenSim.Framework | |||
463 | /// Normally size is total bytes used by elements in the cache. But it can be any other suitable unit of measure. | 463 | /// Normally size is total bytes used by elements in the cache. But it can be any other suitable unit of measure. |
464 | /// </para> | 464 | /// </para> |
465 | /// <para> | 465 | /// <para> |
466 | /// When adding an new element to <see cref="ICnmCache{TKey,TValue}"/> that is limiting total size of elements, | 466 | /// When adding an new element to <see cref="ICnmCache{TKey,TValue}"/> that is limiting total size of elements, |
467 | /// <see cref="ICnmCache{TKey,TValue}"/> will remove less recently used elements until it can fit an new element. | 467 | /// <see cref="ICnmCache{TKey,TValue}"/> will remove less recently used elements until it can fit an new element. |
468 | /// </para> | 468 | /// </para> |
469 | /// </remarks> | 469 | /// </remarks> |
470 | /// <exception cref="ArgumentOutOfRangeException">value is less than 0.</exception> | 470 | /// <exception cref="ArgumentOutOfRangeException">value is less than 0.</exception> |
@@ -501,11 +501,11 @@ namespace OpenSim.Framework | |||
501 | /// Normally bytes, but can be any suitable unit of measure. | 501 | /// Normally bytes, but can be any suitable unit of measure. |
502 | /// </para> | 502 | /// </para> |
503 | /// <para> | 503 | /// <para> |
504 | /// Element's size is given when element is added or replaced by <see cref="ICnmCache{TKey,TValue}.Set"/> method. | 504 | /// Element's size is given when element is added or replaced by <see cref="ICnmCache{TKey,TValue}.Set"/> method. |
505 | /// </para> | 505 | /// </para> |
506 | /// <para> | 506 | /// <para> |
507 | /// When adding an new element to <see cref="ICnmCache{TKey,TValue}"/> that is limiting total size of elements, | 507 | /// When adding an new element to <see cref="ICnmCache{TKey,TValue}"/> that is limiting total size of elements, |
508 | /// <see cref="ICnmCache{TKey,TValue}"/> will remove less recently used elements until it can fit an new element. | 508 | /// <see cref="ICnmCache{TKey,TValue}"/> will remove less recently used elements until it can fit an new element. |
509 | /// </para> | 509 | /// </para> |
510 | /// </remarks> | 510 | /// </remarks> |
511 | /// <seealso cref="ICnmCache{TKey,TValue}.MaxElementSize"/> | 511 | /// <seealso cref="ICnmCache{TKey,TValue}.MaxElementSize"/> |
@@ -532,8 +532,8 @@ namespace OpenSim.Framework | |||
532 | /// </value> | 532 | /// </value> |
533 | /// <remarks> | 533 | /// <remarks> |
534 | /// <para> | 534 | /// <para> |
535 | /// To get synchronized (thread safe) access to <see cref="ICnmCache{TKey,TValue}"/>, use <see cref="CnmSynchronizedCache{TKey,TValue}"/> | 535 | /// To get synchronized (thread safe) access to <see cref="ICnmCache{TKey,TValue}"/>, use <see cref="CnmSynchronizedCache{TKey,TValue}"/> |
536 | /// method <see cref="CnmSynchronizedCache{TKey,TValue}.Synchronized"/> to retrieve synchronized wrapper interface to | 536 | /// method <see cref="CnmSynchronizedCache{TKey,TValue}.Synchronized"/> to retrieve synchronized wrapper interface to |
537 | /// <see cref="ICnmCache{TKey,TValue}"/>. | 537 | /// <see cref="ICnmCache{TKey,TValue}"/>. |
538 | /// </para> | 538 | /// </para> |
539 | /// </remarks> | 539 | /// </remarks> |
@@ -647,7 +647,7 @@ namespace OpenSim.Framework | |||
647 | } | 647 | } |
648 | 648 | ||
649 | /// <summary> | 649 | /// <summary> |
650 | /// Add or replace an element with the provided <paramref name="key"/>, <paramref name="value"/> and <paramref name="size"/> to | 650 | /// Add or replace an element with the provided <paramref name="key"/>, <paramref name="value"/> and <paramref name="size"/> to |
651 | /// <see cref="ICnmCache{TKey,TValue}"/>. | 651 | /// <see cref="ICnmCache{TKey,TValue}"/>. |
652 | /// </summary> | 652 | /// </summary> |
653 | /// <param name="key"> | 653 | /// <param name="key"> |
@@ -660,7 +660,7 @@ namespace OpenSim.Framework | |||
660 | /// The element's size. Normally bytes, but can be any suitable unit of measure. | 660 | /// The element's size. Normally bytes, but can be any suitable unit of measure. |
661 | /// </param> | 661 | /// </param> |
662 | /// <returns> | 662 | /// <returns> |
663 | /// <see langword="true"/>if element has been added successfully to the <see cref="ICnmCache{TKey,TValue}"/>; | 663 | /// <see langword="true"/>if element has been added successfully to the <see cref="ICnmCache{TKey,TValue}"/>; |
664 | /// otherwise <see langword="false"/>. | 664 | /// otherwise <see langword="false"/>. |
665 | /// </returns> | 665 | /// </returns> |
666 | /// <exception cref="ArgumentNullException"> | 666 | /// <exception cref="ArgumentNullException"> |
@@ -671,17 +671,17 @@ namespace OpenSim.Framework | |||
671 | /// </exception> | 671 | /// </exception> |
672 | /// <remarks> | 672 | /// <remarks> |
673 | /// <para> | 673 | /// <para> |
674 | /// If element's <paramref name="size"/> is larger than <see cref="ICnmCache{TKey,TValue}.MaxElementSize"/>, then element is | 674 | /// If element's <paramref name="size"/> is larger than <see cref="ICnmCache{TKey,TValue}.MaxElementSize"/>, then element is |
675 | /// not added to the <see cref="ICnmCache{TKey,TValue}"/>, however - possible older element is | 675 | /// not added to the <see cref="ICnmCache{TKey,TValue}"/>, however - possible older element is |
676 | /// removed from the <see cref="ICnmCache{TKey,TValue}"/>. | 676 | /// removed from the <see cref="ICnmCache{TKey,TValue}"/>. |
677 | /// </para> | 677 | /// </para> |
678 | /// <para> | 678 | /// <para> |
679 | /// When adding an new element to <see cref="ICnmCache{TKey,TValue}"/> that is limiting total size of elements, | 679 | /// When adding an new element to <see cref="ICnmCache{TKey,TValue}"/> that is limiting total size of elements, |
680 | /// <see cref="ICnmCache{TKey,TValue}"/>will remove less recently used elements until it can fit an new element. | 680 | /// <see cref="ICnmCache{TKey,TValue}"/>will remove less recently used elements until it can fit an new element. |
681 | /// </para> | 681 | /// </para> |
682 | /// <para> | 682 | /// <para> |
683 | /// When adding an new element to <see cref="ICnmCache{TKey,TValue}"/> that is limiting element count, | 683 | /// When adding an new element to <see cref="ICnmCache{TKey,TValue}"/> that is limiting element count, |
684 | /// <see cref="ICnmCache{TKey,TValue}"/>will remove less recently used elements until it can fit an new element. | 684 | /// <see cref="ICnmCache{TKey,TValue}"/>will remove less recently used elements until it can fit an new element. |
685 | /// </para> | 685 | /// </para> |
686 | /// </remarks> | 686 | /// </remarks> |
687 | /// <seealso cref="ICnmCache{TKey,TValue}.IsSizeLimited"/> | 687 | /// <seealso cref="ICnmCache{TKey,TValue}.IsSizeLimited"/> |
@@ -703,15 +703,15 @@ namespace OpenSim.Framework | |||
703 | /// Gets the <paramref name="value"/> associated with the specified <paramref name="key"/>. | 703 | /// Gets the <paramref name="value"/> associated with the specified <paramref name="key"/>. |
704 | /// </summary> | 704 | /// </summary> |
705 | /// <returns> | 705 | /// <returns> |
706 | /// <see langword="true"/>if the <see cref="ICnmCache{TKey,TValue}"/> contains an element with | 706 | /// <see langword="true"/>if the <see cref="ICnmCache{TKey,TValue}"/> contains an element with |
707 | /// the specified key; otherwise, <see langword="false"/>. | 707 | /// the specified key; otherwise, <see langword="false"/>. |
708 | /// </returns> | 708 | /// </returns> |
709 | /// <param name="key"> | 709 | /// <param name="key"> |
710 | /// The key whose <paramref name="value"/> to get. | 710 | /// The key whose <paramref name="value"/> to get. |
711 | /// </param> | 711 | /// </param> |
712 | /// <param name="value"> | 712 | /// <param name="value"> |
713 | /// When this method returns, the value associated with the specified <paramref name="key"/>, | 713 | /// When this method returns, the value associated with the specified <paramref name="key"/>, |
714 | /// if the <paramref name="key"/> is found; otherwise, the | 714 | /// if the <paramref name="key"/> is found; otherwise, the |
715 | /// default value for the type of the <paramref name="value"/> parameter. This parameter is passed uninitialized. | 715 | /// default value for the type of the <paramref name="value"/> parameter. This parameter is passed uninitialized. |
716 | /// </param> | 716 | /// </param> |
717 | /// <exception cref="ArgumentNullException"> | 717 | /// <exception cref="ArgumentNullException"> |
diff --git a/OpenSim/Framework/Console/CommandConsole.cs b/OpenSim/Framework/Console/CommandConsole.cs index 6b7cdf8..52360b4 100644 --- a/OpenSim/Framework/Console/CommandConsole.cs +++ b/OpenSim/Framework/Console/CommandConsole.cs | |||
@@ -52,27 +52,27 @@ namespace OpenSim.Framework.Console | |||
52 | /// The module from which this command comes | 52 | /// The module from which this command comes |
53 | /// </value> | 53 | /// </value> |
54 | public string module; | 54 | public string module; |
55 | 55 | ||
56 | /// <value> | 56 | /// <value> |
57 | /// Whether the module is shared | 57 | /// Whether the module is shared |
58 | /// </value> | 58 | /// </value> |
59 | public bool shared; | 59 | public bool shared; |
60 | 60 | ||
61 | /// <value> | 61 | /// <value> |
62 | /// Very short BNF description | 62 | /// Very short BNF description |
63 | /// </value> | 63 | /// </value> |
64 | public string help_text; | 64 | public string help_text; |
65 | 65 | ||
66 | /// <value> | 66 | /// <value> |
67 | /// Longer one line help text | 67 | /// Longer one line help text |
68 | /// </value> | 68 | /// </value> |
69 | public string long_help; | 69 | public string long_help; |
70 | 70 | ||
71 | /// <value> | 71 | /// <value> |
72 | /// Full descriptive help for this command | 72 | /// Full descriptive help for this command |
73 | /// </value> | 73 | /// </value> |
74 | public string descriptive_help; | 74 | public string descriptive_help; |
75 | 75 | ||
76 | /// <value> | 76 | /// <value> |
77 | /// The method to invoke for this command | 77 | /// The method to invoke for this command |
78 | /// </value> | 78 | /// </value> |
@@ -106,7 +106,7 @@ namespace OpenSim.Framework.Console | |||
106 | { | 106 | { |
107 | List<string> help = new List<string>(); | 107 | List<string> help = new List<string>(); |
108 | List<string> helpParts = new List<string>(cmd); | 108 | List<string> helpParts = new List<string>(cmd); |
109 | 109 | ||
110 | // Remove initial help keyword | 110 | // Remove initial help keyword |
111 | helpParts.RemoveAt(0); | 111 | helpParts.RemoveAt(0); |
112 | 112 | ||
@@ -154,7 +154,7 @@ namespace OpenSim.Framework.Console | |||
154 | 154 | ||
155 | return help; | 155 | return help; |
156 | } | 156 | } |
157 | 157 | ||
158 | /// <summary> | 158 | /// <summary> |
159 | /// See if we can find the requested command in order to display longer help | 159 | /// See if we can find the requested command in order to display longer help |
160 | /// </summary> | 160 | /// </summary> |
@@ -171,23 +171,23 @@ namespace OpenSim.Framework.Console | |||
171 | help.Insert(0, ItemHelpText); | 171 | help.Insert(0, ItemHelpText); |
172 | return help; | 172 | return help; |
173 | } | 173 | } |
174 | 174 | ||
175 | Dictionary<string, object> dict = tree; | 175 | Dictionary<string, object> dict = tree; |
176 | while (helpParts.Count > 0) | 176 | while (helpParts.Count > 0) |
177 | { | 177 | { |
178 | string helpPart = helpParts[0]; | 178 | string helpPart = helpParts[0]; |
179 | 179 | ||
180 | if (!dict.ContainsKey(helpPart)) | 180 | if (!dict.ContainsKey(helpPart)) |
181 | break; | 181 | break; |
182 | 182 | ||
183 | //m_log.Debug("Found {0}", helpParts[0]); | 183 | //m_log.Debug("Found {0}", helpParts[0]); |
184 | 184 | ||
185 | if (dict[helpPart] is Dictionary<string, Object>) | 185 | if (dict[helpPart] is Dictionary<string, Object>) |
186 | dict = (Dictionary<string, object>)dict[helpPart]; | 186 | dict = (Dictionary<string, object>)dict[helpPart]; |
187 | 187 | ||
188 | helpParts.RemoveAt(0); | 188 | helpParts.RemoveAt(0); |
189 | } | 189 | } |
190 | 190 | ||
191 | // There was a command for the given help string | 191 | // There was a command for the given help string |
192 | if (dict.ContainsKey(String.Empty)) | 192 | if (dict.ContainsKey(String.Empty)) |
193 | { | 193 | { |
@@ -200,14 +200,14 @@ namespace OpenSim.Framework.Console | |||
200 | // If we do have some descriptive help then insert a spacing line before for readability. | 200 | // If we do have some descriptive help then insert a spacing line before for readability. |
201 | if (descriptiveHelp != string.Empty) | 201 | if (descriptiveHelp != string.Empty) |
202 | help.Add(string.Empty); | 202 | help.Add(string.Empty); |
203 | 203 | ||
204 | help.Add(commandInfo.descriptive_help); | 204 | help.Add(commandInfo.descriptive_help); |
205 | } | 205 | } |
206 | else | 206 | else |
207 | { | 207 | { |
208 | help.Add(string.Format("No help is available for {0}", originalHelpRequest)); | 208 | help.Add(string.Format("No help is available for {0}", originalHelpRequest)); |
209 | } | 209 | } |
210 | 210 | ||
211 | return help; | 211 | return help; |
212 | } | 212 | } |
213 | 213 | ||
@@ -268,7 +268,7 @@ namespace OpenSim.Framework.Console | |||
268 | // } | 268 | // } |
269 | // return result; | 269 | // return result; |
270 | // } | 270 | // } |
271 | 271 | ||
272 | /// <summary> | 272 | /// <summary> |
273 | /// Add a command to those which can be invoked from the console. | 273 | /// Add a command to those which can be invoked from the console. |
274 | /// </summary> | 274 | /// </summary> |
@@ -299,7 +299,7 @@ namespace OpenSim.Framework.Console | |||
299 | string[] parts = Parser.Parse(command); | 299 | string[] parts = Parser.Parse(command); |
300 | 300 | ||
301 | Dictionary<string, Object> current = tree; | 301 | Dictionary<string, Object> current = tree; |
302 | 302 | ||
303 | foreach (string part in parts) | 303 | foreach (string part in parts) |
304 | { | 304 | { |
305 | if (current.ContainsKey(part)) | 305 | if (current.ContainsKey(part)) |
@@ -326,7 +326,7 @@ namespace OpenSim.Framework.Console | |||
326 | 326 | ||
327 | return; | 327 | return; |
328 | } | 328 | } |
329 | 329 | ||
330 | info = new CommandInfo(); | 330 | info = new CommandInfo(); |
331 | info.module = module; | 331 | info.module = module; |
332 | info.shared = shared; | 332 | info.shared = shared; |
@@ -471,7 +471,7 @@ namespace OpenSim.Framework.Console | |||
471 | 471 | ||
472 | return null; | 472 | return null; |
473 | } | 473 | } |
474 | 474 | ||
475 | public bool HasCommand(string command) | 475 | public bool HasCommand(string command) |
476 | { | 476 | { |
477 | string[] result; | 477 | string[] result; |
diff --git a/OpenSim/Framework/Console/ConsoleBase.cs b/OpenSim/Framework/Console/ConsoleBase.cs index 2d8e723..64cddea 100755 --- a/OpenSim/Framework/Console/ConsoleBase.cs +++ b/OpenSim/Framework/Console/ConsoleBase.cs | |||
@@ -67,7 +67,7 @@ namespace OpenSim.Framework.Console | |||
67 | { | 67 | { |
68 | System.Console.WriteLine(text); | 68 | System.Console.WriteLine(text); |
69 | } | 69 | } |
70 | 70 | ||
71 | public virtual void OutputFormat(string format, params object[] components) | 71 | public virtual void OutputFormat(string format, params object[] components) |
72 | { | 72 | { |
73 | Output(string.Format(format, components)); | 73 | Output(string.Format(format, components)); |
@@ -86,7 +86,7 @@ namespace OpenSim.Framework.Console | |||
86 | 86 | ||
87 | return ret; | 87 | return ret; |
88 | } | 88 | } |
89 | 89 | ||
90 | public string CmdPrompt(string p, List<char> excludedCharacters) | 90 | public string CmdPrompt(string p, List<char> excludedCharacters) |
91 | { | 91 | { |
92 | bool itisdone = false; | 92 | bool itisdone = false; |
@@ -95,7 +95,7 @@ namespace OpenSim.Framework.Console | |||
95 | { | 95 | { |
96 | itisdone = true; | 96 | itisdone = true; |
97 | ret = CmdPrompt(p); | 97 | ret = CmdPrompt(p); |
98 | 98 | ||
99 | foreach (char c in excludedCharacters) | 99 | foreach (char c in excludedCharacters) |
100 | { | 100 | { |
101 | if (ret.Contains(c.ToString())) | 101 | if (ret.Contains(c.ToString())) |
@@ -117,7 +117,7 @@ namespace OpenSim.Framework.Console | |||
117 | { | 117 | { |
118 | itisdone = true; | 118 | itisdone = true; |
119 | ret = CmdPrompt(p, def); | 119 | ret = CmdPrompt(p, def); |
120 | 120 | ||
121 | if (ret == String.Empty) | 121 | if (ret == String.Empty) |
122 | { | 122 | { |
123 | ret = def; | 123 | ret = def; |
diff --git a/OpenSim/Framework/Console/ConsoleUtil.cs b/OpenSim/Framework/Console/ConsoleUtil.cs index 44f6dc1..bfa05a2 100644 --- a/OpenSim/Framework/Console/ConsoleUtil.cs +++ b/OpenSim/Framework/Console/ConsoleUtil.cs | |||
@@ -40,7 +40,7 @@ namespace OpenSim.Framework.Console | |||
40 | // private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); | 40 | // private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); |
41 | 41 | ||
42 | public const int LocalIdNotFound = 0; | 42 | public const int LocalIdNotFound = 0; |
43 | 43 | ||
44 | /// <summary> | 44 | /// <summary> |
45 | /// Used by modules to display stock co-ordinate help, though possibly this should be under some general section | 45 | /// Used by modules to display stock co-ordinate help, though possibly this should be under some general section |
46 | /// rather than in each help summary. | 46 | /// rather than in each help summary. |
@@ -57,10 +57,10 @@ namespace OpenSim.Framework.Console | |||
57 | show object pos ,20,20 to ,40,40 | 57 | show object pos ,20,20 to ,40,40 |
58 | delete object pos ,,30 to ,,~ | 58 | delete object pos ,,30 to ,,~ |
59 | show object pos ,,-~ to ,,30"; | 59 | show object pos ,,-~ to ,,30"; |
60 | 60 | ||
61 | public const string MinRawConsoleVectorValue = "-~"; | 61 | public const string MinRawConsoleVectorValue = "-~"; |
62 | public const string MaxRawConsoleVectorValue = "~"; | 62 | public const string MaxRawConsoleVectorValue = "~"; |
63 | 63 | ||
64 | public const string VectorSeparator = ","; | 64 | public const string VectorSeparator = ","; |
65 | public static char[] VectorSeparatorChars = VectorSeparator.ToCharArray(); | 65 | public static char[] VectorSeparatorChars = VectorSeparator.ToCharArray(); |
66 | 66 | ||
@@ -81,7 +81,7 @@ namespace OpenSim.Framework.Console | |||
81 | 81 | ||
82 | return true; | 82 | return true; |
83 | } | 83 | } |
84 | 84 | ||
85 | /// <summary> | 85 | /// <summary> |
86 | /// Try to parse a console UUID from the console. | 86 | /// Try to parse a console UUID from the console. |
87 | /// </summary> | 87 | /// </summary> |
@@ -101,7 +101,7 @@ namespace OpenSim.Framework.Console | |||
101 | 101 | ||
102 | return false; | 102 | return false; |
103 | } | 103 | } |
104 | 104 | ||
105 | return true; | 105 | return true; |
106 | } | 106 | } |
107 | 107 | ||
@@ -259,7 +259,7 @@ namespace OpenSim.Framework.Console | |||
259 | 259 | ||
260 | return false; | 260 | return false; |
261 | } | 261 | } |
262 | 262 | ||
263 | /// <summary> | 263 | /// <summary> |
264 | /// Convert a minimum vector input from the console to an OpenMetaverse.Vector3 | 264 | /// Convert a minimum vector input from the console to an OpenMetaverse.Vector3 |
265 | /// </summary> | 265 | /// </summary> |
@@ -270,7 +270,7 @@ namespace OpenSim.Framework.Console | |||
270 | { | 270 | { |
271 | return TryParseConsoleVector(rawConsoleVector, c => float.MinValue.ToString(), out vector); | 271 | return TryParseConsoleVector(rawConsoleVector, c => float.MinValue.ToString(), out vector); |
272 | } | 272 | } |
273 | 273 | ||
274 | /// <summary> | 274 | /// <summary> |
275 | /// Convert a maximum vector input from the console to an OpenMetaverse.Vector3 | 275 | /// Convert a maximum vector input from the console to an OpenMetaverse.Vector3 |
276 | /// </summary> | 276 | /// </summary> |
@@ -281,7 +281,7 @@ namespace OpenSim.Framework.Console | |||
281 | { | 281 | { |
282 | return TryParseConsoleVector(rawConsoleVector, c => float.MaxValue.ToString(), out vector); | 282 | return TryParseConsoleVector(rawConsoleVector, c => float.MaxValue.ToString(), out vector); |
283 | } | 283 | } |
284 | 284 | ||
285 | /// <summary> | 285 | /// <summary> |
286 | /// Convert a vector input from the console to an OpenMetaverse.Vector3 | 286 | /// Convert a vector input from the console to an OpenMetaverse.Vector3 |
287 | /// </summary> | 287 | /// </summary> |
@@ -354,10 +354,10 @@ namespace OpenSim.Framework.Console | |||
354 | string rawConsoleVector, int dimensions, Func<string, string> blankComponentFunc) | 354 | string rawConsoleVector, int dimensions, Func<string, string> blankComponentFunc) |
355 | { | 355 | { |
356 | List<string> components = rawConsoleVector.Split(VectorSeparatorChars).ToList(); | 356 | List<string> components = rawConsoleVector.Split(VectorSeparatorChars).ToList(); |
357 | 357 | ||
358 | if (components.Count < 1 || components.Count > dimensions) | 358 | if (components.Count < 1 || components.Count > dimensions) |
359 | return null; | 359 | return null; |
360 | 360 | ||
361 | if (components.Count < dimensions) | 361 | if (components.Count < dimensions) |
362 | { | 362 | { |
363 | if (blankComponentFunc == null) | 363 | if (blankComponentFunc == null) |
@@ -380,7 +380,7 @@ namespace OpenSim.Framework.Console | |||
380 | else | 380 | else |
381 | return c; | 381 | return c; |
382 | }); | 382 | }); |
383 | 383 | ||
384 | return string.Join(VectorSeparator, cookedComponents.ToArray()); | 384 | return string.Join(VectorSeparator, cookedComponents.ToArray()); |
385 | } | 385 | } |
386 | } | 386 | } |
diff --git a/OpenSim/Framework/Console/LocalConsole.cs b/OpenSim/Framework/Console/LocalConsole.cs index 28293c0..73f0323 100644 --- a/OpenSim/Framework/Console/LocalConsole.cs +++ b/OpenSim/Framework/Console/LocalConsole.cs | |||
@@ -51,7 +51,7 @@ namespace OpenSim.Framework.Console | |||
51 | private const string LOGLEVEL_NONE = "(none)"; | 51 | private const string LOGLEVEL_NONE = "(none)"; |
52 | 52 | ||
53 | // Used to extract categories for colourization. | 53 | // Used to extract categories for colourization. |
54 | private Regex m_categoryRegex | 54 | private Regex m_categoryRegex |
55 | = new Regex( | 55 | = new Regex( |
56 | @"^(?<Front>.*?)\[(?<Category>[^\]]+)\]:?(?<End>.*)", RegexOptions.Singleline | RegexOptions.Compiled); | 56 | @"^(?<Front>.*?)\[(?<Category>[^\]]+)\]:?(?<End>.*)", RegexOptions.Singleline | RegexOptions.Compiled); |
57 | 57 | ||
@@ -167,15 +167,15 @@ namespace OpenSim.Framework.Console | |||
167 | { | 167 | { |
168 | System.Console.CursorLeft = 0; | 168 | System.Console.CursorLeft = 0; |
169 | } | 169 | } |
170 | else | 170 | else |
171 | { | 171 | { |
172 | int bufferWidth = System.Console.BufferWidth; | 172 | int bufferWidth = System.Console.BufferWidth; |
173 | 173 | ||
174 | // On Mono 2.4.2.3 (and possibly above), the buffer value is sometimes erroneously zero (Mantis 4657) | 174 | // On Mono 2.4.2.3 (and possibly above), the buffer value is sometimes erroneously zero (Mantis 4657) |
175 | if (bufferWidth > 0 && left >= bufferWidth) | 175 | if (bufferWidth > 0 && left >= bufferWidth) |
176 | System.Console.CursorLeft = bufferWidth - 1; | 176 | System.Console.CursorLeft = bufferWidth - 1; |
177 | } | 177 | } |
178 | 178 | ||
179 | if (top < 0) | 179 | if (top < 0) |
180 | { | 180 | { |
181 | top = 0; | 181 | top = 0; |
@@ -183,7 +183,7 @@ namespace OpenSim.Framework.Console | |||
183 | else | 183 | else |
184 | { | 184 | { |
185 | int bufferHeight = System.Console.BufferHeight; | 185 | int bufferHeight = System.Console.BufferHeight; |
186 | 186 | ||
187 | // On Mono 2.4.2.3 (and possibly above), the buffer value is sometimes erroneously zero (Mantis 4657) | 187 | // On Mono 2.4.2.3 (and possibly above), the buffer value is sometimes erroneously zero (Mantis 4657) |
188 | if (bufferHeight > 0 && top >= bufferHeight) | 188 | if (bufferHeight > 0 && top >= bufferHeight) |
189 | top = bufferHeight - 1; | 189 | top = bufferHeight - 1; |
@@ -216,14 +216,14 @@ namespace OpenSim.Framework.Console | |||
216 | { | 216 | { |
217 | System.Console.CursorTop = 0; | 217 | System.Console.CursorTop = 0; |
218 | } | 218 | } |
219 | else | 219 | else |
220 | { | 220 | { |
221 | int bufferHeight = System.Console.BufferHeight; | 221 | int bufferHeight = System.Console.BufferHeight; |
222 | // On Mono 2.4.2.3 (and possibly above), the buffer value is sometimes erroneously zero (Mantis 4657) | 222 | // On Mono 2.4.2.3 (and possibly above), the buffer value is sometimes erroneously zero (Mantis 4657) |
223 | if (bufferHeight > 0 && top >= bufferHeight) | 223 | if (bufferHeight > 0 && top >= bufferHeight) |
224 | System.Console.CursorTop = bufferHeight - 1; | 224 | System.Console.CursorTop = bufferHeight - 1; |
225 | } | 225 | } |
226 | 226 | ||
227 | if (left < 0) | 227 | if (left < 0) |
228 | { | 228 | { |
229 | left = 0; | 229 | left = 0; |
@@ -339,7 +339,7 @@ namespace OpenSim.Framework.Console | |||
339 | string outText = text; | 339 | string outText = text; |
340 | 340 | ||
341 | if (level != LOGLEVEL_NONE) | 341 | if (level != LOGLEVEL_NONE) |
342 | { | 342 | { |
343 | MatchCollection matches = m_categoryRegex.Matches(text); | 343 | MatchCollection matches = m_categoryRegex.Matches(text); |
344 | 344 | ||
345 | if (matches.Count == 1) | 345 | if (matches.Count == 1) |
@@ -364,7 +364,7 @@ namespace OpenSim.Framework.Console | |||
364 | WriteColorText(ConsoleColor.Yellow, outText); | 364 | WriteColorText(ConsoleColor.Yellow, outText); |
365 | else | 365 | else |
366 | System.Console.Write(outText); | 366 | System.Console.Write(outText); |
367 | 367 | ||
368 | System.Console.WriteLine(); | 368 | System.Console.WriteLine(); |
369 | } | 369 | } |
370 | 370 | ||
@@ -551,7 +551,7 @@ namespace OpenSim.Framework.Console | |||
551 | } | 551 | } |
552 | 552 | ||
553 | string commandLine = m_commandLine.ToString(); | 553 | string commandLine = m_commandLine.ToString(); |
554 | 554 | ||
555 | if (isCommand) | 555 | if (isCommand) |
556 | { | 556 | { |
557 | string[] cmd = Commands.Resolve(Parser.Parse(commandLine)); | 557 | string[] cmd = Commands.Resolve(Parser.Parse(commandLine)); |
@@ -573,7 +573,7 @@ namespace OpenSim.Framework.Console | |||
573 | // If we're not echoing to screen (e.g. a password) then we probably don't want it in history | 573 | // If we're not echoing to screen (e.g. a password) then we probably don't want it in history |
574 | if (m_echo && commandLine != "") | 574 | if (m_echo && commandLine != "") |
575 | AddToHistory(commandLine); | 575 | AddToHistory(commandLine); |
576 | 576 | ||
577 | return commandLine; | 577 | return commandLine; |
578 | default: | 578 | default: |
579 | break; | 579 | break; |
diff --git a/OpenSim/Framework/Console/MockConsole.cs b/OpenSim/Framework/Console/MockConsole.cs index 1a142df..e1ff720 100644 --- a/OpenSim/Framework/Console/MockConsole.cs +++ b/OpenSim/Framework/Console/MockConsole.cs | |||
@@ -35,7 +35,7 @@ namespace OpenSim.Framework.Console | |||
35 | { | 35 | { |
36 | /// <summary> | 36 | /// <summary> |
37 | /// This is a Fake console that's used when setting up the Scene in Unit Tests | 37 | /// This is a Fake console that's used when setting up the Scene in Unit Tests |
38 | /// Don't use this except for Unit Testing or you're in for a world of hurt when the | 38 | /// Don't use this except for Unit Testing or you're in for a world of hurt when the |
39 | /// sim gets to ReadLine | 39 | /// sim gets to ReadLine |
40 | /// </summary> | 40 | /// </summary> |
41 | public class MockConsole : ICommandConsole | 41 | public class MockConsole : ICommandConsole |
@@ -56,7 +56,7 @@ namespace OpenSim.Framework.Console | |||
56 | 56 | ||
57 | public string ReadLine(string p, bool isCommand, bool e) { return ""; } | 57 | public string ReadLine(string p, bool isCommand, bool e) { return ""; } |
58 | 58 | ||
59 | public object ConsoleScene { | 59 | public object ConsoleScene { |
60 | get { return null; } | 60 | get { return null; } |
61 | set {} | 61 | set {} |
62 | } | 62 | } |
diff --git a/OpenSim/Framework/Console/RemoteConsole.cs b/OpenSim/Framework/Console/RemoteConsole.cs index 9049b4b..f59c902 100644 --- a/OpenSim/Framework/Console/RemoteConsole.cs +++ b/OpenSim/Framework/Console/RemoteConsole.cs | |||
@@ -46,93 +46,93 @@ namespace OpenSim.Framework.Console | |||
46 | // | 46 | // |
47 | public class RemoteConsole : CommandConsole | 47 | public class RemoteConsole : CommandConsole |
48 | { | 48 | { |
49 | // Connection specific data, indexed by a session ID | 49 | // Connection specific data, indexed by a session ID |
50 | // we create when a client connects. | 50 | // we create when a client connects. |
51 | protected class ConsoleConnection | 51 | protected class ConsoleConnection |
52 | { | 52 | { |
53 | // Last activity from the client | 53 | // Last activity from the client |
54 | public int last; | 54 | public int last; |
55 | 55 | ||
56 | // Last line of scrollback posted to this client | 56 | // Last line of scrollback posted to this client |
57 | public long lastLineSeen; | 57 | public long lastLineSeen; |
58 | 58 | ||
59 | // True if this is a new connection, e.g. has never | 59 | // True if this is a new connection, e.g. has never |
60 | // displayed a prompt to the user. | 60 | // displayed a prompt to the user. |
61 | public bool newConnection = true; | 61 | public bool newConnection = true; |
62 | } | 62 | } |
63 | 63 | ||
64 | // A line in the scrollback buffer. | 64 | // A line in the scrollback buffer. |
65 | protected class ScrollbackEntry | 65 | protected class ScrollbackEntry |
66 | { | 66 | { |
67 | // The line number of this entry | 67 | // The line number of this entry |
68 | public long lineNumber; | 68 | public long lineNumber; |
69 | 69 | ||
70 | // The text to send to the client | 70 | // The text to send to the client |
71 | public string text; | 71 | public string text; |
72 | 72 | ||
73 | // The level this should be logged as. Omitted for | 73 | // The level this should be logged as. Omitted for |
74 | // prompts and input echo. | 74 | // prompts and input echo. |
75 | public string level; | 75 | public string level; |
76 | 76 | ||
77 | // True if the text above is a prompt, e.g. the | 77 | // True if the text above is a prompt, e.g. the |
78 | // client should turn on the cursor / accept input | 78 | // client should turn on the cursor / accept input |
79 | public bool isPrompt; | 79 | public bool isPrompt; |
80 | 80 | ||
81 | // True if the requested input is a command. A | 81 | // True if the requested input is a command. A |
82 | // client may offer help or validate input if | 82 | // client may offer help or validate input if |
83 | // this is set. If false, input should be sent | 83 | // this is set. If false, input should be sent |
84 | // as typed. | 84 | // as typed. |
85 | public bool isCommand; | 85 | public bool isCommand; |
86 | 86 | ||
87 | // True if this text represents a line of text that | 87 | // True if this text represents a line of text that |
88 | // was input in response to a prompt. A client should | 88 | // was input in response to a prompt. A client should |
89 | // turn off the cursor and refrain from sending commands | 89 | // turn off the cursor and refrain from sending commands |
90 | // until a new prompt is received. | 90 | // until a new prompt is received. |
91 | public bool isInput; | 91 | public bool isInput; |
92 | } | 92 | } |
93 | 93 | ||
94 | // Data that is relevant to all connections | 94 | // Data that is relevant to all connections |
95 | 95 | ||
96 | // The scrollback buffer | 96 | // The scrollback buffer |
97 | protected List<ScrollbackEntry> m_Scrollback = new List<ScrollbackEntry>(); | 97 | protected List<ScrollbackEntry> m_Scrollback = new List<ScrollbackEntry>(); |
98 | 98 | ||
99 | // Monotonously incrementing line number. This may eventually | 99 | // Monotonously incrementing line number. This may eventually |
100 | // wrap. No provision is made for that case because 64 bits | 100 | // wrap. No provision is made for that case because 64 bits |
101 | // is a long, long time. | 101 | // is a long, long time. |
102 | protected long m_lineNumber = 0; | 102 | protected long m_lineNumber = 0; |
103 | 103 | ||
104 | // These two variables allow us to send the correct | 104 | // These two variables allow us to send the correct |
105 | // information about the prompt status to the client, | 105 | // information about the prompt status to the client, |
106 | // irrespective of what may have run off the top of the | 106 | // irrespective of what may have run off the top of the |
107 | // scrollback buffer; | 107 | // scrollback buffer; |
108 | protected bool m_expectingInput = false; | 108 | protected bool m_expectingInput = false; |
109 | protected bool m_expectingCommand = true; | 109 | protected bool m_expectingCommand = true; |
110 | protected string m_lastPromptUsed; | 110 | protected string m_lastPromptUsed; |
111 | 111 | ||
112 | // This is the list of things received from clients. | 112 | // This is the list of things received from clients. |
113 | // Note: Race conditions can happen. If a client sends | 113 | // Note: Race conditions can happen. If a client sends |
114 | // something while nothing is expected, it will be | 114 | // something while nothing is expected, it will be |
115 | // intepreted as input to the next prompt. For | 115 | // intepreted as input to the next prompt. For |
116 | // commands this is largely correct. For other prompts, | 116 | // commands this is largely correct. For other prompts, |
117 | // YMMV. | 117 | // YMMV. |
118 | // TODO: Find a better way to fix this | 118 | // TODO: Find a better way to fix this |
119 | protected List<string> m_InputData = new List<string>(); | 119 | protected List<string> m_InputData = new List<string>(); |
120 | 120 | ||
121 | // Event to allow ReadLine to wait synchronously even though | 121 | // Event to allow ReadLine to wait synchronously even though |
122 | // everthing else is asynchronous here. | 122 | // everthing else is asynchronous here. |
123 | protected ManualResetEvent m_DataEvent = new ManualResetEvent(false); | 123 | protected ManualResetEvent m_DataEvent = new ManualResetEvent(false); |
124 | 124 | ||
125 | // The list of sessions we maintain. Unlike other console types, | 125 | // The list of sessions we maintain. Unlike other console types, |
126 | // multiple users on the same console are explicitly allowed. | 126 | // multiple users on the same console are explicitly allowed. |
127 | protected Dictionary<UUID, ConsoleConnection> m_Connections = | 127 | protected Dictionary<UUID, ConsoleConnection> m_Connections = |
128 | new Dictionary<UUID, ConsoleConnection>(); | 128 | new Dictionary<UUID, ConsoleConnection>(); |
129 | 129 | ||
130 | // Timer to control expiration of sessions that have been | 130 | // Timer to control expiration of sessions that have been |
131 | // disconnected. | 131 | // disconnected. |
132 | protected System.Timers.Timer m_expireTimer = new System.Timers.Timer(5000); | 132 | protected System.Timers.Timer m_expireTimer = new System.Timers.Timer(5000); |
133 | 133 | ||
134 | // The less interesting stuff that makes the actual server | 134 | // The less interesting stuff that makes the actual server |
135 | // work. | 135 | // work. |
136 | protected IHttpServer m_Server = null; | 136 | protected IHttpServer m_Server = null; |
137 | protected IConfigSource m_Config = null; | 137 | protected IConfigSource m_Config = null; |
138 | 138 | ||
@@ -143,130 +143,130 @@ namespace OpenSim.Framework.Console | |||
143 | 143 | ||
144 | public RemoteConsole(string defaultPrompt) : base(defaultPrompt) | 144 | public RemoteConsole(string defaultPrompt) : base(defaultPrompt) |
145 | { | 145 | { |
146 | // There is something wrong with this architecture. | 146 | // There is something wrong with this architecture. |
147 | // A prompt is sent on every single input, so why have this? | 147 | // A prompt is sent on every single input, so why have this? |
148 | // TODO: Investigate and fix. | 148 | // TODO: Investigate and fix. |
149 | m_lastPromptUsed = defaultPrompt; | 149 | m_lastPromptUsed = defaultPrompt; |
150 | 150 | ||
151 | // Start expiration of sesssions. | 151 | // Start expiration of sesssions. |
152 | m_expireTimer.Elapsed += DoExpire; | 152 | m_expireTimer.Elapsed += DoExpire; |
153 | m_expireTimer.Start(); | 153 | m_expireTimer.Start(); |
154 | } | 154 | } |
155 | 155 | ||
156 | public void ReadConfig(IConfigSource config) | 156 | public void ReadConfig(IConfigSource config) |
157 | { | 157 | { |
158 | m_Config = config; | 158 | m_Config = config; |
159 | 159 | ||
160 | // We're pulling this from the 'Network' section for legacy | 160 | // We're pulling this from the 'Network' section for legacy |
161 | // compatibility. However, this is so essentially insecure | 161 | // compatibility. However, this is so essentially insecure |
162 | // that TLS and client certs should be used instead of | 162 | // that TLS and client certs should be used instead of |
163 | // a username / password. | 163 | // a username / password. |
164 | IConfig netConfig = m_Config.Configs["Network"]; | 164 | IConfig netConfig = m_Config.Configs["Network"]; |
165 | 165 | ||
166 | if (netConfig == null) | 166 | if (netConfig == null) |
167 | return; | 167 | return; |
168 | 168 | ||
169 | // Get the username and password. | 169 | // Get the username and password. |
170 | m_UserName = netConfig.GetString("ConsoleUser", String.Empty); | 170 | m_UserName = netConfig.GetString("ConsoleUser", String.Empty); |
171 | m_Password = netConfig.GetString("ConsolePass", String.Empty); | 171 | m_Password = netConfig.GetString("ConsolePass", String.Empty); |
172 | 172 | ||
173 | // Woefully underdocumented, this is what makes javascript | 173 | // Woefully underdocumented, this is what makes javascript |
174 | // console clients work. Set to "*" for anywhere or (better) | 174 | // console clients work. Set to "*" for anywhere or (better) |
175 | // to specific addresses. | 175 | // to specific addresses. |
176 | m_AllowedOrigin = netConfig.GetString("ConsoleAllowedOrigin", String.Empty); | 176 | m_AllowedOrigin = netConfig.GetString("ConsoleAllowedOrigin", String.Empty); |
177 | } | 177 | } |
178 | 178 | ||
179 | public void SetServer(IHttpServer server) | 179 | public void SetServer(IHttpServer server) |
180 | { | 180 | { |
181 | // This is called by the framework to give us the server | 181 | // This is called by the framework to give us the server |
182 | // instance (means: port) to work with. | 182 | // instance (means: port) to work with. |
183 | m_Server = server; | 183 | m_Server = server; |
184 | 184 | ||
185 | // Add our handlers | 185 | // Add our handlers |
186 | m_Server.AddHTTPHandler("/StartSession/", HandleHttpStartSession); | 186 | m_Server.AddHTTPHandler("/StartSession/", HandleHttpStartSession); |
187 | m_Server.AddHTTPHandler("/CloseSession/", HandleHttpCloseSession); | 187 | m_Server.AddHTTPHandler("/CloseSession/", HandleHttpCloseSession); |
188 | m_Server.AddHTTPHandler("/SessionCommand/", HandleHttpSessionCommand); | 188 | m_Server.AddHTTPHandler("/SessionCommand/", HandleHttpSessionCommand); |
189 | } | 189 | } |
190 | 190 | ||
191 | public override void Output(string text, string level) | 191 | public override void Output(string text, string level) |
192 | { | 192 | { |
193 | Output(text, level, false, false, false); | 193 | Output(text, level, false, false, false); |
194 | } | 194 | } |
195 | 195 | ||
196 | protected void Output(string text, string level, bool isPrompt, bool isCommand, bool isInput) | 196 | protected void Output(string text, string level, bool isPrompt, bool isCommand, bool isInput) |
197 | { | 197 | { |
198 | // Increment the line number. It was 0 and they start at 1 | 198 | // Increment the line number. It was 0 and they start at 1 |
199 | // so we need to pre-increment. | 199 | // so we need to pre-increment. |
200 | m_lineNumber++; | 200 | m_lineNumber++; |
201 | 201 | ||
202 | // Create and populate the new entry. | 202 | // Create and populate the new entry. |
203 | ScrollbackEntry newEntry = new ScrollbackEntry(); | 203 | ScrollbackEntry newEntry = new ScrollbackEntry(); |
204 | 204 | ||
205 | newEntry.lineNumber = m_lineNumber; | 205 | newEntry.lineNumber = m_lineNumber; |
206 | newEntry.text = text; | 206 | newEntry.text = text; |
207 | newEntry.level = level; | 207 | newEntry.level = level; |
208 | newEntry.isPrompt = isPrompt; | 208 | newEntry.isPrompt = isPrompt; |
209 | newEntry.isCommand = isCommand; | 209 | newEntry.isCommand = isCommand; |
210 | newEntry.isInput = isInput; | 210 | newEntry.isInput = isInput; |
211 | 211 | ||
212 | // Add a line to the scrollback. In some cases, that may not | 212 | // Add a line to the scrollback. In some cases, that may not |
213 | // actually be a line of text. | 213 | // actually be a line of text. |
214 | lock (m_Scrollback) | 214 | lock (m_Scrollback) |
215 | { | 215 | { |
216 | // Prune the scrollback to the length se send as connect | 216 | // Prune the scrollback to the length se send as connect |
217 | // burst to give the user some context. | 217 | // burst to give the user some context. |
218 | while (m_Scrollback.Count >= 1000) | 218 | while (m_Scrollback.Count >= 1000) |
219 | m_Scrollback.RemoveAt(0); | 219 | m_Scrollback.RemoveAt(0); |
220 | 220 | ||
221 | m_Scrollback.Add(newEntry); | 221 | m_Scrollback.Add(newEntry); |
222 | } | 222 | } |
223 | 223 | ||
224 | // Let the rest of the system know we have output something. | 224 | // Let the rest of the system know we have output something. |
225 | FireOnOutput(text.Trim()); | 225 | FireOnOutput(text.Trim()); |
226 | 226 | ||
227 | // Also display it for debugging. | 227 | // Also display it for debugging. |
228 | System.Console.WriteLine(text.Trim()); | 228 | System.Console.WriteLine(text.Trim()); |
229 | } | 229 | } |
230 | 230 | ||
231 | public override void Output(string text) | 231 | public override void Output(string text) |
232 | { | 232 | { |
233 | // Output plain (non-logging style) text. | 233 | // Output plain (non-logging style) text. |
234 | Output(text, String.Empty, false, false, false); | 234 | Output(text, String.Empty, false, false, false); |
235 | } | 235 | } |
236 | 236 | ||
237 | public override string ReadLine(string p, bool isCommand, bool e) | 237 | public override string ReadLine(string p, bool isCommand, bool e) |
238 | { | 238 | { |
239 | // Output the prompt an prepare to wait. This | 239 | // Output the prompt an prepare to wait. This |
240 | // is called on a dedicated console thread and | 240 | // is called on a dedicated console thread and |
241 | // needs to be synchronous. Old architecture but | 241 | // needs to be synchronous. Old architecture but |
242 | // not worth upgrading. | 242 | // not worth upgrading. |
243 | if (isCommand) | 243 | if (isCommand) |
244 | { | 244 | { |
245 | m_expectingInput = true; | 245 | m_expectingInput = true; |
246 | m_expectingCommand = true; | 246 | m_expectingCommand = true; |
247 | Output(p, String.Empty, true, true, false); | 247 | Output(p, String.Empty, true, true, false); |
248 | m_lastPromptUsed = p; | 248 | m_lastPromptUsed = p; |
249 | } | 249 | } |
250 | else | 250 | else |
251 | { | 251 | { |
252 | m_expectingInput = true; | 252 | m_expectingInput = true; |
253 | Output(p, String.Empty, true, false, false); | 253 | Output(p, String.Empty, true, false, false); |
254 | } | 254 | } |
255 | 255 | ||
256 | 256 | ||
257 | // Here is where we wait for the user to input something. | 257 | // Here is where we wait for the user to input something. |
258 | m_DataEvent.WaitOne(); | 258 | m_DataEvent.WaitOne(); |
259 | 259 | ||
260 | string cmdinput; | 260 | string cmdinput; |
261 | 261 | ||
262 | // Check for empty input. Read input if not empty. | 262 | // Check for empty input. Read input if not empty. |
263 | lock (m_InputData) | 263 | lock (m_InputData) |
264 | { | 264 | { |
265 | if (m_InputData.Count == 0) | 265 | if (m_InputData.Count == 0) |
266 | { | 266 | { |
267 | m_DataEvent.Reset(); | 267 | m_DataEvent.Reset(); |
268 | m_expectingInput = false; | 268 | m_expectingInput = false; |
269 | m_expectingCommand = false; | 269 | m_expectingCommand = false; |
270 | 270 | ||
271 | return ""; | 271 | return ""; |
272 | } | 272 | } |
@@ -278,19 +278,19 @@ namespace OpenSim.Framework.Console | |||
278 | 278 | ||
279 | } | 279 | } |
280 | 280 | ||
281 | m_expectingInput = false; | 281 | m_expectingInput = false; |
282 | m_expectingCommand = false; | 282 | m_expectingCommand = false; |
283 | 283 | ||
284 | // Echo to all the other users what we have done. This | 284 | // Echo to all the other users what we have done. This |
285 | // will also go to ourselves. | 285 | // will also go to ourselves. |
286 | Output (cmdinput, String.Empty, false, false, true); | 286 | Output (cmdinput, String.Empty, false, false, true); |
287 | 287 | ||
288 | // If this is a command, we need to resolve and execute it. | 288 | // If this is a command, we need to resolve and execute it. |
289 | if (isCommand) | 289 | if (isCommand) |
290 | { | 290 | { |
291 | // This call will actually execute the command and create | 291 | // This call will actually execute the command and create |
292 | // any output associated with it. The core just gets an | 292 | // any output associated with it. The core just gets an |
293 | // empty string so it will call again immediately. | 293 | // empty string so it will call again immediately. |
294 | string[] cmd = Commands.Resolve(Parser.Parse(cmdinput)); | 294 | string[] cmd = Commands.Resolve(Parser.Parse(cmdinput)); |
295 | 295 | ||
296 | if (cmd.Length != 0) | 296 | if (cmd.Length != 0) |
@@ -306,11 +306,11 @@ namespace OpenSim.Framework.Console | |||
306 | } | 306 | } |
307 | } | 307 | } |
308 | 308 | ||
309 | // Return the raw input string if not a command. | 309 | // Return the raw input string if not a command. |
310 | return cmdinput; | 310 | return cmdinput; |
311 | } | 311 | } |
312 | 312 | ||
313 | // Very simplistic static access control header. | 313 | // Very simplistic static access control header. |
314 | protected Hashtable CheckOrigin(Hashtable result) | 314 | protected Hashtable CheckOrigin(Hashtable result) |
315 | { | 315 | { |
316 | if (!string.IsNullOrEmpty(m_AllowedOrigin)) | 316 | if (!string.IsNullOrEmpty(m_AllowedOrigin)) |
@@ -338,21 +338,21 @@ namespace OpenSim.Framework.Console | |||
338 | 338 | ||
339 | protected void DoExpire(Object sender, ElapsedEventArgs e) | 339 | protected void DoExpire(Object sender, ElapsedEventArgs e) |
340 | { | 340 | { |
341 | // Iterate the list of console connections and find those we | 341 | // Iterate the list of console connections and find those we |
342 | // haven't heard from for longer then the longpoll interval. | 342 | // haven't heard from for longer then the longpoll interval. |
343 | // Remove them. | 343 | // Remove them. |
344 | List<UUID> expired = new List<UUID>(); | 344 | List<UUID> expired = new List<UUID>(); |
345 | 345 | ||
346 | lock (m_Connections) | 346 | lock (m_Connections) |
347 | { | 347 | { |
348 | // Mark the expired ones | 348 | // Mark the expired ones |
349 | foreach (KeyValuePair<UUID, ConsoleConnection> kvp in m_Connections) | 349 | foreach (KeyValuePair<UUID, ConsoleConnection> kvp in m_Connections) |
350 | { | 350 | { |
351 | if (System.Environment.TickCount - kvp.Value.last > 500000) | 351 | if (System.Environment.TickCount - kvp.Value.last > 500000) |
352 | expired.Add(kvp.Key); | 352 | expired.Add(kvp.Key); |
353 | } | 353 | } |
354 | 354 | ||
355 | // Delete them | 355 | // Delete them |
356 | foreach (UUID id in expired) | 356 | foreach (UUID id in expired) |
357 | { | 357 | { |
358 | m_Connections.Remove(id); | 358 | m_Connections.Remove(id); |
@@ -361,10 +361,10 @@ namespace OpenSim.Framework.Console | |||
361 | } | 361 | } |
362 | } | 362 | } |
363 | 363 | ||
364 | // Start a new session. | 364 | // Start a new session. |
365 | protected Hashtable HandleHttpStartSession(Hashtable request) | 365 | protected Hashtable HandleHttpStartSession(Hashtable request) |
366 | { | 366 | { |
367 | // The login is in the form of a http form post | 367 | // The login is in the form of a http form post |
368 | Hashtable post = DecodePostString(request["body"].ToString()); | 368 | Hashtable post = DecodePostString(request["body"].ToString()); |
369 | Hashtable reply = new Hashtable(); | 369 | Hashtable reply = new Hashtable(); |
370 | 370 | ||
@@ -372,7 +372,7 @@ namespace OpenSim.Framework.Console | |||
372 | reply["int_response_code"] = 401; | 372 | reply["int_response_code"] = 401; |
373 | reply["content_type"] = "text/plain"; | 373 | reply["content_type"] = "text/plain"; |
374 | 374 | ||
375 | // Check user name and password | 375 | // Check user name and password |
376 | if (m_UserName == String.Empty) | 376 | if (m_UserName == String.Empty) |
377 | return reply; | 377 | return reply; |
378 | 378 | ||
@@ -385,28 +385,28 @@ namespace OpenSim.Framework.Console | |||
385 | return reply; | 385 | return reply; |
386 | } | 386 | } |
387 | 387 | ||
388 | // Set up the new console connection record | 388 | // Set up the new console connection record |
389 | ConsoleConnection c = new ConsoleConnection(); | 389 | ConsoleConnection c = new ConsoleConnection(); |
390 | c.last = System.Environment.TickCount; | 390 | c.last = System.Environment.TickCount; |
391 | c.lastLineSeen = 0; | 391 | c.lastLineSeen = 0; |
392 | 392 | ||
393 | // Assign session ID | 393 | // Assign session ID |
394 | UUID sessionID = UUID.Random(); | 394 | UUID sessionID = UUID.Random(); |
395 | 395 | ||
396 | // Add connection to list. | 396 | // Add connection to list. |
397 | lock (m_Connections) | 397 | lock (m_Connections) |
398 | { | 398 | { |
399 | m_Connections[sessionID] = c; | 399 | m_Connections[sessionID] = c; |
400 | } | 400 | } |
401 | 401 | ||
402 | // This call is a CAP. The URL is the authentication. | 402 | // This call is a CAP. The URL is the authentication. |
403 | string uri = "/ReadResponses/" + sessionID.ToString() + "/"; | 403 | string uri = "/ReadResponses/" + sessionID.ToString() + "/"; |
404 | 404 | ||
405 | m_Server.AddPollServiceHTTPHandler( | 405 | m_Server.AddPollServiceHTTPHandler( |
406 | uri, new PollServiceEventArgs(null, uri, HasEvents, GetEvents, NoEvents, sessionID,25000)); // 25 secs timeout | 406 | uri, new PollServiceEventArgs(null, uri, HasEvents, GetEvents, NoEvents, sessionID,25000)); // 25 secs timeout |
407 | 407 | ||
408 | // Our reply is an XML document. | 408 | // Our reply is an XML document. |
409 | // TODO: Change this to Linq.Xml | 409 | // TODO: Change this to Linq.Xml |
410 | XmlDocument xmldoc = new XmlDocument(); | 410 | XmlDocument xmldoc = new XmlDocument(); |
411 | XmlNode xmlnode = xmldoc.CreateNode(XmlNodeType.XmlDeclaration, | 411 | XmlNode xmlnode = xmldoc.CreateNode(XmlNodeType.XmlDeclaration, |
412 | "", ""); | 412 | "", ""); |
@@ -429,7 +429,7 @@ namespace OpenSim.Framework.Console | |||
429 | 429 | ||
430 | rootElement.AppendChild(MainConsole.Instance.Commands.GetXml(xmldoc)); | 430 | rootElement.AppendChild(MainConsole.Instance.Commands.GetXml(xmldoc)); |
431 | 431 | ||
432 | // Set up the response and check origin | 432 | // Set up the response and check origin |
433 | reply["str_response_string"] = xmldoc.InnerXml; | 433 | reply["str_response_string"] = xmldoc.InnerXml; |
434 | reply["int_response_code"] = 200; | 434 | reply["int_response_code"] = 200; |
435 | reply["content_type"] = "text/xml"; | 435 | reply["content_type"] = "text/xml"; |
@@ -438,7 +438,7 @@ namespace OpenSim.Framework.Console | |||
438 | return reply; | 438 | return reply; |
439 | } | 439 | } |
440 | 440 | ||
441 | // Client closes session. Clean up. | 441 | // Client closes session. Clean up. |
442 | protected Hashtable HandleHttpCloseSession(Hashtable request) | 442 | protected Hashtable HandleHttpCloseSession(Hashtable request) |
443 | { | 443 | { |
444 | Hashtable post = DecodePostString(request["body"].ToString()); | 444 | Hashtable post = DecodePostString(request["body"].ToString()); |
@@ -487,7 +487,7 @@ namespace OpenSim.Framework.Console | |||
487 | return reply; | 487 | return reply; |
488 | } | 488 | } |
489 | 489 | ||
490 | // Command received from the client. | 490 | // Command received from the client. |
491 | protected Hashtable HandleHttpSessionCommand(Hashtable request) | 491 | protected Hashtable HandleHttpSessionCommand(Hashtable request) |
492 | { | 492 | { |
493 | Hashtable post = DecodePostString(request["body"].ToString()); | 493 | Hashtable post = DecodePostString(request["body"].ToString()); |
@@ -497,7 +497,7 @@ namespace OpenSim.Framework.Console | |||
497 | reply["int_response_code"] = 404; | 497 | reply["int_response_code"] = 404; |
498 | reply["content_type"] = "text/plain"; | 498 | reply["content_type"] = "text/plain"; |
499 | 499 | ||
500 | // Check the ID | 500 | // Check the ID |
501 | if (post["ID"] == null) | 501 | if (post["ID"] == null) |
502 | return reply; | 502 | return reply; |
503 | 503 | ||
@@ -505,25 +505,25 @@ namespace OpenSim.Framework.Console | |||
505 | if (!UUID.TryParse(post["ID"].ToString(), out id)) | 505 | if (!UUID.TryParse(post["ID"].ToString(), out id)) |
506 | return reply; | 506 | return reply; |
507 | 507 | ||
508 | // Find the connection for that ID. | 508 | // Find the connection for that ID. |
509 | lock (m_Connections) | 509 | lock (m_Connections) |
510 | { | 510 | { |
511 | if (!m_Connections.ContainsKey(id)) | 511 | if (!m_Connections.ContainsKey(id)) |
512 | return reply; | 512 | return reply; |
513 | } | 513 | } |
514 | 514 | ||
515 | // Empty post. Just error out. | 515 | // Empty post. Just error out. |
516 | if (post["COMMAND"] == null) | 516 | if (post["COMMAND"] == null) |
517 | return reply; | 517 | return reply; |
518 | 518 | ||
519 | // Place the input data in the buffer. | 519 | // Place the input data in the buffer. |
520 | lock (m_InputData) | 520 | lock (m_InputData) |
521 | { | 521 | { |
522 | m_DataEvent.Set(); | 522 | m_DataEvent.Set(); |
523 | m_InputData.Add(post["COMMAND"].ToString()); | 523 | m_InputData.Add(post["COMMAND"].ToString()); |
524 | } | 524 | } |
525 | 525 | ||
526 | // Create the XML reply document. | 526 | // Create the XML reply document. |
527 | XmlDocument xmldoc = new XmlDocument(); | 527 | XmlDocument xmldoc = new XmlDocument(); |
528 | XmlNode xmlnode = xmldoc.CreateNode(XmlNodeType.XmlDeclaration, | 528 | XmlNode xmlnode = xmldoc.CreateNode(XmlNodeType.XmlDeclaration, |
529 | "", ""); | 529 | "", ""); |
@@ -547,7 +547,7 @@ namespace OpenSim.Framework.Console | |||
547 | return reply; | 547 | return reply; |
548 | } | 548 | } |
549 | 549 | ||
550 | // Decode a HTTP form post to a Hashtable | 550 | // Decode a HTTP form post to a Hashtable |
551 | protected Hashtable DecodePostString(string data) | 551 | protected Hashtable DecodePostString(string data) |
552 | { | 552 | { |
553 | Hashtable result = new Hashtable(); | 553 | Hashtable result = new Hashtable(); |
@@ -565,14 +565,14 @@ namespace OpenSim.Framework.Console | |||
565 | 565 | ||
566 | if (elems.Length > 1) | 566 | if (elems.Length > 1) |
567 | value = System.Web.HttpUtility.UrlDecode(elems[1]); | 567 | value = System.Web.HttpUtility.UrlDecode(elems[1]); |
568 | 568 | ||
569 | result[name] = value; | 569 | result[name] = value; |
570 | } | 570 | } |
571 | 571 | ||
572 | return result; | 572 | return result; |
573 | } | 573 | } |
574 | 574 | ||
575 | // Close the CAP receiver for the responses for a given client. | 575 | // Close the CAP receiver for the responses for a given client. |
576 | public void CloseConnection(UUID id) | 576 | public void CloseConnection(UUID id) |
577 | { | 577 | { |
578 | try | 578 | try |
@@ -586,8 +586,8 @@ namespace OpenSim.Framework.Console | |||
586 | } | 586 | } |
587 | } | 587 | } |
588 | 588 | ||
589 | // Check if there is anything to send. Return true if this client has | 589 | // Check if there is anything to send. Return true if this client has |
590 | // lines pending. | 590 | // lines pending. |
591 | protected bool HasEvents(UUID RequestID, UUID sessionID) | 591 | protected bool HasEvents(UUID RequestID, UUID sessionID) |
592 | { | 592 | { |
593 | ConsoleConnection c = null; | 593 | ConsoleConnection c = null; |
@@ -604,10 +604,10 @@ namespace OpenSim.Framework.Console | |||
604 | return false; | 604 | return false; |
605 | } | 605 | } |
606 | 606 | ||
607 | // Send all pending output to the client. | 607 | // Send all pending output to the client. |
608 | protected Hashtable GetEvents(UUID RequestID, UUID sessionID) | 608 | protected Hashtable GetEvents(UUID RequestID, UUID sessionID) |
609 | { | 609 | { |
610 | // Find the connection that goes with this client. | 610 | // Find the connection that goes with this client. |
611 | ConsoleConnection c = null; | 611 | ConsoleConnection c = null; |
612 | 612 | ||
613 | lock (m_Connections) | 613 | lock (m_Connections) |
@@ -617,14 +617,14 @@ namespace OpenSim.Framework.Console | |||
617 | c = m_Connections[sessionID]; | 617 | c = m_Connections[sessionID]; |
618 | } | 618 | } |
619 | 619 | ||
620 | // If we have nothing to send, send the no events response. | 620 | // If we have nothing to send, send the no events response. |
621 | c.last = System.Environment.TickCount; | 621 | c.last = System.Environment.TickCount; |
622 | if (c.lastLineSeen >= m_lineNumber) | 622 | if (c.lastLineSeen >= m_lineNumber) |
623 | return NoEvents(RequestID, UUID.Zero); | 623 | return NoEvents(RequestID, UUID.Zero); |
624 | 624 | ||
625 | Hashtable result = new Hashtable(); | 625 | Hashtable result = new Hashtable(); |
626 | 626 | ||
627 | // Create the response document. | 627 | // Create the response document. |
628 | XmlDocument xmldoc = new XmlDocument(); | 628 | XmlDocument xmldoc = new XmlDocument(); |
629 | XmlNode xmlnode = xmldoc.CreateNode(XmlNodeType.XmlDeclaration, | 629 | XmlNode xmlnode = xmldoc.CreateNode(XmlNodeType.XmlDeclaration, |
630 | "", ""); | 630 | "", ""); |
@@ -648,29 +648,29 @@ namespace OpenSim.Framework.Console | |||
648 | 648 | ||
649 | for (long i = sendStart ; i < m_lineNumber ; i++) | 649 | for (long i = sendStart ; i < m_lineNumber ; i++) |
650 | { | 650 | { |
651 | ScrollbackEntry e = m_Scrollback[(int)(i - startLine)]; | 651 | ScrollbackEntry e = m_Scrollback[(int)(i - startLine)]; |
652 | 652 | ||
653 | XmlElement res = xmldoc.CreateElement("", "Line", ""); | 653 | XmlElement res = xmldoc.CreateElement("", "Line", ""); |
654 | res.SetAttribute("Number", e.lineNumber.ToString()); | 654 | res.SetAttribute("Number", e.lineNumber.ToString()); |
655 | res.SetAttribute("Level", e.level); | 655 | res.SetAttribute("Level", e.level); |
656 | // Don't include these for the scrollback, we'll send the | 656 | // Don't include these for the scrollback, we'll send the |
657 | // real state later. | 657 | // real state later. |
658 | if (!c.newConnection) | 658 | if (!c.newConnection) |
659 | { | 659 | { |
660 | res.SetAttribute("Prompt", e.isPrompt ? "true" : "false"); | 660 | res.SetAttribute("Prompt", e.isPrompt ? "true" : "false"); |
661 | res.SetAttribute("Command", e.isCommand ? "true" : "false"); | 661 | res.SetAttribute("Command", e.isCommand ? "true" : "false"); |
662 | res.SetAttribute("Input", e.isInput ? "true" : "false"); | 662 | res.SetAttribute("Input", e.isInput ? "true" : "false"); |
663 | } | 663 | } |
664 | else if (i == m_lineNumber - 1) // Last line for a new connection | 664 | else if (i == m_lineNumber - 1) // Last line for a new connection |
665 | { | 665 | { |
666 | res.SetAttribute("Prompt", m_expectingInput ? "true" : "false"); | 666 | res.SetAttribute("Prompt", m_expectingInput ? "true" : "false"); |
667 | res.SetAttribute("Command", m_expectingCommand ? "true" : "false"); | 667 | res.SetAttribute("Command", m_expectingCommand ? "true" : "false"); |
668 | res.SetAttribute("Input", (!m_expectingInput) ? "true" : "false"); | 668 | res.SetAttribute("Input", (!m_expectingInput) ? "true" : "false"); |
669 | } | 669 | } |
670 | else | 670 | else |
671 | { | 671 | { |
672 | res.SetAttribute("Input", e.isInput ? "true" : "false"); | 672 | res.SetAttribute("Input", e.isInput ? "true" : "false"); |
673 | } | 673 | } |
674 | 674 | ||
675 | res.AppendChild(xmldoc.CreateTextNode(e.text)); | 675 | res.AppendChild(xmldoc.CreateTextNode(e.text)); |
676 | 676 | ||
@@ -679,7 +679,7 @@ namespace OpenSim.Framework.Console | |||
679 | } | 679 | } |
680 | 680 | ||
681 | c.lastLineSeen = m_lineNumber; | 681 | c.lastLineSeen = m_lineNumber; |
682 | c.newConnection = false; | 682 | c.newConnection = false; |
683 | 683 | ||
684 | xmldoc.AppendChild(rootElement); | 684 | xmldoc.AppendChild(rootElement); |
685 | 685 | ||
@@ -693,8 +693,8 @@ namespace OpenSim.Framework.Console | |||
693 | return result; | 693 | return result; |
694 | } | 694 | } |
695 | 695 | ||
696 | // This is really just a no-op. It generates what is sent | 696 | // This is really just a no-op. It generates what is sent |
697 | // to the client if the poll times out without any events. | 697 | // to the client if the poll times out without any events. |
698 | protected Hashtable NoEvents(UUID RequestID, UUID id) | 698 | protected Hashtable NoEvents(UUID RequestID, UUID id) |
699 | { | 699 | { |
700 | Hashtable result = new Hashtable(); | 700 | Hashtable result = new Hashtable(); |
diff --git a/OpenSim/Framework/DAMap.cs b/OpenSim/Framework/DAMap.cs index 4995a92..1915fa5 100644 --- a/OpenSim/Framework/DAMap.cs +++ b/OpenSim/Framework/DAMap.cs | |||
@@ -63,9 +63,9 @@ namespace OpenSim.Framework | |||
63 | { | 63 | { |
64 | get { return m_map; } | 64 | get { return m_map; } |
65 | set { m_map = value; } | 65 | set { m_map = value; } |
66 | } | 66 | } |
67 | 67 | ||
68 | public XmlSchema GetSchema() { return null; } | 68 | public XmlSchema GetSchema() { return null; } |
69 | 69 | ||
70 | public static DAMap FromXml(string rawXml) | 70 | public static DAMap FromXml(string rawXml) |
71 | { | 71 | { |
@@ -73,19 +73,19 @@ namespace OpenSim.Framework | |||
73 | map.ReadXml(rawXml); | 73 | map.ReadXml(rawXml); |
74 | return map; | 74 | return map; |
75 | } | 75 | } |
76 | 76 | ||
77 | public void ReadXml(XmlReader reader) | 77 | public void ReadXml(XmlReader reader) |
78 | { | 78 | { |
79 | ReadXml(reader.ReadInnerXml()); | 79 | ReadXml(reader.ReadInnerXml()); |
80 | } | 80 | } |
81 | 81 | ||
82 | public void ReadXml(string rawXml) | 82 | public void ReadXml(string rawXml) |
83 | { | 83 | { |
84 | // System.Console.WriteLine("Trying to deserialize [{0}]", rawXml); | 84 | // System.Console.WriteLine("Trying to deserialize [{0}]", rawXml); |
85 | 85 | ||
86 | lock (this) | 86 | lock (this) |
87 | { | 87 | { |
88 | m_map = (OSDMap)OSDParser.DeserializeLLSDXml(rawXml); | 88 | m_map = (OSDMap)OSDParser.DeserializeLLSDXml(rawXml); |
89 | SanitiseMap(this); | 89 | SanitiseMap(this); |
90 | } | 90 | } |
91 | } | 91 | } |
@@ -104,7 +104,7 @@ namespace OpenSim.Framework | |||
104 | public void CopyFrom(DAMap other) | 104 | public void CopyFrom(DAMap other) |
105 | { | 105 | { |
106 | // Deep copy | 106 | // Deep copy |
107 | 107 | ||
108 | string data = null; | 108 | string data = null; |
109 | lock (other) | 109 | lock (other) |
110 | { | 110 | { |
@@ -113,7 +113,7 @@ namespace OpenSim.Framework | |||
113 | data = OSDParser.SerializeLLSDXmlString(other.m_map); | 113 | data = OSDParser.SerializeLLSDXmlString(other.m_map); |
114 | } | 114 | } |
115 | } | 115 | } |
116 | 116 | ||
117 | lock (this) | 117 | lock (this) |
118 | { | 118 | { |
119 | if (data == null) | 119 | if (data == null) |
@@ -185,9 +185,9 @@ namespace OpenSim.Framework | |||
185 | /// <summary> | 185 | /// <summary> |
186 | /// Get the number of stores. | 186 | /// Get the number of stores. |
187 | /// </summary> | 187 | /// </summary> |
188 | public int CountStores | 188 | public int CountStores |
189 | { | 189 | { |
190 | get | 190 | get |
191 | { | 191 | { |
192 | int count = 0; | 192 | int count = 0; |
193 | 193 | ||
@@ -263,8 +263,8 @@ namespace OpenSim.Framework | |||
263 | throw new Exception("Minimum namespace length is " + MIN_NAMESPACE_LENGTH); | 263 | throw new Exception("Minimum namespace length is " + MIN_NAMESPACE_LENGTH); |
264 | } | 264 | } |
265 | 265 | ||
266 | public bool ContainsStore(string ns, string storeName) | 266 | public bool ContainsStore(string ns, string storeName) |
267 | { | 267 | { |
268 | OSD namespaceOsd; | 268 | OSD namespaceOsd; |
269 | 269 | ||
270 | lock (this) | 270 | lock (this) |
@@ -276,7 +276,7 @@ namespace OpenSim.Framework | |||
276 | } | 276 | } |
277 | 277 | ||
278 | return false; | 278 | return false; |
279 | } | 279 | } |
280 | 280 | ||
281 | public bool TryGetStore(string ns, string storeName, out OSDMap store) | 281 | public bool TryGetStore(string ns, string storeName, out OSDMap store) |
282 | { | 282 | { |
@@ -297,17 +297,17 @@ namespace OpenSim.Framework | |||
297 | 297 | ||
298 | store = null; | 298 | store = null; |
299 | return false; | 299 | return false; |
300 | } | 300 | } |
301 | 301 | ||
302 | public void Clear() | 302 | public void Clear() |
303 | { | 303 | { |
304 | lock (this) | 304 | lock (this) |
305 | m_map.Clear(); | 305 | m_map.Clear(); |
306 | } | 306 | } |
307 | 307 | ||
308 | public bool RemoveStore(string ns, string storeName) | 308 | public bool RemoveStore(string ns, string storeName) |
309 | { | 309 | { |
310 | OSD namespaceOsd; | 310 | OSD namespaceOsd; |
311 | 311 | ||
312 | lock (this) | 312 | lock (this) |
313 | { | 313 | { |
@@ -323,6 +323,6 @@ namespace OpenSim.Framework | |||
323 | } | 323 | } |
324 | 324 | ||
325 | return false; | 325 | return false; |
326 | } | 326 | } |
327 | } | 327 | } |
328 | } \ No newline at end of file | 328 | } \ No newline at end of file |
diff --git a/OpenSim/Framework/DOMap.cs b/OpenSim/Framework/DOMap.cs index f5b650b..033cbf9 100644 --- a/OpenSim/Framework/DOMap.cs +++ b/OpenSim/Framework/DOMap.cs | |||
@@ -47,7 +47,7 @@ namespace OpenSim.Framework | |||
47 | public class DOMap | 47 | public class DOMap |
48 | { | 48 | { |
49 | private IDictionary<string, object> m_map; | 49 | private IDictionary<string, object> m_map; |
50 | 50 | ||
51 | public void Add(string ns, string objName, object dynObj) | 51 | public void Add(string ns, string objName, object dynObj) |
52 | { | 52 | { |
53 | DAMap.ValidateNamespace(ns); | 53 | DAMap.ValidateNamespace(ns); |
diff --git a/OpenSim/Framework/DoubleDictionaryThreadAbortSafe.cs b/OpenSim/Framework/DoubleDictionaryThreadAbortSafe.cs index 4ff8cba..55ec13e 100644 --- a/OpenSim/Framework/DoubleDictionaryThreadAbortSafe.cs +++ b/OpenSim/Framework/DoubleDictionaryThreadAbortSafe.cs | |||
@@ -69,7 +69,7 @@ namespace OpenSim.Framework | |||
69 | // Avoid an asynchronous Thread.Abort() from possibly never existing an acquired lock by placing | 69 | // Avoid an asynchronous Thread.Abort() from possibly never existing an acquired lock by placing |
70 | // the acquision inside the main try. The inner finally block is needed because thread aborts cannot | 70 | // the acquision inside the main try. The inner finally block is needed because thread aborts cannot |
71 | // interrupt code in these blocks (hence gotLock is guaranteed to be set correctly). | 71 | // interrupt code in these blocks (hence gotLock is guaranteed to be set correctly). |
72 | try {} | 72 | try {} |
73 | finally | 73 | finally |
74 | { | 74 | { |
75 | rwLock.EnterWriteLock(); | 75 | rwLock.EnterWriteLock(); |
@@ -90,10 +90,10 @@ namespace OpenSim.Framework | |||
90 | Dictionary1[key1] = value; | 90 | Dictionary1[key1] = value; |
91 | Dictionary2[key2] = value; | 91 | Dictionary2[key2] = value; |
92 | } | 92 | } |
93 | finally | 93 | finally |
94 | { | 94 | { |
95 | if (gotLock) | 95 | if (gotLock) |
96 | rwLock.ExitWriteLock(); | 96 | rwLock.ExitWriteLock(); |
97 | } | 97 | } |
98 | } | 98 | } |
99 | 99 | ||
@@ -107,7 +107,7 @@ namespace OpenSim.Framework | |||
107 | // Avoid an asynchronous Thread.Abort() from possibly never existing an acquired lock by placing | 107 | // Avoid an asynchronous Thread.Abort() from possibly never existing an acquired lock by placing |
108 | // the acquision inside the main try. The inner finally block is needed because thread aborts cannot | 108 | // the acquision inside the main try. The inner finally block is needed because thread aborts cannot |
109 | // interrupt code in these blocks (hence gotLock is guaranteed to be set correctly). | 109 | // interrupt code in these blocks (hence gotLock is guaranteed to be set correctly). |
110 | try {} | 110 | try {} |
111 | finally | 111 | finally |
112 | { | 112 | { |
113 | rwLock.EnterWriteLock(); | 113 | rwLock.EnterWriteLock(); |
@@ -117,10 +117,10 @@ namespace OpenSim.Framework | |||
117 | Dictionary1.Remove(key1); | 117 | Dictionary1.Remove(key1); |
118 | success = Dictionary2.Remove(key2); | 118 | success = Dictionary2.Remove(key2); |
119 | } | 119 | } |
120 | finally | 120 | finally |
121 | { | 121 | { |
122 | if (gotLock) | 122 | if (gotLock) |
123 | rwLock.ExitWriteLock(); | 123 | rwLock.ExitWriteLock(); |
124 | } | 124 | } |
125 | 125 | ||
126 | return success; | 126 | return success; |
@@ -136,7 +136,7 @@ namespace OpenSim.Framework | |||
136 | // Avoid an asynchronous Thread.Abort() from possibly never existing an acquired lock by placing | 136 | // Avoid an asynchronous Thread.Abort() from possibly never existing an acquired lock by placing |
137 | // the acquision inside the main try. The inner finally block is needed because thread aborts cannot | 137 | // the acquision inside the main try. The inner finally block is needed because thread aborts cannot |
138 | // interrupt code in these blocks (hence gotLock is guaranteed to be set correctly). | 138 | // interrupt code in these blocks (hence gotLock is guaranteed to be set correctly). |
139 | try {} | 139 | try {} |
140 | finally | 140 | finally |
141 | { | 141 | { |
142 | rwLock.EnterWriteLock(); | 142 | rwLock.EnterWriteLock(); |
@@ -159,10 +159,10 @@ namespace OpenSim.Framework | |||
159 | } | 159 | } |
160 | } | 160 | } |
161 | } | 161 | } |
162 | finally | 162 | finally |
163 | { | 163 | { |
164 | if (gotLock) | 164 | if (gotLock) |
165 | rwLock.ExitWriteLock(); | 165 | rwLock.ExitWriteLock(); |
166 | } | 166 | } |
167 | 167 | ||
168 | return found; | 168 | return found; |
@@ -178,7 +178,7 @@ namespace OpenSim.Framework | |||
178 | // Avoid an asynchronous Thread.Abort() from possibly never existing an acquired lock by placing | 178 | // Avoid an asynchronous Thread.Abort() from possibly never existing an acquired lock by placing |
179 | // the acquision inside the main try. The inner finally block is needed because thread aborts cannot | 179 | // the acquision inside the main try. The inner finally block is needed because thread aborts cannot |
180 | // interrupt code in these blocks (hence gotLock is guaranteed to be set correctly). | 180 | // interrupt code in these blocks (hence gotLock is guaranteed to be set correctly). |
181 | try {} | 181 | try {} |
182 | finally | 182 | finally |
183 | { | 183 | { |
184 | rwLock.EnterWriteLock(); | 184 | rwLock.EnterWriteLock(); |
@@ -201,10 +201,10 @@ namespace OpenSim.Framework | |||
201 | } | 201 | } |
202 | } | 202 | } |
203 | } | 203 | } |
204 | finally | 204 | finally |
205 | { | 205 | { |
206 | if (gotLock) | 206 | if (gotLock) |
207 | rwLock.ExitWriteLock(); | 207 | rwLock.ExitWriteLock(); |
208 | } | 208 | } |
209 | 209 | ||
210 | return found; | 210 | return found; |
@@ -219,7 +219,7 @@ namespace OpenSim.Framework | |||
219 | // Avoid an asynchronous Thread.Abort() from possibly never existing an acquired lock by placing | 219 | // Avoid an asynchronous Thread.Abort() from possibly never existing an acquired lock by placing |
220 | // the acquision inside the main try. The inner finally block is needed because thread aborts cannot | 220 | // the acquision inside the main try. The inner finally block is needed because thread aborts cannot |
221 | // interrupt code in these blocks (hence gotLock is guaranteed to be set correctly). | 221 | // interrupt code in these blocks (hence gotLock is guaranteed to be set correctly). |
222 | try {} | 222 | try {} |
223 | finally | 223 | finally |
224 | { | 224 | { |
225 | rwLock.EnterWriteLock(); | 225 | rwLock.EnterWriteLock(); |
@@ -229,10 +229,10 @@ namespace OpenSim.Framework | |||
229 | Dictionary1.Clear(); | 229 | Dictionary1.Clear(); |
230 | Dictionary2.Clear(); | 230 | Dictionary2.Clear(); |
231 | } | 231 | } |
232 | finally | 232 | finally |
233 | { | 233 | { |
234 | if (gotLock) | 234 | if (gotLock) |
235 | rwLock.ExitWriteLock(); | 235 | rwLock.ExitWriteLock(); |
236 | } | 236 | } |
237 | } | 237 | } |
238 | 238 | ||
@@ -256,24 +256,24 @@ namespace OpenSim.Framework | |||
256 | bool success; | 256 | bool success; |
257 | bool gotLock = false; | 257 | bool gotLock = false; |
258 | 258 | ||
259 | try | 259 | try |
260 | { | 260 | { |
261 | // Avoid an asynchronous Thread.Abort() from possibly never existing an acquired lock by placing | 261 | // Avoid an asynchronous Thread.Abort() from possibly never existing an acquired lock by placing |
262 | // the acquision inside the main try. The inner finally block is needed because thread aborts cannot | 262 | // the acquision inside the main try. The inner finally block is needed because thread aborts cannot |
263 | // interrupt code in these blocks (hence gotLock is guaranteed to be set correctly). | 263 | // interrupt code in these blocks (hence gotLock is guaranteed to be set correctly). |
264 | try {} | 264 | try {} |
265 | finally | 265 | finally |
266 | { | 266 | { |
267 | rwLock.EnterReadLock(); | 267 | rwLock.EnterReadLock(); |
268 | gotLock = true; | 268 | gotLock = true; |
269 | } | 269 | } |
270 | 270 | ||
271 | success = Dictionary1.TryGetValue(key, out value); | 271 | success = Dictionary1.TryGetValue(key, out value); |
272 | } | 272 | } |
273 | finally | 273 | finally |
274 | { | 274 | { |
275 | if (gotLock) | 275 | if (gotLock) |
276 | rwLock.ExitReadLock(); | 276 | rwLock.ExitReadLock(); |
277 | } | 277 | } |
278 | 278 | ||
279 | return success; | 279 | return success; |
@@ -284,24 +284,24 @@ namespace OpenSim.Framework | |||
284 | bool success; | 284 | bool success; |
285 | bool gotLock = false; | 285 | bool gotLock = false; |
286 | 286 | ||
287 | try | 287 | try |
288 | { | 288 | { |
289 | // Avoid an asynchronous Thread.Abort() from possibly never existing an acquired lock by placing | 289 | // Avoid an asynchronous Thread.Abort() from possibly never existing an acquired lock by placing |
290 | // the acquision inside the main try. The inner finally block is needed because thread aborts cannot | 290 | // the acquision inside the main try. The inner finally block is needed because thread aborts cannot |
291 | // interrupt code in these blocks (hence gotLock is guaranteed to be set correctly). | 291 | // interrupt code in these blocks (hence gotLock is guaranteed to be set correctly). |
292 | try {} | 292 | try {} |
293 | finally | 293 | finally |
294 | { | 294 | { |
295 | rwLock.EnterReadLock(); | 295 | rwLock.EnterReadLock(); |
296 | gotLock = true; | 296 | gotLock = true; |
297 | } | 297 | } |
298 | 298 | ||
299 | success = Dictionary2.TryGetValue(key, out value); | 299 | success = Dictionary2.TryGetValue(key, out value); |
300 | } | 300 | } |
301 | finally | 301 | finally |
302 | { | 302 | { |
303 | if (gotLock) | 303 | if (gotLock) |
304 | rwLock.ExitReadLock(); | 304 | rwLock.ExitReadLock(); |
305 | } | 305 | } |
306 | 306 | ||
307 | return success; | 307 | return success; |
@@ -316,7 +316,7 @@ namespace OpenSim.Framework | |||
316 | // Avoid an asynchronous Thread.Abort() from possibly never existing an acquired lock by placing | 316 | // Avoid an asynchronous Thread.Abort() from possibly never existing an acquired lock by placing |
317 | // the acquision inside the main try. The inner finally block is needed because thread aborts cannot | 317 | // the acquision inside the main try. The inner finally block is needed because thread aborts cannot |
318 | // interrupt code in these blocks (hence gotLock is guaranteed to be set correctly). | 318 | // interrupt code in these blocks (hence gotLock is guaranteed to be set correctly). |
319 | try {} | 319 | try {} |
320 | finally | 320 | finally |
321 | { | 321 | { |
322 | rwLock.EnterReadLock(); | 322 | rwLock.EnterReadLock(); |
@@ -326,10 +326,10 @@ namespace OpenSim.Framework | |||
326 | foreach (TValue value in Dictionary1.Values) | 326 | foreach (TValue value in Dictionary1.Values) |
327 | action(value); | 327 | action(value); |
328 | } | 328 | } |
329 | finally | 329 | finally |
330 | { | 330 | { |
331 | if (gotLock) | 331 | if (gotLock) |
332 | rwLock.ExitReadLock(); | 332 | rwLock.ExitReadLock(); |
333 | } | 333 | } |
334 | } | 334 | } |
335 | 335 | ||
@@ -342,7 +342,7 @@ namespace OpenSim.Framework | |||
342 | // Avoid an asynchronous Thread.Abort() from possibly never existing an acquired lock by placing | 342 | // Avoid an asynchronous Thread.Abort() from possibly never existing an acquired lock by placing |
343 | // the acquision inside the main try. The inner finally block is needed because thread aborts cannot | 343 | // the acquision inside the main try. The inner finally block is needed because thread aborts cannot |
344 | // interrupt code in these blocks (hence gotLock is guaranteed to be set correctly). | 344 | // interrupt code in these blocks (hence gotLock is guaranteed to be set correctly). |
345 | try {} | 345 | try {} |
346 | finally | 346 | finally |
347 | { | 347 | { |
348 | rwLock.EnterReadLock(); | 348 | rwLock.EnterReadLock(); |
@@ -352,10 +352,10 @@ namespace OpenSim.Framework | |||
352 | foreach (KeyValuePair<TKey1, TValue> entry in Dictionary1) | 352 | foreach (KeyValuePair<TKey1, TValue> entry in Dictionary1) |
353 | action(entry); | 353 | action(entry); |
354 | } | 354 | } |
355 | finally | 355 | finally |
356 | { | 356 | { |
357 | if (gotLock) | 357 | if (gotLock) |
358 | rwLock.ExitReadLock(); | 358 | rwLock.ExitReadLock(); |
359 | } | 359 | } |
360 | } | 360 | } |
361 | 361 | ||
@@ -368,7 +368,7 @@ namespace OpenSim.Framework | |||
368 | // Avoid an asynchronous Thread.Abort() from possibly never existing an acquired lock by placing | 368 | // Avoid an asynchronous Thread.Abort() from possibly never existing an acquired lock by placing |
369 | // the acquision inside the main try. The inner finally block is needed because thread aborts cannot | 369 | // the acquision inside the main try. The inner finally block is needed because thread aborts cannot |
370 | // interrupt code in these blocks (hence gotLock is guaranteed to be set correctly). | 370 | // interrupt code in these blocks (hence gotLock is guaranteed to be set correctly). |
371 | try {} | 371 | try {} |
372 | finally | 372 | finally |
373 | { | 373 | { |
374 | rwLock.EnterReadLock(); | 374 | rwLock.EnterReadLock(); |
@@ -378,10 +378,10 @@ namespace OpenSim.Framework | |||
378 | foreach (KeyValuePair<TKey2, TValue> entry in Dictionary2) | 378 | foreach (KeyValuePair<TKey2, TValue> entry in Dictionary2) |
379 | action(entry); | 379 | action(entry); |
380 | } | 380 | } |
381 | finally | 381 | finally |
382 | { | 382 | { |
383 | if (gotLock) | 383 | if (gotLock) |
384 | rwLock.ExitReadLock(); | 384 | rwLock.ExitReadLock(); |
385 | } | 385 | } |
386 | } | 386 | } |
387 | 387 | ||
@@ -394,7 +394,7 @@ namespace OpenSim.Framework | |||
394 | // Avoid an asynchronous Thread.Abort() from possibly never existing an acquired lock by placing | 394 | // Avoid an asynchronous Thread.Abort() from possibly never existing an acquired lock by placing |
395 | // the acquision inside the main try. The inner finally block is needed because thread aborts cannot | 395 | // the acquision inside the main try. The inner finally block is needed because thread aborts cannot |
396 | // interrupt code in these blocks (hence gotLock is guaranteed to be set correctly). | 396 | // interrupt code in these blocks (hence gotLock is guaranteed to be set correctly). |
397 | try {} | 397 | try {} |
398 | finally | 398 | finally |
399 | { | 399 | { |
400 | rwLock.EnterReadLock(); | 400 | rwLock.EnterReadLock(); |
@@ -407,10 +407,10 @@ namespace OpenSim.Framework | |||
407 | return value; | 407 | return value; |
408 | } | 408 | } |
409 | } | 409 | } |
410 | finally | 410 | finally |
411 | { | 411 | { |
412 | if (gotLock) | 412 | if (gotLock) |
413 | rwLock.ExitReadLock(); | 413 | rwLock.ExitReadLock(); |
414 | } | 414 | } |
415 | 415 | ||
416 | return default(TValue); | 416 | return default(TValue); |
@@ -426,7 +426,7 @@ namespace OpenSim.Framework | |||
426 | // Avoid an asynchronous Thread.Abort() from possibly never existing an acquired lock by placing | 426 | // Avoid an asynchronous Thread.Abort() from possibly never existing an acquired lock by placing |
427 | // the acquision inside the main try. The inner finally block is needed because thread aborts cannot | 427 | // the acquision inside the main try. The inner finally block is needed because thread aborts cannot |
428 | // interrupt code in these blocks (hence gotLock is guaranteed to be set correctly). | 428 | // interrupt code in these blocks (hence gotLock is guaranteed to be set correctly). |
429 | try {} | 429 | try {} |
430 | finally | 430 | finally |
431 | { | 431 | { |
432 | rwLock.EnterReadLock(); | 432 | rwLock.EnterReadLock(); |
@@ -439,10 +439,10 @@ namespace OpenSim.Framework | |||
439 | list.Add(value); | 439 | list.Add(value); |
440 | } | 440 | } |
441 | } | 441 | } |
442 | finally | 442 | finally |
443 | { | 443 | { |
444 | if (gotLock) | 444 | if (gotLock) |
445 | rwLock.ExitReadLock(); | 445 | rwLock.ExitReadLock(); |
446 | } | 446 | } |
447 | 447 | ||
448 | return list; | 448 | return list; |
@@ -458,7 +458,7 @@ namespace OpenSim.Framework | |||
458 | // Avoid an asynchronous Thread.Abort() from possibly never existing an acquired lock by placing | 458 | // Avoid an asynchronous Thread.Abort() from possibly never existing an acquired lock by placing |
459 | // the acquision inside the main try. The inner finally block is needed because thread aborts cannot | 459 | // the acquision inside the main try. The inner finally block is needed because thread aborts cannot |
460 | // interrupt code in these blocks (hence gotLock is guaranteed to be set correctly). | 460 | // interrupt code in these blocks (hence gotLock is guaranteed to be set correctly). |
461 | try {} | 461 | try {} |
462 | finally | 462 | finally |
463 | { | 463 | { |
464 | rwLock.EnterUpgradeableReadLock(); | 464 | rwLock.EnterUpgradeableReadLock(); |
@@ -482,7 +482,7 @@ namespace OpenSim.Framework | |||
482 | 482 | ||
483 | try | 483 | try |
484 | { | 484 | { |
485 | try {} | 485 | try {} |
486 | finally | 486 | finally |
487 | { | 487 | { |
488 | rwLock.EnterUpgradeableReadLock(); | 488 | rwLock.EnterUpgradeableReadLock(); |
@@ -495,16 +495,16 @@ namespace OpenSim.Framework | |||
495 | for (int i = 0; i < list2.Count; i++) | 495 | for (int i = 0; i < list2.Count; i++) |
496 | Dictionary2.Remove(list2[i]); | 496 | Dictionary2.Remove(list2[i]); |
497 | } | 497 | } |
498 | finally | 498 | finally |
499 | { | 499 | { |
500 | if (gotWriteLock) | 500 | if (gotWriteLock) |
501 | rwLock.ExitWriteLock(); | 501 | rwLock.ExitWriteLock(); |
502 | } | 502 | } |
503 | } | 503 | } |
504 | finally | 504 | finally |
505 | { | 505 | { |
506 | if (gotUpgradeableLock) | 506 | if (gotUpgradeableLock) |
507 | rwLock.ExitUpgradeableReadLock(); | 507 | rwLock.ExitUpgradeableReadLock(); |
508 | } | 508 | } |
509 | 509 | ||
510 | return list.Count; | 510 | return list.Count; |
diff --git a/OpenSim/Framework/EstateBan.cs b/OpenSim/Framework/EstateBan.cs index ebed794..12a92bb 100644 --- a/OpenSim/Framework/EstateBan.cs +++ b/OpenSim/Framework/EstateBan.cs | |||
@@ -43,7 +43,7 @@ namespace OpenSim.Framework | |||
43 | { | 43 | { |
44 | get | 44 | get |
45 | { | 45 | { |
46 | return m_estateID; | 46 | return m_estateID; |
47 | } | 47 | } |
48 | set | 48 | set |
49 | { | 49 | { |
diff --git a/OpenSim/Framework/EstateSettings.cs b/OpenSim/Framework/EstateSettings.cs index 844230b..7134cbf 100644 --- a/OpenSim/Framework/EstateSettings.cs +++ b/OpenSim/Framework/EstateSettings.cs | |||
@@ -430,7 +430,7 @@ namespace OpenSim.Framework | |||
430 | { | 430 | { |
431 | if (ban == null) | 431 | if (ban == null) |
432 | return; | 432 | return; |
433 | if (!IsBanned(ban.BannedUserID, 32) && | 433 | if (!IsBanned(ban.BannedUserID, 32) && |
434 | (l_EstateBans.Count < (int)Constants.EstateAccessLimits.EstateBans)) //Ignore age-based bans | 434 | (l_EstateBans.Count < (int)Constants.EstateAccessLimits.EstateBans)) //Ignore age-based bans |
435 | l_EstateBans.Add(ban); | 435 | l_EstateBans.Add(ban); |
436 | } | 436 | } |
diff --git a/OpenSim/Framework/GridInstantMessage.cs b/OpenSim/Framework/GridInstantMessage.cs index 6954c64..1605005 100644 --- a/OpenSim/Framework/GridInstantMessage.cs +++ b/OpenSim/Framework/GridInstantMessage.cs | |||
@@ -67,7 +67,7 @@ namespace OpenSim.Framework | |||
67 | binaryBucket = im.binaryBucket; | 67 | binaryBucket = im.binaryBucket; |
68 | RegionID = im.RegionID; | 68 | RegionID = im.RegionID; |
69 | ParentEstateID = im.ParentEstateID; | 69 | ParentEstateID = im.ParentEstateID; |
70 | 70 | ||
71 | if (addTimestamp) | 71 | if (addTimestamp) |
72 | timestamp = (uint)Util.UnixTimeSinceEpoch(); | 72 | timestamp = (uint)Util.UnixTimeSinceEpoch(); |
73 | } | 73 | } |
diff --git a/OpenSim/Framework/IClientAPI.cs b/OpenSim/Framework/IClientAPI.cs index 1541b3a..1267993 100644 --- a/OpenSim/Framework/IClientAPI.cs +++ b/OpenSim/Framework/IClientAPI.cs | |||
@@ -60,7 +60,7 @@ namespace OpenSim.Framework | |||
60 | public delegate void ObjectAttach( | 60 | public delegate void ObjectAttach( |
61 | IClientAPI remoteClient, uint objectLocalID, uint AttachmentPt, bool silent); | 61 | IClientAPI remoteClient, uint objectLocalID, uint AttachmentPt, bool silent); |
62 | 62 | ||
63 | public delegate void ModifyTerrain(UUID user, | 63 | public delegate void ModifyTerrain(UUID user, |
64 | float height, float seconds, byte size, byte action, float north, float west, float south, float east, | 64 | float height, float seconds, byte size, byte action, float north, float west, float south, float east, |
65 | UUID agentId); | 65 | UUID agentId); |
66 | 66 | ||
@@ -473,46 +473,46 @@ namespace OpenSim.Framework | |||
473 | public delegate void PlacesQuery(UUID QueryID, UUID TransactionID, string QueryText, uint QueryFlags, byte Category, string SimName, IClientAPI client); | 473 | public delegate void PlacesQuery(UUID QueryID, UUID TransactionID, string QueryText, uint QueryFlags, byte Category, string SimName, IClientAPI client); |
474 | 474 | ||
475 | public delegate void AgentFOV(IClientAPI client, float verticalAngle); | 475 | public delegate void AgentFOV(IClientAPI client, float verticalAngle); |
476 | 476 | ||
477 | public delegate void MuteListEntryUpdate(IClientAPI client, UUID MuteID, string Name, int type, uint flags); | 477 | public delegate void MuteListEntryUpdate(IClientAPI client, UUID MuteID, string Name, int type, uint flags); |
478 | 478 | ||
479 | public delegate void MuteListEntryRemove(IClientAPI client, UUID MuteID, string Name); | 479 | public delegate void MuteListEntryRemove(IClientAPI client, UUID MuteID, string Name); |
480 | 480 | ||
481 | public delegate void AvatarInterestReply(IClientAPI client,UUID target, uint wantmask, string wanttext, uint skillsmask, string skillstext, string languages); | 481 | public delegate void AvatarInterestReply(IClientAPI client,UUID target, uint wantmask, string wanttext, uint skillsmask, string skillstext, string languages); |
482 | 482 | ||
483 | public delegate void FindAgentUpdate(IClientAPI client, UUID hunter, UUID target); | 483 | public delegate void FindAgentUpdate(IClientAPI client, UUID hunter, UUID target); |
484 | 484 | ||
485 | public delegate void TrackAgentUpdate(IClientAPI client, UUID hunter, UUID target); | 485 | public delegate void TrackAgentUpdate(IClientAPI client, UUID hunter, UUID target); |
486 | 486 | ||
487 | public delegate void FreezeUserUpdate(IClientAPI client, UUID parcelowner,uint flags, UUID target); | 487 | public delegate void FreezeUserUpdate(IClientAPI client, UUID parcelowner,uint flags, UUID target); |
488 | 488 | ||
489 | public delegate void EjectUserUpdate(IClientAPI client, UUID parcelowner,uint flags, UUID target); | 489 | public delegate void EjectUserUpdate(IClientAPI client, UUID parcelowner,uint flags, UUID target); |
490 | 490 | ||
491 | public delegate void NewUserReport(IClientAPI client, string regionName,UUID abuserID, byte catagory, byte checkflags, string details, UUID objectID, Vector3 postion, byte reportType ,UUID screenshotID, string Summary, UUID reporter); | 491 | public delegate void NewUserReport(IClientAPI client, string regionName,UUID abuserID, byte catagory, byte checkflags, string details, UUID objectID, Vector3 postion, byte reportType ,UUID screenshotID, string Summary, UUID reporter); |
492 | 492 | ||
493 | public delegate void GodUpdateRegionInfoUpdate(IClientAPI client, float BillableFactor, ulong EstateID, ulong RegionFlags, byte[] SimName,int RedirectX, int RedirectY); | 493 | public delegate void GodUpdateRegionInfoUpdate(IClientAPI client, float BillableFactor, ulong EstateID, ulong RegionFlags, byte[] SimName,int RedirectX, int RedirectY); |
494 | 494 | ||
495 | public delegate void GodlikeMessage(IClientAPI client, UUID requester, byte[] Method, byte[] Parameter); | 495 | public delegate void GodlikeMessage(IClientAPI client, UUID requester, byte[] Method, byte[] Parameter); |
496 | 496 | ||
497 | public delegate void SaveStateHandler(IClientAPI client,UUID agentID); | 497 | public delegate void SaveStateHandler(IClientAPI client,UUID agentID); |
498 | 498 | ||
499 | public delegate void GroupAccountSummaryRequest(IClientAPI client,UUID agentID, UUID groupID); | 499 | public delegate void GroupAccountSummaryRequest(IClientAPI client,UUID agentID, UUID groupID); |
500 | 500 | ||
501 | public delegate void GroupAccountDetailsRequest(IClientAPI client,UUID agentID, UUID groupID, UUID transactionID, UUID sessionID); | 501 | public delegate void GroupAccountDetailsRequest(IClientAPI client,UUID agentID, UUID groupID, UUID transactionID, UUID sessionID); |
502 | 502 | ||
503 | public delegate void GroupAccountTransactionsRequest(IClientAPI client,UUID agentID, UUID groupID, UUID transactionID, UUID sessionID); | 503 | public delegate void GroupAccountTransactionsRequest(IClientAPI client,UUID agentID, UUID groupID, UUID transactionID, UUID sessionID); |
504 | 504 | ||
505 | public delegate void ParcelBuyPass(IClientAPI client, UUID agentID, int ParcelLocalID); | 505 | public delegate void ParcelBuyPass(IClientAPI client, UUID agentID, int ParcelLocalID); |
506 | 506 | ||
507 | public delegate void ParcelGodMark(IClientAPI client, UUID agentID, int ParcelLocalID); | 507 | public delegate void ParcelGodMark(IClientAPI client, UUID agentID, int ParcelLocalID); |
508 | 508 | ||
509 | public delegate void GroupActiveProposalsRequest(IClientAPI client,UUID agentID, UUID groupID, UUID transactionID, UUID sessionID); | 509 | public delegate void GroupActiveProposalsRequest(IClientAPI client,UUID agentID, UUID groupID, UUID transactionID, UUID sessionID); |
510 | 510 | ||
511 | public delegate void GroupVoteHistoryRequest(IClientAPI client,UUID agentID, UUID groupID, UUID transactionID, UUID sessionID); | 511 | public delegate void GroupVoteHistoryRequest(IClientAPI client,UUID agentID, UUID groupID, UUID transactionID, UUID sessionID); |
512 | 512 | ||
513 | 513 | ||
514 | public delegate void SimWideDeletesDelegate(IClientAPI client,UUID agentID, int flags, UUID targetID); | 514 | public delegate void SimWideDeletesDelegate(IClientAPI client,UUID agentID, int flags, UUID targetID); |
515 | 515 | ||
516 | public delegate void SendPostcard(IClientAPI client); | 516 | public delegate void SendPostcard(IClientAPI client); |
517 | public delegate void ChangeInventoryItemFlags(IClientAPI client, UUID itemID, uint flags); | 517 | public delegate void ChangeInventoryItemFlags(IClientAPI client, UUID itemID, uint flags); |
518 | 518 | ||
@@ -763,7 +763,7 @@ namespace OpenSim.Framework | |||
763 | /// Only set for root agents. | 763 | /// Only set for root agents. |
764 | /// </remarks> | 764 | /// </remarks> |
765 | bool IsLoggingOut { get; set; } | 765 | bool IsLoggingOut { get; set; } |
766 | 766 | ||
767 | bool SendLogoutPacketWhenClosing { set; } | 767 | bool SendLogoutPacketWhenClosing { set; } |
768 | 768 | ||
769 | // [Obsolete("LLClientView Specific - Circuits are unique to LLClientView")] | 769 | // [Obsolete("LLClientView Specific - Circuits are unique to LLClientView")] |
@@ -1034,7 +1034,7 @@ namespace OpenSim.Framework | |||
1034 | event MuteListRequest OnMuteListRequest; | 1034 | event MuteListRequest OnMuteListRequest; |
1035 | 1035 | ||
1036 | event PlacesQuery OnPlacesQuery; | 1036 | event PlacesQuery OnPlacesQuery; |
1037 | 1037 | ||
1038 | event FindAgentUpdate OnFindAgent; | 1038 | event FindAgentUpdate OnFindAgent; |
1039 | event TrackAgentUpdate OnTrackAgent; | 1039 | event TrackAgentUpdate OnTrackAgent; |
1040 | event NewUserReport OnUserReport; | 1040 | event NewUserReport OnUserReport; |
@@ -1079,12 +1079,12 @@ namespace OpenSim.Framework | |||
1079 | void Close(bool sendStop, bool force); | 1079 | void Close(bool sendStop, bool force); |
1080 | 1080 | ||
1081 | void Kick(string message); | 1081 | void Kick(string message); |
1082 | 1082 | ||
1083 | /// <summary> | 1083 | /// <summary> |
1084 | /// Start processing for this client. | 1084 | /// Start processing for this client. |
1085 | /// </summary> | 1085 | /// </summary> |
1086 | void Start(); | 1086 | void Start(); |
1087 | 1087 | ||
1088 | void Stop(); | 1088 | void Stop(); |
1089 | 1089 | ||
1090 | // void ActivateGesture(UUID assetId, UUID gestureId); | 1090 | // void ActivateGesture(UUID assetId, UUID gestureId); |
@@ -1155,7 +1155,7 @@ namespace OpenSim.Framework | |||
1155 | void MoveAgentIntoRegion(RegionInfo regInfo, Vector3 pos, Vector3 look); | 1155 | void MoveAgentIntoRegion(RegionInfo regInfo, Vector3 pos, Vector3 look); |
1156 | 1156 | ||
1157 | void InformClientOfNeighbour(ulong neighbourHandle, IPEndPoint neighbourExternalEndPoint); | 1157 | void InformClientOfNeighbour(ulong neighbourHandle, IPEndPoint neighbourExternalEndPoint); |
1158 | 1158 | ||
1159 | /// <summary> | 1159 | /// <summary> |
1160 | /// Return circuit information for this client. | 1160 | /// Return circuit information for this client. |
1161 | /// </summary> | 1161 | /// </summary> |
@@ -1223,10 +1223,10 @@ namespace OpenSim.Framework | |||
1223 | /// <summary> | 1223 | /// <summary> |
1224 | /// Used by the server to inform the client of new inventory items and folders. | 1224 | /// Used by the server to inform the client of new inventory items and folders. |
1225 | /// </summary> | 1225 | /// </summary> |
1226 | /// | 1226 | /// |
1227 | /// If the node is a folder then the contents will be transferred | 1227 | /// If the node is a folder then the contents will be transferred |
1228 | /// (including all descendent folders) as well as the folder itself. | 1228 | /// (including all descendent folders) as well as the folder itself. |
1229 | /// | 1229 | /// |
1230 | /// <param name="node"></param> | 1230 | /// <param name="node"></param> |
1231 | void SendBulkUpdateInventory(InventoryNodeBase node); | 1231 | void SendBulkUpdateInventory(InventoryNodeBase node); |
1232 | 1232 | ||
@@ -1289,7 +1289,7 @@ namespace OpenSim.Framework | |||
1289 | /// <param name="OrbitalPosition">The orbital position is given in radians, and must be "adjusted" for the linden client, see LLClientView</param> | 1289 | /// <param name="OrbitalPosition">The orbital position is given in radians, and must be "adjusted" for the linden client, see LLClientView</param> |
1290 | void SendSunPos(Vector3 sunPos, Vector3 sunVel, ulong CurrentTime, uint SecondsPerSunCycle, uint SecondsPerYear, | 1290 | void SendSunPos(Vector3 sunPos, Vector3 sunVel, ulong CurrentTime, uint SecondsPerSunCycle, uint SecondsPerYear, |
1291 | float OrbitalPosition); | 1291 | float OrbitalPosition); |
1292 | 1292 | ||
1293 | void SendViewerEffect(ViewerEffectPacket.EffectBlock[] effectBlocks); | 1293 | void SendViewerEffect(ViewerEffectPacket.EffectBlock[] effectBlocks); |
1294 | void SendViewerTime(int phase); | 1294 | void SendViewerTime(int phase); |
1295 | 1295 | ||
@@ -1357,7 +1357,7 @@ namespace OpenSim.Framework | |||
1357 | void SendImageFirstPart(ushort numParts, UUID ImageUUID, uint ImageSize, byte[] ImageData, byte imageCodec); | 1357 | void SendImageFirstPart(ushort numParts, UUID ImageUUID, uint ImageSize, byte[] ImageData, byte imageCodec); |
1358 | 1358 | ||
1359 | /// <summary> | 1359 | /// <summary> |
1360 | /// Send the next packet for a series of packets making up a single texture, | 1360 | /// Send the next packet for a series of packets making up a single texture, |
1361 | /// as established by SendImageFirstPart() | 1361 | /// as established by SendImageFirstPart() |
1362 | /// </summary> | 1362 | /// </summary> |
1363 | /// <param name="partNumber"></param> | 1363 | /// <param name="partNumber"></param> |
@@ -1481,7 +1481,7 @@ namespace OpenSim.Framework | |||
1481 | void SendParcelDwellReply(int localID, UUID parcelID, float dwell); | 1481 | void SendParcelDwellReply(int localID, UUID parcelID, float dwell); |
1482 | 1482 | ||
1483 | void SendUserInfoReply(bool imViaEmail, bool visible, string email); | 1483 | void SendUserInfoReply(bool imViaEmail, bool visible, string email); |
1484 | 1484 | ||
1485 | void SendUseCachedMuteList(); | 1485 | void SendUseCachedMuteList(); |
1486 | 1486 | ||
1487 | void SendMuteListUpdate(string filename); | 1487 | void SendMuteListUpdate(string filename); |
@@ -1495,13 +1495,13 @@ namespace OpenSim.Framework | |||
1495 | void SendRebakeAvatarTextures(UUID textureID); | 1495 | void SendRebakeAvatarTextures(UUID textureID); |
1496 | 1496 | ||
1497 | void SendAvatarInterestsReply(UUID avatarID, uint wantMask, string wantText, uint skillsMask, string skillsText, string languages); | 1497 | void SendAvatarInterestsReply(UUID avatarID, uint wantMask, string wantText, uint skillsMask, string skillsText, string languages); |
1498 | 1498 | ||
1499 | void SendGroupAccountingDetails(IClientAPI sender,UUID groupID, UUID transactionID, UUID sessionID, int amt); | 1499 | void SendGroupAccountingDetails(IClientAPI sender,UUID groupID, UUID transactionID, UUID sessionID, int amt); |
1500 | 1500 | ||
1501 | void SendGroupAccountingSummary(IClientAPI sender,UUID groupID, uint moneyAmt, int totalTier, int usedTier); | 1501 | void SendGroupAccountingSummary(IClientAPI sender,UUID groupID, uint moneyAmt, int totalTier, int usedTier); |
1502 | 1502 | ||
1503 | void SendGroupTransactionsSummaryDetails(IClientAPI sender,UUID groupID, UUID transactionID, UUID sessionID,int amt); | 1503 | void SendGroupTransactionsSummaryDetails(IClientAPI sender,UUID groupID, UUID transactionID, UUID sessionID,int amt); |
1504 | 1504 | ||
1505 | void SendChangeUserRights(UUID agentID, UUID friendID, int rights); | 1505 | void SendChangeUserRights(UUID agentID, UUID friendID, int rights); |
1506 | void SendTextBoxRequest(string message, int chatChannel, string objectname, UUID ownerID, string ownerFirstName, string ownerLastName, UUID objectId); | 1506 | void SendTextBoxRequest(string message, int chatChannel, string objectname, UUID ownerID, string ownerFirstName, string ownerLastName, UUID objectId); |
1507 | 1507 | ||
diff --git a/OpenSim/Framework/ICnmCache.cs b/OpenSim/Framework/ICnmCache.cs index 27b9c56..69b5b42 100644 --- a/OpenSim/Framework/ICnmCache.cs +++ b/OpenSim/Framework/ICnmCache.cs | |||
@@ -34,10 +34,10 @@ namespace OpenSim.Framework | |||
34 | /// Represent generic cache to store key/value pairs (elements) limited by time, size and count of elements. | 34 | /// Represent generic cache to store key/value pairs (elements) limited by time, size and count of elements. |
35 | /// </summary> | 35 | /// </summary> |
36 | /// <typeparam name="TKey"> | 36 | /// <typeparam name="TKey"> |
37 | /// The type of keys in the cache. | 37 | /// The type of keys in the cache. |
38 | /// </typeparam> | 38 | /// </typeparam> |
39 | /// <typeparam name="TValue"> | 39 | /// <typeparam name="TValue"> |
40 | /// The type of values in the cache. | 40 | /// The type of values in the cache. |
41 | /// </typeparam> | 41 | /// </typeparam> |
42 | /// <remarks> | 42 | /// <remarks> |
43 | /// <para> | 43 | /// <para> |
@@ -51,8 +51,8 @@ namespace OpenSim.Framework | |||
51 | /// <item> | 51 | /// <item> |
52 | /// <term>Time</term> | 52 | /// <term>Time</term> |
53 | /// <description> | 53 | /// <description> |
54 | /// Element that is not accessed through <see cref="TryGetValue"/> or <see cref="Set"/> in last <see cref="ExpirationTime"/> are | 54 | /// Element that is not accessed through <see cref="TryGetValue"/> or <see cref="Set"/> in last <see cref="ExpirationTime"/> are |
55 | /// removed from the cache automatically. Depending on implementation of the cache some of elements may stay longer in cache. | 55 | /// removed from the cache automatically. Depending on implementation of the cache some of elements may stay longer in cache. |
56 | /// <see cref="IsTimeLimited"/> returns <see langword="true"/>, if cache is limited by time. | 56 | /// <see cref="IsTimeLimited"/> returns <see langword="true"/>, if cache is limited by time. |
57 | /// </description> | 57 | /// </description> |
58 | /// </item> | 58 | /// </item> |
@@ -60,7 +60,7 @@ namespace OpenSim.Framework | |||
60 | /// <term>Count</term> | 60 | /// <term>Count</term> |
61 | /// <description> | 61 | /// <description> |
62 | /// When adding an new element to cache that already have <see cref="MaxCount"/> of elements, cache will remove less recently | 62 | /// When adding an new element to cache that already have <see cref="MaxCount"/> of elements, cache will remove less recently |
63 | /// used element(s) from the cache, until element fits to cache. | 63 | /// used element(s) from the cache, until element fits to cache. |
64 | /// <see cref="IsCountLimited"/> returns <see langword="true"/>, if cache is limiting element count. | 64 | /// <see cref="IsCountLimited"/> returns <see langword="true"/>, if cache is limiting element count. |
65 | /// </description> | 65 | /// </description> |
66 | /// </item> | 66 | /// </item> |
@@ -69,8 +69,8 @@ namespace OpenSim.Framework | |||
69 | /// <description> | 69 | /// <description> |
70 | /// <description> | 70 | /// <description> |
71 | /// When adding an new element to cache that already have <see cref="MaxSize"/> of elements, cache will remove less recently | 71 | /// When adding an new element to cache that already have <see cref="MaxSize"/> of elements, cache will remove less recently |
72 | /// used element(s) from the cache, until element fits to cache. | 72 | /// used element(s) from the cache, until element fits to cache. |
73 | /// <see cref="IsSizeLimited"/> returns <see langword="true"/>, if cache is limiting total size of elements. | 73 | /// <see cref="IsSizeLimited"/> returns <see langword="true"/>, if cache is limiting total size of elements. |
74 | /// Normally size is bytes used by element in the cache. But it can be any other suitable unit of measure. | 74 | /// Normally size is bytes used by element in the cache. But it can be any other suitable unit of measure. |
75 | /// </description> | 75 | /// </description> |
76 | /// </description> | 76 | /// </description> |
@@ -84,8 +84,8 @@ namespace OpenSim.Framework | |||
84 | /// </summary> | 84 | /// </summary> |
85 | /// <remarks> | 85 | /// <remarks> |
86 | /// <para> | 86 | /// <para> |
87 | /// When adding an new element to <see cref="ICnmCache{TKey,TValue}"/> that is limiting element count, | 87 | /// When adding an new element to <see cref="ICnmCache{TKey,TValue}"/> that is limiting element count, |
88 | /// <see cref="ICnmCache{TKey,TValue}"/> will remove less recently used elements until it can fit an new element. | 88 | /// <see cref="ICnmCache{TKey,TValue}"/> will remove less recently used elements until it can fit an new element. |
89 | /// </para> | 89 | /// </para> |
90 | /// </remarks> | 90 | /// </remarks> |
91 | /// <seealso cref="MaxCount"/> | 91 | /// <seealso cref="MaxCount"/> |
@@ -102,13 +102,13 @@ namespace OpenSim.Framework | |||
102 | /// </value> | 102 | /// </value> |
103 | /// <remarks> | 103 | /// <remarks> |
104 | /// <para> | 104 | /// <para> |
105 | /// When element has been stored in <see cref="ICnmCache{TKey,TValue}"/> longer than <see cref="ExpirationTime"/> | 105 | /// When element has been stored in <see cref="ICnmCache{TKey,TValue}"/> longer than <see cref="ExpirationTime"/> |
106 | /// and it is not accessed through <see cref="TryGetValue"/> method or element's value is | 106 | /// and it is not accessed through <see cref="TryGetValue"/> method or element's value is |
107 | /// not replaced by <see cref="Set"/> method, then it is automatically removed from the | 107 | /// not replaced by <see cref="Set"/> method, then it is automatically removed from the |
108 | /// <see cref="ICnmCache{TKey,TValue}"/>. | 108 | /// <see cref="ICnmCache{TKey,TValue}"/>. |
109 | /// </para> | 109 | /// </para> |
110 | /// <para> | 110 | /// <para> |
111 | /// It is possible that <see cref="ICnmCache{TKey,TValue}"/> implementation removes element before it's expiration time, | 111 | /// It is possible that <see cref="ICnmCache{TKey,TValue}"/> implementation removes element before it's expiration time, |
112 | /// because total size or count of elements stored to cache is larger than <see cref="MaxSize"/> or <see cref="MaxCount"/>. | 112 | /// because total size or count of elements stored to cache is larger than <see cref="MaxSize"/> or <see cref="MaxCount"/>. |
113 | /// </para> | 113 | /// </para> |
114 | /// <para> | 114 | /// <para> |
@@ -135,12 +135,12 @@ namespace OpenSim.Framework | |||
135 | /// Gets a value indicating whether or not access to the <see cref="ICnmCache{TKey,TValue}"/> is synchronized (thread safe). | 135 | /// Gets a value indicating whether or not access to the <see cref="ICnmCache{TKey,TValue}"/> is synchronized (thread safe). |
136 | /// </summary> | 136 | /// </summary> |
137 | /// <value> | 137 | /// <value> |
138 | /// <see langword="true"/> if access to the <see cref="ICnmCache{TKey,TValue}"/> is synchronized (thread safe); | 138 | /// <see langword="true"/> if access to the <see cref="ICnmCache{TKey,TValue}"/> is synchronized (thread safe); |
139 | /// otherwise, <see langword="false"/>. | 139 | /// otherwise, <see langword="false"/>. |
140 | /// </value> | 140 | /// </value> |
141 | /// <remarks> | 141 | /// <remarks> |
142 | /// <para> | 142 | /// <para> |
143 | /// To get synchronized (thread safe) access to <see cref="ICnmCache{TKey,TValue}"/> object, use | 143 | /// To get synchronized (thread safe) access to <see cref="ICnmCache{TKey,TValue}"/> object, use |
144 | /// <see cref="CnmSynchronizedCache{TKey,TValue}.Synchronized"/> in <see cref="CnmSynchronizedCache{TKey,TValue}"/> class | 144 | /// <see cref="CnmSynchronizedCache{TKey,TValue}.Synchronized"/> in <see cref="CnmSynchronizedCache{TKey,TValue}"/> class |
145 | /// to retrieve synchronized wrapper for <see cref="ICnmCache{TKey,TValue}"/> object. | 145 | /// to retrieve synchronized wrapper for <see cref="ICnmCache{TKey,TValue}"/> object. |
146 | /// </para> | 146 | /// </para> |
@@ -153,17 +153,17 @@ namespace OpenSim.Framework | |||
153 | /// Gets a value indicating whether <see cref="ICnmCache{TKey,TValue}"/> is limiting count of elements. | 153 | /// Gets a value indicating whether <see cref="ICnmCache{TKey,TValue}"/> is limiting count of elements. |
154 | /// </summary> | 154 | /// </summary> |
155 | /// <value> | 155 | /// <value> |
156 | /// <see langword="true"/> if the <see cref="ICnmCache{TKey,TValue}"/> count of elements is limited; | 156 | /// <see langword="true"/> if the <see cref="ICnmCache{TKey,TValue}"/> count of elements is limited; |
157 | /// otherwise, <see langword="false"/>. | 157 | /// otherwise, <see langword="false"/>. |
158 | /// </value> | 158 | /// </value> |
159 | /// <remarks> | 159 | /// <remarks> |
160 | /// <para> | 160 | /// <para> |
161 | /// When adding an new element to <see cref="ICnmCache{TKey,TValue}"/> that is limiting element count, | 161 | /// When adding an new element to <see cref="ICnmCache{TKey,TValue}"/> that is limiting element count, |
162 | /// <see cref="ICnmCache{TKey,TValue}"/> will remove less recently used elements until it can fit an new element. | 162 | /// <see cref="ICnmCache{TKey,TValue}"/> will remove less recently used elements until it can fit an new element. |
163 | /// </para> | 163 | /// </para> |
164 | /// </remarks> | 164 | /// </remarks> |
165 | /// <seealso cref="Count"/> | 165 | /// <seealso cref="Count"/> |
166 | /// <seealso cref="MaxCount"/> | 166 | /// <seealso cref="MaxCount"/> |
167 | /// <seealso cref="IsSizeLimited"/> | 167 | /// <seealso cref="IsSizeLimited"/> |
168 | /// <seealso cref="IsTimeLimited"/> | 168 | /// <seealso cref="IsTimeLimited"/> |
169 | bool IsCountLimited { get; } | 169 | bool IsCountLimited { get; } |
@@ -172,13 +172,13 @@ namespace OpenSim.Framework | |||
172 | /// Gets a value indicating whether <see cref="ICnmCache{TKey,TValue}"/> is limiting size of elements. | 172 | /// Gets a value indicating whether <see cref="ICnmCache{TKey,TValue}"/> is limiting size of elements. |
173 | /// </summary> | 173 | /// </summary> |
174 | /// <value> | 174 | /// <value> |
175 | /// <see langword="true"/> if the <see cref="ICnmCache{TKey,TValue}"/> total size of elements is limited; | 175 | /// <see langword="true"/> if the <see cref="ICnmCache{TKey,TValue}"/> total size of elements is limited; |
176 | /// otherwise, <see langword="false"/>. | 176 | /// otherwise, <see langword="false"/>. |
177 | /// </value> | 177 | /// </value> |
178 | /// <remarks> | 178 | /// <remarks> |
179 | /// <para> | 179 | /// <para> |
180 | /// When adding an new element to <see cref="ICnmCache{TKey,TValue}"/> that is limiting total size of elements, | 180 | /// When adding an new element to <see cref="ICnmCache{TKey,TValue}"/> that is limiting total size of elements, |
181 | /// <see cref="ICnmCache{TKey,TValue}"/> will remove less recently used elements until it can fit an new element. | 181 | /// <see cref="ICnmCache{TKey,TValue}"/> will remove less recently used elements until it can fit an new element. |
182 | /// </para> | 182 | /// </para> |
183 | /// </remarks> | 183 | /// </remarks> |
184 | /// <seealso cref="MaxElementSize"/> | 184 | /// <seealso cref="MaxElementSize"/> |
@@ -192,13 +192,13 @@ namespace OpenSim.Framework | |||
192 | /// Gets a value indicating whether elements stored to <see cref="ICnmCache{TKey,TValue}"/> have limited inactivity time. | 192 | /// Gets a value indicating whether elements stored to <see cref="ICnmCache{TKey,TValue}"/> have limited inactivity time. |
193 | /// </summary> | 193 | /// </summary> |
194 | /// <value> | 194 | /// <value> |
195 | /// <see langword="true"/> if the <see cref="ICnmCache{TKey,TValue}"/> has a fixed total size of elements; | 195 | /// <see langword="true"/> if the <see cref="ICnmCache{TKey,TValue}"/> has a fixed total size of elements; |
196 | /// otherwise, <see langword="false"/>. | 196 | /// otherwise, <see langword="false"/>. |
197 | /// </value> | 197 | /// </value> |
198 | /// <remarks> | 198 | /// <remarks> |
199 | /// If <see cref="ICnmCache{TKey,TValue}"/> have limited inactivity time and element is not accessed through <see cref="Set"/> | 199 | /// If <see cref="ICnmCache{TKey,TValue}"/> have limited inactivity time and element is not accessed through <see cref="Set"/> |
200 | /// or <see cref="TryGetValue"/> methods in <see cref="ExpirationTime"/> , then element is automatically removed from | 200 | /// or <see cref="TryGetValue"/> methods in <see cref="ExpirationTime"/> , then element is automatically removed from |
201 | /// the cache. Depending on implementation of the <see cref="ICnmCache{TKey,TValue}"/>, some of the elements may | 201 | /// the cache. Depending on implementation of the <see cref="ICnmCache{TKey,TValue}"/>, some of the elements may |
202 | /// stay longer in cache. | 202 | /// stay longer in cache. |
203 | /// </remarks> | 203 | /// </remarks> |
204 | /// <seealso cref="ExpirationTime"/> | 204 | /// <seealso cref="ExpirationTime"/> |
@@ -206,18 +206,18 @@ namespace OpenSim.Framework | |||
206 | /// <seealso cref="IsCountLimited"/> | 206 | /// <seealso cref="IsCountLimited"/> |
207 | /// <seealso cref="IsSizeLimited"/> | 207 | /// <seealso cref="IsSizeLimited"/> |
208 | bool IsTimeLimited { get; } | 208 | bool IsTimeLimited { get; } |
209 | 209 | ||
210 | /// <summary> | 210 | /// <summary> |
211 | /// Gets or sets maximal allowed count of elements that can be stored to <see cref="ICnmCache{TKey,TValue}"/>. | 211 | /// Gets or sets maximal allowed count of elements that can be stored to <see cref="ICnmCache{TKey,TValue}"/>. |
212 | /// </summary> | 212 | /// </summary> |
213 | /// <value> | 213 | /// <value> |
214 | /// <see cref="int.MaxValue"/>, if <see cref="ICnmCache{TKey,TValue}"/> is not limited by count of elements; | 214 | /// <see cref="int.MaxValue"/>, if <see cref="ICnmCache{TKey,TValue}"/> is not limited by count of elements; |
215 | /// otherwise maximal allowed count of elements. | 215 | /// otherwise maximal allowed count of elements. |
216 | /// </value> | 216 | /// </value> |
217 | /// <remarks> | 217 | /// <remarks> |
218 | /// <para> | 218 | /// <para> |
219 | /// When adding an new element to <see cref="ICnmCache{TKey,TValue}"/> that is limiting element count, | 219 | /// When adding an new element to <see cref="ICnmCache{TKey,TValue}"/> that is limiting element count, |
220 | /// <see cref="ICnmCache{TKey,TValue}"/> will remove less recently used elements until it can fit an new element. | 220 | /// <see cref="ICnmCache{TKey,TValue}"/> will remove less recently used elements until it can fit an new element. |
221 | /// </para> | 221 | /// </para> |
222 | /// </remarks> | 222 | /// </remarks> |
223 | int MaxCount { get; set; } | 223 | int MaxCount { get; set; } |
@@ -230,7 +230,7 @@ namespace OpenSim.Framework | |||
230 | /// </value> | 230 | /// </value> |
231 | /// <remarks> | 231 | /// <remarks> |
232 | /// <para> | 232 | /// <para> |
233 | /// If element's size is larger than <see cref="MaxElementSize"/>, then element is | 233 | /// If element's size is larger than <see cref="MaxElementSize"/>, then element is |
234 | /// not added to the <see cref="ICnmCache{TKey,TValue}"/>. | 234 | /// not added to the <see cref="ICnmCache{TKey,TValue}"/>. |
235 | /// </para> | 235 | /// </para> |
236 | /// </remarks> | 236 | /// </remarks> |
@@ -251,8 +251,8 @@ namespace OpenSim.Framework | |||
251 | /// Normally size is total bytes used by elements in the cache. But it can be any other suitable unit of measure. | 251 | /// Normally size is total bytes used by elements in the cache. But it can be any other suitable unit of measure. |
252 | /// </para> | 252 | /// </para> |
253 | /// <para> | 253 | /// <para> |
254 | /// When adding an new element to <see cref="ICnmCache{TKey,TValue}"/> that is limiting total size of elements, | 254 | /// When adding an new element to <see cref="ICnmCache{TKey,TValue}"/> that is limiting total size of elements, |
255 | /// <see cref="ICnmCache{TKey,TValue}"/> will remove less recently used elements until it can fit an new element. | 255 | /// <see cref="ICnmCache{TKey,TValue}"/> will remove less recently used elements until it can fit an new element. |
256 | /// </para> | 256 | /// </para> |
257 | /// </remarks> | 257 | /// </remarks> |
258 | /// <exception cref="ArgumentOutOfRangeException">value is less than 0.</exception> | 258 | /// <exception cref="ArgumentOutOfRangeException">value is less than 0.</exception> |
@@ -272,11 +272,11 @@ namespace OpenSim.Framework | |||
272 | /// Normally bytes, but can be any suitable unit of measure. | 272 | /// Normally bytes, but can be any suitable unit of measure. |
273 | /// </para> | 273 | /// </para> |
274 | /// <para> | 274 | /// <para> |
275 | /// Element's size is given when element is added or replaced by <see cref="Set"/> method. | 275 | /// Element's size is given when element is added or replaced by <see cref="Set"/> method. |
276 | /// </para> | 276 | /// </para> |
277 | /// <para> | 277 | /// <para> |
278 | /// When adding an new element to <see cref="ICnmCache{TKey,TValue}"/> that is limiting total size of elements, | 278 | /// When adding an new element to <see cref="ICnmCache{TKey,TValue}"/> that is limiting total size of elements, |
279 | /// <see cref="ICnmCache{TKey,TValue}"/> will remove less recently used elements until it can fit an new element. | 279 | /// <see cref="ICnmCache{TKey,TValue}"/> will remove less recently used elements until it can fit an new element. |
280 | /// </para> | 280 | /// </para> |
281 | /// </remarks> | 281 | /// </remarks> |
282 | /// <seealso cref="MaxElementSize"/> | 282 | /// <seealso cref="MaxElementSize"/> |
@@ -294,8 +294,8 @@ namespace OpenSim.Framework | |||
294 | /// </value> | 294 | /// </value> |
295 | /// <remarks> | 295 | /// <remarks> |
296 | /// <para> | 296 | /// <para> |
297 | /// To get synchronized (thread safe) access to <see cref="ICnmCache{TKey,TValue}"/>, use <see cref="CnmSynchronizedCache{TKey,TValue}"/> | 297 | /// To get synchronized (thread safe) access to <see cref="ICnmCache{TKey,TValue}"/>, use <see cref="CnmSynchronizedCache{TKey,TValue}"/> |
298 | /// method <see cref="CnmSynchronizedCache{TKey,TValue}.Synchronized"/> to retrieve synchronized wrapper interface to | 298 | /// method <see cref="CnmSynchronizedCache{TKey,TValue}.Synchronized"/> to retrieve synchronized wrapper interface to |
299 | /// <see cref="ICnmCache{TKey,TValue}"/>. | 299 | /// <see cref="ICnmCache{TKey,TValue}"/>. |
300 | /// </para> | 300 | /// </para> |
301 | /// </remarks> | 301 | /// </remarks> |
@@ -367,7 +367,7 @@ namespace OpenSim.Framework | |||
367 | void RemoveRange(IEnumerable<TKey> keys); | 367 | void RemoveRange(IEnumerable<TKey> keys); |
368 | 368 | ||
369 | /// <summary> | 369 | /// <summary> |
370 | /// Add or replace an element with the provided <paramref name="key"/>, <paramref name="value"/> and <paramref name="size"/> to | 370 | /// Add or replace an element with the provided <paramref name="key"/>, <paramref name="value"/> and <paramref name="size"/> to |
371 | /// <see cref="ICnmCache{TKey,TValue}"/>. | 371 | /// <see cref="ICnmCache{TKey,TValue}"/>. |
372 | /// </summary> | 372 | /// </summary> |
373 | /// <param name="key"> | 373 | /// <param name="key"> |
@@ -380,7 +380,7 @@ namespace OpenSim.Framework | |||
380 | /// The element's size. Normally bytes, but can be any suitable unit of measure. | 380 | /// The element's size. Normally bytes, but can be any suitable unit of measure. |
381 | /// </param> | 381 | /// </param> |
382 | /// <returns> | 382 | /// <returns> |
383 | /// <see langword="true"/> if element has been added successfully to the <see cref="ICnmCache{TKey,TValue}"/>; | 383 | /// <see langword="true"/> if element has been added successfully to the <see cref="ICnmCache{TKey,TValue}"/>; |
384 | /// otherwise <see langword="false"/>. | 384 | /// otherwise <see langword="false"/>. |
385 | /// </returns> | 385 | /// </returns> |
386 | /// <exception cref="ArgumentNullException"> | 386 | /// <exception cref="ArgumentNullException"> |
@@ -391,17 +391,17 @@ namespace OpenSim.Framework | |||
391 | /// </exception> | 391 | /// </exception> |
392 | /// <remarks> | 392 | /// <remarks> |
393 | /// <para> | 393 | /// <para> |
394 | /// If element's <paramref name="size"/> is larger than <see cref="MaxElementSize"/>, then element is | 394 | /// If element's <paramref name="size"/> is larger than <see cref="MaxElementSize"/>, then element is |
395 | /// not added to the <see cref="ICnmCache{TKey,TValue}"/>, however - possible older element is | 395 | /// not added to the <see cref="ICnmCache{TKey,TValue}"/>, however - possible older element is |
396 | /// removed from the <see cref="ICnmCache{TKey,TValue}"/>. | 396 | /// removed from the <see cref="ICnmCache{TKey,TValue}"/>. |
397 | /// </para> | 397 | /// </para> |
398 | /// <para> | 398 | /// <para> |
399 | /// When adding an new element to <see cref="ICnmCache{TKey,TValue}"/> that is limiting total size of elements, | 399 | /// When adding an new element to <see cref="ICnmCache{TKey,TValue}"/> that is limiting total size of elements, |
400 | /// <see cref="ICnmCache{TKey,TValue}"/>will remove less recently used elements until it can fit an new element. | 400 | /// <see cref="ICnmCache{TKey,TValue}"/>will remove less recently used elements until it can fit an new element. |
401 | /// </para> | 401 | /// </para> |
402 | /// <para> | 402 | /// <para> |
403 | /// When adding an new element to <see cref="ICnmCache{TKey,TValue}"/> that is limiting element count, | 403 | /// When adding an new element to <see cref="ICnmCache{TKey,TValue}"/> that is limiting element count, |
404 | /// <see cref="ICnmCache{TKey,TValue}"/>will remove less recently used elements until it can fit an new element. | 404 | /// <see cref="ICnmCache{TKey,TValue}"/>will remove less recently used elements until it can fit an new element. |
405 | /// </para> | 405 | /// </para> |
406 | /// </remarks> | 406 | /// </remarks> |
407 | /// <seealso cref="IsSizeLimited"/> | 407 | /// <seealso cref="IsSizeLimited"/> |
@@ -417,15 +417,15 @@ namespace OpenSim.Framework | |||
417 | /// Gets the <paramref name="value"/> associated with the specified <paramref name="key"/>. | 417 | /// Gets the <paramref name="value"/> associated with the specified <paramref name="key"/>. |
418 | /// </summary> | 418 | /// </summary> |
419 | /// <returns> | 419 | /// <returns> |
420 | /// <see langword="true"/>if the <see cref="ICnmCache{TKey,TValue}"/> contains an element with | 420 | /// <see langword="true"/>if the <see cref="ICnmCache{TKey,TValue}"/> contains an element with |
421 | /// the specified key; otherwise, <see langword="false"/>. | 421 | /// the specified key; otherwise, <see langword="false"/>. |
422 | /// </returns> | 422 | /// </returns> |
423 | /// <param name="key"> | 423 | /// <param name="key"> |
424 | /// The key whose <paramref name="value"/> to get. | 424 | /// The key whose <paramref name="value"/> to get. |
425 | /// </param> | 425 | /// </param> |
426 | /// <param name="value"> | 426 | /// <param name="value"> |
427 | /// When this method returns, the value associated with the specified <paramref name="key"/>, | 427 | /// When this method returns, the value associated with the specified <paramref name="key"/>, |
428 | /// if the <paramref name="key"/> is found; otherwise, the | 428 | /// if the <paramref name="key"/> is found; otherwise, the |
429 | /// default value for the type of the <paramref name="value"/> parameter. This parameter is passed uninitialized. | 429 | /// default value for the type of the <paramref name="value"/> parameter. This parameter is passed uninitialized. |
430 | /// </param> | 430 | /// </param> |
431 | /// <exception cref="ArgumentNullException"> | 431 | /// <exception cref="ArgumentNullException"> |
diff --git a/OpenSim/Framework/ILandChannel.cs b/OpenSim/Framework/ILandChannel.cs index 63cc7eb..44a24b9 100644 --- a/OpenSim/Framework/ILandChannel.cs +++ b/OpenSim/Framework/ILandChannel.cs | |||
@@ -38,7 +38,7 @@ namespace OpenSim.Region.Framework.Interfaces | |||
38 | /// </summary> | 38 | /// </summary> |
39 | /// <returns></returns> | 39 | /// <returns></returns> |
40 | List<ILandObject> AllParcels(); | 40 | List<ILandObject> AllParcels(); |
41 | 41 | ||
42 | /// <summary> | 42 | /// <summary> |
43 | /// Get the parcel at the specified point | 43 | /// Get the parcel at the specified point |
44 | /// </summary> | 44 | /// </summary> |
@@ -75,7 +75,7 @@ namespace OpenSim.Region.Framework.Interfaces | |||
75 | /// <param name="localID"></param> | 75 | /// <param name="localID"></param> |
76 | /// <returns></returns> | 76 | /// <returns></returns> |
77 | ILandObject GetLandObject(int localID); | 77 | ILandObject GetLandObject(int localID); |
78 | 78 | ||
79 | /// <summary> | 79 | /// <summary> |
80 | /// Clear the land channel of all parcels. | 80 | /// Clear the land channel of all parcels. |
81 | /// </summary> | 81 | /// </summary> |
@@ -83,7 +83,7 @@ namespace OpenSim.Region.Framework.Interfaces | |||
83 | /// If true, set up a default parcel covering the whole region owned by the estate owner. | 83 | /// If true, set up a default parcel covering the whole region owned by the estate owner. |
84 | /// </param> | 84 | /// </param> |
85 | void Clear(bool setupDefaultParcel); | 85 | void Clear(bool setupDefaultParcel); |
86 | 86 | ||
87 | bool IsForcefulBansAllowed(); | 87 | bool IsForcefulBansAllowed(); |
88 | void UpdateLandObject(int localID, LandData data); | 88 | void UpdateLandObject(int localID, LandData data); |
89 | void ReturnObjectsInParcel(int localID, uint returnType, UUID[] agentIDs, UUID[] taskIDs, IClientAPI remoteClient); | 89 | void ReturnObjectsInParcel(int localID, uint returnType, UUID[] agentIDs, UUID[] taskIDs, IClientAPI remoteClient); |
diff --git a/OpenSim/Framework/ILandObject.cs b/OpenSim/Framework/ILandObject.cs index af072fe..f3b850d 100644 --- a/OpenSim/Framework/ILandObject.cs +++ b/OpenSim/Framework/ILandObject.cs | |||
@@ -43,33 +43,33 @@ namespace OpenSim.Framework | |||
43 | LandData LandData { get; set; } | 43 | LandData LandData { get; set; } |
44 | bool[,] LandBitmap { get; set; } | 44 | bool[,] LandBitmap { get; set; } |
45 | UUID RegionUUID { get; } | 45 | UUID RegionUUID { get; } |
46 | 46 | ||
47 | /// <summary> | 47 | /// <summary> |
48 | /// Prim counts for this land object. | 48 | /// Prim counts for this land object. |
49 | /// </summary> | 49 | /// </summary> |
50 | IPrimCounts PrimCounts { get; set; } | 50 | IPrimCounts PrimCounts { get; set; } |
51 | 51 | ||
52 | /// <summary> | 52 | /// <summary> |
53 | /// The start point for the land object. This is the northern-most point as one scans land working from | 53 | /// The start point for the land object. This is the northern-most point as one scans land working from |
54 | /// west to east. | 54 | /// west to east. |
55 | /// </summary> | 55 | /// </summary> |
56 | Vector2 StartPoint { get; } | 56 | Vector2 StartPoint { get; } |
57 | 57 | ||
58 | /// <summary> | 58 | /// <summary> |
59 | /// The end point for the land object. This is the southern-most point as one scans land working from | 59 | /// The end point for the land object. This is the southern-most point as one scans land working from |
60 | /// west to east. | 60 | /// west to east. |
61 | /// </summary> | 61 | /// </summary> |
62 | Vector2 EndPoint { get; } | 62 | Vector2 EndPoint { get; } |
63 | 63 | ||
64 | // a estimation of a parcel center. | 64 | // a estimation of a parcel center. |
65 | Vector2 CenterPoint { get; } | 65 | Vector2 CenterPoint { get; } |
66 | 66 | ||
67 | // get positions | 67 | // get positions |
68 | Vector2? GetNearestPoint(Vector3 pos); | 68 | Vector2? GetNearestPoint(Vector3 pos); |
69 | Vector2? GetNearestPointAlongDirection(Vector3 pos, Vector3 pdirection); | 69 | Vector2? GetNearestPointAlongDirection(Vector3 pos, Vector3 pdirection); |
70 | 70 | ||
71 | bool ContainsPoint(int x, int y); | 71 | bool ContainsPoint(int x, int y); |
72 | 72 | ||
73 | ILandObject Copy(); | 73 | ILandObject Copy(); |
74 | 74 | ||
75 | void SendLandUpdateToAvatarsOverMe(); | 75 | void SendLandUpdateToAvatarsOverMe(); |
@@ -97,16 +97,16 @@ namespace OpenSim.Framework | |||
97 | /// </summary> | 97 | /// </summary> |
98 | /// <returns>The bitmap created.</returns> | 98 | /// <returns>The bitmap created.</returns> |
99 | bool[,] BasicFullRegionLandBitmap(); | 99 | bool[,] BasicFullRegionLandBitmap(); |
100 | 100 | ||
101 | /// <summary> | 101 | /// <summary> |
102 | /// Create a square land bitmap. | 102 | /// Create a square land bitmap. |
103 | /// </summary> | 103 | /// </summary> |
104 | /// <remarks> | 104 | /// <remarks> |
105 | /// Land co-ordinates are zero indexed. The inputs are treated as points. So if you want to create a bitmap | 105 | /// Land co-ordinates are zero indexed. The inputs are treated as points. So if you want to create a bitmap |
106 | /// that covers an entire 256 x 256m region apart from a strip of land on the east, then you would need to | 106 | /// that covers an entire 256 x 256m region apart from a strip of land on the east, then you would need to |
107 | /// specify start_x = 0, start_y = 0, end_x = 252 (or anything up to 255), end_y = 255. | 107 | /// specify start_x = 0, start_y = 0, end_x = 252 (or anything up to 255), end_y = 255. |
108 | /// | 108 | /// |
109 | /// At the moment, the smallest parcel of land is 4m x 4m, so if the | 109 | /// At the moment, the smallest parcel of land is 4m x 4m, so if the |
110 | /// region is 256 x 256m (the SL size), the bitmap returned will start at (0,0) and end at (63,63). | 110 | /// region is 256 x 256m (the SL size), the bitmap returned will start at (0,0) and end at (63,63). |
111 | /// The value of the set_value needs to be true to define an active parcel of the given size. | 111 | /// The value of the set_value needs to be true to define an active parcel of the given size. |
112 | /// </remarks> | 112 | /// </remarks> |
@@ -117,7 +117,7 @@ namespace OpenSim.Framework | |||
117 | /// <param name="set_value"></param> | 117 | /// <param name="set_value"></param> |
118 | /// <returns>The bitmap created.</returns> | 118 | /// <returns>The bitmap created.</returns> |
119 | bool[,] GetSquareLandBitmap(int start_x, int start_y, int end_x, int end_y, bool set_value = true); | 119 | bool[,] GetSquareLandBitmap(int start_x, int start_y, int end_x, int end_y, bool set_value = true); |
120 | 120 | ||
121 | bool[,] ModifyLandBitmapSquare(bool[,] land_bitmap, int start_x, int start_y, int end_x, int end_y, bool set_value); | 121 | bool[,] ModifyLandBitmapSquare(bool[,] land_bitmap, int start_x, int start_y, int end_x, int end_y, bool set_value); |
122 | 122 | ||
123 | /// <summary> | 123 | /// <summary> |
@@ -153,7 +153,7 @@ namespace OpenSim.Framework | |||
153 | /// <param name="isEmptyNow">out: This is set if the resultant bitmap is now empty</param> | 153 | /// <param name="isEmptyNow">out: This is set if the resultant bitmap is now empty</param> |
154 | /// <param name="AABBMin">out: parcel.AABBMin <x,y,0></param> | 154 | /// <param name="AABBMin">out: parcel.AABBMin <x,y,0></param> |
155 | /// <param name="AABBMax">out: parcel.AABBMax <x,y,0></param> | 155 | /// <param name="AABBMax">out: parcel.AABBMax <x,y,0></param> |
156 | /// <returns>New parcel bitmap</returns> | 156 | /// <returns>New parcel bitmap</returns> |
157 | bool[,] RemoveFromLandBitmap(bool[,] bitmap_base, bool[,] bitmap_new, out bool isEmptyNow, out Vector3 AABBMin, out Vector3 AABBMax); | 157 | bool[,] RemoveFromLandBitmap(bool[,] bitmap_base, bool[,] bitmap_new, out bool isEmptyNow, out Vector3 AABBMin, out Vector3 AABBMax); |
158 | 158 | ||
159 | byte[] ConvertLandBitmapToBytes(); | 159 | byte[] ConvertLandBitmapToBytes(); |
@@ -177,7 +177,7 @@ namespace OpenSim.Framework | |||
177 | /// </summary> | 177 | /// </summary> |
178 | /// <param name="url"></param> | 178 | /// <param name="url"></param> |
179 | void SetMediaUrl(string url); | 179 | void SetMediaUrl(string url); |
180 | 180 | ||
181 | /// <summary> | 181 | /// <summary> |
182 | /// Set the music url for this land parcel | 182 | /// Set the music url for this land parcel |
183 | /// </summary> | 183 | /// </summary> |
diff --git a/OpenSim/Framework/IPrimCounts.cs b/OpenSim/Framework/IPrimCounts.cs index 3e12348..3b62ad3 100644 --- a/OpenSim/Framework/IPrimCounts.cs +++ b/OpenSim/Framework/IPrimCounts.cs | |||
@@ -35,12 +35,12 @@ namespace OpenSim.Framework | |||
35 | /// Parcel owner owned prims | 35 | /// Parcel owner owned prims |
36 | /// </summary> | 36 | /// </summary> |
37 | int Owner { get; } | 37 | int Owner { get; } |
38 | 38 | ||
39 | /// <summary> | 39 | /// <summary> |
40 | /// Parcel group owned prims | 40 | /// Parcel group owned prims |
41 | /// </summary> | 41 | /// </summary> |
42 | int Group { get; } | 42 | int Group { get; } |
43 | 43 | ||
44 | /// <summary> | 44 | /// <summary> |
45 | /// Prims owned by others (not parcel owner or parcel group). | 45 | /// Prims owned by others (not parcel owner or parcel group). |
46 | /// </summary> | 46 | /// </summary> |
@@ -48,19 +48,19 @@ namespace OpenSim.Framework | |||
48 | 48 | ||
49 | /// <summary> | 49 | /// <summary> |
50 | /// Selected prims | 50 | /// Selected prims |
51 | /// </summary> | 51 | /// </summary> |
52 | int Selected { get; } | 52 | int Selected { get; } |
53 | 53 | ||
54 | /// <summary> | 54 | /// <summary> |
55 | /// Total prims on the parcel. | 55 | /// Total prims on the parcel. |
56 | /// </summary> | 56 | /// </summary> |
57 | int Total { get; } | 57 | int Total { get; } |
58 | 58 | ||
59 | /// <summary> | 59 | /// <summary> |
60 | /// Prims on the simulator that are owned by the parcel owner, even if they are in other parcels. | 60 | /// Prims on the simulator that are owned by the parcel owner, even if they are in other parcels. |
61 | /// </summary> | 61 | /// </summary> |
62 | int Simulator { get; } | 62 | int Simulator { get; } |
63 | 63 | ||
64 | /// <summary> | 64 | /// <summary> |
65 | /// Prims per individual users. | 65 | /// Prims per individual users. |
66 | /// </summary> | 66 | /// </summary> |
diff --git a/OpenSim/Framework/IRegistryCore.cs b/OpenSim/Framework/IRegistryCore.cs index a94b65d..cf3ecc0 100644 --- a/OpenSim/Framework/IRegistryCore.cs +++ b/OpenSim/Framework/IRegistryCore.cs | |||
@@ -31,7 +31,7 @@ using System.Text; | |||
31 | 31 | ||
32 | namespace OpenSim.Framework | 32 | namespace OpenSim.Framework |
33 | { | 33 | { |
34 | public interface IRegistryCore | 34 | public interface IRegistryCore |
35 | { | 35 | { |
36 | T Get<T>(); | 36 | T Get<T>(); |
37 | void RegisterInterface<T>(T iface); | 37 | void RegisterInterface<T>(T iface); |
diff --git a/OpenSim/Framework/IScene.cs b/OpenSim/Framework/IScene.cs index e1b6d1e..37a064f 100644 --- a/OpenSim/Framework/IScene.cs +++ b/OpenSim/Framework/IScene.cs | |||
@@ -40,7 +40,7 @@ namespace OpenSim.Framework | |||
40 | Crashed = 2, | 40 | Crashed = 2, |
41 | Starting = 3, | 41 | Starting = 3, |
42 | }; | 42 | }; |
43 | 43 | ||
44 | /// <value> | 44 | /// <value> |
45 | /// Indicate what action to take on an object derez request | 45 | /// Indicate what action to take on an object derez request |
46 | /// </value> | 46 | /// </value> |
@@ -118,7 +118,7 @@ namespace OpenSim.Framework | |||
118 | /// </summary> | 118 | /// </summary> |
119 | /// <param name="mod"></param> | 119 | /// <param name="mod"></param> |
120 | void RegisterModuleInterface<M>(M mod); | 120 | void RegisterModuleInterface<M>(M mod); |
121 | 121 | ||
122 | void StackModuleInterface<M>(M mod); | 122 | void StackModuleInterface<M>(M mod); |
123 | 123 | ||
124 | /// <summary> | 124 | /// <summary> |
diff --git a/OpenSim/Framework/ISceneAgent.cs b/OpenSim/Framework/ISceneAgent.cs index c8424e3..5534e24 100644 --- a/OpenSim/Framework/ISceneAgent.cs +++ b/OpenSim/Framework/ISceneAgent.cs | |||
@@ -81,6 +81,6 @@ namespace OpenSim.Framework | |||
81 | /// Direction in which the scene presence is looking. | 81 | /// Direction in which the scene presence is looking. |
82 | /// </summary> | 82 | /// </summary> |
83 | /// <remarks>Will be Vector3.Zero for a child agent.</remarks> | 83 | /// <remarks>Will be Vector3.Zero for a child agent.</remarks> |
84 | Vector3 Lookat { get; } | 84 | Vector3 Lookat { get; } |
85 | } | 85 | } |
86 | } \ No newline at end of file | 86 | } \ No newline at end of file |
diff --git a/OpenSim/Framework/InventoryFolderImpl.cs b/OpenSim/Framework/InventoryFolderImpl.cs index 139776b..d14f3be 100644 --- a/OpenSim/Framework/InventoryFolderImpl.cs +++ b/OpenSim/Framework/InventoryFolderImpl.cs | |||
@@ -314,7 +314,7 @@ namespace OpenSim.Framework | |||
314 | /// XPath like expression | 314 | /// XPath like expression |
315 | /// | 315 | /// |
316 | /// FIXME: Delimitors which occur in names themselves are not currently escapable. | 316 | /// FIXME: Delimitors which occur in names themselves are not currently escapable. |
317 | /// | 317 | /// |
318 | /// <param name="path"> | 318 | /// <param name="path"> |
319 | /// The path to the required folder. | 319 | /// The path to the required folder. |
320 | /// It this is empty or consists only of the PATH_DELIMTER then this folder itself is returned. | 320 | /// It this is empty or consists only of the PATH_DELIMTER then this folder itself is returned. |
diff --git a/OpenSim/Framework/InventoryItemBase.cs b/OpenSim/Framework/InventoryItemBase.cs index f9fd752..c359a0c 100644 --- a/OpenSim/Framework/InventoryItemBase.cs +++ b/OpenSim/Framework/InventoryItemBase.cs | |||
@@ -34,17 +34,17 @@ namespace OpenSim.Framework | |||
34 | /// Inventory Item - contains all the properties associated with an individual inventory piece. | 34 | /// Inventory Item - contains all the properties associated with an individual inventory piece. |
35 | /// </summary> | 35 | /// </summary> |
36 | public class InventoryItemBase : InventoryNodeBase, ICloneable | 36 | public class InventoryItemBase : InventoryNodeBase, ICloneable |
37 | { | 37 | { |
38 | /// <value> | 38 | /// <value> |
39 | /// The inventory type of the item. This is slightly different from the asset type in some situations. | 39 | /// The inventory type of the item. This is slightly different from the asset type in some situations. |
40 | /// </value> | 40 | /// </value> |
41 | public int InvType | 41 | public int InvType |
42 | { | 42 | { |
43 | get | 43 | get |
44 | { | 44 | { |
45 | return m_invType; | 45 | return m_invType; |
46 | } | 46 | } |
47 | 47 | ||
48 | set | 48 | set |
49 | { | 49 | { |
50 | m_invType = value; | 50 | m_invType = value; |
@@ -55,13 +55,13 @@ namespace OpenSim.Framework | |||
55 | /// <value> | 55 | /// <value> |
56 | /// The folder this item is contained in | 56 | /// The folder this item is contained in |
57 | /// </value> | 57 | /// </value> |
58 | public UUID Folder | 58 | public UUID Folder |
59 | { | 59 | { |
60 | get | 60 | get |
61 | { | 61 | { |
62 | return m_folder; | 62 | return m_folder; |
63 | } | 63 | } |
64 | 64 | ||
65 | set | 65 | set |
66 | { | 66 | { |
67 | m_folder = value; | 67 | m_folder = value; |
@@ -72,17 +72,17 @@ namespace OpenSim.Framework | |||
72 | /// <value> | 72 | /// <value> |
73 | /// The creator of this item | 73 | /// The creator of this item |
74 | /// </value> | 74 | /// </value> |
75 | public string CreatorId | 75 | public string CreatorId |
76 | { | 76 | { |
77 | get | 77 | get |
78 | { | 78 | { |
79 | return m_creatorId; | 79 | return m_creatorId; |
80 | } | 80 | } |
81 | 81 | ||
82 | set | 82 | set |
83 | { | 83 | { |
84 | m_creatorId = value; | 84 | m_creatorId = value; |
85 | 85 | ||
86 | if ((m_creatorId == null) || !UUID.TryParse(m_creatorId, out m_creatorIdAsUuid)) | 86 | if ((m_creatorId == null) || !UUID.TryParse(m_creatorId, out m_creatorIdAsUuid)) |
87 | m_creatorIdAsUuid = UUID.Zero; | 87 | m_creatorIdAsUuid = UUID.Zero; |
88 | } | 88 | } |
@@ -92,7 +92,7 @@ namespace OpenSim.Framework | |||
92 | /// <value> | 92 | /// <value> |
93 | /// The CreatorId expressed as a UUID. | 93 | /// The CreatorId expressed as a UUID. |
94 | /// </value> | 94 | /// </value> |
95 | public UUID CreatorIdAsUuid | 95 | public UUID CreatorIdAsUuid |
96 | { | 96 | { |
97 | get | 97 | get |
98 | { | 98 | { |
@@ -161,13 +161,13 @@ namespace OpenSim.Framework | |||
161 | /// <value> | 161 | /// <value> |
162 | /// The description of the inventory item (must be less than 64 characters) | 162 | /// The description of the inventory item (must be less than 64 characters) |
163 | /// </value> | 163 | /// </value> |
164 | public string Description | 164 | public string Description |
165 | { | 165 | { |
166 | get | 166 | get |
167 | { | 167 | { |
168 | return m_description; | 168 | return m_description; |
169 | } | 169 | } |
170 | 170 | ||
171 | set | 171 | set |
172 | { | 172 | { |
173 | m_description = value; | 173 | m_description = value; |
@@ -178,13 +178,13 @@ namespace OpenSim.Framework | |||
178 | /// <value> | 178 | /// <value> |
179 | /// | 179 | /// |
180 | /// </value> | 180 | /// </value> |
181 | public uint NextPermissions | 181 | public uint NextPermissions |
182 | { | 182 | { |
183 | get | 183 | get |
184 | { | 184 | { |
185 | return m_nextPermissions; | 185 | return m_nextPermissions; |
186 | } | 186 | } |
187 | 187 | ||
188 | set | 188 | set |
189 | { | 189 | { |
190 | m_nextPermissions = value; | 190 | m_nextPermissions = value; |
@@ -195,13 +195,13 @@ namespace OpenSim.Framework | |||
195 | /// <value> | 195 | /// <value> |
196 | /// A mask containing permissions for the current owner (cannot be enforced) | 196 | /// A mask containing permissions for the current owner (cannot be enforced) |
197 | /// </value> | 197 | /// </value> |
198 | public uint CurrentPermissions | 198 | public uint CurrentPermissions |
199 | { | 199 | { |
200 | get | 200 | get |
201 | { | 201 | { |
202 | return m_currentPermissions; | 202 | return m_currentPermissions; |
203 | } | 203 | } |
204 | 204 | ||
205 | set | 205 | set |
206 | { | 206 | { |
207 | m_currentPermissions = value; | 207 | m_currentPermissions = value; |
@@ -212,13 +212,13 @@ namespace OpenSim.Framework | |||
212 | /// <value> | 212 | /// <value> |
213 | /// | 213 | /// |
214 | /// </value> | 214 | /// </value> |
215 | public uint BasePermissions | 215 | public uint BasePermissions |
216 | { | 216 | { |
217 | get | 217 | get |
218 | { | 218 | { |
219 | return m_basePermissions; | 219 | return m_basePermissions; |
220 | } | 220 | } |
221 | 221 | ||
222 | set | 222 | set |
223 | { | 223 | { |
224 | m_basePermissions = value; | 224 | m_basePermissions = value; |
@@ -229,13 +229,13 @@ namespace OpenSim.Framework | |||
229 | /// <value> | 229 | /// <value> |
230 | /// | 230 | /// |
231 | /// </value> | 231 | /// </value> |
232 | public uint EveryOnePermissions | 232 | public uint EveryOnePermissions |
233 | { | 233 | { |
234 | get | 234 | get |
235 | { | 235 | { |
236 | return m_everyonePermissions; | 236 | return m_everyonePermissions; |
237 | } | 237 | } |
238 | 238 | ||
239 | set | 239 | set |
240 | { | 240 | { |
241 | m_everyonePermissions = value; | 241 | m_everyonePermissions = value; |
@@ -246,13 +246,13 @@ namespace OpenSim.Framework | |||
246 | /// <value> | 246 | /// <value> |
247 | /// | 247 | /// |
248 | /// </value> | 248 | /// </value> |
249 | public uint GroupPermissions | 249 | public uint GroupPermissions |
250 | { | 250 | { |
251 | get | 251 | get |
252 | { | 252 | { |
253 | return m_groupPermissions; | 253 | return m_groupPermissions; |
254 | } | 254 | } |
255 | 255 | ||
256 | set | 256 | set |
257 | { | 257 | { |
258 | m_groupPermissions = value; | 258 | m_groupPermissions = value; |
@@ -263,13 +263,13 @@ namespace OpenSim.Framework | |||
263 | /// <value> | 263 | /// <value> |
264 | /// This is an enumerated value determining the type of asset (eg Notecard, Sound, Object, etc) | 264 | /// This is an enumerated value determining the type of asset (eg Notecard, Sound, Object, etc) |
265 | /// </value> | 265 | /// </value> |
266 | public int AssetType | 266 | public int AssetType |
267 | { | 267 | { |
268 | get | 268 | get |
269 | { | 269 | { |
270 | return m_assetType; | 270 | return m_assetType; |
271 | } | 271 | } |
272 | 272 | ||
273 | set | 273 | set |
274 | { | 274 | { |
275 | m_assetType = value; | 275 | m_assetType = value; |
@@ -280,13 +280,13 @@ namespace OpenSim.Framework | |||
280 | /// <value> | 280 | /// <value> |
281 | /// The UUID of the associated asset on the asset server | 281 | /// The UUID of the associated asset on the asset server |
282 | /// </value> | 282 | /// </value> |
283 | public UUID AssetID | 283 | public UUID AssetID |
284 | { | 284 | { |
285 | get | 285 | get |
286 | { | 286 | { |
287 | return m_assetID; | 287 | return m_assetID; |
288 | } | 288 | } |
289 | 289 | ||
290 | set | 290 | set |
291 | { | 291 | { |
292 | m_assetID = value; | 292 | m_assetID = value; |
@@ -297,13 +297,13 @@ namespace OpenSim.Framework | |||
297 | /// <value> | 297 | /// <value> |
298 | /// | 298 | /// |
299 | /// </value> | 299 | /// </value> |
300 | public UUID GroupID | 300 | public UUID GroupID |
301 | { | 301 | { |
302 | get | 302 | get |
303 | { | 303 | { |
304 | return m_groupID; | 304 | return m_groupID; |
305 | } | 305 | } |
306 | 306 | ||
307 | set | 307 | set |
308 | { | 308 | { |
309 | m_groupID = value; | 309 | m_groupID = value; |
@@ -314,13 +314,13 @@ namespace OpenSim.Framework | |||
314 | /// <value> | 314 | /// <value> |
315 | /// | 315 | /// |
316 | /// </value> | 316 | /// </value> |
317 | public bool GroupOwned | 317 | public bool GroupOwned |
318 | { | 318 | { |
319 | get | 319 | get |
320 | { | 320 | { |
321 | return m_groupOwned; | 321 | return m_groupOwned; |
322 | } | 322 | } |
323 | 323 | ||
324 | set | 324 | set |
325 | { | 325 | { |
326 | m_groupOwned = value; | 326 | m_groupOwned = value; |
@@ -331,13 +331,13 @@ namespace OpenSim.Framework | |||
331 | /// <value> | 331 | /// <value> |
332 | /// | 332 | /// |
333 | /// </value> | 333 | /// </value> |
334 | public int SalePrice | 334 | public int SalePrice |
335 | { | 335 | { |
336 | get | 336 | get |
337 | { | 337 | { |
338 | return m_salePrice; | 338 | return m_salePrice; |
339 | } | 339 | } |
340 | 340 | ||
341 | set | 341 | set |
342 | { | 342 | { |
343 | m_salePrice = value; | 343 | m_salePrice = value; |
@@ -348,13 +348,13 @@ namespace OpenSim.Framework | |||
348 | /// <value> | 348 | /// <value> |
349 | /// | 349 | /// |
350 | /// </value> | 350 | /// </value> |
351 | public byte SaleType | 351 | public byte SaleType |
352 | { | 352 | { |
353 | get | 353 | get |
354 | { | 354 | { |
355 | return m_saleType; | 355 | return m_saleType; |
356 | } | 356 | } |
357 | 357 | ||
358 | set | 358 | set |
359 | { | 359 | { |
360 | m_saleType = value; | 360 | m_saleType = value; |
@@ -365,13 +365,13 @@ namespace OpenSim.Framework | |||
365 | /// <value> | 365 | /// <value> |
366 | /// | 366 | /// |
367 | /// </value> | 367 | /// </value> |
368 | public uint Flags | 368 | public uint Flags |
369 | { | 369 | { |
370 | get | 370 | get |
371 | { | 371 | { |
372 | return m_flags; | 372 | return m_flags; |
373 | } | 373 | } |
374 | 374 | ||
375 | set | 375 | set |
376 | { | 376 | { |
377 | m_flags = value; | 377 | m_flags = value; |
@@ -382,13 +382,13 @@ namespace OpenSim.Framework | |||
382 | /// <value> | 382 | /// <value> |
383 | /// | 383 | /// |
384 | /// </value> | 384 | /// </value> |
385 | public int CreationDate | 385 | public int CreationDate |
386 | { | 386 | { |
387 | get | 387 | get |
388 | { | 388 | { |
389 | return m_creationDate; | 389 | return m_creationDate; |
390 | } | 390 | } |
391 | 391 | ||
392 | set | 392 | set |
393 | { | 393 | { |
394 | m_creationDate = value; | 394 | m_creationDate = value; |
diff --git a/OpenSim/Framework/InventoryNodeBase.cs b/OpenSim/Framework/InventoryNodeBase.cs index 31c3fd1..9ef36b7 100644 --- a/OpenSim/Framework/InventoryNodeBase.cs +++ b/OpenSim/Framework/InventoryNodeBase.cs | |||
@@ -41,19 +41,19 @@ namespace OpenSim.Framework | |||
41 | { | 41 | { |
42 | get { return m_name; } | 42 | get { return m_name; } |
43 | set { m_name = value; } | 43 | set { m_name = value; } |
44 | } | 44 | } |
45 | private string m_name = string.Empty; | 45 | private string m_name = string.Empty; |
46 | 46 | ||
47 | /// <summary> | 47 | /// <summary> |
48 | /// A UUID containing the ID for the inventory node itself | 48 | /// A UUID containing the ID for the inventory node itself |
49 | /// </summary> | 49 | /// </summary> |
50 | public UUID ID | 50 | public UUID ID |
51 | { | 51 | { |
52 | get { return m_id; } | 52 | get { return m_id; } |
53 | set { m_id = value; } | 53 | set { m_id = value; } |
54 | } | 54 | } |
55 | private UUID m_id; | 55 | private UUID m_id; |
56 | 56 | ||
57 | /// <summary> | 57 | /// <summary> |
58 | /// The agent who's inventory this is contained by | 58 | /// The agent who's inventory this is contained by |
59 | /// </summary> | 59 | /// </summary> |
diff --git a/OpenSim/Framework/LandData.cs b/OpenSim/Framework/LandData.cs index cfefe3e..13d2977 100644 --- a/OpenSim/Framework/LandData.cs +++ b/OpenSim/Framework/LandData.cs | |||
@@ -411,7 +411,7 @@ namespace OpenSim.Framework | |||
411 | } | 411 | } |
412 | 412 | ||
413 | /// <summary> | 413 | /// <summary> |
414 | /// Determines if people are able to teleport where they please on the parcel or if they | 414 | /// Determines if people are able to teleport where they please on the parcel or if they |
415 | /// get constrainted to a specific point on teleport within the parcel | 415 | /// get constrainted to a specific point on teleport within the parcel |
416 | /// </summary> | 416 | /// </summary> |
417 | public byte LandingType | 417 | public byte LandingType |
@@ -667,7 +667,7 @@ namespace OpenSim.Framework | |||
667 | } | 667 | } |
668 | 668 | ||
669 | /// <summary> | 669 | /// <summary> |
670 | /// When teleporting is restricted to a certain point, this is the location | 670 | /// When teleporting is restricted to a certain point, this is the location |
671 | /// that the user will be redirected to | 671 | /// that the user will be redirected to |
672 | /// </summary> | 672 | /// </summary> |
673 | public Vector3 UserLocation | 673 | public Vector3 UserLocation |
@@ -683,7 +683,7 @@ namespace OpenSim.Framework | |||
683 | } | 683 | } |
684 | 684 | ||
685 | /// <summary> | 685 | /// <summary> |
686 | /// When teleporting is restricted to a certain point, this is the rotation | 686 | /// When teleporting is restricted to a certain point, this is the rotation |
687 | /// that the user will be positioned | 687 | /// that the user will be positioned |
688 | /// </summary> | 688 | /// </summary> |
689 | public Vector3 UserLookAt | 689 | public Vector3 UserLookAt |
@@ -699,7 +699,7 @@ namespace OpenSim.Framework | |||
699 | } | 699 | } |
700 | 700 | ||
701 | /// <summary> | 701 | /// <summary> |
702 | /// Autoreturn number of minutes to return SceneObjectGroup that are owned by someone who doesn't own | 702 | /// Autoreturn number of minutes to return SceneObjectGroup that are owned by someone who doesn't own |
703 | /// the parcel and isn't set to the same 'group' as the parcel. | 703 | /// the parcel and isn't set to the same 'group' as the parcel. |
704 | /// </summary> | 704 | /// </summary> |
705 | public int OtherCleanTime | 705 | public int OtherCleanTime |
diff --git a/OpenSim/Framework/Lazy.cs b/OpenSim/Framework/Lazy.cs index 91de4bd..ea07d0e 100644 --- a/OpenSim/Framework/Lazy.cs +++ b/OpenSim/Framework/Lazy.cs | |||
@@ -14,10 +14,10 @@ | |||
14 | // distribute, sublicense, and/or sell copies of the Software, and to | 14 | // distribute, sublicense, and/or sell copies of the Software, and to |
15 | // permit persons to whom the Software is furnished to do so, subject to | 15 | // permit persons to whom the Software is furnished to do so, subject to |
16 | // the following conditions: | 16 | // the following conditions: |
17 | // | 17 | // |
18 | // The above copyright notice and this permission notice shall be | 18 | // The above copyright notice and this permission notice shall be |
19 | // included in all copies or substantial portions of the Software. | 19 | // included in all copies or substantial portions of the Software. |
20 | // | 20 | // |
21 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | 21 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, |
22 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | 22 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF |
23 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | 23 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND |
diff --git a/OpenSim/Framework/LocklessQueue.cs b/OpenSim/Framework/LocklessQueue.cs index 7ccbba7..21b8178 100644 --- a/OpenSim/Framework/LocklessQueue.cs +++ b/OpenSim/Framework/LocklessQueue.cs | |||
@@ -102,7 +102,7 @@ namespace OpenSim.Framework | |||
102 | } | 102 | } |
103 | else | 103 | else |
104 | { | 104 | { |
105 | item = oldHeadNext.Item; | 105 | item = oldHeadNext.Item; |
106 | haveAdvancedHead = CAS(ref head, oldHead, oldHeadNext); | 106 | haveAdvancedHead = CAS(ref head, oldHead, oldHeadNext); |
107 | if (haveAdvancedHead) | 107 | if (haveAdvancedHead) |
108 | { | 108 | { |
diff --git a/OpenSim/Framework/MapAndArray.cs b/OpenSim/Framework/MapAndArray.cs index c98d3cc..32d6978 100644 --- a/OpenSim/Framework/MapAndArray.cs +++ b/OpenSim/Framework/MapAndArray.cs | |||
@@ -45,9 +45,9 @@ namespace OpenSim.Framework | |||
45 | 45 | ||
46 | /// <summary>Number of values currently stored in the collection</summary> | 46 | /// <summary>Number of values currently stored in the collection</summary> |
47 | public int Count { get { return m_array.Length; } } | 47 | public int Count { get { return m_array.Length; } } |
48 | /// <summary>NOTE: This collection is thread safe. You do not need to | 48 | /// <summary>NOTE: This collection is thread safe. You do not need to |
49 | /// acquire a lock to add, remove, or enumerate entries. This | 49 | /// acquire a lock to add, remove, or enumerate entries. This |
50 | /// synchronization object should only be locked for larger | 50 | /// synchronization object should only be locked for larger |
51 | /// transactions</summary> | 51 | /// transactions</summary> |
52 | public object SyncRoot { get { return m_syncRoot; } } | 52 | public object SyncRoot { get { return m_syncRoot; } } |
53 | 53 | ||
@@ -92,7 +92,7 @@ namespace OpenSim.Framework | |||
92 | } | 92 | } |
93 | 93 | ||
94 | /// <summary> | 94 | /// <summary> |
95 | /// Adds a key/value pair to the collection. This will throw an | 95 | /// Adds a key/value pair to the collection. This will throw an |
96 | /// exception if the key is already present in the collection | 96 | /// exception if the key is already present in the collection |
97 | /// </summary> | 97 | /// </summary> |
98 | /// <param name="key">Key to add or update</param> | 98 | /// <param name="key">Key to add or update</param> |
@@ -166,7 +166,7 @@ namespace OpenSim.Framework | |||
166 | /// Gets a reference to the immutable array of values stored in this | 166 | /// Gets a reference to the immutable array of values stored in this |
167 | /// collection. This array is thread safe for iteration | 167 | /// collection. This array is thread safe for iteration |
168 | /// </summary> | 168 | /// </summary> |
169 | /// <returns>A thread safe reference ton an array of all of the stored | 169 | /// <returns>A thread safe reference ton an array of all of the stored |
170 | /// values</returns> | 170 | /// values</returns> |
171 | public TValue[] GetArray() | 171 | public TValue[] GetArray() |
172 | { | 172 | { |
@@ -175,7 +175,7 @@ namespace OpenSim.Framework | |||
175 | 175 | ||
176 | private void CreateArray() | 176 | private void CreateArray() |
177 | { | 177 | { |
178 | // Rebuild the array from the dictionary. This method must be | 178 | // Rebuild the array from the dictionary. This method must be |
179 | // called from inside a lock | 179 | // called from inside a lock |
180 | TValue[] array = new TValue[m_dict.Count]; | 180 | TValue[] array = new TValue[m_dict.Count]; |
181 | int i = 0; | 181 | int i = 0; |
diff --git a/OpenSim/Framework/MapItemReplyStruct.cs b/OpenSim/Framework/MapItemReplyStruct.cs index c8693ae..348a240 100644 --- a/OpenSim/Framework/MapItemReplyStruct.cs +++ b/OpenSim/Framework/MapItemReplyStruct.cs | |||
@@ -60,7 +60,7 @@ namespace OpenSim.Framework | |||
60 | map["Extra2"] = OSD.FromInteger(Extra2); | 60 | map["Extra2"] = OSD.FromInteger(Extra2); |
61 | return map; | 61 | return map; |
62 | } | 62 | } |
63 | 63 | ||
64 | public void FromOSD(OSDMap map) | 64 | public void FromOSD(OSDMap map) |
65 | { | 65 | { |
66 | x = (uint) map["X"].AsInteger(); | 66 | x = (uint) map["X"].AsInteger(); |
diff --git a/OpenSim/Framework/MetricsCollector.cs b/OpenSim/Framework/MetricsCollector.cs index c8f4a33..391f57e 100644 --- a/OpenSim/Framework/MetricsCollector.cs +++ b/OpenSim/Framework/MetricsCollector.cs | |||
@@ -42,23 +42,23 @@ namespace OpenSim.Framework | |||
42 | } | 42 | } |
43 | } | 43 | } |
44 | 44 | ||
45 | 45 | ||
46 | struct MetricsBucket<T> | 46 | struct MetricsBucket<T> |
47 | { | 47 | { |
48 | public T value; | 48 | public T value; |
49 | public int count; | 49 | public int count; |
50 | } | 50 | } |
51 | 51 | ||
52 | 52 | ||
53 | /// <summary> | 53 | /// <summary> |
54 | /// Collects metrics in a sliding window. | 54 | /// Collects metrics in a sliding window. |
55 | /// </summary> | 55 | /// </summary> |
56 | /// <remarks> | 56 | /// <remarks> |
57 | /// MetricsCollector provides the current Sum of the metrics that it collects. It can easily be extended | 57 | /// MetricsCollector provides the current Sum of the metrics that it collects. It can easily be extended |
58 | /// to provide the Average, too. It uses a sliding window to keep these values current. | 58 | /// to provide the Average, too. It uses a sliding window to keep these values current. |
59 | /// | 59 | /// |
60 | /// This class is not thread-safe. | 60 | /// This class is not thread-safe. |
61 | /// | 61 | /// |
62 | /// Subclass MetricsCollector to have it use a concrete value type. Override the abstract methods. | 62 | /// Subclass MetricsCollector to have it use a concrete value type. Override the abstract methods. |
63 | /// </remarks> | 63 | /// </remarks> |
64 | public abstract class MetricsCollector<T> | 64 | public abstract class MetricsCollector<T> |
diff --git a/OpenSim/Framework/Monitoring/BaseStatsCollector.cs b/OpenSim/Framework/Monitoring/BaseStatsCollector.cs index 8c2bec6..e513abd 100644 --- a/OpenSim/Framework/Monitoring/BaseStatsCollector.cs +++ b/OpenSim/Framework/Monitoring/BaseStatsCollector.cs | |||
@@ -78,7 +78,7 @@ namespace OpenSim.Framework.Monitoring | |||
78 | 78 | ||
79 | return sb.ToString(); | 79 | return sb.ToString(); |
80 | } | 80 | } |
81 | 81 | ||
82 | public virtual string XReport(string uptime, string version) | 82 | public virtual string XReport(string uptime, string version) |
83 | { | 83 | { |
84 | return (string) Math.Round(GC.GetTotalMemory(false) / 1024.0 / 1024.0).ToString() ; | 84 | return (string) Math.Round(GC.GetTotalMemory(false) / 1024.0 / 1024.0).ToString() ; |
diff --git a/OpenSim/Framework/Monitoring/Checks/Check.cs b/OpenSim/Framework/Monitoring/Checks/Check.cs index 594386a..9a1bd45 100644 --- a/OpenSim/Framework/Monitoring/Checks/Check.cs +++ b/OpenSim/Framework/Monitoring/Checks/Check.cs | |||
@@ -79,7 +79,7 @@ namespace OpenSim.Framework.Monitoring | |||
79 | string category, | 79 | string category, |
80 | string container, | 80 | string container, |
81 | Func<Check, bool> checkFunc, | 81 | Func<Check, bool> checkFunc, |
82 | StatVerbosity verbosity) | 82 | StatVerbosity verbosity) |
83 | { | 83 | { |
84 | if (ChecksManager.SubCommands.Contains(category)) | 84 | if (ChecksManager.SubCommands.Contains(category)) |
85 | throw new Exception( | 85 | throw new Exception( |
@@ -108,9 +108,9 @@ namespace OpenSim.Framework.Monitoring | |||
108 | public virtual string ToConsoleString() | 108 | public virtual string ToConsoleString() |
109 | { | 109 | { |
110 | return string.Format( | 110 | return string.Format( |
111 | "{0}.{1}.{2} - {3}", | 111 | "{0}.{1}.{2} - {3}", |
112 | Category, | 112 | Category, |
113 | Container, | 113 | Container, |
114 | ShortName, | 114 | ShortName, |
115 | Description); | 115 | Description); |
116 | } | 116 | } |
diff --git a/OpenSim/Framework/Monitoring/Interfaces/IStatsCollector.cs b/OpenSim/Framework/Monitoring/Interfaces/IStatsCollector.cs index 40df562..e326e8b 100644 --- a/OpenSim/Framework/Monitoring/Interfaces/IStatsCollector.cs +++ b/OpenSim/Framework/Monitoring/Interfaces/IStatsCollector.cs | |||
@@ -39,7 +39,7 @@ namespace OpenSim.Framework.Monitoring | |||
39 | /// </summary> | 39 | /// </summary> |
40 | /// <returns></returns> | 40 | /// <returns></returns> |
41 | string Report(); | 41 | string Report(); |
42 | 42 | ||
43 | /// <summary> | 43 | /// <summary> |
44 | /// Report back collected statistical information in json | 44 | /// Report back collected statistical information in json |
45 | /// </summary> | 45 | /// </summary> |
diff --git a/OpenSim/Framework/Monitoring/JobEngine.cs b/OpenSim/Framework/Monitoring/JobEngine.cs index df6b806..0a39e4b 100644 --- a/OpenSim/Framework/Monitoring/JobEngine.cs +++ b/OpenSim/Framework/Monitoring/JobEngine.cs | |||
@@ -49,7 +49,7 @@ namespace OpenSim.Framework.Monitoring | |||
49 | /// <summary> | 49 | /// <summary> |
50 | /// Is this engine running? | 50 | /// Is this engine running? |
51 | /// </summary> | 51 | /// </summary> |
52 | public bool IsRunning { get; private set; } | 52 | public bool IsRunning { get; private set; } |
53 | 53 | ||
54 | /// <summary> | 54 | /// <summary> |
55 | /// The current job that the engine is running. | 55 | /// The current job that the engine is running. |
@@ -73,7 +73,7 @@ namespace OpenSim.Framework.Monitoring | |||
73 | /// Controls whether we need to warn in the log about exceeding the max queue size. | 73 | /// Controls whether we need to warn in the log about exceeding the max queue size. |
74 | /// </summary> | 74 | /// </summary> |
75 | /// <remarks> | 75 | /// <remarks> |
76 | /// This is flipped to false once queue max has been exceeded and back to true when it falls below max, in | 76 | /// This is flipped to false once queue max has been exceeded and back to true when it falls below max, in |
77 | /// order to avoid spamming the log with lots of warnings. | 77 | /// order to avoid spamming the log with lots of warnings. |
78 | /// </remarks> | 78 | /// </remarks> |
79 | private bool m_warnOverMaxQueue = true; | 79 | private bool m_warnOverMaxQueue = true; |
@@ -120,7 +120,7 @@ namespace OpenSim.Framework.Monitoring | |||
120 | } | 120 | } |
121 | 121 | ||
122 | public void Stop() | 122 | public void Stop() |
123 | { | 123 | { |
124 | lock (JobLock) | 124 | lock (JobLock) |
125 | { | 125 | { |
126 | try | 126 | try |
@@ -150,7 +150,7 @@ namespace OpenSim.Framework.Monitoring | |||
150 | /// Make a job. | 150 | /// Make a job. |
151 | /// </summary> | 151 | /// </summary> |
152 | /// <remarks> | 152 | /// <remarks> |
153 | /// We provide this method to replace the constructor so that we can later pool job objects if necessary to | 153 | /// We provide this method to replace the constructor so that we can later pool job objects if necessary to |
154 | /// reduce memory churn. Normally one would directly call QueueJob() with parameters anyway. | 154 | /// reduce memory churn. Normally one would directly call QueueJob() with parameters anyway. |
155 | /// </remarks> | 155 | /// </remarks> |
156 | /// <returns></returns> | 156 | /// <returns></returns> |
@@ -304,7 +304,7 @@ namespace OpenSim.Framework.Monitoring | |||
304 | CommonId = commonId; | 304 | CommonId = commonId; |
305 | Action = action; | 305 | Action = action; |
306 | } | 306 | } |
307 | 307 | ||
308 | /// <summary> | 308 | /// <summary> |
309 | /// Make a job. It needs to be separately queued. | 309 | /// Make a job. It needs to be separately queued. |
310 | /// </summary> | 310 | /// </summary> |
diff --git a/OpenSim/Framework/Monitoring/Properties/AssemblyInfo.cs b/OpenSim/Framework/Monitoring/Properties/AssemblyInfo.cs index 756e4ed..2ff2014 100644 --- a/OpenSim/Framework/Monitoring/Properties/AssemblyInfo.cs +++ b/OpenSim/Framework/Monitoring/Properties/AssemblyInfo.cs | |||
@@ -2,7 +2,7 @@ | |||
2 | using System.Runtime.CompilerServices; | 2 | using System.Runtime.CompilerServices; |
3 | using System.Runtime.InteropServices; | 3 | using System.Runtime.InteropServices; |
4 | 4 | ||
5 | // General Information about an assembly is controlled through the following | 5 | // General Information about an assembly is controlled through the following |
6 | // set of attributes. Change these attribute values to modify the information | 6 | // set of attributes. Change these attribute values to modify the information |
7 | // associated with an assembly. | 7 | // associated with an assembly. |
8 | [assembly: AssemblyTitle("OpenSim.Framework.Monitoring")] | 8 | [assembly: AssemblyTitle("OpenSim.Framework.Monitoring")] |
@@ -14,8 +14,8 @@ using System.Runtime.InteropServices; | |||
14 | [assembly: AssemblyTrademark("")] | 14 | [assembly: AssemblyTrademark("")] |
15 | [assembly: AssemblyCulture("")] | 15 | [assembly: AssemblyCulture("")] |
16 | 16 | ||
17 | // Setting ComVisible to false makes the types in this assembly not visible | 17 | // Setting ComVisible to false makes the types in this assembly not visible |
18 | // to COM components. If you need to access a type in this assembly from | 18 | // to COM components. If you need to access a type in this assembly from |
19 | // COM, set the ComVisible attribute to true on that type. | 19 | // COM, set the ComVisible attribute to true on that type. |
20 | [assembly: ComVisible(false)] | 20 | [assembly: ComVisible(false)] |
21 | 21 | ||
@@ -25,7 +25,7 @@ using System.Runtime.InteropServices; | |||
25 | // Version information for an assembly consists of the following four values: | 25 | // Version information for an assembly consists of the following four values: |
26 | // | 26 | // |
27 | // Major Version | 27 | // Major Version |
28 | // Minor Version | 28 | // Minor Version |
29 | // Build Number | 29 | // Build Number |
30 | // Revision | 30 | // Revision |
31 | // | 31 | // |
diff --git a/OpenSim/Framework/Monitoring/ServerStatsCollector.cs b/OpenSim/Framework/Monitoring/ServerStatsCollector.cs index be4a8b4..3391240 100644 --- a/OpenSim/Framework/Monitoring/ServerStatsCollector.cs +++ b/OpenSim/Framework/Monitoring/ServerStatsCollector.cs | |||
@@ -167,18 +167,18 @@ namespace OpenSim.Framework.Monitoring | |||
167 | } | 167 | } |
168 | 168 | ||
169 | MakeStat("BuiltinThreadpoolWorkerThreadsAvailable", null, "threads", ContainerThreadpool, | 169 | MakeStat("BuiltinThreadpoolWorkerThreadsAvailable", null, "threads", ContainerThreadpool, |
170 | s => | 170 | s => |
171 | { | 171 | { |
172 | int workerThreads, iocpThreads; | 172 | int workerThreads, iocpThreads; |
173 | ThreadPool.GetAvailableThreads(out workerThreads, out iocpThreads); | 173 | ThreadPool.GetAvailableThreads(out workerThreads, out iocpThreads); |
174 | s.Value = workerThreads; | 174 | s.Value = workerThreads; |
175 | }); | 175 | }); |
176 | 176 | ||
177 | MakeStat("BuiltinThreadpoolIOCPThreadsAvailable", null, "threads", ContainerThreadpool, | 177 | MakeStat("BuiltinThreadpoolIOCPThreadsAvailable", null, "threads", ContainerThreadpool, |
178 | s => | 178 | s => |
179 | { | 179 | { |
180 | int workerThreads, iocpThreads; | 180 | int workerThreads, iocpThreads; |
181 | ThreadPool.GetAvailableThreads(out workerThreads, out iocpThreads); | 181 | ThreadPool.GetAvailableThreads(out workerThreads, out iocpThreads); |
182 | s.Value = iocpThreads; | 182 | s.Value = iocpThreads; |
183 | }); | 183 | }); |
184 | 184 | ||
@@ -193,10 +193,10 @@ namespace OpenSim.Framework.Monitoring | |||
193 | } | 193 | } |
194 | 194 | ||
195 | MakeStat( | 195 | MakeStat( |
196 | "HTTPRequestsMade", | 196 | "HTTPRequestsMade", |
197 | "Number of outbound HTTP requests made", | 197 | "Number of outbound HTTP requests made", |
198 | "requests", | 198 | "requests", |
199 | ContainerNetwork, | 199 | ContainerNetwork, |
200 | s => s.Value = WebUtil.RequestNumber, | 200 | s => s.Value = WebUtil.RequestNumber, |
201 | MeasuresOfInterest.AverageChangeOverTime); | 201 | MeasuresOfInterest.AverageChangeOverTime); |
202 | 202 | ||
@@ -294,7 +294,7 @@ namespace OpenSim.Framework.Monitoring | |||
294 | }); | 294 | }); |
295 | } | 295 | } |
296 | 296 | ||
297 | // Notes on performance counters: | 297 | // Notes on performance counters: |
298 | // "How To Read Performance Counters": http://blogs.msdn.com/b/bclteam/archive/2006/06/02/618156.aspx | 298 | // "How To Read Performance Counters": http://blogs.msdn.com/b/bclteam/archive/2006/06/02/618156.aspx |
299 | // "How to get the CPU Usage in C#": http://stackoverflow.com/questions/278071/how-to-get-the-cpu-usage-in-c | 299 | // "How to get the CPU Usage in C#": http://stackoverflow.com/questions/278071/how-to-get-the-cpu-usage-in-c |
300 | // "Mono Performance Counters": http://www.mono-project.com/Mono_Performance_Counters | 300 | // "Mono Performance Counters": http://www.mono-project.com/Mono_Performance_Counters |
diff --git a/OpenSim/Framework/Monitoring/SimExtraStatsCollector.cs b/OpenSim/Framework/Monitoring/SimExtraStatsCollector.cs index 08c2409..88a0297 100755 --- a/OpenSim/Framework/Monitoring/SimExtraStatsCollector.cs +++ b/OpenSim/Framework/Monitoring/SimExtraStatsCollector.cs | |||
@@ -90,17 +90,17 @@ namespace OpenSim.Framework.Monitoring | |||
90 | // /// haven't yet been implemented... | 90 | // /// haven't yet been implemented... |
91 | // /// </summary> | 91 | // /// </summary> |
92 | // public long AssetsInCache { get { return assetsInCache; } } | 92 | // public long AssetsInCache { get { return assetsInCache; } } |
93 | // | 93 | // |
94 | // /// <value> | 94 | // /// <value> |
95 | // /// Currently unused | 95 | // /// Currently unused |
96 | // /// </value> | 96 | // /// </value> |
97 | // public long TexturesInCache { get { return texturesInCache; } } | 97 | // public long TexturesInCache { get { return texturesInCache; } } |
98 | // | 98 | // |
99 | // /// <value> | 99 | // /// <value> |
100 | // /// Currently misleading since we can't currently subtract removed asset memory usage without a performance hit | 100 | // /// Currently misleading since we can't currently subtract removed asset memory usage without a performance hit |
101 | // /// </value> | 101 | // /// </value> |
102 | // public long AssetCacheMemoryUsage { get { return assetCacheMemoryUsage; } } | 102 | // public long AssetCacheMemoryUsage { get { return assetCacheMemoryUsage; } } |
103 | // | 103 | // |
104 | // /// <value> | 104 | // /// <value> |
105 | // /// Currently unused | 105 | // /// Currently unused |
106 | // /// </value> | 106 | // /// </value> |
@@ -127,7 +127,7 @@ namespace OpenSim.Framework.Monitoring | |||
127 | public float PendingUploads { get { return pendingUploads; } } | 127 | public float PendingUploads { get { return pendingUploads; } } |
128 | public float ActiveScripts { get { return activeScripts; } } | 128 | public float ActiveScripts { get { return activeScripts; } } |
129 | public float ScriptLinesPerSecond { get { return scriptLinesPerSecond; } } | 129 | public float ScriptLinesPerSecond { get { return scriptLinesPerSecond; } } |
130 | 130 | ||
131 | // /// <summary> | 131 | // /// <summary> |
132 | // /// This is the time it took for the last asset request made in response to a cache miss. | 132 | // /// This is the time it took for the last asset request made in response to a cache miss. |
133 | // /// </summary> | 133 | // /// </summary> |
@@ -177,7 +177,7 @@ namespace OpenSim.Framework.Monitoring | |||
177 | // assetsInCache++; | 177 | // assetsInCache++; |
178 | // //assetCacheMemoryUsage += asset.Data.Length; | 178 | // //assetCacheMemoryUsage += asset.Data.Length; |
179 | // } | 179 | // } |
180 | // | 180 | // |
181 | // public void RemoveAsset(UUID uuid) | 181 | // public void RemoveAsset(UUID uuid) |
182 | // { | 182 | // { |
183 | // assetsInCache--; | 183 | // assetsInCache--; |
@@ -204,7 +204,7 @@ namespace OpenSim.Framework.Monitoring | |||
204 | // texturesInCache = 0; | 204 | // texturesInCache = 0; |
205 | // textureCacheMemoryUsage = 0; | 205 | // textureCacheMemoryUsage = 0; |
206 | // } | 206 | // } |
207 | // | 207 | // |
208 | // public void AddAssetRequestTimeAfterCacheMiss(TimeSpan ts) | 208 | // public void AddAssetRequestTimeAfterCacheMiss(TimeSpan ts) |
209 | // { | 209 | // { |
210 | // assetRequestTimeAfterCacheMiss = ts; | 210 | // assetRequestTimeAfterCacheMiss = ts; |
@@ -306,7 +306,7 @@ namespace OpenSim.Framework.Monitoring | |||
306 | StringBuilder sb = new StringBuilder(Environment.NewLine); | 306 | StringBuilder sb = new StringBuilder(Environment.NewLine); |
307 | // sb.Append("ASSET STATISTICS"); | 307 | // sb.Append("ASSET STATISTICS"); |
308 | // sb.Append(Environment.NewLine); | 308 | // sb.Append(Environment.NewLine); |
309 | 309 | ||
310 | /* | 310 | /* |
311 | sb.Append( | 311 | sb.Append( |
312 | string.Format( | 312 | string.Format( |
@@ -342,7 +342,7 @@ Asset service request failures: {3}" + Environment.NewLine, | |||
342 | List<Stat> stats = StatsManager.GetStatsFromEachContainer("clientstack", "ClientLogoutsDueToNoReceives"); | 342 | List<Stat> stats = StatsManager.GetStatsFromEachContainer("clientstack", "ClientLogoutsDueToNoReceives"); |
343 | 343 | ||
344 | sb.AppendFormat( | 344 | sb.AppendFormat( |
345 | "Client logouts due to no data receive timeout: {0}\n\n", | 345 | "Client logouts due to no data receive timeout: {0}\n\n", |
346 | stats != null ? stats.Sum(s => s.Value).ToString() : "unknown"); | 346 | stats != null ? stats.Sum(s => s.Value).ToString() : "unknown"); |
347 | 347 | ||
348 | // sb.Append(Environment.NewLine); | 348 | // sb.Append(Environment.NewLine); |
@@ -443,10 +443,10 @@ Asset service request failures: {3}" + Environment.NewLine, | |||
443 | foreach (ProcessThread currentThread in | 443 | foreach (ProcessThread currentThread in |
444 | Process.GetCurrentProcess().Threads) | 444 | Process.GetCurrentProcess().Threads) |
445 | { | 445 | { |
446 | // A known issue with the current process .Threads property is | 446 | // A known issue with the current process .Threads property is |
447 | // that it can return null threads, thus don't count those as | 447 | // that it can return null threads, thus don't count those as |
448 | // running threads and prevent the program function from failing | 448 | // running threads and prevent the program function from failing |
449 | if (currentThread != null && | 449 | if (currentThread != null && |
450 | currentThread.ThreadState == ThreadState.Running) | 450 | currentThread.ThreadState == ThreadState.Running) |
451 | { | 451 | { |
452 | numberThreadsRunning++; | 452 | numberThreadsRunning++; |
@@ -505,7 +505,7 @@ Asset service request failures: {3}" + Environment.NewLine, | |||
505 | "{0:0.##}", numberThreadsRunning)); | 505 | "{0:0.##}", numberThreadsRunning)); |
506 | args["ProcMem"] = OSD.FromString(String.Format("{0:#,###,###.##}", | 506 | args["ProcMem"] = OSD.FromString(String.Format("{0:#,###,###.##}", |
507 | memUsage)); | 507 | memUsage)); |
508 | 508 | ||
509 | return args; | 509 | return args; |
510 | } | 510 | } |
511 | } | 511 | } |
@@ -531,12 +531,12 @@ Asset service request failures: {3}" + Environment.NewLine, | |||
531 | { | 531 | { |
532 | return m_statsProvider.GetStats(); | 532 | return m_statsProvider.GetStats(); |
533 | } | 533 | } |
534 | 534 | ||
535 | public string XReport(string uptime, string version) | 535 | public string XReport(string uptime, string version) |
536 | { | 536 | { |
537 | return ""; | 537 | return ""; |
538 | } | 538 | } |
539 | 539 | ||
540 | public OSDMap OReport(string uptime, string version) | 540 | public OSDMap OReport(string uptime, string version) |
541 | { | 541 | { |
542 | OSDMap ret = new OSDMap(); | 542 | OSDMap ret = new OSDMap(); |
diff --git a/OpenSim/Framework/Monitoring/Stats/Stat.cs b/OpenSim/Framework/Monitoring/Stats/Stat.cs index 916fa53..2402acd 100644 --- a/OpenSim/Framework/Monitoring/Stats/Stat.cs +++ b/OpenSim/Framework/Monitoring/Stats/Stat.cs | |||
@@ -121,17 +121,17 @@ namespace OpenSim.Framework.Monitoring | |||
121 | string container, | 121 | string container, |
122 | StatType type, | 122 | StatType type, |
123 | Action<Stat> pullAction, | 123 | Action<Stat> pullAction, |
124 | StatVerbosity verbosity) | 124 | StatVerbosity verbosity) |
125 | : this( | 125 | : this( |
126 | shortName, | 126 | shortName, |
127 | name, | 127 | name, |
128 | description, | 128 | description, |
129 | unitName, | 129 | unitName, |
130 | category, | 130 | category, |
131 | container, | 131 | container, |
132 | type, | 132 | type, |
133 | MeasuresOfInterest.None, | 133 | MeasuresOfInterest.None, |
134 | pullAction, | 134 | pullAction, |
135 | verbosity) | 135 | verbosity) |
136 | { | 136 | { |
137 | } | 137 | } |
@@ -227,11 +227,11 @@ namespace OpenSim.Framework.Monitoring | |||
227 | { | 227 | { |
228 | StringBuilder sb = new StringBuilder(); | 228 | StringBuilder sb = new StringBuilder(); |
229 | sb.AppendFormat( | 229 | sb.AppendFormat( |
230 | "{0}.{1}.{2} : {3}{4}", | 230 | "{0}.{1}.{2} : {3}{4}", |
231 | Category, | 231 | Category, |
232 | Container, | 232 | Container, |
233 | ShortName, | 233 | ShortName, |
234 | Value, | 234 | Value, |
235 | string.IsNullOrEmpty(UnitName) ? "" : string.Format(" {0}", UnitName)); | 235 | string.IsNullOrEmpty(UnitName) ? "" : string.Format(" {0}", UnitName)); |
236 | 236 | ||
237 | AppendMeasuresOfInterest(sb); | 237 | AppendMeasuresOfInterest(sb); |
@@ -290,7 +290,7 @@ namespace OpenSim.Framework.Monitoring | |||
290 | lock (m_samples) | 290 | lock (m_samples) |
291 | { | 291 | { |
292 | // m_log.DebugFormat( | 292 | // m_log.DebugFormat( |
293 | // "[STAT]: Samples for {0} are {1}", | 293 | // "[STAT]: Samples for {0} are {1}", |
294 | // Name, string.Join(",", m_samples.Select(s => s.ToString()).ToArray())); | 294 | // Name, string.Join(",", m_samples.Select(s => s.ToString()).ToArray())); |
295 | 295 | ||
296 | foreach (double s in m_samples) | 296 | foreach (double s in m_samples) |
@@ -326,9 +326,9 @@ namespace OpenSim.Framework.Monitoring | |||
326 | if (ComputeMeasuresOfInterest(out lastChangeOverTime, out averageChangeOverTime)) | 326 | if (ComputeMeasuresOfInterest(out lastChangeOverTime, out averageChangeOverTime)) |
327 | { | 327 | { |
328 | sb.AppendFormat( | 328 | sb.AppendFormat( |
329 | ", {0:0.##}{1}/s, {2:0.##}{3}/s", | 329 | ", {0:0.##}{1}/s, {2:0.##}{3}/s", |
330 | lastChangeOverTime, | 330 | lastChangeOverTime, |
331 | string.IsNullOrEmpty(UnitName) ? "" : string.Format(" {0}", UnitName), | 331 | string.IsNullOrEmpty(UnitName) ? "" : string.Format(" {0}", UnitName), |
332 | averageChangeOverTime, | 332 | averageChangeOverTime, |
333 | string.IsNullOrEmpty(UnitName) ? "" : string.Format(" {0}", UnitName)); | 333 | string.IsNullOrEmpty(UnitName) ? "" : string.Format(" {0}", UnitName)); |
334 | } | 334 | } |
diff --git a/OpenSim/Framework/Monitoring/StatsLogger.cs b/OpenSim/Framework/Monitoring/StatsLogger.cs index 15a37aa..b719af9 100644 --- a/OpenSim/Framework/Monitoring/StatsLogger.cs +++ b/OpenSim/Framework/Monitoring/StatsLogger.cs | |||
@@ -99,13 +99,13 @@ namespace OpenSim.Framework.Monitoring | |||
99 | } | 99 | } |
100 | 100 | ||
101 | string path = cmd[2]; | 101 | string path = cmd[2]; |
102 | 102 | ||
103 | using (StreamWriter sw = new StreamWriter(path, true)) | 103 | using (StreamWriter sw = new StreamWriter(path, true)) |
104 | { | 104 | { |
105 | foreach (string line in GetReport()) | 105 | foreach (string line in GetReport()) |
106 | sw.WriteLine(line); | 106 | sw.WriteLine(line); |
107 | } | 107 | } |
108 | 108 | ||
109 | MainConsole.Instance.OutputFormat("Stats saved to file {0}", path); | 109 | MainConsole.Instance.OutputFormat("Stats saved to file {0}", path); |
110 | } | 110 | } |
111 | 111 | ||
diff --git a/OpenSim/Framework/Monitoring/StatsManager.cs b/OpenSim/Framework/Monitoring/StatsManager.cs index 30926d8..55c3276 100644 --- a/OpenSim/Framework/Monitoring/StatsManager.cs +++ b/OpenSim/Framework/Monitoring/StatsManager.cs | |||
@@ -274,7 +274,7 @@ namespace OpenSim.Framework.Monitoring | |||
274 | { | 274 | { |
275 | if (!(string.IsNullOrEmpty(pContainerName) || pContainerName == AllSubCommand || pContainerName == contName)) | 275 | if (!(string.IsNullOrEmpty(pContainerName) || pContainerName == AllSubCommand || pContainerName == contName)) |
276 | continue; | 276 | continue; |
277 | 277 | ||
278 | OSDMap statMap = new OSDMap(); | 278 | OSDMap statMap = new OSDMap(); |
279 | 279 | ||
280 | SortedDictionary<string, Stat> theStats = RegisteredStats[catName][contName]; | 280 | SortedDictionary<string, Stat> theStats = RegisteredStats[catName][contName]; |
@@ -398,7 +398,7 @@ namespace OpenSim.Framework.Monitoring | |||
398 | { | 398 | { |
399 | if (!TryGetStatParents(stat, out category, out container)) | 399 | if (!TryGetStatParents(stat, out category, out container)) |
400 | return false; | 400 | return false; |
401 | 401 | ||
402 | if(container != null) | 402 | if(container != null) |
403 | { | 403 | { |
404 | container.Remove(stat.ShortName); | 404 | container.Remove(stat.ShortName); |
diff --git a/OpenSim/Framework/Monitoring/Watchdog.cs b/OpenSim/Framework/Monitoring/Watchdog.cs index ff439f5..9cc61ee 100644 --- a/OpenSim/Framework/Monitoring/Watchdog.cs +++ b/OpenSim/Framework/Monitoring/Watchdog.cs | |||
@@ -96,7 +96,7 @@ namespace OpenSim.Framework.Monitoring | |||
96 | FirstTick = Environment.TickCount & Int32.MaxValue; | 96 | FirstTick = Environment.TickCount & Int32.MaxValue; |
97 | LastTick = FirstTick; | 97 | LastTick = FirstTick; |
98 | 98 | ||
99 | Stat | 99 | Stat |
100 | = new Stat( | 100 | = new Stat( |
101 | name, | 101 | name, |
102 | string.Format("Last update of thread {0}", name), | 102 | string.Format("Last update of thread {0}", name), |
diff --git a/OpenSim/Framework/Monitoring/WorkManager.cs b/OpenSim/Framework/Monitoring/WorkManager.cs index a7a03a0..43130f9 100644 --- a/OpenSim/Framework/Monitoring/WorkManager.cs +++ b/OpenSim/Framework/Monitoring/WorkManager.cs | |||
@@ -36,16 +36,16 @@ namespace OpenSim.Framework.Monitoring | |||
36 | /// Manages various work items in the simulator. | 36 | /// Manages various work items in the simulator. |
37 | /// </summary> | 37 | /// </summary> |
38 | /// <remarks> | 38 | /// <remarks> |
39 | /// Currently, here work can be started | 39 | /// Currently, here work can be started |
40 | /// * As a long-running and monitored thread. | 40 | /// * As a long-running and monitored thread. |
41 | /// * In a thread that will never timeout but where the job is expected to eventually complete. | 41 | /// * In a thread that will never timeout but where the job is expected to eventually complete. |
42 | /// * In a threadpool thread that will timeout if it takes a very long time to complete (> 10 mins). | 42 | /// * In a threadpool thread that will timeout if it takes a very long time to complete (> 10 mins). |
43 | /// * As a job which will be run in a single-threaded job engine. Such jobs must not incorporate delays (sleeps, | 43 | /// * As a job which will be run in a single-threaded job engine. Such jobs must not incorporate delays (sleeps, |
44 | /// network waits, etc.). | 44 | /// network waits, etc.). |
45 | /// | 45 | /// |
46 | /// This is an evolving approach to better manage the work that OpenSimulator is asked to do from a very diverse | 46 | /// This is an evolving approach to better manage the work that OpenSimulator is asked to do from a very diverse |
47 | /// range of sources (client actions, incoming network, outgoing network calls, etc.). | 47 | /// range of sources (client actions, incoming network, outgoing network calls, etc.). |
48 | /// | 48 | /// |
49 | /// Util.FireAndForget is still available to insert jobs in the threadpool, though this is equivalent to | 49 | /// Util.FireAndForget is still available to insert jobs in the threadpool, though this is equivalent to |
50 | /// WorkManager.RunInThreadPool(). | 50 | /// WorkManager.RunInThreadPool(). |
51 | /// </remarks> | 51 | /// </remarks> |
@@ -122,7 +122,7 @@ namespace OpenSim.Framework.Monitoring | |||
122 | thread.Priority = priority; | 122 | thread.Priority = priority; |
123 | thread.IsBackground = isBackground; | 123 | thread.IsBackground = isBackground; |
124 | thread.Name = name; | 124 | thread.Name = name; |
125 | 125 | ||
126 | Watchdog.ThreadWatchdogInfo twi | 126 | Watchdog.ThreadWatchdogInfo twi |
127 | = new Watchdog.ThreadWatchdogInfo(thread, timeout, name) | 127 | = new Watchdog.ThreadWatchdogInfo(thread, timeout, name) |
128 | { AlarmIfTimeout = alarmIfTimeout, AlarmMethod = alarmMethod }; | 128 | { AlarmIfTimeout = alarmIfTimeout, AlarmMethod = alarmMethod }; |
@@ -144,7 +144,7 @@ namespace OpenSim.Framework.Monitoring | |||
144 | /// <param name="name">Name of the thread</param> | 144 | /// <param name="name">Name of the thread</param> |
145 | public static void RunInThread(WaitCallback callback, object obj, string name, bool log = false) | 145 | public static void RunInThread(WaitCallback callback, object obj, string name, bool log = false) |
146 | { | 146 | { |
147 | if (Util.FireAndForgetMethod == FireAndForgetMethod.RegressionTest) | 147 | if (Util.FireAndForgetMethod == FireAndForgetMethod.RegressionTest) |
148 | { | 148 | { |
149 | Culture.SetCurrentCulture(); | 149 | Culture.SetCurrentCulture(); |
150 | callback(obj); | 150 | callback(obj); |
@@ -169,7 +169,7 @@ namespace OpenSim.Framework.Monitoring | |||
169 | } | 169 | } |
170 | 170 | ||
171 | /// <summary> | 171 | /// <summary> |
172 | /// Run the callback via a threadpool thread. | 172 | /// Run the callback via a threadpool thread. |
173 | /// </summary> | 173 | /// </summary> |
174 | /// <remarks> | 174 | /// <remarks> |
175 | /// Such jobs may run after some delay but must always complete. | 175 | /// Such jobs may run after some delay but must always complete. |
@@ -188,17 +188,17 @@ namespace OpenSim.Framework.Monitoring | |||
188 | /// <remarks> | 188 | /// <remarks> |
189 | /// This differs from direct scheduling (e.g. Util.FireAndForget) in that a job can be run in the job | 189 | /// This differs from direct scheduling (e.g. Util.FireAndForget) in that a job can be run in the job |
190 | /// engine if it is running, where all jobs are currently performed in sequence on a single thread. This is | 190 | /// engine if it is running, where all jobs are currently performed in sequence on a single thread. This is |
191 | /// to prevent observed overload and server freeze problems when there are hundreds of connections which all attempt to | 191 | /// to prevent observed overload and server freeze problems when there are hundreds of connections which all attempt to |
192 | /// perform work at once (e.g. in conference situations). With lower numbers of connections, the small | 192 | /// perform work at once (e.g. in conference situations). With lower numbers of connections, the small |
193 | /// delay in performing jobs in sequence rather than concurrently has not been notiecable in testing, though a future more | 193 | /// delay in performing jobs in sequence rather than concurrently has not been notiecable in testing, though a future more |
194 | /// sophisticated implementation could perform jobs concurrently when the server is under low load. | 194 | /// sophisticated implementation could perform jobs concurrently when the server is under low load. |
195 | /// | 195 | /// |
196 | /// However, be advised that some callers of this function rely on all jobs being performed in sequence if any | 196 | /// However, be advised that some callers of this function rely on all jobs being performed in sequence if any |
197 | /// jobs are performed in sequence (i.e. if jobengine is active or not). Therefore, expanding the jobengine | 197 | /// jobs are performed in sequence (i.e. if jobengine is active or not). Therefore, expanding the jobengine |
198 | /// beyond a single thread will require considerable thought. | 198 | /// beyond a single thread will require considerable thought. |
199 | /// | 199 | /// |
200 | /// Also, any jobs submitted must be guaranteed to complete within a reasonable timeframe (e.g. they cannot | 200 | /// Also, any jobs submitted must be guaranteed to complete within a reasonable timeframe (e.g. they cannot |
201 | /// incorporate a network delay with a long timeout). At the moment, work that could suffer such issues | 201 | /// incorporate a network delay with a long timeout). At the moment, work that could suffer such issues |
202 | /// should still be run directly with RunInThread(), Util.FireAndForget(), etc. This is another area where | 202 | /// should still be run directly with RunInThread(), Util.FireAndForget(), etc. This is another area where |
203 | /// the job engine could be improved and so CPU utilization improved by better management of concurrency within | 203 | /// the job engine could be improved and so CPU utilization improved by better management of concurrency within |
204 | /// OpenSimulator. | 204 | /// OpenSimulator. |
@@ -212,10 +212,10 @@ namespace OpenSim.Framework.Monitoring | |||
212 | /// <param name="log">If set to true then extra logging is performed.</param> | 212 | /// <param name="log">If set to true then extra logging is performed.</param> |
213 | public static void RunJob( | 213 | public static void RunJob( |
214 | string jobType, WaitCallback callback, object obj, string name, | 214 | string jobType, WaitCallback callback, object obj, string name, |
215 | bool canRunInThisThread = false, bool mustNotTimeout = false, | 215 | bool canRunInThisThread = false, bool mustNotTimeout = false, |
216 | bool log = false) | 216 | bool log = false) |
217 | { | 217 | { |
218 | if (Util.FireAndForgetMethod == FireAndForgetMethod.RegressionTest) | 218 | if (Util.FireAndForgetMethod == FireAndForgetMethod.RegressionTest) |
219 | { | 219 | { |
220 | Culture.SetCurrentCulture(); | 220 | Culture.SetCurrentCulture(); |
221 | callback(obj); | 221 | callback(obj); |
@@ -273,16 +273,16 @@ namespace OpenSim.Framework.Monitoring | |||
273 | MainConsole.Instance.Output("Usage: debug jobengine log <level>"); | 273 | MainConsole.Instance.Output("Usage: debug jobengine log <level>"); |
274 | return; | 274 | return; |
275 | } | 275 | } |
276 | 276 | ||
277 | // int logLevel; | 277 | // int logLevel; |
278 | int logLevel = int.Parse(args[3]); | 278 | int logLevel = int.Parse(args[3]); |
279 | // if (ConsoleUtil.TryParseConsoleInt(MainConsole.Instance, args[4], out logLevel)) | 279 | // if (ConsoleUtil.TryParseConsoleInt(MainConsole.Instance, args[4], out logLevel)) |
280 | // { | 280 | // { |
281 | JobEngine.LogLevel = logLevel; | 281 | JobEngine.LogLevel = logLevel; |
282 | MainConsole.Instance.OutputFormat("Set debug log level to {0}", JobEngine.LogLevel); | 282 | MainConsole.Instance.OutputFormat("Set debug log level to {0}", JobEngine.LogLevel); |
283 | // } | 283 | // } |
284 | } | 284 | } |
285 | else | 285 | else |
286 | { | 286 | { |
287 | MainConsole.Instance.OutputFormat("Unrecognized job engine subcommand {0}", subCommand); | 287 | MainConsole.Instance.OutputFormat("Unrecognized job engine subcommand {0}", subCommand); |
288 | } | 288 | } |
diff --git a/OpenSim/Framework/NetworkUtil.cs b/OpenSim/Framework/NetworkUtil.cs index 2e94b0d..93c9446 100644 --- a/OpenSim/Framework/NetworkUtil.cs +++ b/OpenSim/Framework/NetworkUtil.cs | |||
@@ -40,7 +40,7 @@ namespace OpenSim.Framework | |||
40 | /// Handles NAT translation in a 'manner of speaking' | 40 | /// Handles NAT translation in a 'manner of speaking' |
41 | /// Allows you to return multiple different external | 41 | /// Allows you to return multiple different external |
42 | /// hostnames depending on the requestors network | 42 | /// hostnames depending on the requestors network |
43 | /// | 43 | /// |
44 | /// This enables standard port forwarding techniques | 44 | /// This enables standard port forwarding techniques |
45 | /// to work correctly with OpenSim. | 45 | /// to work correctly with OpenSim. |
46 | /// </summary> | 46 | /// </summary> |
@@ -145,7 +145,7 @@ namespace OpenSim.Framework | |||
145 | byte[] subnetBytes = subnet.Value.GetAddressBytes(); | 145 | byte[] subnetBytes = subnet.Value.GetAddressBytes(); |
146 | byte[] localBytes = subnet.Key.GetAddressBytes(); | 146 | byte[] localBytes = subnet.Key.GetAddressBytes(); |
147 | byte[] destBytes = destination.GetAddressBytes(); | 147 | byte[] destBytes = destination.GetAddressBytes(); |
148 | 148 | ||
149 | if (subnetBytes.Length != destBytes.Length || subnetBytes.Length != localBytes.Length) | 149 | if (subnetBytes.Length != destBytes.Length || subnetBytes.Length != localBytes.Length) |
150 | return null; | 150 | return null; |
151 | 151 | ||
diff --git a/OpenSim/Framework/OutboundUrlFilter.cs b/OpenSim/Framework/OutboundUrlFilter.cs index baa3647..ee4707f 100644 --- a/OpenSim/Framework/OutboundUrlFilter.cs +++ b/OpenSim/Framework/OutboundUrlFilter.cs | |||
@@ -49,8 +49,8 @@ namespace OpenSim.Framework | |||
49 | private List<IPEndPoint> m_blacklistExceptionEndPoints; | 49 | private List<IPEndPoint> m_blacklistExceptionEndPoints; |
50 | 50 | ||
51 | public OutboundUrlFilter( | 51 | public OutboundUrlFilter( |
52 | string name, | 52 | string name, |
53 | List<IPNetwork> blacklistNetworks, List<IPEndPoint> blacklistEndPoints, | 53 | List<IPNetwork> blacklistNetworks, List<IPEndPoint> blacklistEndPoints, |
54 | List<IPNetwork> blacklistExceptionNetworks, List<IPEndPoint> blacklistExceptionEndPoints) | 54 | List<IPNetwork> blacklistExceptionNetworks, List<IPEndPoint> blacklistExceptionEndPoints) |
55 | { | 55 | { |
56 | Name = name; | 56 | Name = name; |
@@ -79,7 +79,7 @@ namespace OpenSim.Framework | |||
79 | if (networkConfig != null) | 79 | if (networkConfig != null) |
80 | { | 80 | { |
81 | configBlacklist = networkConfig.GetString("OutboundDisallowForUserScripts", configBlacklist); | 81 | configBlacklist = networkConfig.GetString("OutboundDisallowForUserScripts", configBlacklist); |
82 | configBlacklistExceptions | 82 | configBlacklistExceptions |
83 | = networkConfig.GetString("OutboundDisallowForUserScriptsExcept", configBlacklistExceptions); | 83 | = networkConfig.GetString("OutboundDisallowForUserScriptsExcept", configBlacklistExceptions); |
84 | } | 84 | } |
85 | 85 | ||
@@ -98,7 +98,7 @@ namespace OpenSim.Framework | |||
98 | string fullConfigEntry, string filterName, out List<IPNetwork> networks, out List<IPEndPoint> endPoints) | 98 | string fullConfigEntry, string filterName, out List<IPNetwork> networks, out List<IPEndPoint> endPoints) |
99 | { | 99 | { |
100 | // Parse blacklist | 100 | // Parse blacklist |
101 | string[] configBlacklistEntries | 101 | string[] configBlacklistEntries |
102 | = fullConfigEntry.Split(new char[] { '|' }, StringSplitOptions.RemoveEmptyEntries); | 102 | = fullConfigEntry.Split(new char[] { '|' }, StringSplitOptions.RemoveEmptyEntries); |
103 | 103 | ||
104 | configBlacklistEntries = configBlacklistEntries.Select(e => e.Trim()).ToArray(); | 104 | configBlacklistEntries = configBlacklistEntries.Select(e => e.Trim()).ToArray(); |
@@ -129,7 +129,7 @@ namespace OpenSim.Framework | |||
129 | if (!Uri.TryCreate("http://" + configEntry, UriKind.Absolute, out configEntryUri)) | 129 | if (!Uri.TryCreate("http://" + configEntry, UriKind.Absolute, out configEntryUri)) |
130 | { | 130 | { |
131 | m_log.ErrorFormat( | 131 | m_log.ErrorFormat( |
132 | "[OUTBOUND URL FILTER]: EndPoint entry [{0}] is invalid endpoint for {1}", | 132 | "[OUTBOUND URL FILTER]: EndPoint entry [{0}] is invalid endpoint for {1}", |
133 | configEntry, filterName); | 133 | configEntry, filterName); |
134 | 134 | ||
135 | continue; | 135 | continue; |
@@ -184,14 +184,14 @@ namespace OpenSim.Framework | |||
184 | foreach (IPEndPoint ep in endPoints) | 184 | foreach (IPEndPoint ep in endPoints) |
185 | { | 185 | { |
186 | // m_log.DebugFormat( | 186 | // m_log.DebugFormat( |
187 | // "[OUTBOUND URL FILTER]: Checking [{0}:{1}] against endpoint [{2}]", | 187 | // "[OUTBOUND URL FILTER]: Checking [{0}:{1}] against endpoint [{2}]", |
188 | // addr, port, ep); | 188 | // addr, port, ep); |
189 | 189 | ||
190 | if (addr.Equals(ep.Address) && port == ep.Port) | 190 | if (addr.Equals(ep.Address) && port == ep.Port) |
191 | { | 191 | { |
192 | // m_log.DebugFormat( | 192 | // m_log.DebugFormat( |
193 | // "[OUTBOUND URL FILTER]: Found [{0}:{1}] in endpoint [{2}]", addr, port, ep); | 193 | // "[OUTBOUND URL FILTER]: Found [{0}:{1}] in endpoint [{2}]", addr, port, ep); |
194 | 194 | ||
195 | return true; | 195 | return true; |
196 | } | 196 | } |
197 | } | 197 | } |
@@ -228,7 +228,7 @@ namespace OpenSim.Framework | |||
228 | // m_log.DebugFormat("[OUTBOUND URL FILTER]: Found [{0}] in blacklist for {1}", url, Name); | 228 | // m_log.DebugFormat("[OUTBOUND URL FILTER]: Found [{0}] in blacklist for {1}", url, Name); |
229 | 229 | ||
230 | // Check blacklist exceptions | 230 | // Check blacklist exceptions |
231 | allowed | 231 | allowed |
232 | = OutboundUrlFilter.IsInNetwork( | 232 | = OutboundUrlFilter.IsInNetwork( |
233 | addr, url.Port, m_blacklistExceptionNetworks, m_blacklistExceptionEndPoints, Name); | 233 | addr, url.Port, m_blacklistExceptionNetworks, m_blacklistExceptionEndPoints, Name); |
234 | 234 | ||
diff --git a/OpenSim/Framework/PluginManager.cs b/OpenSim/Framework/PluginManager.cs index 0117096..0c94fcb 100644 --- a/OpenSim/Framework/PluginManager.cs +++ b/OpenSim/Framework/PluginManager.cs | |||
@@ -44,17 +44,17 @@ namespace OpenSim.Framework | |||
44 | /// <summary> | 44 | /// <summary> |
45 | /// Manager for registries and plugins | 45 | /// Manager for registries and plugins |
46 | /// </summary> | 46 | /// </summary> |
47 | public class PluginManager : SetupService | 47 | public class PluginManager : SetupService |
48 | { | 48 | { |
49 | public AddinRegistry PluginRegistry; | 49 | public AddinRegistry PluginRegistry; |
50 | 50 | ||
51 | public PluginManager(AddinRegistry registry): base (registry) | 51 | public PluginManager(AddinRegistry registry): base (registry) |
52 | { | 52 | { |
53 | PluginRegistry = registry; | 53 | PluginRegistry = registry; |
54 | 54 | ||
55 | } | 55 | } |
56 | 56 | ||
57 | /// <summary> | 57 | /// <summary> |
58 | /// Installs the plugin. | 58 | /// Installs the plugin. |
59 | /// </summary> | 59 | /// </summary> |
60 | /// <returns> | 60 | /// <returns> |
@@ -97,14 +97,14 @@ namespace OpenSim.Framework | |||
97 | Addin addin = PluginRegistry.GetAddin(aentry.Addin.Id); | 97 | Addin addin = PluginRegistry.GetAddin(aentry.Addin.Id); |
98 | PluginRegistry.DisableAddin(addin.Id); | 98 | PluginRegistry.DisableAddin(addin.Id); |
99 | addin.Enabled = false; | 99 | addin.Enabled = false; |
100 | 100 | ||
101 | MainConsole.Instance.Output("Installation Success"); | 101 | MainConsole.Instance.Output("Installation Success"); |
102 | ListInstalledAddins(out res); | 102 | ListInstalledAddins(out res); |
103 | result = res; | 103 | result = res; |
104 | return true; | 104 | return true; |
105 | } | 105 | } |
106 | else | 106 | else |
107 | { | 107 | { |
108 | MainConsole.Instance.Output("Installation Failed"); | 108 | MainConsole.Instance.Output("Installation Failed"); |
109 | result = res; | 109 | result = res; |
110 | return false; | 110 | return false; |
@@ -159,11 +159,11 @@ namespace OpenSim.Framework | |||
159 | { | 159 | { |
160 | Dictionary<string, object> res = new Dictionary<string, object>(); | 160 | Dictionary<string, object> res = new Dictionary<string, object>(); |
161 | 161 | ||
162 | Addin[] addins = GetSortedAddinList("RobustPlugin"); | 162 | Addin[] addins = GetSortedAddinList("RobustPlugin"); |
163 | if(addins.Count() < 1) | 163 | if(addins.Count() < 1) |
164 | { | 164 | { |
165 | MainConsole.Instance.Output("Error!"); | 165 | MainConsole.Instance.Output("Error!"); |
166 | } | 166 | } |
167 | int count = 0; | 167 | int count = 0; |
168 | foreach (Addin addin in addins) | 168 | foreach (Addin addin in addins) |
169 | { | 169 | { |
@@ -377,7 +377,7 @@ namespace OpenSim.Framework | |||
377 | r["enabled"] = rep.Enabled == true ? true : false; | 377 | r["enabled"] = rep.Enabled == true ? true : false; |
378 | r["name"] = rep.Name; | 378 | r["name"] = rep.Name; |
379 | r["url"] = rep.Url; | 379 | r["url"] = rep.Url; |
380 | 380 | ||
381 | res.Add(count.ToString(), r); | 381 | res.Add(count.ToString(), r); |
382 | count++; | 382 | count++; |
383 | } | 383 | } |
@@ -493,7 +493,7 @@ namespace OpenSim.Framework | |||
493 | } | 493 | } |
494 | 494 | ||
495 | 495 | ||
496 | 496 | ||
497 | #region Util | 497 | #region Util |
498 | private void Testing() | 498 | private void Testing() |
499 | { | 499 | { |
@@ -537,15 +537,15 @@ namespace OpenSim.Framework | |||
537 | 537 | ||
538 | ArrayList xlist = new ArrayList(); | 538 | ArrayList xlist = new ArrayList(); |
539 | ArrayList list = new ArrayList(); | 539 | ArrayList list = new ArrayList(); |
540 | try | 540 | try |
541 | { | 541 | { |
542 | list.AddRange(PluginRegistry.GetAddins()); | 542 | list.AddRange(PluginRegistry.GetAddins()); |
543 | } | 543 | } |
544 | catch (Exception) | 544 | catch (Exception) |
545 | { | 545 | { |
546 | Addin[] x = xlist.ToArray(typeof(Addin)) as Addin[]; | 546 | Addin[] x = xlist.ToArray(typeof(Addin)) as Addin[]; |
547 | return x; | 547 | return x; |
548 | } | 548 | } |
549 | 549 | ||
550 | foreach (Addin addin in list) | 550 | foreach (Addin addin in list) |
551 | { | 551 | { |
@@ -559,5 +559,5 @@ namespace OpenSim.Framework | |||
559 | return addins; | 559 | return addins; |
560 | } | 560 | } |
561 | #endregion Util | 561 | #endregion Util |
562 | } | 562 | } |
563 | } | 563 | } |
diff --git a/OpenSim/Framework/PrimeNumberHelper.cs b/OpenSim/Framework/PrimeNumberHelper.cs index 477c274..5a1b3b2 100644 --- a/OpenSim/Framework/PrimeNumberHelper.cs +++ b/OpenSim/Framework/PrimeNumberHelper.cs | |||
@@ -35,7 +35,7 @@ namespace OpenSim.Framework | |||
35 | public static class PrimeNumberHelper | 35 | public static class PrimeNumberHelper |
36 | { | 36 | { |
37 | /// <summary> | 37 | /// <summary> |
38 | /// Precalculated prime numbers. | 38 | /// Precalculated prime numbers. |
39 | /// </summary> | 39 | /// </summary> |
40 | private static readonly int[] Primes = new int[] | 40 | private static readonly int[] Primes = new int[] |
41 | { | 41 | { |
diff --git a/OpenSim/Framework/PrimitiveBaseShape.cs b/OpenSim/Framework/PrimitiveBaseShape.cs index 6a12a45..29985d2 100644 --- a/OpenSim/Framework/PrimitiveBaseShape.cs +++ b/OpenSim/Framework/PrimitiveBaseShape.cs | |||
@@ -238,8 +238,8 @@ namespace OpenSim.Framework | |||
238 | SculptTexture = prim.Sculpt.SculptTexture; | 238 | SculptTexture = prim.Sculpt.SculptTexture; |
239 | SculptType = (byte)prim.Sculpt.Type; | 239 | SculptType = (byte)prim.Sculpt.Type; |
240 | } | 240 | } |
241 | else | 241 | else |
242 | { | 242 | { |
243 | SculptType = (byte)OpenMetaverse.SculptType.None; | 243 | SculptType = (byte)OpenMetaverse.SculptType.None; |
244 | } | 244 | } |
245 | } | 245 | } |
diff --git a/OpenSim/Framework/PriorityQueue.cs b/OpenSim/Framework/PriorityQueue.cs index fec01da..5b9185e 100644 --- a/OpenSim/Framework/PriorityQueue.cs +++ b/OpenSim/Framework/PriorityQueue.cs | |||
@@ -57,11 +57,11 @@ namespace OpenSim.Framework | |||
57 | private Dictionary<uint, LookupItem> m_lookupTable; | 57 | private Dictionary<uint, LookupItem> m_lookupTable; |
58 | 58 | ||
59 | // internal state used to ensure the deqeues are spread across the priority | 59 | // internal state used to ensure the deqeues are spread across the priority |
60 | // queues "fairly". queuecounts is the amount to pull from each queue in | 60 | // queues "fairly". queuecounts is the amount to pull from each queue in |
61 | // each pass. weighted towards the higher priority queues | 61 | // each pass. weighted towards the higher priority queues |
62 | private uint m_nextQueue = 0; | 62 | private uint m_nextQueue = 0; |
63 | private uint m_countFromQueue = 0; | 63 | private uint m_countFromQueue = 0; |
64 | // first queues are imediate, so no counts | 64 | // first queues are imediate, so no counts |
65 | // private uint[] m_queueCounts = { 0, 0, 8, 4, 4, 2, 2, 2, 2, 1, 1, 1 }; | 65 | // private uint[] m_queueCounts = { 0, 0, 8, 4, 4, 2, 2, 2, 2, 1, 1, 1 }; |
66 | private uint[] m_queueCounts = {0, 0, 8, 8, 5, 4, 3, 2, 1, 1, 1, 1}; | 66 | private uint[] m_queueCounts = {0, 0, 8, 8, 5, 4, 3, 2, 1, 1, 1, 1}; |
67 | // this is ava, ava, attach, <10m, 20,40,80,160m,320,640,1280, + | 67 | // this is ava, ava, attach, <10m, 20,40,80,160m,320,640,1280, + |
@@ -105,7 +105,7 @@ namespace OpenSim.Framework | |||
105 | int count = 0; | 105 | int count = 0; |
106 | for (int i = 0; i < m_heaps.Length; ++i) | 106 | for (int i = 0; i < m_heaps.Length; ++i) |
107 | count += m_heaps[i].Count; | 107 | count += m_heaps[i].Count; |
108 | 108 | ||
109 | return count; | 109 | return count; |
110 | } | 110 | } |
111 | } | 111 | } |
@@ -170,26 +170,26 @@ namespace OpenSim.Framework | |||
170 | return true; | 170 | return true; |
171 | } | 171 | } |
172 | } | 172 | } |
173 | 173 | ||
174 | // To get the fair queing, we cycle through each of the | 174 | // To get the fair queing, we cycle through each of the |
175 | // queues when finding an element to dequeue. | 175 | // queues when finding an element to dequeue. |
176 | // We pull (NumberOfQueues - QueueIndex) items from each queue in order | 176 | // We pull (NumberOfQueues - QueueIndex) items from each queue in order |
177 | // to give lower numbered queues a higher priority and higher percentage | 177 | // to give lower numbered queues a higher priority and higher percentage |
178 | // of the bandwidth. | 178 | // of the bandwidth. |
179 | 179 | ||
180 | // Check for more items to be pulled from the current queue | 180 | // Check for more items to be pulled from the current queue |
181 | if (m_heaps[m_nextQueue].Count > 0 && m_countFromQueue > 0) | 181 | if (m_heaps[m_nextQueue].Count > 0 && m_countFromQueue > 0) |
182 | { | 182 | { |
183 | m_countFromQueue--; | 183 | m_countFromQueue--; |
184 | 184 | ||
185 | MinHeapItem item = m_heaps[m_nextQueue].RemoveMin(); | 185 | MinHeapItem item = m_heaps[m_nextQueue].RemoveMin(); |
186 | m_lookupTable.Remove(item.Value.Entity.LocalId); | 186 | m_lookupTable.Remove(item.Value.Entity.LocalId); |
187 | timeinqueue = Util.EnvironmentTickCountSubtract(item.EntryTime); | 187 | timeinqueue = Util.EnvironmentTickCountSubtract(item.EntryTime); |
188 | value = item.Value; | 188 | value = item.Value; |
189 | 189 | ||
190 | return true; | 190 | return true; |
191 | } | 191 | } |
192 | 192 | ||
193 | // Find the next non-immediate queue with updates in it | 193 | // Find the next non-immediate queue with updates in it |
194 | for (uint i = NumberOfImmediateQueues; i < NumberOfQueues; ++i) | 194 | for (uint i = NumberOfImmediateQueues; i < NumberOfQueues; ++i) |
195 | { | 195 | { |
@@ -198,7 +198,7 @@ namespace OpenSim.Framework | |||
198 | m_nextQueue = NumberOfImmediateQueues; | 198 | m_nextQueue = NumberOfImmediateQueues; |
199 | 199 | ||
200 | m_countFromQueue = m_queueCounts[m_nextQueue]; | 200 | m_countFromQueue = m_queueCounts[m_nextQueue]; |
201 | 201 | ||
202 | if (m_heaps[m_nextQueue].Count > 0) | 202 | if (m_heaps[m_nextQueue].Count > 0) |
203 | { | 203 | { |
204 | m_countFromQueue--; | 204 | m_countFromQueue--; |
@@ -218,7 +218,7 @@ namespace OpenSim.Framework | |||
218 | 218 | ||
219 | /// <summary> | 219 | /// <summary> |
220 | /// Reapply the prioritization function to each of the updates currently | 220 | /// Reapply the prioritization function to each of the updates currently |
221 | /// stored in the priority queues. | 221 | /// stored in the priority queues. |
222 | /// </summary | 222 | /// </summary |
223 | public void Reprioritize(UpdatePriorityHandler handler) | 223 | public void Reprioritize(UpdatePriorityHandler handler) |
224 | { | 224 | { |
diff --git a/OpenSim/Framework/RegionInfo.cs b/OpenSim/Framework/RegionInfo.cs index 8f754a5..99e97e8 100644 --- a/OpenSim/Framework/RegionInfo.cs +++ b/OpenSim/Framework/RegionInfo.cs | |||
@@ -376,7 +376,7 @@ namespace OpenSim.Framework | |||
376 | } | 376 | } |
377 | 377 | ||
378 | public string MaptileStaticFile { get; private set; } | 378 | public string MaptileStaticFile { get; private set; } |
379 | 379 | ||
380 | /// <summary> | 380 | /// <summary> |
381 | /// The port by which http communication occurs with the region (most noticeably, CAPS communication) | 381 | /// The port by which http communication occurs with the region (most noticeably, CAPS communication) |
382 | /// </summary> | 382 | /// </summary> |
@@ -389,17 +389,17 @@ namespace OpenSim.Framework | |||
389 | /// <summary> | 389 | /// <summary> |
390 | /// A well-formed URI for the host region server (namely "http://" + ExternalHostName) | 390 | /// A well-formed URI for the host region server (namely "http://" + ExternalHostName) |
391 | /// </summary> | 391 | /// </summary> |
392 | 392 | ||
393 | public string ServerURI | 393 | public string ServerURI |
394 | { | 394 | { |
395 | get { | 395 | get { |
396 | if ( m_serverURI != string.Empty ) { | 396 | if ( m_serverURI != string.Empty ) { |
397 | return m_serverURI; | 397 | return m_serverURI; |
398 | } else { | 398 | } else { |
399 | return "http://" + m_externalHostName + ":" + m_httpPort + "/"; | 399 | return "http://" + m_externalHostName + ":" + m_httpPort + "/"; |
400 | } | 400 | } |
401 | } | 401 | } |
402 | set { | 402 | set { |
403 | if ( value.EndsWith("/") ) { | 403 | if ( value.EndsWith("/") ) { |
404 | m_serverURI = value; | 404 | m_serverURI = value; |
405 | } else { | 405 | } else { |
@@ -749,10 +749,10 @@ namespace OpenSim.Framework | |||
749 | 749 | ||
750 | m_physPrimMax = config.GetInt("PhysicalPrimMax", 0); | 750 | m_physPrimMax = config.GetInt("PhysicalPrimMax", 0); |
751 | allKeys.Remove("PhysicalPrimMax"); | 751 | allKeys.Remove("PhysicalPrimMax"); |
752 | 752 | ||
753 | m_clampPrimSize = config.GetBoolean("ClampPrimSize", false); | 753 | m_clampPrimSize = config.GetBoolean("ClampPrimSize", false); |
754 | allKeys.Remove("ClampPrimSize"); | 754 | allKeys.Remove("ClampPrimSize"); |
755 | 755 | ||
756 | m_objectCapacity = config.GetInt("MaxPrims", 15000); | 756 | m_objectCapacity = config.GetInt("MaxPrims", 15000); |
757 | allKeys.Remove("MaxPrims"); | 757 | allKeys.Remove("MaxPrims"); |
758 | 758 | ||
@@ -766,12 +766,12 @@ namespace OpenSim.Framework | |||
766 | string mapTileStaticUUID = config.GetString("MaptileStaticUUID", UUID.Zero.ToString()); | 766 | string mapTileStaticUUID = config.GetString("MaptileStaticUUID", UUID.Zero.ToString()); |
767 | if (UUID.TryParse(mapTileStaticUUID.Trim(), out m_maptileStaticUUID)) | 767 | if (UUID.TryParse(mapTileStaticUUID.Trim(), out m_maptileStaticUUID)) |
768 | { | 768 | { |
769 | config.Set("MaptileStaticUUID", m_maptileStaticUUID.ToString()); | 769 | config.Set("MaptileStaticUUID", m_maptileStaticUUID.ToString()); |
770 | } | 770 | } |
771 | 771 | ||
772 | MaptileStaticFile = config.GetString("MaptileStaticFile", String.Empty); | 772 | MaptileStaticFile = config.GetString("MaptileStaticFile", String.Empty); |
773 | allKeys.Remove("MaptileStaticFile"); | 773 | allKeys.Remove("MaptileStaticFile"); |
774 | 774 | ||
775 | #endregion | 775 | #endregion |
776 | 776 | ||
777 | AgentCapacity = config.GetInt("MaxAgents", 100); | 777 | AgentCapacity = config.GetInt("MaxAgents", 100); |
@@ -919,10 +919,10 @@ namespace OpenSim.Framework | |||
919 | 919 | ||
920 | if (m_physPrimMin > 0) | 920 | if (m_physPrimMin > 0) |
921 | config.Set("PhysicalPrimMax", m_physPrimMin); | 921 | config.Set("PhysicalPrimMax", m_physPrimMin); |
922 | 922 | ||
923 | if (m_physPrimMax > 0) | 923 | if (m_physPrimMax > 0) |
924 | config.Set("PhysicalPrimMax", m_physPrimMax); | 924 | config.Set("PhysicalPrimMax", m_physPrimMax); |
925 | 925 | ||
926 | config.Set("ClampPrimSize", m_clampPrimSize.ToString()); | 926 | config.Set("ClampPrimSize", m_clampPrimSize.ToString()); |
927 | 927 | ||
928 | if (m_objectCapacity > 0) | 928 | if (m_objectCapacity > 0) |
@@ -1038,7 +1038,7 @@ namespace OpenSim.Framework | |||
1038 | 1038 | ||
1039 | configMember.addConfigurationOption("region_type", ConfigurationOption.ConfigurationTypes.TYPE_STRING, | 1039 | configMember.addConfigurationOption("region_type", ConfigurationOption.ConfigurationTypes.TYPE_STRING, |
1040 | "Free form string describing the type of region", String.Empty, true); | 1040 | "Free form string describing the type of region", String.Empty, true); |
1041 | 1041 | ||
1042 | configMember.addConfigurationOption("region_static_maptile", ConfigurationOption.ConfigurationTypes.TYPE_UUID, | 1042 | configMember.addConfigurationOption("region_static_maptile", ConfigurationOption.ConfigurationTypes.TYPE_UUID, |
1043 | "UUID of a texture to use as the map for this region", m_maptileStaticUUID.ToString(), true); | 1043 | "UUID of a texture to use as the map for this region", m_maptileStaticUUID.ToString(), true); |
1044 | } | 1044 | } |
@@ -1090,7 +1090,7 @@ namespace OpenSim.Framework | |||
1090 | 1090 | ||
1091 | configMember.addConfigurationOption("object_capacity", ConfigurationOption.ConfigurationTypes.TYPE_INT32, | 1091 | configMember.addConfigurationOption("object_capacity", ConfigurationOption.ConfigurationTypes.TYPE_INT32, |
1092 | "Max objects this sim will hold", "15000", true); | 1092 | "Max objects this sim will hold", "15000", true); |
1093 | 1093 | ||
1094 | configMember.addConfigurationOption("agent_capacity", ConfigurationOption.ConfigurationTypes.TYPE_INT32, | 1094 | configMember.addConfigurationOption("agent_capacity", ConfigurationOption.ConfigurationTypes.TYPE_INT32, |
1095 | "Max avatars this sim will hold", "100", true); | 1095 | "Max avatars this sim will hold", "100", true); |
1096 | 1096 | ||
@@ -1307,8 +1307,8 @@ namespace OpenSim.Framework | |||
1307 | kvp["http_port"] = HttpPort.ToString(); | 1307 | kvp["http_port"] = HttpPort.ToString(); |
1308 | kvp["internal_ip_address"] = InternalEndPoint.Address.ToString(); | 1308 | kvp["internal_ip_address"] = InternalEndPoint.Address.ToString(); |
1309 | kvp["internal_port"] = InternalEndPoint.Port.ToString(); | 1309 | kvp["internal_port"] = InternalEndPoint.Port.ToString(); |
1310 | // TODO: Remove in next major version | 1310 | // TODO: Remove in next major version |
1311 | kvp["alternate_ports"] = "False"; | 1311 | kvp["alternate_ports"] = "False"; |
1312 | kvp["server_uri"] = ServerURI; | 1312 | kvp["server_uri"] = ServerURI; |
1313 | 1313 | ||
1314 | return kvp; | 1314 | return kvp; |
diff --git a/OpenSim/Framework/RegionSettings.cs b/OpenSim/Framework/RegionSettings.cs index dec01ea..c2947a2 100644 --- a/OpenSim/Framework/RegionSettings.cs +++ b/OpenSim/Framework/RegionSettings.cs | |||
@@ -91,7 +91,7 @@ namespace OpenSim.Framework | |||
91 | string[] parts = str.Split(','); | 91 | string[] parts = str.Split(','); |
92 | if (parts.Length != 3) | 92 | if (parts.Length != 3) |
93 | throw new ArgumentException("Invalid string: " + str); | 93 | throw new ArgumentException("Invalid string: " + str); |
94 | 94 | ||
95 | SpawnPoint sp = new SpawnPoint(); | 95 | SpawnPoint sp = new SpawnPoint(); |
96 | sp.Yaw = float.Parse(parts[0]); | 96 | sp.Yaw = float.Parse(parts[0]); |
97 | sp.Pitch = float.Parse(parts[1]); | 97 | sp.Pitch = float.Parse(parts[1]); |
@@ -105,7 +105,7 @@ namespace OpenSim.Framework | |||
105 | public delegate void SaveDelegate(RegionSettings rs); | 105 | public delegate void SaveDelegate(RegionSettings rs); |
106 | 106 | ||
107 | public event SaveDelegate OnSave; | 107 | public event SaveDelegate OnSave; |
108 | 108 | ||
109 | /// <value> | 109 | /// <value> |
110 | /// These appear to be terrain textures that are shipped with the client. | 110 | /// These appear to be terrain textures that are shipped with the client. |
111 | /// </value> | 111 | /// </value> |
@@ -454,24 +454,24 @@ namespace OpenSim.Framework | |||
454 | get { return m_LoadedCreationDateTime; } | 454 | get { return m_LoadedCreationDateTime; } |
455 | set { m_LoadedCreationDateTime = value; } | 455 | set { m_LoadedCreationDateTime = value; } |
456 | } | 456 | } |
457 | 457 | ||
458 | public String LoadedCreationDate | 458 | public String LoadedCreationDate |
459 | { | 459 | { |
460 | get | 460 | get |
461 | { | 461 | { |
462 | TimeSpan ts = new TimeSpan(0, 0, LoadedCreationDateTime); | 462 | TimeSpan ts = new TimeSpan(0, 0, LoadedCreationDateTime); |
463 | DateTime stamp = new DateTime(1970, 1, 1) + ts; | 463 | DateTime stamp = new DateTime(1970, 1, 1) + ts; |
464 | return stamp.ToLongDateString(); | 464 | return stamp.ToLongDateString(); |
465 | } | 465 | } |
466 | } | 466 | } |
467 | 467 | ||
468 | public String LoadedCreationTime | 468 | public String LoadedCreationTime |
469 | { | 469 | { |
470 | get | 470 | get |
471 | { | 471 | { |
472 | TimeSpan ts = new TimeSpan(0, 0, LoadedCreationDateTime); | 472 | TimeSpan ts = new TimeSpan(0, 0, LoadedCreationDateTime); |
473 | DateTime stamp = new DateTime(1970, 1, 1) + ts; | 473 | DateTime stamp = new DateTime(1970, 1, 1) + ts; |
474 | return stamp.ToLongTimeString(); | 474 | return stamp.ToLongTimeString(); |
475 | } | 475 | } |
476 | } | 476 | } |
477 | 477 | ||
diff --git a/OpenSim/Framework/RestClient.cs b/OpenSim/Framework/RestClient.cs index 26237de..0166d9d 100644 --- a/OpenSim/Framework/RestClient.cs +++ b/OpenSim/Framework/RestClient.cs | |||
@@ -156,7 +156,7 @@ namespace OpenSim.Framework | |||
156 | public void Dispose() | 156 | public void Dispose() |
157 | { | 157 | { |
158 | Dispose(true); | 158 | Dispose(true); |
159 | GC.SuppressFinalize(this); | 159 | GC.SuppressFinalize(this); |
160 | } | 160 | } |
161 | 161 | ||
162 | protected virtual void Dispose(bool disposing) | 162 | protected virtual void Dispose(bool disposing) |
diff --git a/OpenSim/Framework/SLUtil.cs b/OpenSim/Framework/SLUtil.cs index e66d5be..9458625 100644 --- a/OpenSim/Framework/SLUtil.cs +++ b/OpenSim/Framework/SLUtil.cs | |||
@@ -44,7 +44,7 @@ namespace OpenSim.Framework | |||
44 | Material = -2 | 44 | Material = -2 |
45 | } | 45 | } |
46 | 46 | ||
47 | 47 | ||
48 | #region SL / file extension / content-type conversions | 48 | #region SL / file extension / content-type conversions |
49 | 49 | ||
50 | /// <summary> | 50 | /// <summary> |
@@ -175,10 +175,10 @@ namespace OpenSim.Framework | |||
175 | new TypeMapping(AssetType.Folder, FolderType.CurrentOutfit, "application/vnd.ll.currentoutfitfolder", "currentoutfitfolder"), | 175 | new TypeMapping(AssetType.Folder, FolderType.CurrentOutfit, "application/vnd.ll.currentoutfitfolder", "currentoutfitfolder"), |
176 | new TypeMapping(AssetType.Folder, FolderType.Outfit, "application/vnd.ll.outfitfolder", "outfitfolder"), | 176 | new TypeMapping(AssetType.Folder, FolderType.Outfit, "application/vnd.ll.outfitfolder", "outfitfolder"), |
177 | new TypeMapping(AssetType.Folder, FolderType.MyOutfits, "application/vnd.ll.myoutfitsfolder", "myoutfitsfolder"), | 177 | new TypeMapping(AssetType.Folder, FolderType.MyOutfits, "application/vnd.ll.myoutfitsfolder", "myoutfitsfolder"), |
178 | 178 | ||
179 | // This next mappping is an asset to inventory item mapping. | 179 | // This next mappping is an asset to inventory item mapping. |
180 | // Note: LL stores folders as assets of type Folder = 8, and it has a corresponding InventoryType = 8 | 180 | // Note: LL stores folders as assets of type Folder = 8, and it has a corresponding InventoryType = 8 |
181 | // OpenSim doesn't store folders as assets, so this mapping should only be used when parsing things from the viewer to the server | 181 | // OpenSim doesn't store folders as assets, so this mapping should only be used when parsing things from the viewer to the server |
182 | new TypeMapping(AssetType.Folder, InventoryType.Folder, "application/vnd.ll.folder", "folder"), | 182 | new TypeMapping(AssetType.Folder, InventoryType.Folder, "application/vnd.ll.folder", "folder"), |
183 | 183 | ||
184 | // OpenSim specific | 184 | // OpenSim specific |
@@ -198,7 +198,7 @@ namespace OpenSim.Framework | |||
198 | inventory2Content = new Dictionary<sbyte, string>(); | 198 | inventory2Content = new Dictionary<sbyte, string>(); |
199 | content2Asset = new Dictionary<string, sbyte>(); | 199 | content2Asset = new Dictionary<string, sbyte>(); |
200 | content2Inventory = new Dictionary<string, sbyte>(); | 200 | content2Inventory = new Dictionary<string, sbyte>(); |
201 | 201 | ||
202 | foreach (TypeMapping mapping in MAPPINGS) | 202 | foreach (TypeMapping mapping in MAPPINGS) |
203 | { | 203 | { |
204 | sbyte assetType = mapping.AssetTypeCode; | 204 | sbyte assetType = mapping.AssetTypeCode; |
@@ -226,7 +226,7 @@ namespace OpenSim.Framework | |||
226 | } | 226 | } |
227 | } | 227 | } |
228 | } | 228 | } |
229 | 229 | ||
230 | public static string SLAssetTypeToContentType(int assetType) | 230 | public static string SLAssetTypeToContentType(int assetType) |
231 | { | 231 | { |
232 | string contentType; | 232 | string contentType; |
@@ -406,7 +406,7 @@ namespace OpenSim.Framework | |||
406 | if(data[0] == "inv_item") | 406 | if(data[0] == "inv_item") |
407 | { | 407 | { |
408 | skipInventoryItem(reader); | 408 | skipInventoryItem(reader); |
409 | } | 409 | } |
410 | else if (line.IndexOf('{') >= 0) | 410 | else if (line.IndexOf('{') >= 0) |
411 | { | 411 | { |
412 | throw new NotANotecardFormatException(reader.LineNumber); | 412 | throw new NotANotecardFormatException(reader.LineNumber); |
@@ -462,7 +462,7 @@ namespace OpenSim.Framework | |||
462 | { | 462 | { |
463 | int length = Int32.Parse(data[2]); | 463 | int length = Int32.Parse(data[2]); |
464 | notecardString = reader.getBlock(length); | 464 | notecardString = reader.getBlock(length); |
465 | } | 465 | } |
466 | else if (line.IndexOf('{') >= 0) | 466 | else if (line.IndexOf('{') >= 0) |
467 | { | 467 | { |
468 | throw new NotANotecardFormatException(reader.LineNumber); | 468 | throw new NotANotecardFormatException(reader.LineNumber); |
diff --git a/OpenSim/Framework/Serialization/ArchiveConstants.cs b/OpenSim/Framework/Serialization/ArchiveConstants.cs index ab3c285..9081411 100644 --- a/OpenSim/Framework/Serialization/ArchiveConstants.cs +++ b/OpenSim/Framework/Serialization/ArchiveConstants.cs | |||
@@ -72,12 +72,12 @@ namespace OpenSim.Framework.Serialization | |||
72 | /// Path for region settings. | 72 | /// Path for region settings. |
73 | /// </value> | 73 | /// </value> |
74 | public const string SETTINGS_PATH = "settings/"; | 74 | public const string SETTINGS_PATH = "settings/"; |
75 | 75 | ||
76 | /// <value> | 76 | /// <value> |
77 | /// Path for region settings. | 77 | /// Path for region settings. |
78 | /// </value> | 78 | /// </value> |
79 | public const string LANDDATA_PATH = "landdata/"; | 79 | public const string LANDDATA_PATH = "landdata/"; |
80 | 80 | ||
81 | /// <value> | 81 | /// <value> |
82 | /// Path for user profiles | 82 | /// Path for user profiles |
83 | /// </value> | 83 | /// </value> |
diff --git a/OpenSim/Framework/Serialization/External/ExternalRepresentationUtils.cs b/OpenSim/Framework/Serialization/External/ExternalRepresentationUtils.cs index 55640ac..1523fa9 100644 --- a/OpenSim/Framework/Serialization/External/ExternalRepresentationUtils.cs +++ b/OpenSim/Framework/Serialization/External/ExternalRepresentationUtils.cs | |||
@@ -106,13 +106,13 @@ namespace OpenSim.Framework.Serialization.External | |||
106 | { | 106 | { |
107 | errors = true; | 107 | errors = true; |
108 | parseExceptionAction(nodeToFill, nodeName, e); | 108 | parseExceptionAction(nodeToFill, nodeName, e); |
109 | 109 | ||
110 | if (xtr.EOF) | 110 | if (xtr.EOF) |
111 | { | 111 | { |
112 | m_log.Debug("[ExternalRepresentationUtils]: Aborting ExecuteReadProcessors due to unexpected end of XML"); | 112 | m_log.Debug("[ExternalRepresentationUtils]: Aborting ExecuteReadProcessors due to unexpected end of XML"); |
113 | break; | 113 | break; |
114 | } | 114 | } |
115 | 115 | ||
116 | if (++numErrors == 10) | 116 | if (++numErrors == 10) |
117 | { | 117 | { |
118 | m_log.Debug("[ExternalRepresentationUtils]: Aborting ExecuteReadProcessors due to too many parsing errors"); | 118 | m_log.Debug("[ExternalRepresentationUtils]: Aborting ExecuteReadProcessors due to too many parsing errors"); |
@@ -369,7 +369,7 @@ namespace OpenSim.Framework.Serialization.External | |||
369 | break; | 369 | break; |
370 | 370 | ||
371 | case XmlNodeType.XmlDeclaration: | 371 | case XmlNodeType.XmlDeclaration: |
372 | // For various reasons, not all serializations have xml declarations (or consistent ones) | 372 | // For various reasons, not all serializations have xml declarations (or consistent ones) |
373 | // and as it's embedded inside a byte stream we don't need it anyway, so ignore. | 373 | // and as it's embedded inside a byte stream we don't need it anyway, so ignore. |
374 | break; | 374 | break; |
375 | 375 | ||
diff --git a/OpenSim/Framework/Serialization/External/OspResolver.cs b/OpenSim/Framework/Serialization/External/OspResolver.cs index fa7160f..a1e9d55 100644 --- a/OpenSim/Framework/Serialization/External/OspResolver.cs +++ b/OpenSim/Framework/Serialization/External/OspResolver.cs | |||
@@ -35,13 +35,13 @@ using OpenSim.Services.Interfaces; | |||
35 | namespace OpenSim.Framework.Serialization | 35 | namespace OpenSim.Framework.Serialization |
36 | { | 36 | { |
37 | /// <summary> | 37 | /// <summary> |
38 | /// Resolves OpenSim Profile Anchors (OSPA). An OSPA is a string used to provide information for | 38 | /// Resolves OpenSim Profile Anchors (OSPA). An OSPA is a string used to provide information for |
39 | /// identifying user profiles or supplying a simple name if no profile is available. | 39 | /// identifying user profiles or supplying a simple name if no profile is available. |
40 | /// </summary> | 40 | /// </summary> |
41 | public class OspResolver | 41 | public class OspResolver |
42 | { | 42 | { |
43 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); | 43 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); |
44 | 44 | ||
45 | public const string OSPA_PREFIX = "ospa:"; | 45 | public const string OSPA_PREFIX = "ospa:"; |
46 | public const string OSPA_NAME_KEY = "n"; | 46 | public const string OSPA_NAME_KEY = "n"; |
47 | public const string OSPA_NAME_VALUE_SEPARATOR = " "; | 47 | public const string OSPA_NAME_VALUE_SEPARATOR = " "; |
@@ -76,7 +76,7 @@ namespace OpenSim.Framework.Serialization | |||
76 | 76 | ||
77 | return null; | 77 | return null; |
78 | } | 78 | } |
79 | 79 | ||
80 | /// <summary> | 80 | /// <summary> |
81 | /// Make an OSPA given a user name | 81 | /// Make an OSPA given a user name |
82 | /// </summary> | 82 | /// </summary> |
@@ -89,17 +89,17 @@ namespace OpenSim.Framework.Serialization | |||
89 | 89 | ||
90 | // m_log.DebugFormat("[OSP RESOLVER]: Made OSPA {0} for {1} {2}", ospa, firstName, lastName); | 90 | // m_log.DebugFormat("[OSP RESOLVER]: Made OSPA {0} for {1} {2}", ospa, firstName, lastName); |
91 | // System.Console.WriteLine("[OSP RESOLVER]: Made OSPA {0} for {1} {2}", ospa, firstName, lastName); | 91 | // System.Console.WriteLine("[OSP RESOLVER]: Made OSPA {0} for {1} {2}", ospa, firstName, lastName); |
92 | 92 | ||
93 | return ospa; | 93 | return ospa; |
94 | } | 94 | } |
95 | 95 | ||
96 | /// <summary> | 96 | /// <summary> |
97 | /// Resolve an osp string into the most suitable internal OpenSim identifier. | 97 | /// Resolve an osp string into the most suitable internal OpenSim identifier. |
98 | /// </summary> | 98 | /// </summary> |
99 | /// | 99 | /// |
100 | /// In some cases this will be a UUID if a suitable profile exists on the system. In other cases, this may | 100 | /// In some cases this will be a UUID if a suitable profile exists on the system. In other cases, this may |
101 | /// just return the same identifier after creating a temporary profile. | 101 | /// just return the same identifier after creating a temporary profile. |
102 | /// | 102 | /// |
103 | /// <param name="ospa"></param> | 103 | /// <param name="ospa"></param> |
104 | /// <param name="commsManager"></param> | 104 | /// <param name="commsManager"></param> |
105 | /// <returns> | 105 | /// <returns> |
@@ -111,14 +111,14 @@ namespace OpenSim.Framework.Serialization | |||
111 | if (!ospa.StartsWith(OSPA_PREFIX)) | 111 | if (!ospa.StartsWith(OSPA_PREFIX)) |
112 | { | 112 | { |
113 | // m_log.DebugFormat("[OSP RESOLVER]: ResolveOspa() got unrecognized format [{0}]", ospa); | 113 | // m_log.DebugFormat("[OSP RESOLVER]: ResolveOspa() got unrecognized format [{0}]", ospa); |
114 | return UUID.Zero; | 114 | return UUID.Zero; |
115 | } | 115 | } |
116 | 116 | ||
117 | // m_log.DebugFormat("[OSP RESOLVER]: Resolving {0}", ospa); | 117 | // m_log.DebugFormat("[OSP RESOLVER]: Resolving {0}", ospa); |
118 | 118 | ||
119 | string ospaMeat = ospa.Substring(OSPA_PREFIX.Length); | 119 | string ospaMeat = ospa.Substring(OSPA_PREFIX.Length); |
120 | string[] ospaTuples = ospaMeat.Split(OSPA_TUPLE_SEPARATOR_ARRAY); | 120 | string[] ospaTuples = ospaMeat.Split(OSPA_TUPLE_SEPARATOR_ARRAY); |
121 | 121 | ||
122 | foreach (string tuple in ospaTuples) | 122 | foreach (string tuple in ospaTuples) |
123 | { | 123 | { |
124 | int tupleSeparatorIndex = tuple.IndexOf(OSPA_PAIR_SEPARATOR); | 124 | int tupleSeparatorIndex = tuple.IndexOf(OSPA_PAIR_SEPARATOR); |
@@ -128,17 +128,17 @@ namespace OpenSim.Framework.Serialization | |||
128 | m_log.WarnFormat("[OSP RESOLVER]: Ignoring non-tuple component {0} in OSPA {1}", tuple, ospa); | 128 | m_log.WarnFormat("[OSP RESOLVER]: Ignoring non-tuple component {0} in OSPA {1}", tuple, ospa); |
129 | continue; | 129 | continue; |
130 | } | 130 | } |
131 | 131 | ||
132 | string key = tuple.Remove(tupleSeparatorIndex).Trim(); | 132 | string key = tuple.Remove(tupleSeparatorIndex).Trim(); |
133 | string value = tuple.Substring(tupleSeparatorIndex + 1).Trim(); | 133 | string value = tuple.Substring(tupleSeparatorIndex + 1).Trim(); |
134 | 134 | ||
135 | if (OSPA_NAME_KEY == key) | 135 | if (OSPA_NAME_KEY == key) |
136 | return ResolveOspaName(value, userService); | 136 | return ResolveOspaName(value, userService); |
137 | } | 137 | } |
138 | 138 | ||
139 | return UUID.Zero; | 139 | return UUID.Zero; |
140 | } | 140 | } |
141 | 141 | ||
142 | /// <summary> | 142 | /// <summary> |
143 | /// Hash a profile name into a UUID | 143 | /// Hash a profile name into a UUID |
144 | /// </summary> | 144 | /// </summary> |
@@ -148,7 +148,7 @@ namespace OpenSim.Framework.Serialization | |||
148 | { | 148 | { |
149 | return new UUID(Utils.MD5(Encoding.Unicode.GetBytes(name)), 0); | 149 | return new UUID(Utils.MD5(Encoding.Unicode.GetBytes(name)), 0); |
150 | } | 150 | } |
151 | 151 | ||
152 | /// <summary> | 152 | /// <summary> |
153 | /// Resolve an OSPI name by querying existing persistent user profiles. If there is no persistent user profile | 153 | /// Resolve an OSPI name by querying existing persistent user profiles. If there is no persistent user profile |
154 | /// then a temporary user profile is inserted in the cache. | 154 | /// then a temporary user profile is inserted in the cache. |
@@ -164,13 +164,13 @@ namespace OpenSim.Framework.Serialization | |||
164 | return UUID.Zero; | 164 | return UUID.Zero; |
165 | 165 | ||
166 | int nameSeparatorIndex = name.IndexOf(OSPA_NAME_VALUE_SEPARATOR); | 166 | int nameSeparatorIndex = name.IndexOf(OSPA_NAME_VALUE_SEPARATOR); |
167 | 167 | ||
168 | if (nameSeparatorIndex < 0) | 168 | if (nameSeparatorIndex < 0) |
169 | { | 169 | { |
170 | m_log.WarnFormat("[OSP RESOLVER]: Ignoring unseparated name {0}", name); | 170 | m_log.WarnFormat("[OSP RESOLVER]: Ignoring unseparated name {0}", name); |
171 | return UUID.Zero; | 171 | return UUID.Zero; |
172 | } | 172 | } |
173 | 173 | ||
174 | string firstName = name.Remove(nameSeparatorIndex).TrimEnd(); | 174 | string firstName = name.Remove(nameSeparatorIndex).TrimEnd(); |
175 | string lastName = name.Substring(nameSeparatorIndex + 1).TrimStart(); | 175 | string lastName = name.Substring(nameSeparatorIndex + 1).TrimStart(); |
176 | 176 | ||
@@ -178,14 +178,14 @@ namespace OpenSim.Framework.Serialization | |||
178 | if (account != null) | 178 | if (account != null) |
179 | { | 179 | { |
180 | // m_log.DebugFormat( | 180 | // m_log.DebugFormat( |
181 | // "[OSP RESOLVER]: Found user account with uuid {0} for {1} {2}", | 181 | // "[OSP RESOLVER]: Found user account with uuid {0} for {1} {2}", |
182 | // account.PrincipalID, firstName, lastName); | 182 | // account.PrincipalID, firstName, lastName); |
183 | 183 | ||
184 | return account.PrincipalID; | 184 | return account.PrincipalID; |
185 | } | 185 | } |
186 | // else | 186 | // else |
187 | // { | 187 | // { |
188 | // m_log.DebugFormat("[OSP RESOLVER]: No resolved OSPA user account for {0}", name); | 188 | // m_log.DebugFormat("[OSP RESOLVER]: No resolved OSPA user account for {0}", name); |
189 | // } | 189 | // } |
190 | 190 | ||
191 | // XXX: Disable temporary user profile creation for now as implementation is incomplete - justincc | 191 | // XXX: Disable temporary user profile creation for now as implementation is incomplete - justincc |
@@ -194,11 +194,11 @@ namespace OpenSim.Framework.Serialization | |||
194 | tempUserProfile.FirstName = firstName; | 194 | tempUserProfile.FirstName = firstName; |
195 | tempUserProfile.SurName = lastName; | 195 | tempUserProfile.SurName = lastName; |
196 | tempUserProfile.ID = HashName(tempUserProfile.Name); | 196 | tempUserProfile.ID = HashName(tempUserProfile.Name); |
197 | 197 | ||
198 | m_log.DebugFormat( | 198 | m_log.DebugFormat( |
199 | "[OSP RESOLVER]: Adding temporary user profile for {0} {1}", tempUserProfile.Name, tempUserProfile.ID); | 199 | "[OSP RESOLVER]: Adding temporary user profile for {0} {1}", tempUserProfile.Name, tempUserProfile.ID); |
200 | commsManager.UserService.AddTemporaryUserProfile(tempUserProfile); | 200 | commsManager.UserService.AddTemporaryUserProfile(tempUserProfile); |
201 | 201 | ||
202 | return tempUserProfile.ID; | 202 | return tempUserProfile.ID; |
203 | */ | 203 | */ |
204 | 204 | ||
diff --git a/OpenSim/Framework/Serialization/External/RegionSettingsSerializer.cs b/OpenSim/Framework/Serialization/External/RegionSettingsSerializer.cs index 19468c3..617c451 100644 --- a/OpenSim/Framework/Serialization/External/RegionSettingsSerializer.cs +++ b/OpenSim/Framework/Serialization/External/RegionSettingsSerializer.cs | |||
@@ -50,7 +50,7 @@ namespace OpenSim.Framework.Serialization.External | |||
50 | { | 50 | { |
51 | return Deserialize(Encoding.ASCII.GetString(serializedSettings, 0, serializedSettings.Length)); | 51 | return Deserialize(Encoding.ASCII.GetString(serializedSettings, 0, serializedSettings.Length)); |
52 | } | 52 | } |
53 | 53 | ||
54 | /// <summary> | 54 | /// <summary> |
55 | /// Deserialize settings | 55 | /// Deserialize settings |
56 | /// </summary> | 56 | /// </summary> |
@@ -60,14 +60,14 @@ namespace OpenSim.Framework.Serialization.External | |||
60 | public static RegionSettings Deserialize(string serializedSettings) | 60 | public static RegionSettings Deserialize(string serializedSettings) |
61 | { | 61 | { |
62 | RegionSettings settings = new RegionSettings(); | 62 | RegionSettings settings = new RegionSettings(); |
63 | 63 | ||
64 | StringReader sr = new StringReader(serializedSettings); | 64 | StringReader sr = new StringReader(serializedSettings); |
65 | XmlTextReader xtr = new XmlTextReader(sr); | 65 | XmlTextReader xtr = new XmlTextReader(sr); |
66 | 66 | ||
67 | xtr.ReadStartElement("RegionSettings"); | 67 | xtr.ReadStartElement("RegionSettings"); |
68 | 68 | ||
69 | xtr.ReadStartElement("General"); | 69 | xtr.ReadStartElement("General"); |
70 | 70 | ||
71 | while (xtr.Read() && xtr.NodeType != XmlNodeType.EndElement) | 71 | while (xtr.Read() && xtr.NodeType != XmlNodeType.EndElement) |
72 | { | 72 | { |
73 | switch (xtr.Name) | 73 | switch (xtr.Name) |
@@ -113,10 +113,10 @@ namespace OpenSim.Framework.Serialization.External | |||
113 | break; | 113 | break; |
114 | } | 114 | } |
115 | } | 115 | } |
116 | 116 | ||
117 | xtr.ReadEndElement(); | 117 | xtr.ReadEndElement(); |
118 | xtr.ReadStartElement("GroundTextures"); | 118 | xtr.ReadStartElement("GroundTextures"); |
119 | 119 | ||
120 | while (xtr.Read() && xtr.NodeType != XmlNodeType.EndElement) | 120 | while (xtr.Read() && xtr.NodeType != XmlNodeType.EndElement) |
121 | { | 121 | { |
122 | switch (xtr.Name) | 122 | switch (xtr.Name) |
@@ -159,10 +159,10 @@ namespace OpenSim.Framework.Serialization.External | |||
159 | break; | 159 | break; |
160 | } | 160 | } |
161 | } | 161 | } |
162 | 162 | ||
163 | xtr.ReadEndElement(); | 163 | xtr.ReadEndElement(); |
164 | xtr.ReadStartElement("Terrain"); | 164 | xtr.ReadStartElement("Terrain"); |
165 | 165 | ||
166 | while (xtr.Read() && xtr.NodeType != XmlNodeType.EndElement) | 166 | while (xtr.Read() && xtr.NodeType != XmlNodeType.EndElement) |
167 | { | 167 | { |
168 | switch (xtr.Name) | 168 | switch (xtr.Name) |
@@ -212,19 +212,19 @@ namespace OpenSim.Framework.Serialization.External | |||
212 | 212 | ||
213 | xtr.Close(); | 213 | xtr.Close(); |
214 | sr.Close(); | 214 | sr.Close(); |
215 | 215 | ||
216 | return settings; | 216 | return settings; |
217 | } | 217 | } |
218 | 218 | ||
219 | public static string Serialize(RegionSettings settings) | 219 | public static string Serialize(RegionSettings settings) |
220 | { | 220 | { |
221 | StringWriter sw = new StringWriter(); | 221 | StringWriter sw = new StringWriter(); |
222 | XmlTextWriter xtw = new XmlTextWriter(sw); | 222 | XmlTextWriter xtw = new XmlTextWriter(sw); |
223 | xtw.Formatting = Formatting.Indented; | 223 | xtw.Formatting = Formatting.Indented; |
224 | xtw.WriteStartDocument(); | 224 | xtw.WriteStartDocument(); |
225 | 225 | ||
226 | xtw.WriteStartElement("RegionSettings"); | 226 | xtw.WriteStartElement("RegionSettings"); |
227 | 227 | ||
228 | xtw.WriteStartElement("General"); | 228 | xtw.WriteStartElement("General"); |
229 | xtw.WriteElementString("AllowDamage", settings.AllowDamage.ToString()); | 229 | xtw.WriteElementString("AllowDamage", settings.AllowDamage.ToString()); |
230 | xtw.WriteElementString("AllowLandResell", settings.AllowLandResell.ToString()); | 230 | xtw.WriteElementString("AllowLandResell", settings.AllowLandResell.ToString()); |
@@ -255,7 +255,7 @@ namespace OpenSim.Framework.Serialization.External | |||
255 | xtw.WriteElementString("ElevationHighSE", settings.Elevation2SE.ToString()); | 255 | xtw.WriteElementString("ElevationHighSE", settings.Elevation2SE.ToString()); |
256 | xtw.WriteElementString("ElevationHighNE", settings.Elevation2NE.ToString()); | 256 | xtw.WriteElementString("ElevationHighNE", settings.Elevation2NE.ToString()); |
257 | xtw.WriteEndElement(); | 257 | xtw.WriteEndElement(); |
258 | 258 | ||
259 | xtw.WriteStartElement("Terrain"); | 259 | xtw.WriteStartElement("Terrain"); |
260 | xtw.WriteElementString("WaterHeight", settings.WaterHeight.ToString()); | 260 | xtw.WriteElementString("WaterHeight", settings.WaterHeight.ToString()); |
261 | xtw.WriteElementString("TerrainRaiseLimit", settings.TerrainRaiseLimit.ToString()); | 261 | xtw.WriteElementString("TerrainRaiseLimit", settings.TerrainRaiseLimit.ToString()); |
@@ -275,12 +275,12 @@ namespace OpenSim.Framework.Serialization.External | |||
275 | xtw.WriteElementString("SpawnPoint", sp.ToString()); | 275 | xtw.WriteElementString("SpawnPoint", sp.ToString()); |
276 | } | 276 | } |
277 | xtw.WriteEndElement(); | 277 | xtw.WriteEndElement(); |
278 | 278 | ||
279 | xtw.WriteEndElement(); | 279 | xtw.WriteEndElement(); |
280 | 280 | ||
281 | xtw.Close(); | 281 | xtw.Close(); |
282 | sw.Close(); | 282 | sw.Close(); |
283 | 283 | ||
284 | return sw.ToString(); | 284 | return sw.ToString(); |
285 | } | 285 | } |
286 | } | 286 | } |
diff --git a/OpenSim/Framework/Serialization/External/UserInventoryItemSerializer.cs b/OpenSim/Framework/Serialization/External/UserInventoryItemSerializer.cs index 994cede..9b02553 100644 --- a/OpenSim/Framework/Serialization/External/UserInventoryItemSerializer.cs +++ b/OpenSim/Framework/Serialization/External/UserInventoryItemSerializer.cs | |||
@@ -36,9 +36,9 @@ using log4net; | |||
36 | using OpenMetaverse; | 36 | using OpenMetaverse; |
37 | using OpenSim.Framework; | 37 | using OpenSim.Framework; |
38 | using OpenSim.Services.Interfaces; | 38 | using OpenSim.Services.Interfaces; |
39 | 39 | ||
40 | namespace OpenSim.Framework.Serialization.External | 40 | namespace OpenSim.Framework.Serialization.External |
41 | { | 41 | { |
42 | /// <summary> | 42 | /// <summary> |
43 | /// Serialize and deserialize user inventory items as an external format. | 43 | /// Serialize and deserialize user inventory items as an external format. |
44 | /// </summary> | 44 | /// </summary> |
@@ -49,14 +49,14 @@ namespace OpenSim.Framework.Serialization.External | |||
49 | private static Dictionary<string, Action<InventoryItemBase, XmlReader>> m_InventoryItemXmlProcessors | 49 | private static Dictionary<string, Action<InventoryItemBase, XmlReader>> m_InventoryItemXmlProcessors |
50 | = new Dictionary<string, Action<InventoryItemBase, XmlReader>>(); | 50 | = new Dictionary<string, Action<InventoryItemBase, XmlReader>>(); |
51 | 51 | ||
52 | #region InventoryItemBase Processor initialization | 52 | #region InventoryItemBase Processor initialization |
53 | static UserInventoryItemSerializer() | 53 | static UserInventoryItemSerializer() |
54 | { | 54 | { |
55 | m_InventoryItemXmlProcessors.Add("Name", ProcessName); | 55 | m_InventoryItemXmlProcessors.Add("Name", ProcessName); |
56 | m_InventoryItemXmlProcessors.Add("ID", ProcessID); | 56 | m_InventoryItemXmlProcessors.Add("ID", ProcessID); |
57 | m_InventoryItemXmlProcessors.Add("InvType", ProcessInvType); | 57 | m_InventoryItemXmlProcessors.Add("InvType", ProcessInvType); |
58 | m_InventoryItemXmlProcessors.Add("CreatorUUID", ProcessCreatorUUID); | 58 | m_InventoryItemXmlProcessors.Add("CreatorUUID", ProcessCreatorUUID); |
59 | m_InventoryItemXmlProcessors.Add("CreatorID", ProcessCreatorID); | 59 | m_InventoryItemXmlProcessors.Add("CreatorID", ProcessCreatorID); |
60 | m_InventoryItemXmlProcessors.Add("CreatorData", ProcessCreatorData); | 60 | m_InventoryItemXmlProcessors.Add("CreatorData", ProcessCreatorData); |
61 | m_InventoryItemXmlProcessors.Add("CreationDate", ProcessCreationDate); | 61 | m_InventoryItemXmlProcessors.Add("CreationDate", ProcessCreationDate); |
62 | m_InventoryItemXmlProcessors.Add("Owner", ProcessOwner); | 62 | m_InventoryItemXmlProcessors.Add("Owner", ProcessOwner); |
@@ -73,7 +73,7 @@ namespace OpenSim.Framework.Serialization.External | |||
73 | m_InventoryItemXmlProcessors.Add("GroupID", ProcessGroupID); | 73 | m_InventoryItemXmlProcessors.Add("GroupID", ProcessGroupID); |
74 | m_InventoryItemXmlProcessors.Add("GroupOwned", ProcessGroupOwned); | 74 | m_InventoryItemXmlProcessors.Add("GroupOwned", ProcessGroupOwned); |
75 | } | 75 | } |
76 | #endregion | 76 | #endregion |
77 | 77 | ||
78 | #region InventoryItemBase Processors | 78 | #region InventoryItemBase Processors |
79 | private static void ProcessName(InventoryItemBase item, XmlReader reader) | 79 | private static void ProcessName(InventoryItemBase item, XmlReader reader) |
@@ -189,7 +189,7 @@ namespace OpenSim.Framework.Serialization.External | |||
189 | { | 189 | { |
190 | return Deserialize(Encoding.ASCII.GetString(serialization, 0, serialization.Length)); | 190 | return Deserialize(Encoding.ASCII.GetString(serialization, 0, serialization.Length)); |
191 | } | 191 | } |
192 | 192 | ||
193 | /// <summary> | 193 | /// <summary> |
194 | /// Deserialize settings | 194 | /// Deserialize settings |
195 | /// </summary> | 195 | /// </summary> |
@@ -212,8 +212,8 @@ namespace OpenSim.Framework.Serialization.External | |||
212 | 212 | ||
213 | //m_log.DebugFormat("[XXX]: parsed InventoryItemBase {0} - {1}", obj.Name, obj.UUID); | 213 | //m_log.DebugFormat("[XXX]: parsed InventoryItemBase {0} - {1}", obj.Name, obj.UUID); |
214 | return item; | 214 | return item; |
215 | } | 215 | } |
216 | 216 | ||
217 | public static string Serialize(InventoryItemBase inventoryItem, Dictionary<string, object> options, IUserAccountService userAccountService) | 217 | public static string Serialize(InventoryItemBase inventoryItem, Dictionary<string, object> options, IUserAccountService userAccountService) |
218 | { | 218 | { |
219 | StringWriter sw = new StringWriter(); | 219 | StringWriter sw = new StringWriter(); |
@@ -294,11 +294,11 @@ namespace OpenSim.Framework.Serialization.External | |||
294 | } | 294 | } |
295 | 295 | ||
296 | writer.WriteEndElement(); | 296 | writer.WriteEndElement(); |
297 | 297 | ||
298 | writer.Close(); | 298 | writer.Close(); |
299 | sw.Close(); | 299 | sw.Close(); |
300 | 300 | ||
301 | return sw.ToString(); | 301 | return sw.ToString(); |
302 | } | 302 | } |
303 | } | 303 | } |
304 | } | 304 | } |
diff --git a/OpenSim/Framework/Serialization/External/UserProfileSerializer.cs b/OpenSim/Framework/Serialization/External/UserProfileSerializer.cs index c685a15..34eaa99 100644 --- a/OpenSim/Framework/Serialization/External/UserProfileSerializer.cs +++ b/OpenSim/Framework/Serialization/External/UserProfileSerializer.cs | |||
@@ -42,31 +42,31 @@ namespace OpenSim.Framework.Serialization.External | |||
42 | { | 42 | { |
43 | public const int MAJOR_VERSION = 0; | 43 | public const int MAJOR_VERSION = 0; |
44 | public const int MINOR_VERSION = 1; | 44 | public const int MINOR_VERSION = 1; |
45 | 45 | ||
46 | public static string Serialize(UUID userID, string firstName, string lastName) | 46 | public static string Serialize(UUID userID, string firstName, string lastName) |
47 | { | 47 | { |
48 | StringWriter sw = new StringWriter(); | 48 | StringWriter sw = new StringWriter(); |
49 | XmlTextWriter xtw = new XmlTextWriter(sw); | 49 | XmlTextWriter xtw = new XmlTextWriter(sw); |
50 | xtw.Formatting = Formatting.Indented; | 50 | xtw.Formatting = Formatting.Indented; |
51 | xtw.WriteStartDocument(); | 51 | xtw.WriteStartDocument(); |
52 | 52 | ||
53 | xtw.WriteStartElement("user_profile"); | 53 | xtw.WriteStartElement("user_profile"); |
54 | xtw.WriteAttributeString("major_version", MAJOR_VERSION.ToString()); | 54 | xtw.WriteAttributeString("major_version", MAJOR_VERSION.ToString()); |
55 | xtw.WriteAttributeString("minor_version", MINOR_VERSION.ToString()); | 55 | xtw.WriteAttributeString("minor_version", MINOR_VERSION.ToString()); |
56 | 56 | ||
57 | xtw.WriteElementString("name", firstName + " " + lastName); | 57 | xtw.WriteElementString("name", firstName + " " + lastName); |
58 | xtw.WriteElementString("id", userID.ToString()); | 58 | xtw.WriteElementString("id", userID.ToString()); |
59 | xtw.WriteElementString("about", ""); | 59 | xtw.WriteElementString("about", ""); |
60 | 60 | ||
61 | // Not sure if we're storing this yet, need to take a look | 61 | // Not sure if we're storing this yet, need to take a look |
62 | // xtw.WriteElementString("Url", profile.Url); | 62 | // xtw.WriteElementString("Url", profile.Url); |
63 | // or, indeed, interests | 63 | // or, indeed, interests |
64 | 64 | ||
65 | xtw.WriteEndElement(); | 65 | xtw.WriteEndElement(); |
66 | 66 | ||
67 | xtw.Close(); | 67 | xtw.Close(); |
68 | sw.Close(); | 68 | sw.Close(); |
69 | 69 | ||
70 | return sw.ToString(); | 70 | return sw.ToString(); |
71 | } | 71 | } |
72 | } | 72 | } |
diff --git a/OpenSim/Framework/Serialization/Properties/AssemblyInfo.cs b/OpenSim/Framework/Serialization/Properties/AssemblyInfo.cs index f2060ab..7dfb87b 100644 --- a/OpenSim/Framework/Serialization/Properties/AssemblyInfo.cs +++ b/OpenSim/Framework/Serialization/Properties/AssemblyInfo.cs | |||
@@ -2,7 +2,7 @@ | |||
2 | using System.Runtime.CompilerServices; | 2 | using System.Runtime.CompilerServices; |
3 | using System.Runtime.InteropServices; | 3 | using System.Runtime.InteropServices; |
4 | 4 | ||
5 | // General Information about an assembly is controlled through the following | 5 | // General Information about an assembly is controlled through the following |
6 | // set of attributes. Change these attribute values to modify the information | 6 | // set of attributes. Change these attribute values to modify the information |
7 | // associated with an assembly. | 7 | // associated with an assembly. |
8 | [assembly: AssemblyTitle("OpenSim.Framework.Serialization")] | 8 | [assembly: AssemblyTitle("OpenSim.Framework.Serialization")] |
@@ -14,8 +14,8 @@ using System.Runtime.InteropServices; | |||
14 | [assembly: AssemblyTrademark("")] | 14 | [assembly: AssemblyTrademark("")] |
15 | [assembly: AssemblyCulture("")] | 15 | [assembly: AssemblyCulture("")] |
16 | 16 | ||
17 | // Setting ComVisible to false makes the types in this assembly not visible | 17 | // Setting ComVisible to false makes the types in this assembly not visible |
18 | // to COM components. If you need to access a type in this assembly from | 18 | // to COM components. If you need to access a type in this assembly from |
19 | // COM, set the ComVisible attribute to true on that type. | 19 | // COM, set the ComVisible attribute to true on that type. |
20 | [assembly: ComVisible(false)] | 20 | [assembly: ComVisible(false)] |
21 | 21 | ||
@@ -25,7 +25,7 @@ using System.Runtime.InteropServices; | |||
25 | // Version information for an assembly consists of the following four values: | 25 | // Version information for an assembly consists of the following four values: |
26 | // | 26 | // |
27 | // Major Version | 27 | // Major Version |
28 | // Minor Version | 28 | // Minor Version |
29 | // Build Number | 29 | // Build Number |
30 | // Revision | 30 | // Revision |
31 | // | 31 | // |
diff --git a/OpenSim/Framework/Serialization/TarArchiveWriter.cs b/OpenSim/Framework/Serialization/TarArchiveWriter.cs index 2a3bc48..a5c3d0a 100644 --- a/OpenSim/Framework/Serialization/TarArchiveWriter.cs +++ b/OpenSim/Framework/Serialization/TarArchiveWriter.cs | |||
@@ -113,7 +113,7 @@ namespace OpenSim.Framework.Serialization | |||
113 | lock (m_bw) | 113 | lock (m_bw) |
114 | { | 114 | { |
115 | m_bw.Write(finalZeroPadding); | 115 | m_bw.Write(finalZeroPadding); |
116 | 116 | ||
117 | m_bw.Flush(); | 117 | m_bw.Flush(); |
118 | m_bw.Close(); | 118 | m_bw.Close(); |
119 | } | 119 | } |
@@ -149,7 +149,7 @@ namespace OpenSim.Framework.Serialization | |||
149 | { | 149 | { |
150 | // m_log.DebugFormat( | 150 | // m_log.DebugFormat( |
151 | // "[TAR ARCHIVE WRITER]: Data for {0} is {1} bytes", filePath, (null == data ? "null" : data.Length.ToString())); | 151 | // "[TAR ARCHIVE WRITER]: Data for {0} is {1} bytes", filePath, (null == data ? "null" : data.Length.ToString())); |
152 | 152 | ||
153 | byte[] header = new byte[512]; | 153 | byte[] header = new byte[512]; |
154 | 154 | ||
155 | // file path field (100) | 155 | // file path field (100) |
@@ -208,18 +208,18 @@ namespace OpenSim.Framework.Serialization | |||
208 | { | 208 | { |
209 | // Write out header | 209 | // Write out header |
210 | m_bw.Write(header); | 210 | m_bw.Write(header); |
211 | 211 | ||
212 | // Write out data | 212 | // Write out data |
213 | // An IOException occurs if we try to write out an empty array in Mono 2.6 | 213 | // An IOException occurs if we try to write out an empty array in Mono 2.6 |
214 | if (data.Length > 0) | 214 | if (data.Length > 0) |
215 | m_bw.Write(data); | 215 | m_bw.Write(data); |
216 | 216 | ||
217 | if (data.Length % 512 != 0) | 217 | if (data.Length % 512 != 0) |
218 | { | 218 | { |
219 | int paddingRequired = 512 - (data.Length % 512); | 219 | int paddingRequired = 512 - (data.Length % 512); |
220 | 220 | ||
221 | //m_log.DebugFormat("[TAR ARCHIVE WRITER]: Padding data with {0} bytes", paddingRequired); | 221 | //m_log.DebugFormat("[TAR ARCHIVE WRITER]: Padding data with {0} bytes", paddingRequired); |
222 | 222 | ||
223 | byte[] padding = new byte[paddingRequired]; | 223 | byte[] padding = new byte[paddingRequired]; |
224 | m_bw.Write(padding); | 224 | m_bw.Write(padding); |
225 | } | 225 | } |
diff --git a/OpenSim/Framework/Servers/BaseOpenSimServer.cs b/OpenSim/Framework/Servers/BaseOpenSimServer.cs index 1d4deac..f761813 100644 --- a/OpenSim/Framework/Servers/BaseOpenSimServer.cs +++ b/OpenSim/Framework/Servers/BaseOpenSimServer.cs | |||
@@ -68,9 +68,9 @@ namespace OpenSim.Framework.Servers | |||
68 | 68 | ||
69 | private int m_periodDiagnosticTimerMS = 60 * 60 * 1000; | 69 | private int m_periodDiagnosticTimerMS = 60 * 60 * 1000; |
70 | private Timer m_periodicDiagnosticsTimer = new Timer(60 * 60 * 1000); | 70 | private Timer m_periodicDiagnosticsTimer = new Timer(60 * 60 * 1000); |
71 | 71 | ||
72 | /// <summary> | 72 | /// <summary> |
73 | /// Random uuid for private data | 73 | /// Random uuid for private data |
74 | /// </summary> | 74 | /// </summary> |
75 | protected string m_osSecret = String.Empty; | 75 | protected string m_osSecret = String.Empty; |
76 | 76 | ||
@@ -85,7 +85,7 @@ namespace OpenSim.Framework.Servers | |||
85 | // Random uuid for private data | 85 | // Random uuid for private data |
86 | m_osSecret = UUID.Random().ToString(); | 86 | m_osSecret = UUID.Random().ToString(); |
87 | } | 87 | } |
88 | 88 | ||
89 | /// <summary> | 89 | /// <summary> |
90 | /// Must be overriden by child classes for their own server specific startup behaviour. | 90 | /// Must be overriden by child classes for their own server specific startup behaviour. |
91 | /// </summary> | 91 | /// </summary> |
@@ -104,10 +104,10 @@ namespace OpenSim.Framework.Servers | |||
104 | m_periodicDiagnosticsTimer.Interval = m_periodDiagnosticTimerMS; | 104 | m_periodicDiagnosticsTimer.Interval = m_periodDiagnosticTimerMS; |
105 | m_periodicDiagnosticsTimer.Enabled = true; | 105 | m_periodicDiagnosticsTimer.Enabled = true; |
106 | } | 106 | } |
107 | } | 107 | } |
108 | 108 | ||
109 | protected override void ShutdownSpecific() | 109 | protected override void ShutdownSpecific() |
110 | { | 110 | { |
111 | m_log.Info("[SHUTDOWN]: Shutdown processing on main thread complete. Exiting..."); | 111 | m_log.Info("[SHUTDOWN]: Shutdown processing on main thread complete. Exiting..."); |
112 | 112 | ||
113 | RemovePIDFile(); | 113 | RemovePIDFile(); |
@@ -117,12 +117,12 @@ namespace OpenSim.Framework.Servers | |||
117 | if (!SuppressExit) | 117 | if (!SuppressExit) |
118 | Environment.Exit(0); | 118 | Environment.Exit(0); |
119 | } | 119 | } |
120 | 120 | ||
121 | /// <summary> | 121 | /// <summary> |
122 | /// Provides a list of help topics that are available. Overriding classes should append their topics to the | 122 | /// Provides a list of help topics that are available. Overriding classes should append their topics to the |
123 | /// information returned when the base method is called. | 123 | /// information returned when the base method is called. |
124 | /// </summary> | 124 | /// </summary> |
125 | /// | 125 | /// |
126 | /// <returns> | 126 | /// <returns> |
127 | /// A list of strings that represent different help topics on which more information is available | 127 | /// A list of strings that represent different help topics on which more information is available |
128 | /// </returns> | 128 | /// </returns> |
@@ -148,7 +148,7 @@ namespace OpenSim.Framework.Servers | |||
148 | public virtual void Startup() | 148 | public virtual void Startup() |
149 | { | 149 | { |
150 | m_log.Info("[STARTUP]: Beginning startup processing"); | 150 | m_log.Info("[STARTUP]: Beginning startup processing"); |
151 | 151 | ||
152 | m_log.Info("[STARTUP]: version: " + m_version + Environment.NewLine); | 152 | m_log.Info("[STARTUP]: version: " + m_version + Environment.NewLine); |
153 | // clr version potentially is more confusing than helpful, since it doesn't tell us if we're running under Mono/MS .NET and | 153 | // clr version potentially is more confusing than helpful, since it doesn't tell us if we're running under Mono/MS .NET and |
154 | // the clr version number doesn't match the project version number under Mono. | 154 | // the clr version number doesn't match the project version number under Mono. |
@@ -156,7 +156,7 @@ namespace OpenSim.Framework.Servers | |||
156 | m_log.InfoFormat( | 156 | m_log.InfoFormat( |
157 | "[STARTUP]: Operating system version: {0}, .NET platform {1}, {2}-bit\n", | 157 | "[STARTUP]: Operating system version: {0}, .NET platform {1}, {2}-bit\n", |
158 | Environment.OSVersion, Environment.OSVersion.Platform, Util.Is64BitProcess() ? "64" : "32"); | 158 | Environment.OSVersion, Environment.OSVersion.Platform, Util.Is64BitProcess() ? "64" : "32"); |
159 | 159 | ||
160 | try | 160 | try |
161 | { | 161 | { |
162 | StartupSpecific(); | 162 | StartupSpecific(); |
@@ -167,18 +167,18 @@ namespace OpenSim.Framework.Servers | |||
167 | (e.Message == null || e.Message == String.Empty) ? "Unknown reason":e.Message ); | 167 | (e.Message == null || e.Message == String.Empty) ? "Unknown reason":e.Message ); |
168 | Environment.Exit(1); | 168 | Environment.Exit(1); |
169 | } | 169 | } |
170 | 170 | ||
171 | TimeSpan timeTaken = DateTime.Now - m_startuptime; | 171 | TimeSpan timeTaken = DateTime.Now - m_startuptime; |
172 | 172 | ||
173 | // MainConsole.Instance.OutputFormat( | 173 | // MainConsole.Instance.OutputFormat( |
174 | // "PLEASE WAIT FOR LOGINS TO BE ENABLED ON REGIONS ONCE SCRIPTS HAVE STARTED. Non-script portion of startup took {0}m {1}s.", | 174 | // "PLEASE WAIT FOR LOGINS TO BE ENABLED ON REGIONS ONCE SCRIPTS HAVE STARTED. Non-script portion of startup took {0}m {1}s.", |
175 | // timeTaken.Minutes, timeTaken.Seconds); | 175 | // timeTaken.Minutes, timeTaken.Seconds); |
176 | } | 176 | } |
177 | 177 | ||
178 | public string osSecret | 178 | public string osSecret |
179 | { | 179 | { |
180 | // Secret uuid for the simulator | 180 | // Secret uuid for the simulator |
181 | get { return m_osSecret; } | 181 | get { return m_osSecret; } |
182 | } | 182 | } |
183 | 183 | ||
184 | public string StatReport(IOSHttpRequest httpRequest) | 184 | public string StatReport(IOSHttpRequest httpRequest) |
@@ -187,8 +187,8 @@ namespace OpenSim.Framework.Servers | |||
187 | if (httpRequest.Query.ContainsKey("callback")) | 187 | if (httpRequest.Query.ContainsKey("callback")) |
188 | { | 188 | { |
189 | return httpRequest.Query["callback"].ToString() + "(" + StatsManager.SimExtraStats.XReport((DateTime.Now - m_startuptime).ToString() , m_version) + ");"; | 189 | return httpRequest.Query["callback"].ToString() + "(" + StatsManager.SimExtraStats.XReport((DateTime.Now - m_startuptime).ToString() , m_version) + ");"; |
190 | } | 190 | } |
191 | else | 191 | else |
192 | { | 192 | { |
193 | return StatsManager.SimExtraStats.XReport((DateTime.Now - m_startuptime).ToString() , m_version); | 193 | return StatsManager.SimExtraStats.XReport((DateTime.Now - m_startuptime).ToString() , m_version); |
194 | } | 194 | } |
diff --git a/OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs b/OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs index e431042..fb92b92 100644 --- a/OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs +++ b/OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs | |||
@@ -58,7 +58,7 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
58 | 58 | ||
59 | /// <summary> | 59 | /// <summary> |
60 | /// This is a pending websocket request before it got an sucessful upgrade response. | 60 | /// This is a pending websocket request before it got an sucessful upgrade response. |
61 | /// The consumer must call handler.HandshakeAndUpgrade() to signal to the handler to | 61 | /// The consumer must call handler.HandshakeAndUpgrade() to signal to the handler to |
62 | /// start the connection and optionally provide an origin authentication method. | 62 | /// start the connection and optionally provide an origin authentication method. |
63 | /// </summary> | 63 | /// </summary> |
64 | /// <param name="servicepath"></param> | 64 | /// <param name="servicepath"></param> |
@@ -104,7 +104,7 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
104 | new Dictionary<string, PollServiceEventArgs>(); | 104 | new Dictionary<string, PollServiceEventArgs>(); |
105 | 105 | ||
106 | protected Dictionary<string, WebSocketRequestDelegate> m_WebSocketHandlers = | 106 | protected Dictionary<string, WebSocketRequestDelegate> m_WebSocketHandlers = |
107 | new Dictionary<string, WebSocketRequestDelegate>(); | 107 | new Dictionary<string, WebSocketRequestDelegate>(); |
108 | 108 | ||
109 | protected uint m_port; | 109 | protected uint m_port; |
110 | protected uint m_sslport; | 110 | protected uint m_sslport; |
@@ -253,7 +253,7 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
253 | return new List<string>(m_rpcHandlers.Keys); | 253 | return new List<string>(m_rpcHandlers.Keys); |
254 | } | 254 | } |
255 | 255 | ||
256 | // JsonRPC | 256 | // JsonRPC |
257 | public bool AddJsonRPCHandler(string method, JsonRPCMethod handler) | 257 | public bool AddJsonRPCHandler(string method, JsonRPCMethod handler) |
258 | { | 258 | { |
259 | lock(jsonRpcHandlers) | 259 | lock(jsonRpcHandlers) |
@@ -459,11 +459,11 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
459 | dWebSocketRequestDelegate(req.Url.AbsolutePath, new WebSocketHttpServerHandler(req, context, 8192)); | 459 | dWebSocketRequestDelegate(req.Url.AbsolutePath, new WebSocketHttpServerHandler(req, context, 8192)); |
460 | return; | 460 | return; |
461 | } | 461 | } |
462 | 462 | ||
463 | OSHttpResponse resp = new OSHttpResponse(new HttpResponse(context, request),context); | 463 | OSHttpResponse resp = new OSHttpResponse(new HttpResponse(context, request),context); |
464 | resp.ReuseContext = true; | 464 | resp.ReuseContext = true; |
465 | // resp.ReuseContext = false; | 465 | // resp.ReuseContext = false; |
466 | HandleRequest(req, resp); | 466 | HandleRequest(req, resp); |
467 | 467 | ||
468 | // !!!HACK ALERT!!! | 468 | // !!!HACK ALERT!!! |
469 | // There seems to be a bug in the underlying http code that makes subsequent requests | 469 | // There seems to be a bug in the underlying http code that makes subsequent requests |
@@ -554,7 +554,7 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
554 | LogIncomingToStreamHandler(request, requestHandler); | 554 | LogIncomingToStreamHandler(request, requestHandler); |
555 | 555 | ||
556 | response.ContentType = requestHandler.ContentType; // Lets do this defaulting before in case handler has varying content type. | 556 | response.ContentType = requestHandler.ContentType; // Lets do this defaulting before in case handler has varying content type. |
557 | 557 | ||
558 | if (requestHandler is IStreamedRequestHandler) | 558 | if (requestHandler is IStreamedRequestHandler) |
559 | { | 559 | { |
560 | IStreamedRequestHandler streamedRequestHandler = requestHandler as IStreamedRequestHandler; | 560 | IStreamedRequestHandler streamedRequestHandler = requestHandler as IStreamedRequestHandler; |
@@ -630,16 +630,16 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
630 | case "text/html": | 630 | case "text/html": |
631 | if (DebugLevel >= 3) | 631 | if (DebugLevel >= 3) |
632 | LogIncomingToContentTypeHandler(request); | 632 | LogIncomingToContentTypeHandler(request); |
633 | 633 | ||
634 | buffer = HandleHTTPRequest(request, response); | 634 | buffer = HandleHTTPRequest(request, response); |
635 | break; | 635 | break; |
636 | 636 | ||
637 | case "application/llsd+xml": | 637 | case "application/llsd+xml": |
638 | case "application/xml+llsd": | 638 | case "application/xml+llsd": |
639 | case "application/llsd+json": | 639 | case "application/llsd+json": |
640 | if (DebugLevel >= 3) | 640 | if (DebugLevel >= 3) |
641 | LogIncomingToContentTypeHandler(request); | 641 | LogIncomingToContentTypeHandler(request); |
642 | 642 | ||
643 | buffer = HandleLLSDRequests(request, response); | 643 | buffer = HandleLLSDRequests(request, response); |
644 | break; | 644 | break; |
645 | 645 | ||
@@ -649,7 +649,7 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
649 | 649 | ||
650 | buffer = HandleJsonRpcRequests(request, response); | 650 | buffer = HandleJsonRpcRequests(request, response); |
651 | break; | 651 | break; |
652 | 652 | ||
653 | case "text/xml": | 653 | case "text/xml": |
654 | case "application/xml": | 654 | case "application/xml": |
655 | case "application/json": | 655 | case "application/json": |
@@ -666,7 +666,7 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
666 | { | 666 | { |
667 | if (DebugLevel >= 3) | 667 | if (DebugLevel >= 3) |
668 | LogIncomingToContentTypeHandler(request); | 668 | LogIncomingToContentTypeHandler(request); |
669 | 669 | ||
670 | buffer = HandleLLSDRequests(request, response); | 670 | buffer = HandleLLSDRequests(request, response); |
671 | } | 671 | } |
672 | // m_log.DebugFormat("[BASE HTTP SERVER]: Checking for HTTP Handler for request {0}", request.RawUrl); | 672 | // m_log.DebugFormat("[BASE HTTP SERVER]: Checking for HTTP Handler for request {0}", request.RawUrl); |
@@ -674,18 +674,18 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
674 | { | 674 | { |
675 | if (DebugLevel >= 3) | 675 | if (DebugLevel >= 3) |
676 | LogIncomingToContentTypeHandler(request); | 676 | LogIncomingToContentTypeHandler(request); |
677 | 677 | ||
678 | buffer = HandleHTTPRequest(request, response); | 678 | buffer = HandleHTTPRequest(request, response); |
679 | } | 679 | } |
680 | else | 680 | else |
681 | { | 681 | { |
682 | if (DebugLevel >= 3) | 682 | if (DebugLevel >= 3) |
683 | LogIncomingToXmlRpcHandler(request); | 683 | LogIncomingToXmlRpcHandler(request); |
684 | 684 | ||
685 | // generic login request. | 685 | // generic login request. |
686 | buffer = HandleXmlRpcRequests(request, response); | 686 | buffer = HandleXmlRpcRequests(request, response); |
687 | } | 687 | } |
688 | 688 | ||
689 | break; | 689 | break; |
690 | } | 690 | } |
691 | } | 691 | } |
@@ -972,7 +972,7 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
972 | // private bool TryGetAgentHandler(OSHttpRequest request, OSHttpResponse response, out IHttpAgentHandler agentHandler) | 972 | // private bool TryGetAgentHandler(OSHttpRequest request, OSHttpResponse response, out IHttpAgentHandler agentHandler) |
973 | // { | 973 | // { |
974 | // agentHandler = null; | 974 | // agentHandler = null; |
975 | // | 975 | // |
976 | // lock (m_agentHandlers) | 976 | // lock (m_agentHandlers) |
977 | // { | 977 | // { |
978 | // foreach (IHttpAgentHandler handler in m_agentHandlers.Values) | 978 | // foreach (IHttpAgentHandler handler in m_agentHandlers.Values) |
@@ -1171,7 +1171,7 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
1171 | return buffer; | 1171 | return buffer; |
1172 | } | 1172 | } |
1173 | 1173 | ||
1174 | // JsonRpc (v2.0 only) | 1174 | // JsonRpc (v2.0 only) |
1175 | // Batch requests not yet supported | 1175 | // Batch requests not yet supported |
1176 | private byte[] HandleJsonRpcRequests(OSHttpRequest request, OSHttpResponse response) | 1176 | private byte[] HandleJsonRpcRequests(OSHttpRequest request, OSHttpResponse response) |
1177 | { | 1177 | { |
@@ -1188,7 +1188,7 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
1188 | jsonRpcResponse.Error.Code = ErrorCode.InternalError; | 1188 | jsonRpcResponse.Error.Code = ErrorCode.InternalError; |
1189 | jsonRpcResponse.Error.Message = e.Message; | 1189 | jsonRpcResponse.Error.Message = e.Message; |
1190 | } | 1190 | } |
1191 | 1191 | ||
1192 | requestStream.Close(); | 1192 | requestStream.Close(); |
1193 | 1193 | ||
1194 | if (jsonRpcRequest != null) | 1194 | if (jsonRpcRequest != null) |
@@ -1253,7 +1253,7 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
1253 | string responseData = string.Empty; | 1253 | string responseData = string.Empty; |
1254 | 1254 | ||
1255 | responseData = jsonRpcResponse.Serialize(); | 1255 | responseData = jsonRpcResponse.Serialize(); |
1256 | 1256 | ||
1257 | byte[] buffer = Encoding.UTF8.GetBytes(responseData); | 1257 | byte[] buffer = Encoding.UTF8.GetBytes(responseData); |
1258 | return buffer; | 1258 | return buffer; |
1259 | } | 1259 | } |
@@ -1533,7 +1533,7 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
1533 | } | 1533 | } |
1534 | } | 1534 | } |
1535 | } | 1535 | } |
1536 | 1536 | ||
1537 | if (String.IsNullOrEmpty(bestMatch)) | 1537 | if (String.IsNullOrEmpty(bestMatch)) |
1538 | { | 1538 | { |
1539 | llsdHandler = null; | 1539 | llsdHandler = null; |
@@ -1899,8 +1899,8 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
1899 | response.SendChunked = false; | 1899 | response.SendChunked = false; |
1900 | response.ContentLength64 = buffer.Length; | 1900 | response.ContentLength64 = buffer.Length; |
1901 | response.ContentEncoding = Encoding.UTF8; | 1901 | response.ContentEncoding = Encoding.UTF8; |
1902 | 1902 | ||
1903 | 1903 | ||
1904 | return buffer; | 1904 | return buffer; |
1905 | } | 1905 | } |
1906 | 1906 | ||
@@ -1977,7 +1977,7 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
1977 | throw e; | 1977 | throw e; |
1978 | } | 1978 | } |
1979 | 1979 | ||
1980 | m_requestsProcessedStat | 1980 | m_requestsProcessedStat |
1981 | = new Stat( | 1981 | = new Stat( |
1982 | "HTTPRequestsServed", | 1982 | "HTTPRequestsServed", |
1983 | "Number of inbound HTTP requests processed", | 1983 | "Number of inbound HTTP requests processed", |
@@ -1989,7 +1989,7 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
1989 | MeasuresOfInterest.AverageChangeOverTime, | 1989 | MeasuresOfInterest.AverageChangeOverTime, |
1990 | stat => stat.Value = RequestNumber, | 1990 | stat => stat.Value = RequestNumber, |
1991 | StatVerbosity.Debug); | 1991 | StatVerbosity.Debug); |
1992 | 1992 | ||
1993 | StatsManager.RegisterStat(m_requestsProcessedStat); | 1993 | StatsManager.RegisterStat(m_requestsProcessedStat); |
1994 | } | 1994 | } |
1995 | 1995 | ||
diff --git a/OpenSim/Framework/Servers/HttpServer/BaseRequestHandler.cs b/OpenSim/Framework/Servers/HttpServer/BaseRequestHandler.cs index d4a1ec3..01d95e9 100644 --- a/OpenSim/Framework/Servers/HttpServer/BaseRequestHandler.cs +++ b/OpenSim/Framework/Servers/HttpServer/BaseRequestHandler.cs | |||
@@ -69,13 +69,13 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
69 | { | 69 | { |
70 | StatsManager.RegisterStat( | 70 | StatsManager.RegisterStat( |
71 | new Stat( | 71 | new Stat( |
72 | "requests", | 72 | "requests", |
73 | "requests", | 73 | "requests", |
74 | "Number of requests received by this service endpoint", | 74 | "Number of requests received by this service endpoint", |
75 | "requests", | 75 | "requests", |
76 | "service", | 76 | "service", |
77 | string.Format("{0}:{1}", httpMethod, path), | 77 | string.Format("{0}:{1}", httpMethod, path), |
78 | StatType.Pull, | 78 | StatType.Pull, |
79 | MeasuresOfInterest.AverageChangeOverTime, | 79 | MeasuresOfInterest.AverageChangeOverTime, |
80 | s => s.Value = RequestsReceived, | 80 | s => s.Value = RequestsReceived, |
81 | StatVerbosity.Debug)); | 81 | StatVerbosity.Debug)); |
diff --git a/OpenSim/Framework/Servers/HttpServer/BaseStreamHandler.cs b/OpenSim/Framework/Servers/HttpServer/BaseStreamHandler.cs index 41aa19b..7fc9f0b 100644 --- a/OpenSim/Framework/Servers/HttpServer/BaseStreamHandler.cs +++ b/OpenSim/Framework/Servers/HttpServer/BaseStreamHandler.cs | |||
@@ -47,7 +47,7 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
47 | : base(httpMethod, path, name, description) {} | 47 | : base(httpMethod, path, name, description) {} |
48 | 48 | ||
49 | protected BaseStreamHandler(string httpMethod, string path, IServiceAuth auth) | 49 | protected BaseStreamHandler(string httpMethod, string path, IServiceAuth auth) |
50 | : base(httpMethod, path, null, null) | 50 | : base(httpMethod, path, null, null) |
51 | { | 51 | { |
52 | m_Auth = auth; | 52 | m_Auth = auth; |
53 | } | 53 | } |
@@ -62,7 +62,7 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
62 | HttpStatusCode statusCode; | 62 | HttpStatusCode statusCode; |
63 | 63 | ||
64 | if (!m_Auth.Authenticate(httpRequest.Headers, httpResponse.AddHeader, out statusCode)) | 64 | if (!m_Auth.Authenticate(httpRequest.Headers, httpResponse.AddHeader, out statusCode)) |
65 | { | 65 | { |
66 | httpResponse.StatusCode = (int)statusCode; | 66 | httpResponse.StatusCode = (int)statusCode; |
67 | httpResponse.ContentType = "text/plain"; | 67 | httpResponse.ContentType = "text/plain"; |
68 | return new byte[0]; | 68 | return new byte[0]; |
diff --git a/OpenSim/Framework/Servers/HttpServer/BaseStreamHandlerBasicDOSProtector.cs b/OpenSim/Framework/Servers/HttpServer/BaseStreamHandlerBasicDOSProtector.cs index 1b88545..9619e03 100644 --- a/OpenSim/Framework/Servers/HttpServer/BaseStreamHandlerBasicDOSProtector.cs +++ b/OpenSim/Framework/Servers/HttpServer/BaseStreamHandlerBasicDOSProtector.cs | |||
@@ -37,7 +37,7 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
37 | /// </remarks> | 37 | /// </remarks> |
38 | public abstract class BaseStreamHandlerBasicDOSProtector : BaseRequestHandler, IStreamedRequestHandler | 38 | public abstract class BaseStreamHandlerBasicDOSProtector : BaseRequestHandler, IStreamedRequestHandler |
39 | { | 39 | { |
40 | 40 | ||
41 | private readonly BasicDosProtectorOptions _options; | 41 | private readonly BasicDosProtectorOptions _options; |
42 | private readonly BasicDOSProtector _dosProtector; | 42 | private readonly BasicDOSProtector _dosProtector; |
43 | 43 | ||
@@ -63,7 +63,7 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
63 | result = ThrottledRequest(path, request, httpRequest, httpResponse); | 63 | result = ThrottledRequest(path, request, httpRequest, httpResponse); |
64 | if (_options.MaxConcurrentSessions > 0) | 64 | if (_options.MaxConcurrentSessions > 0) |
65 | _dosProtector.ProcessEnd(clientstring, endpoint); | 65 | _dosProtector.ProcessEnd(clientstring, endpoint); |
66 | 66 | ||
67 | RequestsHandled++; | 67 | RequestsHandled++; |
68 | 68 | ||
69 | return result; | 69 | return result; |
@@ -81,7 +81,7 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
81 | return new byte[0]; | 81 | return new byte[0]; |
82 | } | 82 | } |
83 | 83 | ||
84 | 84 | ||
85 | private string GetRemoteAddr(IOSHttpRequest httpRequest) | 85 | private string GetRemoteAddr(IOSHttpRequest httpRequest) |
86 | { | 86 | { |
87 | string remoteaddr = string.Empty; | 87 | string remoteaddr = string.Empty; |
@@ -101,7 +101,7 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
101 | clientstring = GetRemoteAddr(httpRequest); | 101 | clientstring = GetRemoteAddr(httpRequest); |
102 | 102 | ||
103 | return clientstring; | 103 | return clientstring; |
104 | 104 | ||
105 | } | 105 | } |
106 | } | 106 | } |
107 | } | 107 | } |
diff --git a/OpenSim/Framework/Servers/HttpServer/GenericHTTPBasicDOSProtector.cs b/OpenSim/Framework/Servers/HttpServer/GenericHTTPBasicDOSProtector.cs index cd4b8ff..98d33e4 100644 --- a/OpenSim/Framework/Servers/HttpServer/GenericHTTPBasicDOSProtector.cs +++ b/OpenSim/Framework/Servers/HttpServer/GenericHTTPBasicDOSProtector.cs | |||
@@ -33,7 +33,7 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
33 | { | 33 | { |
34 | private readonly GenericHTTPMethod _normalMethod; | 34 | private readonly GenericHTTPMethod _normalMethod; |
35 | private readonly GenericHTTPMethod _throttledMethod; | 35 | private readonly GenericHTTPMethod _throttledMethod; |
36 | 36 | ||
37 | private readonly BasicDosProtectorOptions _options; | 37 | private readonly BasicDosProtectorOptions _options; |
38 | private readonly BasicDOSProtector _dosProtector; | 38 | private readonly BasicDOSProtector _dosProtector; |
39 | 39 | ||
@@ -41,7 +41,7 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
41 | { | 41 | { |
42 | _normalMethod = normalMethod; | 42 | _normalMethod = normalMethod; |
43 | _throttledMethod = throttledMethod; | 43 | _throttledMethod = throttledMethod; |
44 | 44 | ||
45 | _options = options; | 45 | _options = options; |
46 | _dosProtector = new BasicDOSProtector(_options); | 46 | _dosProtector = new BasicDOSProtector(_options); |
47 | } | 47 | } |
@@ -60,7 +60,7 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
60 | 60 | ||
61 | return process; | 61 | return process; |
62 | } | 62 | } |
63 | 63 | ||
64 | private string GetRemoteAddr(Hashtable request) | 64 | private string GetRemoteAddr(Hashtable request) |
65 | { | 65 | { |
66 | string remoteaddr = ""; | 66 | string remoteaddr = ""; |
diff --git a/OpenSim/Framework/Servers/HttpServer/Interfaces/IHttpServer.cs b/OpenSim/Framework/Servers/HttpServer/Interfaces/IHttpServer.cs index d162bc1..3a04074 100644 --- a/OpenSim/Framework/Servers/HttpServer/Interfaces/IHttpServer.cs +++ b/OpenSim/Framework/Servers/HttpServer/Interfaces/IHttpServer.cs | |||
@@ -45,26 +45,26 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
45 | // // the handlers - it is NOT required to be an actual agent header | 45 | // // the handlers - it is NOT required to be an actual agent header |
46 | // // value. | 46 | // // value. |
47 | // bool AddAgentHandler(string agent, IHttpAgentHandler handler); | 47 | // bool AddAgentHandler(string agent, IHttpAgentHandler handler); |
48 | 48 | ||
49 | /// <summary> | 49 | /// <summary> |
50 | /// Add a handler for an HTTP request. | 50 | /// Add a handler for an HTTP request. |
51 | /// </summary> | 51 | /// </summary> |
52 | /// <remarks> | 52 | /// <remarks> |
53 | /// This handler can actually be invoked either as | 53 | /// This handler can actually be invoked either as |
54 | /// | 54 | /// |
55 | /// http://<hostname>:<port>/?method=<methodName> | 55 | /// http://<hostname>:<port>/?method=<methodName> |
56 | /// | 56 | /// |
57 | /// or | 57 | /// or |
58 | /// | 58 | /// |
59 | /// http://<hostname>:<port><method> | 59 | /// http://<hostname>:<port><method> |
60 | /// | 60 | /// |
61 | /// if the method name starts with a slash. For example, AddHTTPHandler("/object/", ...) on a standalone region | 61 | /// if the method name starts with a slash. For example, AddHTTPHandler("/object/", ...) on a standalone region |
62 | /// server will register a handler that can be invoked with either | 62 | /// server will register a handler that can be invoked with either |
63 | /// | 63 | /// |
64 | /// http://localhost:9000/?method=/object/ | 64 | /// http://localhost:9000/?method=/object/ |
65 | /// | 65 | /// |
66 | /// or | 66 | /// or |
67 | /// | 67 | /// |
68 | /// http://localhost:9000/object/ | 68 | /// http://localhost:9000/object/ |
69 | /// | 69 | /// |
70 | /// In addition, the handler invoked by the HTTP server for any request is the one when best matches the request | 70 | /// In addition, the handler invoked by the HTTP server for any request is the one when best matches the request |
@@ -87,7 +87,7 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
87 | /// <param name="handler">handle the LLSD response</param> | 87 | /// <param name="handler">handle the LLSD response</param> |
88 | /// <returns></returns> | 88 | /// <returns></returns> |
89 | bool AddLLSDHandler(string path, LLSDMethod handler); | 89 | bool AddLLSDHandler(string path, LLSDMethod handler); |
90 | 90 | ||
91 | /// <summary> | 91 | /// <summary> |
92 | /// Add a stream handler to the http server. If the handler already exists, then nothing happens. | 92 | /// Add a stream handler to the http server. If the handler already exists, then nothing happens. |
93 | /// </summary> | 93 | /// </summary> |
@@ -98,7 +98,7 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
98 | bool AddXmlRPCHandler(string method, XmlRpcMethod handler, bool keepAlive); | 98 | bool AddXmlRPCHandler(string method, XmlRpcMethod handler, bool keepAlive); |
99 | 99 | ||
100 | bool AddJsonRPCHandler(string method, JsonRPCMethod handler); | 100 | bool AddJsonRPCHandler(string method, JsonRPCMethod handler); |
101 | 101 | ||
102 | /// <summary> | 102 | /// <summary> |
103 | /// Websocket HTTP server handlers. | 103 | /// Websocket HTTP server handlers. |
104 | /// </summary> | 104 | /// </summary> |
@@ -108,7 +108,7 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
108 | 108 | ||
109 | 109 | ||
110 | void RemoveWebSocketHandler(string servicepath); | 110 | void RemoveWebSocketHandler(string servicepath); |
111 | 111 | ||
112 | /// <summary> | 112 | /// <summary> |
113 | /// Gets the XML RPC handler for given method name | 113 | /// Gets the XML RPC handler for given method name |
114 | /// </summary> | 114 | /// </summary> |
@@ -125,7 +125,7 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
125 | // /// <param name="handler"></param> | 125 | // /// <param name="handler"></param> |
126 | // /// <returns></returns> | 126 | // /// <returns></returns> |
127 | // bool RemoveAgentHandler(string agent, IHttpAgentHandler handler); | 127 | // bool RemoveAgentHandler(string agent, IHttpAgentHandler handler); |
128 | 128 | ||
129 | /// <summary> | 129 | /// <summary> |
130 | /// Remove an HTTP handler | 130 | /// Remove an HTTP handler |
131 | /// </summary> | 131 | /// </summary> |
@@ -134,15 +134,15 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
134 | void RemoveHTTPHandler(string httpMethod, string path); | 134 | void RemoveHTTPHandler(string httpMethod, string path); |
135 | 135 | ||
136 | void RemovePollServiceHTTPHandler(string httpMethod, string path); | 136 | void RemovePollServiceHTTPHandler(string httpMethod, string path); |
137 | 137 | ||
138 | bool RemoveLLSDHandler(string path, LLSDMethod handler); | 138 | bool RemoveLLSDHandler(string path, LLSDMethod handler); |
139 | 139 | ||
140 | void RemoveStreamHandler(string httpMethod, string path); | 140 | void RemoveStreamHandler(string httpMethod, string path); |
141 | 141 | ||
142 | void RemoveXmlRPCHandler(string method); | 142 | void RemoveXmlRPCHandler(string method); |
143 | 143 | ||
144 | void RemoveJsonRPCHandler(string method); | 144 | void RemoveJsonRPCHandler(string method); |
145 | 145 | ||
146 | string GetHTTP404(string host); | 146 | string GetHTTP404(string host); |
147 | 147 | ||
148 | string GetHTTP500(); | 148 | string GetHTTP500(); |
diff --git a/OpenSim/Framework/Servers/HttpServer/Interfaces/IStreamHandler.cs b/OpenSim/Framework/Servers/HttpServer/Interfaces/IStreamHandler.cs index b8541cb..62d92fb 100644 --- a/OpenSim/Framework/Servers/HttpServer/Interfaces/IStreamHandler.cs +++ b/OpenSim/Framework/Servers/HttpServer/Interfaces/IStreamHandler.cs | |||
@@ -83,7 +83,7 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
83 | { | 83 | { |
84 | void Handle(string path, Stream request, Stream response, IOSHttpRequest httpReqbuest, IOSHttpResponse httpResponse); | 84 | void Handle(string path, Stream request, Stream response, IOSHttpRequest httpReqbuest, IOSHttpResponse httpResponse); |
85 | } | 85 | } |
86 | 86 | ||
87 | public interface IGenericHTTPHandler : IRequestHandler | 87 | public interface IGenericHTTPHandler : IRequestHandler |
88 | { | 88 | { |
89 | Hashtable Handle(string path, Hashtable request); | 89 | Hashtable Handle(string path, Hashtable request); |
diff --git a/OpenSim/Framework/Servers/HttpServer/JsonRpcRequestManager.cs b/OpenSim/Framework/Servers/HttpServer/JsonRpcRequestManager.cs index f3faf4f..411ee31 100644 --- a/OpenSim/Framework/Servers/HttpServer/JsonRpcRequestManager.cs +++ b/OpenSim/Framework/Servers/HttpServer/JsonRpcRequestManager.cs | |||
@@ -43,7 +43,7 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
43 | public class JsonRpcRequestManager | 43 | public class JsonRpcRequestManager |
44 | { | 44 | { |
45 | static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); | 45 | static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); |
46 | 46 | ||
47 | public JsonRpcRequestManager() | 47 | public JsonRpcRequestManager() |
48 | { | 48 | { |
49 | } | 49 | } |
@@ -188,6 +188,6 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
188 | 188 | ||
189 | return true; | 189 | return true; |
190 | } | 190 | } |
191 | 191 | ||
192 | } | 192 | } |
193 | } | 193 | } |
diff --git a/OpenSim/Framework/Servers/HttpServer/JsonRpcResponse.cs b/OpenSim/Framework/Servers/HttpServer/JsonRpcResponse.cs index 2c50587..91d284b 100644 --- a/OpenSim/Framework/Servers/HttpServer/JsonRpcResponse.cs +++ b/OpenSim/Framework/Servers/HttpServer/JsonRpcResponse.cs | |||
@@ -144,7 +144,7 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
144 | { | 144 | { |
145 | 145 | ||
146 | } | 146 | } |
147 | return result; | 147 | return result; |
148 | } | 148 | } |
149 | } | 149 | } |
150 | } | 150 | } |
diff --git a/OpenSim/Framework/Servers/HttpServer/OSHttpRequest.cs b/OpenSim/Framework/Servers/HttpServer/OSHttpRequest.cs index 05ec6dc..1a6b8cf 100644 --- a/OpenSim/Framework/Servers/HttpServer/OSHttpRequest.cs +++ b/OpenSim/Framework/Servers/HttpServer/OSHttpRequest.cs | |||
@@ -155,11 +155,11 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
155 | private string _userAgent; | 155 | private string _userAgent; |
156 | 156 | ||
157 | internal IHttpRequest IHttpRequest | 157 | internal IHttpRequest IHttpRequest |
158 | { | 158 | { |
159 | get { return _request; } | 159 | get { return _request; } |
160 | } | 160 | } |
161 | 161 | ||
162 | internal IHttpClientContext IHttpClientContext | 162 | internal IHttpClientContext IHttpClientContext |
163 | { | 163 | { |
164 | get { return _context; } | 164 | get { return _context; } |
165 | } | 165 | } |
@@ -192,19 +192,19 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
192 | // ignore | 192 | // ignore |
193 | } | 193 | } |
194 | } | 194 | } |
195 | 195 | ||
196 | if (null != req.Headers["content-type"]) | 196 | if (null != req.Headers["content-type"]) |
197 | _contentType = _request.Headers["content-type"]; | 197 | _contentType = _request.Headers["content-type"]; |
198 | if (null != req.Headers["user-agent"]) | 198 | if (null != req.Headers["user-agent"]) |
199 | _userAgent = req.Headers["user-agent"]; | 199 | _userAgent = req.Headers["user-agent"]; |
200 | 200 | ||
201 | if (null != req.Headers["remote_addr"]) | 201 | if (null != req.Headers["remote_addr"]) |
202 | { | 202 | { |
203 | try | 203 | try |
204 | { | 204 | { |
205 | IPAddress addr = IPAddress.Parse(req.Headers["remote_addr"]); | 205 | IPAddress addr = IPAddress.Parse(req.Headers["remote_addr"]); |
206 | // sometimes req.Headers["remote_port"] returns a comma separated list, so use | 206 | // sometimes req.Headers["remote_port"] returns a comma separated list, so use |
207 | // the first one in the list and log it | 207 | // the first one in the list and log it |
208 | string[] strPorts = req.Headers["remote_port"].Split(new char[] { ',' }); | 208 | string[] strPorts = req.Headers["remote_port"].Split(new char[] { ',' }); |
209 | if (strPorts.Length > 1) | 209 | if (strPorts.Length > 1) |
210 | { | 210 | { |
@@ -216,7 +216,7 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
216 | } | 216 | } |
217 | catch (FormatException) | 217 | catch (FormatException) |
218 | { | 218 | { |
219 | _log.ErrorFormat("[OSHttpRequest]: format exception on addr/port {0}:{1}, ignoring", | 219 | _log.ErrorFormat("[OSHttpRequest]: format exception on addr/port {0}:{1}, ignoring", |
220 | req.Headers["remote_addr"], req.Headers["remote_port"]); | 220 | req.Headers["remote_addr"], req.Headers["remote_port"]); |
221 | } | 221 | } |
222 | } | 222 | } |
diff --git a/OpenSim/Framework/Servers/HttpServer/OSHttpResponse.cs b/OpenSim/Framework/Servers/HttpServer/OSHttpResponse.cs index ccf9c91..d7744fc 100644 --- a/OpenSim/Framework/Servers/HttpServer/OSHttpResponse.cs +++ b/OpenSim/Framework/Servers/HttpServer/OSHttpResponse.cs | |||
@@ -115,7 +115,7 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
115 | 115 | ||
116 | public bool KeepAlive | 116 | public bool KeepAlive |
117 | { | 117 | { |
118 | get | 118 | get |
119 | { | 119 | { |
120 | return _httpResponse.Connection == ConnectionType.KeepAlive; | 120 | return _httpResponse.Connection == ConnectionType.KeepAlive; |
121 | } | 121 | } |
diff --git a/OpenSim/Framework/Servers/HttpServer/OSHttpStatusCodes.cs b/OpenSim/Framework/Servers/HttpServer/OSHttpStatusCodes.cs index a736c8b..88e3068 100644 --- a/OpenSim/Framework/Servers/HttpServer/OSHttpStatusCodes.cs +++ b/OpenSim/Framework/Servers/HttpServer/OSHttpStatusCodes.cs | |||
@@ -91,7 +91,7 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
91 | /// 300 Redirect: different presentation forms available, take a pick | 91 | /// 300 Redirect: different presentation forms available, take a pick |
92 | /// </summary> | 92 | /// </summary> |
93 | RedirectMultipleChoices = 300, | 93 | RedirectMultipleChoices = 300, |
94 | 94 | ||
95 | /// <summary> | 95 | /// <summary> |
96 | /// 301 Redirect: requested resource has moved and now lives somewhere else | 96 | /// 301 Redirect: requested resource has moved and now lives somewhere else |
97 | /// </summary> | 97 | /// </summary> |
diff --git a/OpenSim/Framework/Servers/HttpServer/PollServiceEventArgs.cs b/OpenSim/Framework/Servers/HttpServer/PollServiceEventArgs.cs index 3fd3bf7..8ace7a9 100644 --- a/OpenSim/Framework/Servers/HttpServer/PollServiceEventArgs.cs +++ b/OpenSim/Framework/Servers/HttpServer/PollServiceEventArgs.cs | |||
@@ -46,14 +46,14 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
46 | public RequestMethod Request; | 46 | public RequestMethod Request; |
47 | public UUID Id; | 47 | public UUID Id; |
48 | public int TimeOutms; | 48 | public int TimeOutms; |
49 | public EventType Type; | 49 | public EventType Type; |
50 | 50 | ||
51 | public enum EventType : int | 51 | public enum EventType : int |
52 | { | 52 | { |
53 | LongPoll = 0, | 53 | LongPoll = 0, |
54 | LslHttp = 1, | 54 | LslHttp = 1, |
55 | Inventory = 2, | 55 | Inventory = 2, |
56 | Texture = 3, | 56 | Texture = 3, |
57 | Mesh = 4 | 57 | Mesh = 4 |
58 | } | 58 | } |
59 | 59 | ||
diff --git a/OpenSim/Framework/Servers/HttpServer/PollServiceRequestManager.cs b/OpenSim/Framework/Servers/HttpServer/PollServiceRequestManager.cs index ffcad0f..936146d 100644 --- a/OpenSim/Framework/Servers/HttpServer/PollServiceRequestManager.cs +++ b/OpenSim/Framework/Servers/HttpServer/PollServiceRequestManager.cs | |||
@@ -80,7 +80,7 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
80 | startInfo.ThreadPoolName = "PoolService"; | 80 | startInfo.ThreadPoolName = "PoolService"; |
81 | 81 | ||
82 | m_threadPool = new SmartThreadPool(startInfo); | 82 | m_threadPool = new SmartThreadPool(startInfo); |
83 | 83 | ||
84 | } | 84 | } |
85 | 85 | ||
86 | public void Start() | 86 | public void Start() |
@@ -109,7 +109,7 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
109 | true, | 109 | true, |
110 | null, | 110 | null, |
111 | 1000 * 60 * 10); | 111 | 1000 * 60 * 10); |
112 | 112 | ||
113 | 113 | ||
114 | } | 114 | } |
115 | 115 | ||
diff --git a/OpenSim/Framework/Servers/HttpServer/Properties/AssemblyInfo.cs b/OpenSim/Framework/Servers/HttpServer/Properties/AssemblyInfo.cs index 398179f..9b663ba 100644 --- a/OpenSim/Framework/Servers/HttpServer/Properties/AssemblyInfo.cs +++ b/OpenSim/Framework/Servers/HttpServer/Properties/AssemblyInfo.cs | |||
@@ -2,7 +2,7 @@ | |||
2 | using System.Runtime.CompilerServices; | 2 | using System.Runtime.CompilerServices; |
3 | using System.Runtime.InteropServices; | 3 | using System.Runtime.InteropServices; |
4 | 4 | ||
5 | // General Information about an assembly is controlled through the following | 5 | // General Information about an assembly is controlled through the following |
6 | // set of attributes. Change these attribute values to modify the information | 6 | // set of attributes. Change these attribute values to modify the information |
7 | // associated with an assembly. | 7 | // associated with an assembly. |
8 | [assembly: AssemblyTitle("OpenSim.Framework.Servers.HttpServer")] | 8 | [assembly: AssemblyTitle("OpenSim.Framework.Servers.HttpServer")] |
@@ -14,8 +14,8 @@ using System.Runtime.InteropServices; | |||
14 | [assembly: AssemblyTrademark("")] | 14 | [assembly: AssemblyTrademark("")] |
15 | [assembly: AssemblyCulture("")] | 15 | [assembly: AssemblyCulture("")] |
16 | 16 | ||
17 | // Setting ComVisible to false makes the types in this assembly not visible | 17 | // Setting ComVisible to false makes the types in this assembly not visible |
18 | // to COM components. If you need to access a type in this assembly from | 18 | // to COM components. If you need to access a type in this assembly from |
19 | // COM, set the ComVisible attribute to true on that type. | 19 | // COM, set the ComVisible attribute to true on that type. |
20 | [assembly: ComVisible(false)] | 20 | [assembly: ComVisible(false)] |
21 | 21 | ||
@@ -25,7 +25,7 @@ using System.Runtime.InteropServices; | |||
25 | // Version information for an assembly consists of the following four values: | 25 | // Version information for an assembly consists of the following four values: |
26 | // | 26 | // |
27 | // Major Version | 27 | // Major Version |
28 | // Minor Version | 28 | // Minor Version |
29 | // Build Number | 29 | // Build Number |
30 | // Revision | 30 | // Revision |
31 | // | 31 | // |
diff --git a/OpenSim/Framework/Servers/HttpServer/RestSessionService.cs b/OpenSim/Framework/Servers/HttpServer/RestSessionService.cs index ad69cd2..68073c1 100644 --- a/OpenSim/Framework/Servers/HttpServer/RestSessionService.cs +++ b/OpenSim/Framework/Servers/HttpServer/RestSessionService.cs | |||
@@ -291,5 +291,5 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
291 | serializer.Serialize(xmlWriter, response); | 291 | serializer.Serialize(xmlWriter, response); |
292 | } | 292 | } |
293 | } | 293 | } |
294 | } | 294 | } |
295 | } \ No newline at end of file | 295 | } \ No newline at end of file |
diff --git a/OpenSim/Framework/Servers/HttpServer/WebsocketServerHandler.cs b/OpenSim/Framework/Servers/HttpServer/WebsocketServerHandler.cs index c2925e3..c8af90f 100644 --- a/OpenSim/Framework/Servers/HttpServer/WebsocketServerHandler.cs +++ b/OpenSim/Framework/Servers/HttpServer/WebsocketServerHandler.cs | |||
@@ -75,7 +75,7 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
75 | public event PongDelegate OnPong; | 75 | public event PongDelegate OnPong; |
76 | 76 | ||
77 | /// <summary> | 77 | /// <summary> |
78 | /// This is a regular HTTP Request... This may be removed in the future. | 78 | /// This is a regular HTTP Request... This may be removed in the future. |
79 | /// </summary> | 79 | /// </summary> |
80 | // public event RegularHttpRequestDelegate OnRegularHttpRequest; | 80 | // public event RegularHttpRequestDelegate OnRegularHttpRequest; |
81 | 81 | ||
@@ -93,9 +93,9 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
93 | /// When the websocket is closed, this will be fired. | 93 | /// When the websocket is closed, this will be fired. |
94 | /// </summary> | 94 | /// </summary> |
95 | public event CloseDelegate OnClose; | 95 | public event CloseDelegate OnClose; |
96 | 96 | ||
97 | /// <summary> | 97 | /// <summary> |
98 | /// Set this delegate to allow your module to validate the origin of the | 98 | /// Set this delegate to allow your module to validate the origin of the |
99 | /// Websocket request. Primary line of defense against cross site scripting | 99 | /// Websocket request. Primary line of defense against cross site scripting |
100 | /// </summary> | 100 | /// </summary> |
101 | public ValidateHandshake HandshakeValidateMethodOverride = null; | 101 | public ValidateHandshake HandshakeValidateMethodOverride = null; |
@@ -181,7 +181,7 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
181 | { | 181 | { |
182 | throw new InvalidOperationException("The socket has been shutdown"); | 182 | throw new InvalidOperationException("The socket has been shutdown"); |
183 | } | 183 | } |
184 | } | 184 | } |
185 | set | 185 | set |
186 | { | 186 | { |
187 | if (_networkContext != null && _networkContext.Socket != null) | 187 | if (_networkContext != null && _networkContext.Socket != null) |
@@ -194,8 +194,8 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
194 | } | 194 | } |
195 | 195 | ||
196 | /// <summary> | 196 | /// <summary> |
197 | /// This triggers the websocket to start the upgrade process... | 197 | /// This triggers the websocket to start the upgrade process... |
198 | /// This is a Generalized Networking 'common sense' helper method. Some people expect to call Start() instead | 198 | /// This is a Generalized Networking 'common sense' helper method. Some people expect to call Start() instead |
199 | /// of the more context appropriate HandshakeAndUpgrade() | 199 | /// of the more context appropriate HandshakeAndUpgrade() |
200 | /// </summary> | 200 | /// </summary> |
201 | public void Start() | 201 | public void Start() |
@@ -261,7 +261,7 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
261 | acceptKey = GenerateAcceptKey(websocketKey); | 261 | acceptKey = GenerateAcceptKey(websocketKey); |
262 | string rawaccept = string.Format(HandshakeAcceptText, acceptKey); | 262 | string rawaccept = string.Format(HandshakeAcceptText, acceptKey); |
263 | SendUpgradeSuccess(rawaccept); | 263 | SendUpgradeSuccess(rawaccept); |
264 | 264 | ||
265 | 265 | ||
266 | } | 266 | } |
267 | else | 267 | else |
@@ -282,7 +282,7 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
282 | } | 282 | } |
283 | 283 | ||
284 | /// <summary> | 284 | /// <summary> |
285 | /// Generates a handshake response key string based on the client's | 285 | /// Generates a handshake response key string based on the client's |
286 | /// provided key to prove to the client that we're allowing the Websocket | 286 | /// provided key to prove to the client that we're allowing the Websocket |
287 | /// upgrade of our own free will and we were not coerced into doing it. | 287 | /// upgrade of our own free will and we were not coerced into doing it. |
288 | /// </summary> | 288 | /// </summary> |
@@ -298,7 +298,7 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
298 | SHA1 hashobj = SHA1.Create(); | 298 | SHA1 hashobj = SHA1.Create(); |
299 | string ret = Convert.ToBase64String(hashobj.ComputeHash(Encoding.UTF8.GetBytes(acceptkey))); | 299 | string ret = Convert.ToBase64String(hashobj.ComputeHash(Encoding.UTF8.GetBytes(acceptkey))); |
300 | hashobj.Clear(); | 300 | hashobj.Clear(); |
301 | 301 | ||
302 | return ret; | 302 | return ret; |
303 | } | 303 | } |
304 | 304 | ||
@@ -310,11 +310,11 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
310 | { | 310 | { |
311 | // Create a new websocket state so we can keep track of data in between network reads. | 311 | // Create a new websocket state so we can keep track of data in between network reads. |
312 | WebSocketState socketState = new WebSocketState() { ReceivedBytes = new List<byte>(), Header = WebsocketFrameHeader.HeaderDefault(), FrameComplete = true}; | 312 | WebSocketState socketState = new WebSocketState() { ReceivedBytes = new List<byte>(), Header = WebsocketFrameHeader.HeaderDefault(), FrameComplete = true}; |
313 | 313 | ||
314 | byte[] bhandshakeResponse = Encoding.UTF8.GetBytes(pHandshakeResponse); | 314 | byte[] bhandshakeResponse = Encoding.UTF8.GetBytes(pHandshakeResponse); |
315 | 315 | ||
316 | 316 | ||
317 | 317 | ||
318 | 318 | ||
319 | try | 319 | try |
320 | { | 320 | { |
@@ -324,7 +324,7 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
324 | } | 324 | } |
325 | // Begin reading the TCP stream before writing the Upgrade success message to the other side of the stream. | 325 | // Begin reading the TCP stream before writing the Upgrade success message to the other side of the stream. |
326 | _networkContext.Stream.BeginRead(_buffer, 0, _bufferLength, OnReceive, socketState); | 326 | _networkContext.Stream.BeginRead(_buffer, 0, _bufferLength, OnReceive, socketState); |
327 | 327 | ||
328 | // Write the upgrade handshake success message | 328 | // Write the upgrade handshake success message |
329 | _networkContext.Stream.Write(bhandshakeResponse, 0, bhandshakeResponse.Length); | 329 | _networkContext.Stream.Write(bhandshakeResponse, 0, bhandshakeResponse.Length); |
330 | _networkContext.Stream.Flush(); | 330 | _networkContext.Stream.Flush(); |
@@ -345,7 +345,7 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
345 | catch (ObjectDisposedException) | 345 | catch (ObjectDisposedException) |
346 | { | 346 | { |
347 | Close(string.Empty); | 347 | Close(string.Empty); |
348 | } | 348 | } |
349 | } | 349 | } |
350 | 350 | ||
351 | /// <summary> | 351 | /// <summary> |
@@ -369,7 +369,7 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
369 | 369 | ||
370 | /// <summary> | 370 | /// <summary> |
371 | /// This is our ugly Async OnReceive event handler. | 371 | /// This is our ugly Async OnReceive event handler. |
372 | /// This chunks the input stream based on the length of the provided buffer and processes out | 372 | /// This chunks the input stream based on the length of the provided buffer and processes out |
373 | /// as many frames as it can. It then moves the unprocessed data to the beginning of the buffer. | 373 | /// as many frames as it can. It then moves the unprocessed data to the beginning of the buffer. |
374 | /// </summary> | 374 | /// </summary> |
375 | /// <param name="ar">Our Async State from beginread</param> | 375 | /// <param name="ar">Our Async State from beginread</param> |
@@ -390,7 +390,7 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
390 | 390 | ||
391 | if (_bufferPosition > _bufferLength) | 391 | if (_bufferPosition > _bufferLength) |
392 | { | 392 | { |
393 | // Message too big for chunksize.. not sure how this happened... | 393 | // Message too big for chunksize.. not sure how this happened... |
394 | //Close(string.Empty); | 394 | //Close(string.Empty); |
395 | } | 395 | } |
396 | 396 | ||
@@ -413,7 +413,7 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
413 | if (pheader.PayloadLen > (ulong) _maxPayloadBytes) | 413 | if (pheader.PayloadLen > (ulong) _maxPayloadBytes) |
414 | { | 414 | { |
415 | Close("Invalid Payload size"); | 415 | Close("Invalid Payload size"); |
416 | 416 | ||
417 | return; | 417 | return; |
418 | } | 418 | } |
419 | if (pheader.PayloadLen > 0) | 419 | if (pheader.PayloadLen > 0) |
@@ -487,7 +487,7 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
487 | _socketState.ReceivedBytes.Clear(); | 487 | _socketState.ReceivedBytes.Clear(); |
488 | _socketState.ExpectedBytes = 0; | 488 | _socketState.ExpectedBytes = 0; |
489 | // do some processing | 489 | // do some processing |
490 | } | 490 | } |
491 | } | 491 | } |
492 | } | 492 | } |
493 | if (offset > 0) | 493 | if (offset > 0) |
@@ -504,7 +504,7 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
504 | } | 504 | } |
505 | else | 505 | else |
506 | { | 506 | { |
507 | // We can't read the stream anymore... | 507 | // We can't read the stream anymore... |
508 | } | 508 | } |
509 | } | 509 | } |
510 | catch (IOException) | 510 | catch (IOException) |
@@ -533,7 +533,7 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
533 | textMessageFrame.Header.Opcode = WebSocketReader.OpCode.Text; | 533 | textMessageFrame.Header.Opcode = WebSocketReader.OpCode.Text; |
534 | textMessageFrame.Header.IsEnd = true; | 534 | textMessageFrame.Header.IsEnd = true; |
535 | SendSocket(textMessageFrame.ToBytes()); | 535 | SendSocket(textMessageFrame.ToBytes()); |
536 | 536 | ||
537 | } | 537 | } |
538 | 538 | ||
539 | public void SendData(byte[] data) | 539 | public void SendData(byte[] data) |
@@ -657,7 +657,7 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
657 | SendSocket(pongFrame.ToBytes()); | 657 | SendSocket(pongFrame.ToBytes()); |
658 | break; | 658 | break; |
659 | case WebSocketReader.OpCode.Pong: | 659 | case WebSocketReader.OpCode.Pong: |
660 | 660 | ||
661 | PongDelegate pongD = OnPong; | 661 | PongDelegate pongD = OnPong; |
662 | if (pongD != null) | 662 | if (pongD != null) |
663 | { | 663 | { |
@@ -701,7 +701,7 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
701 | { | 701 | { |
702 | textD(this, new WebsocketTextEventArgs() { Data = Encoding.UTF8.GetString(psocketState.ReceivedBytes.ToArray()) }); | 702 | textD(this, new WebsocketTextEventArgs() { Data = Encoding.UTF8.GetString(psocketState.ReceivedBytes.ToArray()) }); |
703 | } | 703 | } |
704 | 704 | ||
705 | // Send Done Event! | 705 | // Send Done Event! |
706 | } | 706 | } |
707 | break; | 707 | break; |
@@ -719,7 +719,7 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
719 | { | 719 | { |
720 | if (psocketState.ContinuationFrame.Header.Opcode == WebSocketReader.OpCode.Text) | 720 | if (psocketState.ContinuationFrame.Header.Opcode == WebSocketReader.OpCode.Text) |
721 | { | 721 | { |
722 | // Send Done event | 722 | // Send Done event |
723 | TextDelegate textD = OnText; | 723 | TextDelegate textD = OnText; |
724 | if (textD != null) | 724 | if (textD != null) |
725 | { | 725 | { |
@@ -744,9 +744,9 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
744 | break; | 744 | break; |
745 | case WebSocketReader.OpCode.Close: | 745 | case WebSocketReader.OpCode.Close: |
746 | Close(string.Empty); | 746 | Close(string.Empty); |
747 | 747 | ||
748 | break; | 748 | break; |
749 | 749 | ||
750 | } | 750 | } |
751 | psocketState.Header.SetDefault(); | 751 | psocketState.Header.SetDefault(); |
752 | psocketState.ReceivedBytes.Clear(); | 752 | psocketState.ReceivedBytes.Clear(); |
@@ -837,12 +837,12 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
837 | } | 837 | } |
838 | 838 | ||
839 | /// <summary> | 839 | /// <summary> |
840 | /// Attempts to read a header off the provided buffer. Returns true, exports a WebSocketFrameheader, | 840 | /// Attempts to read a header off the provided buffer. Returns true, exports a WebSocketFrameheader, |
841 | /// and an int to move the buffer forward when it reads a header. False when it can't read a header | 841 | /// and an int to move the buffer forward when it reads a header. False when it can't read a header |
842 | /// </summary> | 842 | /// </summary> |
843 | /// <param name="pBuffer">Bytes read from the stream</param> | 843 | /// <param name="pBuffer">Bytes read from the stream</param> |
844 | /// <param name="pOffset">Starting place in the stream to begin trying to read from</param> | 844 | /// <param name="pOffset">Starting place in the stream to begin trying to read from</param> |
845 | /// <param name="length">Lenth in the stream to try and read from. Provided for cases where the | 845 | /// <param name="length">Lenth in the stream to try and read from. Provided for cases where the |
846 | /// buffer's length is larger then the data in it</param> | 846 | /// buffer's length is larger then the data in it</param> |
847 | /// <param name="oHeader">Outputs the read WebSocket frame header</param> | 847 | /// <param name="oHeader">Outputs the read WebSocket frame header</param> |
848 | /// <param name="moveBuffer">Informs the calling stream to move the buffer forward</param> | 848 | /// <param name="moveBuffer">Informs the calling stream to move the buffer forward</param> |
@@ -897,7 +897,7 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
897 | oHeader.PayloadLen = BitConverter.ToUInt16(pBuffer, pOffset + index); | 897 | oHeader.PayloadLen = BitConverter.ToUInt16(pBuffer, pOffset + index); |
898 | index += 2; | 898 | index += 2; |
899 | break; | 899 | break; |
900 | case 127: // we got more this is a bigger frame | 900 | case 127: // we got more this is a bigger frame |
901 | // 8 bytes - uint64 - most significant bit 0 network byte order | 901 | // 8 bytes - uint64 - most significant bit 0 network byte order |
902 | minumheadersize += 8; | 902 | minumheadersize += 8; |
903 | if (length < minumheadersize) | 903 | if (length < minumheadersize) |
@@ -909,7 +909,7 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
909 | oHeader.PayloadLen = BitConverter.ToUInt64(pBuffer, pOffset + index); | 909 | oHeader.PayloadLen = BitConverter.ToUInt64(pBuffer, pOffset + index); |
910 | index += 8; | 910 | index += 8; |
911 | break; | 911 | break; |
912 | 912 | ||
913 | } | 913 | } |
914 | //oHeader.PayloadLeft = oHeader.PayloadLen; // Start the count in case it's chunked over the network. This is different then frame fragmentation | 914 | //oHeader.PayloadLeft = oHeader.PayloadLen; // Start the count in case it's chunked over the network. This is different then frame fragmentation |
915 | if (oHeader.IsMasked) | 915 | if (oHeader.IsMasked) |
@@ -937,9 +937,9 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
937 | /* | 937 | /* |
938 | * RFC6455 | 938 | * RFC6455 |
939 | nib 0 1 2 3 4 5 6 7 | 939 | nib 0 1 2 3 4 5 6 7 |
940 | byt 0 1 2 3 | 940 | byt 0 1 2 3 |
941 | dec 0 1 2 3 | 941 | dec 0 1 2 3 |
942 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 942 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 |
943 | +-+-+-+-+-------+-+-------------+-------------------------------+ | 943 | +-+-+-+-+-------+-+-------------+-------------------------------+ |
944 | |F|R|R|R| opcode|M| Payload len | Extended payload length | | 944 | |F|R|R|R| opcode|M| Payload len | Extended payload length | |
945 | |I|S|S|S| (4) |A| (7) | (16/64) + | 945 | |I|S|S|S| (4) |A| (7) | (16/64) + |
@@ -963,7 +963,7 @@ dec 0 1 2 3 | |||
963 | public static readonly WebSocketFrame DefaultFrame = new WebSocketFrame(){Header = new WebsocketFrameHeader(),WebSocketPayload = new byte[0]}; | 963 | public static readonly WebSocketFrame DefaultFrame = new WebSocketFrame(){Header = new WebsocketFrameHeader(),WebSocketPayload = new byte[0]}; |
964 | public WebsocketFrameHeader Header; | 964 | public WebsocketFrameHeader Header; |
965 | public byte[] WebSocketPayload; | 965 | public byte[] WebSocketPayload; |
966 | 966 | ||
967 | public byte[] ToBytes() | 967 | public byte[] ToBytes() |
968 | { | 968 | { |
969 | Header.PayloadLen = (ulong)WebSocketPayload.Length; | 969 | Header.PayloadLen = (ulong)WebSocketPayload.Length; |
@@ -991,7 +991,7 @@ dec 0 1 2 3 | |||
991 | public int Mask; | 991 | public int Mask; |
992 | /* | 992 | /* |
993 | byt 0 1 2 3 | 993 | byt 0 1 2 3 |
994 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 994 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 |
995 | +---------------+---------------+---------------+---------------+ | 995 | +---------------+---------------+---------------+---------------+ |
996 | | Octal 1 | Octal 2 | Octal 3 | Octal 4 | | 996 | | Octal 1 | Octal 2 | Octal 3 | Octal 4 | |
997 | +---------------+---------------+---------------+---------------+ | 997 | +---------------+---------------+---------------+---------------+ |
@@ -1002,11 +1002,11 @@ byt 0 1 2 3 | |||
1002 | 1002 | ||
1003 | public UInt64 PayloadLen; | 1003 | public UInt64 PayloadLen; |
1004 | //public UInt64 PayloadLeft; | 1004 | //public UInt64 PayloadLeft; |
1005 | // Payload is X + Y | 1005 | // Payload is X + Y |
1006 | //public UInt64 ExtensionDataLength; | 1006 | //public UInt64 ExtensionDataLength; |
1007 | //public UInt64 ApplicationDataLength; | 1007 | //public UInt64 ApplicationDataLength; |
1008 | public static readonly WebsocketFrameHeader ZeroHeader = WebsocketFrameHeader.HeaderDefault(); | 1008 | public static readonly WebsocketFrameHeader ZeroHeader = WebsocketFrameHeader.HeaderDefault(); |
1009 | 1009 | ||
1010 | public void SetDefault() | 1010 | public void SetDefault() |
1011 | { | 1011 | { |
1012 | 1012 | ||
@@ -1025,16 +1025,16 @@ byt 0 1 2 3 | |||
1025 | /// <summary> | 1025 | /// <summary> |
1026 | /// Returns a byte array representing the Frame header | 1026 | /// Returns a byte array representing the Frame header |
1027 | /// </summary> | 1027 | /// </summary> |
1028 | /// <param name="payload">This is the frame data payload. The header describes the size of the payload. | 1028 | /// <param name="payload">This is the frame data payload. The header describes the size of the payload. |
1029 | /// If payload is null, a Zero sized payload is assumed</param> | 1029 | /// If payload is null, a Zero sized payload is assumed</param> |
1030 | /// <returns>Returns a byte array representing the frame header</returns> | 1030 | /// <returns>Returns a byte array representing the frame header</returns> |
1031 | public byte[] ToBytes(byte[] payload) | 1031 | public byte[] ToBytes(byte[] payload) |
1032 | { | 1032 | { |
1033 | List<byte> result = new List<byte>(); | 1033 | List<byte> result = new List<byte>(); |
1034 | 1034 | ||
1035 | // Squeeze in our opcode and our ending bit. | 1035 | // Squeeze in our opcode and our ending bit. |
1036 | result.Add((byte)((byte)Opcode | (IsEnd?0x80:0x00) )); | 1036 | result.Add((byte)((byte)Opcode | (IsEnd?0x80:0x00) )); |
1037 | 1037 | ||
1038 | // Again with the three different byte interpretations of size.. | 1038 | // Again with the three different byte interpretations of size.. |
1039 | 1039 | ||
1040 | //bytesize | 1040 | //bytesize |
@@ -1056,7 +1056,7 @@ byt 0 1 2 3 | |||
1056 | Array.Reverse(payloadLengthByte); | 1056 | Array.Reverse(payloadLengthByte); |
1057 | result.AddRange(payloadLengthByte); | 1057 | result.AddRange(payloadLengthByte); |
1058 | } | 1058 | } |
1059 | 1059 | ||
1060 | // Only add a payload if it's not null | 1060 | // Only add a payload if it's not null |
1061 | if (payload != null) | 1061 | if (payload != null) |
1062 | { | 1062 | { |
@@ -1155,5 +1155,5 @@ byt 0 1 2 3 | |||
1155 | 1155 | ||
1156 | } | 1156 | } |
1157 | 1157 | ||
1158 | 1158 | ||
1159 | } | 1159 | } |
diff --git a/OpenSim/Framework/Servers/HttpServer/XmlRpcBasicDOSProtector.cs b/OpenSim/Framework/Servers/HttpServer/XmlRpcBasicDOSProtector.cs index f212208..6b2c0ab 100644 --- a/OpenSim/Framework/Servers/HttpServer/XmlRpcBasicDOSProtector.cs +++ b/OpenSim/Framework/Servers/HttpServer/XmlRpcBasicDOSProtector.cs | |||
@@ -36,7 +36,7 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
36 | { | 36 | { |
37 | private readonly XmlRpcMethod _normalMethod; | 37 | private readonly XmlRpcMethod _normalMethod; |
38 | private readonly XmlRpcMethod _throttledMethod; | 38 | private readonly XmlRpcMethod _throttledMethod; |
39 | 39 | ||
40 | private readonly BasicDosProtectorOptions _options; | 40 | private readonly BasicDosProtectorOptions _options; |
41 | private readonly BasicDOSProtector _dosProtector; | 41 | private readonly BasicDOSProtector _dosProtector; |
42 | 42 | ||
@@ -44,7 +44,7 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
44 | { | 44 | { |
45 | _normalMethod = normalMethod; | 45 | _normalMethod = normalMethod; |
46 | _throttledMethod = throttledMethod; | 46 | _throttledMethod = throttledMethod; |
47 | 47 | ||
48 | _options = options; | 48 | _options = options; |
49 | _dosProtector = new BasicDOSProtector(_options); | 49 | _dosProtector = new BasicDOSProtector(_options); |
50 | 50 | ||
@@ -87,5 +87,5 @@ namespace OpenSim.Framework.Servers.HttpServer | |||
87 | 87 | ||
88 | } | 88 | } |
89 | 89 | ||
90 | 90 | ||
91 | } | 91 | } |
diff --git a/OpenSim/Framework/Servers/MainServer.cs b/OpenSim/Framework/Servers/MainServer.cs index 57931d4..ea7b2b5 100644 --- a/OpenSim/Framework/Servers/MainServer.cs +++ b/OpenSim/Framework/Servers/MainServer.cs | |||
@@ -223,11 +223,11 @@ namespace OpenSim.Framework.Servers | |||
223 | { | 223 | { |
224 | handlers.AppendFormat( | 224 | handlers.AppendFormat( |
225 | "Registered HTTP Handlers for server at {0}:{1}\n", httpServer.ListenIPAddress, httpServer.Port); | 225 | "Registered HTTP Handlers for server at {0}:{1}\n", httpServer.ListenIPAddress, httpServer.Port); |
226 | 226 | ||
227 | handlers.AppendFormat("* XMLRPC:\n"); | 227 | handlers.AppendFormat("* XMLRPC:\n"); |
228 | foreach (String s in httpServer.GetXmlRpcHandlerKeys()) | 228 | foreach (String s in httpServer.GetXmlRpcHandlerKeys()) |
229 | handlers.AppendFormat("\t{0}\n", s); | 229 | handlers.AppendFormat("\t{0}\n", s); |
230 | 230 | ||
231 | handlers.AppendFormat("* HTTP:\n"); | 231 | handlers.AppendFormat("* HTTP:\n"); |
232 | foreach (String s in httpServer.GetHTTPHandlerKeys()) | 232 | foreach (String s in httpServer.GetHTTPHandlerKeys()) |
233 | handlers.AppendFormat("\t{0}\n", s); | 233 | handlers.AppendFormat("\t{0}\n", s); |
@@ -235,19 +235,19 @@ namespace OpenSim.Framework.Servers | |||
235 | handlers.AppendFormat("* HTTP (poll):\n"); | 235 | handlers.AppendFormat("* HTTP (poll):\n"); |
236 | foreach (String s in httpServer.GetPollServiceHandlerKeys()) | 236 | foreach (String s in httpServer.GetPollServiceHandlerKeys()) |
237 | handlers.AppendFormat("\t{0}\n", s); | 237 | handlers.AppendFormat("\t{0}\n", s); |
238 | 238 | ||
239 | handlers.AppendFormat("* JSONRPC:\n"); | 239 | handlers.AppendFormat("* JSONRPC:\n"); |
240 | foreach (String s in httpServer.GetJsonRpcHandlerKeys()) | 240 | foreach (String s in httpServer.GetJsonRpcHandlerKeys()) |
241 | handlers.AppendFormat("\t{0}\n", s); | 241 | handlers.AppendFormat("\t{0}\n", s); |
242 | 242 | ||
243 | // handlers.AppendFormat("* Agent:\n"); | 243 | // handlers.AppendFormat("* Agent:\n"); |
244 | // foreach (String s in httpServer.GetAgentHandlerKeys()) | 244 | // foreach (String s in httpServer.GetAgentHandlerKeys()) |
245 | // handlers.AppendFormat("\t{0}\n", s); | 245 | // handlers.AppendFormat("\t{0}\n", s); |
246 | 246 | ||
247 | handlers.AppendFormat("* LLSD:\n"); | 247 | handlers.AppendFormat("* LLSD:\n"); |
248 | foreach (String s in httpServer.GetLLSDHandlerKeys()) | 248 | foreach (String s in httpServer.GetLLSDHandlerKeys()) |
249 | handlers.AppendFormat("\t{0}\n", s); | 249 | handlers.AppendFormat("\t{0}\n", s); |
250 | 250 | ||
251 | handlers.AppendFormat("* StreamHandlers ({0}):\n", httpServer.GetStreamHandlerKeys().Count); | 251 | handlers.AppendFormat("* StreamHandlers ({0}):\n", httpServer.GetStreamHandlerKeys().Count); |
252 | foreach (String s in httpServer.GetStreamHandlerKeys()) | 252 | foreach (String s in httpServer.GetStreamHandlerKeys()) |
253 | handlers.AppendFormat("\t{0}\n", s); | 253 | handlers.AppendFormat("\t{0}\n", s); |
@@ -334,7 +334,7 @@ namespace OpenSim.Framework.Servers | |||
334 | { | 334 | { |
335 | if (port == 0) | 335 | if (port == 0) |
336 | return Instance; | 336 | return Instance; |
337 | 337 | ||
338 | if (instance != null && port == Instance.Port) | 338 | if (instance != null && port == Instance.Port) |
339 | return Instance; | 339 | return Instance; |
340 | 340 | ||
diff --git a/OpenSim/Framework/Servers/Properties/AssemblyInfo.cs b/OpenSim/Framework/Servers/Properties/AssemblyInfo.cs index 792c62e..4469e7c 100644 --- a/OpenSim/Framework/Servers/Properties/AssemblyInfo.cs +++ b/OpenSim/Framework/Servers/Properties/AssemblyInfo.cs | |||
@@ -2,7 +2,7 @@ | |||
2 | using System.Runtime.CompilerServices; | 2 | using System.Runtime.CompilerServices; |
3 | using System.Runtime.InteropServices; | 3 | using System.Runtime.InteropServices; |
4 | 4 | ||
5 | // General Information about an assembly is controlled through the following | 5 | // General Information about an assembly is controlled through the following |
6 | // set of attributes. Change these attribute values to modify the information | 6 | // set of attributes. Change these attribute values to modify the information |
7 | // associated with an assembly. | 7 | // associated with an assembly. |
8 | [assembly: AssemblyTitle("OpenSim.Framework.Servers")] | 8 | [assembly: AssemblyTitle("OpenSim.Framework.Servers")] |
@@ -14,8 +14,8 @@ using System.Runtime.InteropServices; | |||
14 | [assembly: AssemblyTrademark("")] | 14 | [assembly: AssemblyTrademark("")] |
15 | [assembly: AssemblyCulture("")] | 15 | [assembly: AssemblyCulture("")] |
16 | 16 | ||
17 | // Setting ComVisible to false makes the types in this assembly not visible | 17 | // Setting ComVisible to false makes the types in this assembly not visible |
18 | // to COM components. If you need to access a type in this assembly from | 18 | // to COM components. If you need to access a type in this assembly from |
19 | // COM, set the ComVisible attribute to true on that type. | 19 | // COM, set the ComVisible attribute to true on that type. |
20 | [assembly: ComVisible(false)] | 20 | [assembly: ComVisible(false)] |
21 | 21 | ||
@@ -25,7 +25,7 @@ using System.Runtime.InteropServices; | |||
25 | // Version information for an assembly consists of the following four values: | 25 | // Version information for an assembly consists of the following four values: |
26 | // | 26 | // |
27 | // Major Version | 27 | // Major Version |
28 | // Minor Version | 28 | // Minor Version |
29 | // Build Number | 29 | // Build Number |
30 | // Revision | 30 | // Revision |
31 | // | 31 | // |
diff --git a/OpenSim/Framework/Servers/ServerBase.cs b/OpenSim/Framework/Servers/ServerBase.cs index 7b806a4..8965e71 100644 --- a/OpenSim/Framework/Servers/ServerBase.cs +++ b/OpenSim/Framework/Servers/ServerBase.cs | |||
@@ -56,7 +56,7 @@ namespace OpenSim.Framework.Servers | |||
56 | protected ICommandConsole m_console; | 56 | protected ICommandConsole m_console; |
57 | 57 | ||
58 | protected OpenSimAppender m_consoleAppender; | 58 | protected OpenSimAppender m_consoleAppender; |
59 | protected FileAppender m_logFileAppender; | 59 | protected FileAppender m_logFileAppender; |
60 | 60 | ||
61 | protected DateTime m_startuptime; | 61 | protected DateTime m_startuptime; |
62 | protected string m_startupDirectory = Environment.CurrentDirectory; | 62 | protected string m_startupDirectory = Environment.CurrentDirectory; |
@@ -81,7 +81,7 @@ namespace OpenSim.Framework.Servers | |||
81 | { | 81 | { |
82 | if (File.Exists(path)) | 82 | if (File.Exists(path)) |
83 | m_log.ErrorFormat( | 83 | m_log.ErrorFormat( |
84 | "[SERVER BASE]: Previous pid file {0} still exists on startup. Possibly previously unclean shutdown.", | 84 | "[SERVER BASE]: Previous pid file {0} still exists on startup. Possibly previously unclean shutdown.", |
85 | path); | 85 | path); |
86 | 86 | ||
87 | try | 87 | try |
@@ -103,7 +103,7 @@ namespace OpenSim.Framework.Servers | |||
103 | m_log.Warn(string.Format("[SERVER BASE]: Could not create PID file at {0} ", path), e); | 103 | m_log.Warn(string.Format("[SERVER BASE]: Could not create PID file at {0} ", path), e); |
104 | } | 104 | } |
105 | } | 105 | } |
106 | 106 | ||
107 | protected void RemovePIDFile() | 107 | protected void RemovePIDFile() |
108 | { | 108 | { |
109 | if (m_pidFile != String.Empty) | 109 | if (m_pidFile != String.Empty) |
@@ -166,11 +166,11 @@ namespace OpenSim.Framework.Servers | |||
166 | { | 166 | { |
167 | // FIXME: This should be done through an interface rather than casting. | 167 | // FIXME: This should be done through an interface rather than casting. |
168 | m_consoleAppender.Console = (ConsoleBase)m_console; | 168 | m_consoleAppender.Console = (ConsoleBase)m_console; |
169 | 169 | ||
170 | // If there is no threshold set then the threshold is effectively everything. | 170 | // If there is no threshold set then the threshold is effectively everything. |
171 | if (null == m_consoleAppender.Threshold) | 171 | if (null == m_consoleAppender.Threshold) |
172 | m_consoleAppender.Threshold = Level.All; | 172 | m_consoleAppender.Threshold = Level.All; |
173 | 173 | ||
174 | Notice(String.Format("Console log level is {0}", m_consoleAppender.Threshold)); | 174 | Notice(String.Format("Console log level is {0}", m_consoleAppender.Threshold)); |
175 | } | 175 | } |
176 | 176 | ||
@@ -205,11 +205,11 @@ namespace OpenSim.Framework.Servers | |||
205 | "General", false, "show uptime", "show uptime", "Show server uptime", HandleShow); | 205 | "General", false, "show uptime", "show uptime", "Show server uptime", HandleShow); |
206 | 206 | ||
207 | m_console.Commands.AddCommand( | 207 | m_console.Commands.AddCommand( |
208 | "General", false, "get log level", "get log level", "Get the current console logging level", | 208 | "General", false, "get log level", "get log level", "Get the current console logging level", |
209 | (mod, cmd) => ShowLogLevel()); | 209 | (mod, cmd) => ShowLogLevel()); |
210 | 210 | ||
211 | m_console.Commands.AddCommand( | 211 | m_console.Commands.AddCommand( |
212 | "General", false, "set log level", "set log level <level>", | 212 | "General", false, "set log level", "set log level <level>", |
213 | "Set the console logging level for this session.", HandleSetLogLevel); | 213 | "Set the console logging level for this session.", HandleSetLogLevel); |
214 | 214 | ||
215 | m_console.Commands.AddCommand( | 215 | m_console.Commands.AddCommand( |
@@ -222,14 +222,14 @@ namespace OpenSim.Framework.Servers | |||
222 | "config get [<section>] [<key>]", | 222 | "config get [<section>] [<key>]", |
223 | "Synonym for config show", | 223 | "Synonym for config show", |
224 | HandleConfig); | 224 | HandleConfig); |
225 | 225 | ||
226 | m_console.Commands.AddCommand( | 226 | m_console.Commands.AddCommand( |
227 | "General", false, "config show", | 227 | "General", false, "config show", |
228 | "config show [<section>] [<key>]", | 228 | "config show [<section>] [<key>]", |
229 | "Show config information", | 229 | "Show config information", |
230 | "If neither section nor field are specified, then the whole current configuration is printed." + Environment.NewLine | 230 | "If neither section nor field are specified, then the whole current configuration is printed." + Environment.NewLine |
231 | + "If a section is given but not a field, then all fields in that section are printed.", | 231 | + "If a section is given but not a field, then all fields in that section are printed.", |
232 | HandleConfig); | 232 | HandleConfig); |
233 | 233 | ||
234 | m_console.Commands.AddCommand( | 234 | m_console.Commands.AddCommand( |
235 | "General", false, "config save", | 235 | "General", false, "config save", |
@@ -280,7 +280,7 @@ namespace OpenSim.Framework.Servers | |||
280 | "debug threadpool status", | 280 | "debug threadpool status", |
281 | "Show current debug threadpool parameters.", | 281 | "Show current debug threadpool parameters.", |
282 | HandleDebugThreadpoolStatus); | 282 | HandleDebugThreadpoolStatus); |
283 | 283 | ||
284 | m_console.Commands.AddCommand( | 284 | m_console.Commands.AddCommand( |
285 | "Debug", false, "debug threadpool level", | 285 | "Debug", false, "debug threadpool level", |
286 | "debug threadpool level 0.." + Util.MAX_THREADPOOL_LEVEL, | 286 | "debug threadpool level 0.." + Util.MAX_THREADPOOL_LEVEL, |
@@ -332,7 +332,7 @@ namespace OpenSim.Framework.Servers | |||
332 | { | 332 | { |
333 | WebUtil.SerializeOSDRequestsPerEndpoint = networkConfig.GetBoolean("SerializeOSDRequests", false); | 333 | WebUtil.SerializeOSDRequestsPerEndpoint = networkConfig.GetBoolean("SerializeOSDRequests", false); |
334 | } | 334 | } |
335 | 335 | ||
336 | m_serverStatsCollector = new ServerStatsCollector(); | 336 | m_serverStatsCollector = new ServerStatsCollector(); |
337 | m_serverStatsCollector.Initialise(configSource); | 337 | m_serverStatsCollector.Initialise(configSource); |
338 | m_serverStatsCollector.Start(); | 338 | m_serverStatsCollector.Start(); |
@@ -432,7 +432,7 @@ namespace OpenSim.Framework.Servers | |||
432 | 432 | ||
433 | ThreadPool.GetAvailableThreads(out workerThreads, out iocpThreads); | 433 | ThreadPool.GetAvailableThreads(out workerThreads, out iocpThreads); |
434 | Notice("Available worker threads: {0}", workerThreads); | 434 | Notice("Available worker threads: {0}", workerThreads); |
435 | Notice("Available IOCP threads: {0}", iocpThreads); | 435 | Notice("Available IOCP threads: {0}", iocpThreads); |
436 | } | 436 | } |
437 | 437 | ||
438 | private void HandleDebugThreadpoolSet(string module, string[] args) | 438 | private void HandleDebugThreadpoolSet(string module, string[] args) |
@@ -488,7 +488,7 @@ namespace OpenSim.Framework.Servers | |||
488 | fail = true; | 488 | fail = true; |
489 | } | 489 | } |
490 | } | 490 | } |
491 | 491 | ||
492 | if (fail) | 492 | if (fail) |
493 | { | 493 | { |
494 | Notice("ERROR: Could not set {0} {1} threads to {2}", poolType, bound, newThreads); | 494 | Notice("ERROR: Could not set {0} {1} threads to {2}", poolType, bound, newThreads); |
@@ -582,7 +582,7 @@ namespace OpenSim.Framework.Servers | |||
582 | if (cmdparams.Length > 0) | 582 | if (cmdparams.Length > 0) |
583 | { | 583 | { |
584 | string firstParam = cmdparams[0].ToLower(); | 584 | string firstParam = cmdparams[0].ToLower(); |
585 | 585 | ||
586 | switch (firstParam) | 586 | switch (firstParam) |
587 | { | 587 | { |
588 | case "set": | 588 | case "set": |
@@ -633,12 +633,12 @@ namespace OpenSim.Framework.Servers | |||
633 | { | 633 | { |
634 | Notice("[{0}]", config.Name); | 634 | Notice("[{0}]", config.Name); |
635 | foreach (string key in config.GetKeys()) | 635 | foreach (string key in config.GetKeys()) |
636 | Notice(" {0} = {1}", key, config.GetString(key)); | 636 | Notice(" {0} = {1}", key, config.GetString(key)); |
637 | } | 637 | } |
638 | else | 638 | else |
639 | { | 639 | { |
640 | Notice( | 640 | Notice( |
641 | "config get {0} {1} : {2}", | 641 | "config get {0} {1} : {2}", |
642 | cmdparams[1], cmdparams[2], config.GetString(cmdparams[2])); | 642 | cmdparams[1], cmdparams[2], config.GetString(cmdparams[2])); |
643 | } | 643 | } |
644 | } | 644 | } |
@@ -692,10 +692,10 @@ namespace OpenSim.Framework.Servers | |||
692 | } | 692 | } |
693 | 693 | ||
694 | string rawLevel = cmd[3]; | 694 | string rawLevel = cmd[3]; |
695 | 695 | ||
696 | ILoggerRepository repository = LogManager.GetRepository(); | 696 | ILoggerRepository repository = LogManager.GetRepository(); |
697 | Level consoleLevel = repository.LevelMap[rawLevel]; | 697 | Level consoleLevel = repository.LevelMap[rawLevel]; |
698 | 698 | ||
699 | if (consoleLevel != null) | 699 | if (consoleLevel != null) |
700 | m_consoleAppender.Threshold = consoleLevel; | 700 | m_consoleAppender.Threshold = consoleLevel; |
701 | else | 701 | else |
@@ -770,9 +770,9 @@ namespace OpenSim.Framework.Servers | |||
770 | protected void ShowInfo() | 770 | protected void ShowInfo() |
771 | { | 771 | { |
772 | Notice(GetVersionText()); | 772 | Notice(GetVersionText()); |
773 | Notice("Startup directory: " + m_startupDirectory); | 773 | Notice("Startup directory: " + m_startupDirectory); |
774 | if (null != m_consoleAppender) | 774 | if (null != m_consoleAppender) |
775 | Notice(String.Format("Console log level: {0}", m_consoleAppender.Threshold)); | 775 | Notice(String.Format("Console log level: {0}", m_consoleAppender.Threshold)); |
776 | } | 776 | } |
777 | 777 | ||
778 | /// <summary> | 778 | /// <summary> |
@@ -873,7 +873,7 @@ namespace OpenSim.Framework.Servers | |||
873 | 873 | ||
874 | public string GetVersionText() | 874 | public string GetVersionText() |
875 | { | 875 | { |
876 | return String.Format("Version: {0} (SIMULATION/{1} - SIMULATION/{2})", | 876 | return String.Format("Version: {0} (SIMULATION/{1} - SIMULATION/{2})", |
877 | m_version, VersionInfo.SimulationServiceVersionSupportedMin, VersionInfo.SimulationServiceVersionSupportedMax); | 877 | m_version, VersionInfo.SimulationServiceVersionSupportedMin, VersionInfo.SimulationServiceVersionSupportedMax); |
878 | } | 878 | } |
879 | 879 | ||
@@ -898,7 +898,7 @@ namespace OpenSim.Framework.Servers | |||
898 | foreach (Watchdog.ThreadWatchdogInfo twi in threads) | 898 | foreach (Watchdog.ThreadWatchdogInfo twi in threads) |
899 | { | 899 | { |
900 | Thread t = twi.Thread; | 900 | Thread t = twi.Thread; |
901 | 901 | ||
902 | sb.AppendFormat( | 902 | sb.AppendFormat( |
903 | reportFormat, | 903 | reportFormat, |
904 | t.ManagedThreadId, | 904 | t.ManagedThreadId, |
@@ -1005,7 +1005,7 @@ namespace OpenSim.Framework.Servers | |||
1005 | MainConsole.Instance.OutputFormat("Aborted thread with id {0}", threadId); | 1005 | MainConsole.Instance.OutputFormat("Aborted thread with id {0}", threadId); |
1006 | else | 1006 | else |
1007 | MainConsole.Instance.OutputFormat("ERROR - Thread with id {0} not found in managed threads", threadId); | 1007 | MainConsole.Instance.OutputFormat("ERROR - Thread with id {0} not found in managed threads", threadId); |
1008 | } | 1008 | } |
1009 | 1009 | ||
1010 | /// <summary> | 1010 | /// <summary> |
1011 | /// Console output is only possible if a console has been established. | 1011 | /// Console output is only possible if a console has been established. |
@@ -1020,13 +1020,13 @@ namespace OpenSim.Framework.Servers | |||
1020 | m_console.Output(msg); | 1020 | m_console.Output(msg); |
1021 | } | 1021 | } |
1022 | } | 1022 | } |
1023 | 1023 | ||
1024 | /// <summary> | 1024 | /// <summary> |
1025 | /// Console output is only possible if a console has been established. | 1025 | /// Console output is only possible if a console has been established. |
1026 | /// That is something that cannot be determined within this class. So | 1026 | /// That is something that cannot be determined within this class. So |
1027 | /// all attempts to use the console MUST be verified. | 1027 | /// all attempts to use the console MUST be verified. |
1028 | /// </summary> | 1028 | /// </summary> |
1029 | /// <param name="format"></param> | 1029 | /// <param name="format"></param> |
1030 | /// <param name="components"></param> | 1030 | /// <param name="components"></param> |
1031 | protected void Notice(string format, params object[] components) | 1031 | protected void Notice(string format, params object[] components) |
1032 | { | 1032 | { |
diff --git a/OpenSim/Framework/Servers/Tests/OSHttpTests.cs b/OpenSim/Framework/Servers/Tests/OSHttpTests.cs index 60533cd..e5f7043 100644 --- a/OpenSim/Framework/Servers/Tests/OSHttpTests.cs +++ b/OpenSim/Framework/Servers/Tests/OSHttpTests.cs | |||
@@ -92,87 +92,87 @@ namespace OpenSim.Framework.Servers.Tests | |||
92 | public class TestHttpRequest: IHttpRequest | 92 | public class TestHttpRequest: IHttpRequest |
93 | { | 93 | { |
94 | private string _uriPath; | 94 | private string _uriPath; |
95 | public bool BodyIsComplete | 95 | public bool BodyIsComplete |
96 | { | 96 | { |
97 | get { return true; } | 97 | get { return true; } |
98 | } | 98 | } |
99 | public string[] AcceptTypes | 99 | public string[] AcceptTypes |
100 | { | 100 | { |
101 | get {return _acceptTypes; } | 101 | get {return _acceptTypes; } |
102 | } | 102 | } |
103 | private string[] _acceptTypes; | 103 | private string[] _acceptTypes; |
104 | public Stream Body | 104 | public Stream Body |
105 | { | 105 | { |
106 | get { return _body; } | 106 | get { return _body; } |
107 | set { _body = value;} | 107 | set { _body = value;} |
108 | } | 108 | } |
109 | private Stream _body; | 109 | private Stream _body; |
110 | public ConnectionType Connection | 110 | public ConnectionType Connection |
111 | { | 111 | { |
112 | get { return _connection; } | 112 | get { return _connection; } |
113 | set { _connection = value; } | 113 | set { _connection = value; } |
114 | } | 114 | } |
115 | private ConnectionType _connection; | 115 | private ConnectionType _connection; |
116 | public int ContentLength | 116 | public int ContentLength |
117 | { | 117 | { |
118 | get { return _contentLength; } | 118 | get { return _contentLength; } |
119 | set { _contentLength = value; } | 119 | set { _contentLength = value; } |
120 | } | 120 | } |
121 | private int _contentLength; | 121 | private int _contentLength; |
122 | public NameValueCollection Headers | 122 | public NameValueCollection Headers |
123 | { | 123 | { |
124 | get { return _headers; } | 124 | get { return _headers; } |
125 | } | 125 | } |
126 | private NameValueCollection _headers = new NameValueCollection(); | 126 | private NameValueCollection _headers = new NameValueCollection(); |
127 | public string HttpVersion | 127 | public string HttpVersion |
128 | { | 128 | { |
129 | get { return _httpVersion; } | 129 | get { return _httpVersion; } |
130 | set { _httpVersion = value; } | 130 | set { _httpVersion = value; } |
131 | } | 131 | } |
132 | private string _httpVersion = null; | 132 | private string _httpVersion = null; |
133 | public string Method | 133 | public string Method |
134 | { | 134 | { |
135 | get { return _method; } | 135 | get { return _method; } |
136 | set { _method = value; } | 136 | set { _method = value; } |
137 | } | 137 | } |
138 | private string _method = null; | 138 | private string _method = null; |
139 | public HttpInput QueryString | 139 | public HttpInput QueryString |
140 | { | 140 | { |
141 | get { return _queryString; } | 141 | get { return _queryString; } |
142 | } | 142 | } |
143 | private HttpInput _queryString = null; | 143 | private HttpInput _queryString = null; |
144 | public Uri Uri | 144 | public Uri Uri |
145 | { | 145 | { |
146 | get { return _uri; } | 146 | get { return _uri; } |
147 | set { _uri = value; } | 147 | set { _uri = value; } |
148 | } | 148 | } |
149 | private Uri _uri = null; | 149 | private Uri _uri = null; |
150 | public string[] UriParts | 150 | public string[] UriParts |
151 | { | 151 | { |
152 | get { return _uri.Segments; } | 152 | get { return _uri.Segments; } |
153 | } | 153 | } |
154 | public HttpParam Param | 154 | public HttpParam Param |
155 | { | 155 | { |
156 | get { return null; } | 156 | get { return null; } |
157 | } | 157 | } |
158 | public HttpForm Form | 158 | public HttpForm Form |
159 | { | 159 | { |
160 | get { return null; } | 160 | get { return null; } |
161 | } | 161 | } |
162 | public bool IsAjax | 162 | public bool IsAjax |
163 | { | 163 | { |
164 | get { return false; } | 164 | get { return false; } |
165 | } | 165 | } |
166 | public RequestCookies Cookies | 166 | public RequestCookies Cookies |
167 | { | 167 | { |
168 | get { return null; } | 168 | get { return null; } |
169 | } | 169 | } |
170 | 170 | ||
171 | public TestHttpRequest() {} | 171 | public TestHttpRequest() {} |
172 | 172 | ||
173 | public TestHttpRequest(string contentEncoding, string contentType, string userAgent, | 173 | public TestHttpRequest(string contentEncoding, string contentType, string userAgent, |
174 | string remoteAddr, string remotePort, string[] acceptTypes, | 174 | string remoteAddr, string remotePort, string[] acceptTypes, |
175 | ConnectionType connectionType, int contentLength, Uri uri) | 175 | ConnectionType connectionType, int contentLength, Uri uri) |
176 | { | 176 | { |
177 | _headers["content-encoding"] = contentEncoding; | 177 | _headers["content-encoding"] = contentEncoding; |
178 | _headers["content-type"] = contentType; | 178 | _headers["content-type"] = contentType; |
@@ -192,7 +192,7 @@ namespace OpenSim.Framework.Servers.Tests | |||
192 | { | 192 | { |
193 | _headers.Add(name, value); | 193 | _headers.Add(name, value); |
194 | } | 194 | } |
195 | public int AddToBody(byte[] bytes, int offset, int length) | 195 | public int AddToBody(byte[] bytes, int offset, int length) |
196 | { | 196 | { |
197 | return 0; | 197 | return 0; |
198 | } | 198 | } |
@@ -223,7 +223,7 @@ namespace OpenSim.Framework.Servers.Tests | |||
223 | set | 223 | set |
224 | { | 224 | { |
225 | _uriPath = value; | 225 | _uriPath = value; |
226 | 226 | ||
227 | } | 227 | } |
228 | } | 228 | } |
229 | 229 | ||
@@ -231,7 +231,7 @@ namespace OpenSim.Framework.Servers.Tests | |||
231 | 231 | ||
232 | public class TestHttpResponse: IHttpResponse | 232 | public class TestHttpResponse: IHttpResponse |
233 | { | 233 | { |
234 | public Stream Body | 234 | public Stream Body |
235 | { | 235 | { |
236 | get { return _body; } | 236 | get { return _body; } |
237 | 237 | ||
@@ -239,14 +239,14 @@ namespace OpenSim.Framework.Servers.Tests | |||
239 | } | 239 | } |
240 | private Stream _body; | 240 | private Stream _body; |
241 | 241 | ||
242 | public string ProtocolVersion | 242 | public string ProtocolVersion |
243 | { | 243 | { |
244 | get { return _protocolVersion; } | 244 | get { return _protocolVersion; } |
245 | set { _protocolVersion = value; } | 245 | set { _protocolVersion = value; } |
246 | } | 246 | } |
247 | private string _protocolVersion; | 247 | private string _protocolVersion; |
248 | 248 | ||
249 | public bool Chunked | 249 | public bool Chunked |
250 | { | 250 | { |
251 | get { return _chunked; } | 251 | get { return _chunked; } |
252 | 252 | ||
@@ -254,7 +254,7 @@ namespace OpenSim.Framework.Servers.Tests | |||
254 | } | 254 | } |
255 | private bool _chunked; | 255 | private bool _chunked; |
256 | 256 | ||
257 | public ConnectionType Connection | 257 | public ConnectionType Connection |
258 | { | 258 | { |
259 | get { return _connection; } | 259 | get { return _connection; } |
260 | 260 | ||
@@ -262,7 +262,7 @@ namespace OpenSim.Framework.Servers.Tests | |||
262 | } | 262 | } |
263 | private ConnectionType _connection; | 263 | private ConnectionType _connection; |
264 | 264 | ||
265 | public Encoding Encoding | 265 | public Encoding Encoding |
266 | { | 266 | { |
267 | get { return _encoding; } | 267 | get { return _encoding; } |
268 | 268 | ||
@@ -270,7 +270,7 @@ namespace OpenSim.Framework.Servers.Tests | |||
270 | } | 270 | } |
271 | private Encoding _encoding; | 271 | private Encoding _encoding; |
272 | 272 | ||
273 | public int KeepAlive | 273 | public int KeepAlive |
274 | { | 274 | { |
275 | get { return _keepAlive; } | 275 | get { return _keepAlive; } |
276 | 276 | ||
@@ -278,7 +278,7 @@ namespace OpenSim.Framework.Servers.Tests | |||
278 | } | 278 | } |
279 | private int _keepAlive; | 279 | private int _keepAlive; |
280 | 280 | ||
281 | public HttpStatusCode Status | 281 | public HttpStatusCode Status |
282 | { | 282 | { |
283 | get { return _status; } | 283 | get { return _status; } |
284 | 284 | ||
@@ -286,7 +286,7 @@ namespace OpenSim.Framework.Servers.Tests | |||
286 | } | 286 | } |
287 | private HttpStatusCode _status; | 287 | private HttpStatusCode _status; |
288 | 288 | ||
289 | public string Reason | 289 | public string Reason |
290 | { | 290 | { |
291 | get { return _reason; } | 291 | get { return _reason; } |
292 | 292 | ||
@@ -294,7 +294,7 @@ namespace OpenSim.Framework.Servers.Tests | |||
294 | } | 294 | } |
295 | private string _reason; | 295 | private string _reason; |
296 | 296 | ||
297 | public long ContentLength | 297 | public long ContentLength |
298 | { | 298 | { |
299 | get { return _contentLength; } | 299 | get { return _contentLength; } |
300 | 300 | ||
@@ -302,7 +302,7 @@ namespace OpenSim.Framework.Servers.Tests | |||
302 | } | 302 | } |
303 | private long _contentLength; | 303 | private long _contentLength; |
304 | 304 | ||
305 | public string ContentType | 305 | public string ContentType |
306 | { | 306 | { |
307 | get { return _contentType; } | 307 | get { return _contentType; } |
308 | 308 | ||
@@ -310,19 +310,19 @@ namespace OpenSim.Framework.Servers.Tests | |||
310 | } | 310 | } |
311 | private string _contentType; | 311 | private string _contentType; |
312 | 312 | ||
313 | public bool HeadersSent | 313 | public bool HeadersSent |
314 | { | 314 | { |
315 | get { return _headersSent; } | 315 | get { return _headersSent; } |
316 | } | 316 | } |
317 | private bool _headersSent; | 317 | private bool _headersSent; |
318 | 318 | ||
319 | public bool Sent | 319 | public bool Sent |
320 | { | 320 | { |
321 | get { return _sent; } | 321 | get { return _sent; } |
322 | } | 322 | } |
323 | private bool _sent; | 323 | private bool _sent; |
324 | 324 | ||
325 | public ResponseCookies Cookies | 325 | public ResponseCookies Cookies |
326 | { | 326 | { |
327 | get { return _cookies; } | 327 | get { return _cookies; } |
328 | } | 328 | } |
@@ -335,25 +335,25 @@ namespace OpenSim.Framework.Servers.Tests | |||
335 | } | 335 | } |
336 | 336 | ||
337 | public void AddHeader(string name, string value) {} | 337 | public void AddHeader(string name, string value) {} |
338 | public void Send() | 338 | public void Send() |
339 | { | 339 | { |
340 | if (!_headersSent) SendHeaders(); | 340 | if (!_headersSent) SendHeaders(); |
341 | if (_sent) throw new InvalidOperationException("stuff already sent"); | 341 | if (_sent) throw new InvalidOperationException("stuff already sent"); |
342 | _sent = true; | 342 | _sent = true; |
343 | } | 343 | } |
344 | 344 | ||
345 | public void SendBody(byte[] buffer, int offset, int count) | 345 | public void SendBody(byte[] buffer, int offset, int count) |
346 | { | 346 | { |
347 | if (!_headersSent) SendHeaders(); | 347 | if (!_headersSent) SendHeaders(); |
348 | _sent = true; | 348 | _sent = true; |
349 | } | 349 | } |
350 | public void SendBody(byte[] buffer) | 350 | public void SendBody(byte[] buffer) |
351 | { | 351 | { |
352 | if (!_headersSent) SendHeaders(); | 352 | if (!_headersSent) SendHeaders(); |
353 | _sent = true; | 353 | _sent = true; |
354 | } | 354 | } |
355 | 355 | ||
356 | public void SendHeaders() | 356 | public void SendHeaders() |
357 | { | 357 | { |
358 | if (_headersSent) throw new InvalidOperationException("headers already sent"); | 358 | if (_headersSent) throw new InvalidOperationException("headers already sent"); |
359 | _headersSent = true; | 359 | _headersSent = true; |
@@ -362,7 +362,7 @@ namespace OpenSim.Framework.Servers.Tests | |||
362 | public void Redirect(Uri uri) {} | 362 | public void Redirect(Uri uri) {} |
363 | public void Redirect(string url) {} | 363 | public void Redirect(string url) {} |
364 | } | 364 | } |
365 | 365 | ||
366 | 366 | ||
367 | public OSHttpRequest req0; | 367 | public OSHttpRequest req0; |
368 | public OSHttpRequest req1; | 368 | public OSHttpRequest req1; |
@@ -374,22 +374,22 @@ namespace OpenSim.Framework.Servers.Tests | |||
374 | [TestFixtureSetUp] | 374 | [TestFixtureSetUp] |
375 | public void Init() | 375 | public void Init() |
376 | { | 376 | { |
377 | TestHttpRequest threq0 = new TestHttpRequest("utf-8", "text/xml", "OpenSim Test Agent", "192.168.0.1", "4711", | 377 | TestHttpRequest threq0 = new TestHttpRequest("utf-8", "text/xml", "OpenSim Test Agent", "192.168.0.1", "4711", |
378 | new string[] {"text/xml"}, | 378 | new string[] {"text/xml"}, |
379 | ConnectionType.KeepAlive, 4711, | 379 | ConnectionType.KeepAlive, 4711, |
380 | new Uri("http://127.0.0.1/admin/inventory/Dr+Who/Tardis")); | 380 | new Uri("http://127.0.0.1/admin/inventory/Dr+Who/Tardis")); |
381 | threq0.Method = "GET"; | 381 | threq0.Method = "GET"; |
382 | threq0.HttpVersion = HttpHelper.HTTP10; | 382 | threq0.HttpVersion = HttpHelper.HTTP10; |
383 | 383 | ||
384 | TestHttpRequest threq1 = new TestHttpRequest("utf-8", "text/xml", "OpenSim Test Agent", "192.168.0.1", "4711", | 384 | TestHttpRequest threq1 = new TestHttpRequest("utf-8", "text/xml", "OpenSim Test Agent", "192.168.0.1", "4711", |
385 | new string[] {"text/xml"}, | 385 | new string[] {"text/xml"}, |
386 | ConnectionType.KeepAlive, 4711, | 386 | ConnectionType.KeepAlive, 4711, |
387 | new Uri("http://127.0.0.1/admin/inventory/Dr+Who/Tardis?a=0&b=1&c=2")); | 387 | new Uri("http://127.0.0.1/admin/inventory/Dr+Who/Tardis?a=0&b=1&c=2")); |
388 | threq1.Method = "POST"; | 388 | threq1.Method = "POST"; |
389 | threq1.HttpVersion = HttpHelper.HTTP11; | 389 | threq1.HttpVersion = HttpHelper.HTTP11; |
390 | threq1.Headers["x-wuff"] = "wuffwuff"; | 390 | threq1.Headers["x-wuff"] = "wuffwuff"; |
391 | threq1.Headers["www-authenticate"] = "go away"; | 391 | threq1.Headers["www-authenticate"] = "go away"; |
392 | 392 | ||
393 | req0 = new OSHttpRequest(new TestHttpClientContext(false), threq0); | 393 | req0 = new OSHttpRequest(new TestHttpClientContext(false), threq0); |
394 | req1 = new OSHttpRequest(new TestHttpClientContext(false), threq1); | 394 | req1 = new OSHttpRequest(new TestHttpClientContext(false), threq1); |
395 | 395 | ||
diff --git a/OpenSim/Framework/ServiceAuth/BasicHttpAuthentication.cs b/OpenSim/Framework/ServiceAuth/BasicHttpAuthentication.cs index 512ac4f..9126cfb 100644 --- a/OpenSim/Framework/ServiceAuth/BasicHttpAuthentication.cs +++ b/OpenSim/Framework/ServiceAuth/BasicHttpAuthentication.cs | |||
@@ -56,7 +56,7 @@ namespace OpenSim.Framework.ServiceAuth | |||
56 | { | 56 | { |
57 | // remove_me = section; | 57 | // remove_me = section; |
58 | m_Username = Util.GetConfigVarFromSections<string>(config, "HttpAuthUsername", new string[] { "Network", section }, string.Empty); | 58 | m_Username = Util.GetConfigVarFromSections<string>(config, "HttpAuthUsername", new string[] { "Network", section }, string.Empty); |
59 | m_Password = Util.GetConfigVarFromSections<string>(config, "HttpAuthPassword", new string[] { "Network", section }, string.Empty); | 59 | m_Password = Util.GetConfigVarFromSections<string>(config, "HttpAuthPassword", new string[] { "Network", section }, string.Empty); |
60 | string str = m_Username + ":" + m_Password; | 60 | string str = m_Username + ":" + m_Password; |
61 | byte[] encData_byte = Util.UTF8.GetBytes(str); | 61 | byte[] encData_byte = Util.UTF8.GetBytes(str); |
62 | 62 | ||
diff --git a/OpenSim/Framework/ServiceAuth/CompoundAuthentication.cs b/OpenSim/Framework/ServiceAuth/CompoundAuthentication.cs index a49952c..79d6ff4 100644 --- a/OpenSim/Framework/ServiceAuth/CompoundAuthentication.cs +++ b/OpenSim/Framework/ServiceAuth/CompoundAuthentication.cs | |||
@@ -56,7 +56,7 @@ namespace OpenSim.Framework.ServiceAuth | |||
56 | m_authentications.Remove(auth); | 56 | m_authentications.Remove(auth); |
57 | } | 57 | } |
58 | 58 | ||
59 | public void AddAuthorization(NameValueCollection headers) | 59 | public void AddAuthorization(NameValueCollection headers) |
60 | { | 60 | { |
61 | foreach (IServiceAuth auth in m_authentications) | 61 | foreach (IServiceAuth auth in m_authentications) |
62 | auth.AddAuthorization(headers); | 62 | auth.AddAuthorization(headers); |
diff --git a/OpenSim/Framework/SimStats.cs b/OpenSim/Framework/SimStats.cs index a811187..f19a270 100644 --- a/OpenSim/Framework/SimStats.cs +++ b/OpenSim/Framework/SimStats.cs | |||
@@ -32,7 +32,7 @@ namespace OpenSim.Framework | |||
32 | { | 32 | { |
33 | /// <summary> | 33 | /// <summary> |
34 | /// Enapsulate statistics for a simulator/scene. | 34 | /// Enapsulate statistics for a simulator/scene. |
35 | /// | 35 | /// |
36 | /// TODO: This looks very much like the OpenMetaverse SimStatsPacket. It should be much more generic stats | 36 | /// TODO: This looks very much like the OpenMetaverse SimStatsPacket. It should be much more generic stats |
37 | /// storage. | 37 | /// storage. |
38 | /// </summary> | 38 | /// </summary> |
@@ -49,7 +49,7 @@ namespace OpenSim.Framework | |||
49 | get { return m_regionY; } | 49 | get { return m_regionY; } |
50 | } | 50 | } |
51 | private uint m_regionY; | 51 | private uint m_regionY; |
52 | 52 | ||
53 | public SimStatsPacket.RegionBlock RegionBlock | 53 | public SimStatsPacket.RegionBlock RegionBlock |
54 | { | 54 | { |
55 | get { return m_regionBlock; } | 55 | get { return m_regionBlock; } |
@@ -73,7 +73,7 @@ namespace OpenSim.Framework | |||
73 | get { return m_regionFlags; } | 73 | get { return m_regionFlags; } |
74 | } | 74 | } |
75 | private uint m_regionFlags; | 75 | private uint m_regionFlags; |
76 | 76 | ||
77 | public uint ObjectCapacity | 77 | public uint ObjectCapacity |
78 | { | 78 | { |
79 | get { return m_objectCapacity; } | 79 | get { return m_objectCapacity; } |
@@ -85,9 +85,9 @@ namespace OpenSim.Framework | |||
85 | get { return regionUUID; } | 85 | get { return regionUUID; } |
86 | } | 86 | } |
87 | private UUID regionUUID; | 87 | private UUID regionUUID; |
88 | 88 | ||
89 | public SimStats( | 89 | public SimStats( |
90 | uint regionX, uint regionY, uint regionFlags, uint objectCapacity, | 90 | uint regionX, uint regionY, uint regionFlags, uint objectCapacity, |
91 | SimStatsPacket.RegionBlock regionBlock, SimStatsPacket.StatBlock[] statsBlock, | 91 | SimStatsPacket.RegionBlock regionBlock, SimStatsPacket.StatBlock[] statsBlock, |
92 | SimStatsPacket.StatBlock[] ExtraStatsBlock, UUID pRUUID) | 92 | SimStatsPacket.StatBlock[] ExtraStatsBlock, UUID pRUUID) |
93 | { | 93 | { |
diff --git a/OpenSim/Framework/TaskInventoryDictionary.cs b/OpenSim/Framework/TaskInventoryDictionary.cs index c270d98..223d91f 100644 --- a/OpenSim/Framework/TaskInventoryDictionary.cs +++ b/OpenSim/Framework/TaskInventoryDictionary.cs | |||
@@ -52,7 +52,7 @@ namespace OpenSim.Framework | |||
52 | 52 | ||
53 | private static XmlSerializer tiiSerializer = new XmlSerializer(typeof (TaskInventoryItem)); | 53 | private static XmlSerializer tiiSerializer = new XmlSerializer(typeof (TaskInventoryItem)); |
54 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); | 54 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); |
55 | 55 | ||
56 | private Thread LockedByThread; | 56 | private Thread LockedByThread; |
57 | // private string WriterStack; | 57 | // private string WriterStack; |
58 | 58 | ||
@@ -98,7 +98,7 @@ namespace OpenSim.Framework | |||
98 | if (!LockedByThread.IsAlive) | 98 | if (!LockedByThread.IsAlive) |
99 | { | 99 | { |
100 | //Locked by dead thread, reset. | 100 | //Locked by dead thread, reset. |
101 | m_itemLock = new System.Threading.ReaderWriterLockSlim(); | 101 | m_itemLock = new System.Threading.ReaderWriterLockSlim(); |
102 | } | 102 | } |
103 | } | 103 | } |
104 | 104 | ||
@@ -146,7 +146,7 @@ namespace OpenSim.Framework | |||
146 | // {} | 146 | // {} |
147 | m_itemLock.ExitWriteLock(); | 147 | m_itemLock.ExitWriteLock(); |
148 | } | 148 | } |
149 | 149 | ||
150 | while (!m_itemLock.TryEnterReadLock(60000)) | 150 | while (!m_itemLock.TryEnterReadLock(60000)) |
151 | { | 151 | { |
152 | m_log.Error("Thread lock detected while trying to aquire READ lock in TaskInventoryDictionary. Locked by thread " + LockedByThread.Name + ". I'm going to try to solve the thread lock automatically to preserve region stability, but this needs to be fixed."); | 152 | m_log.Error("Thread lock detected while trying to aquire READ lock in TaskInventoryDictionary. Locked by thread " + LockedByThread.Name + ". I'm going to try to solve the thread lock automatically to preserve region stability, but this needs to be fixed."); |
diff --git a/OpenSim/Framework/TaskInventoryItem.cs b/OpenSim/Framework/TaskInventoryItem.cs index b195bbe..1cc32b3 100644 --- a/OpenSim/Framework/TaskInventoryItem.cs +++ b/OpenSim/Framework/TaskInventoryItem.cs | |||
@@ -73,7 +73,7 @@ namespace OpenSim.Framework | |||
73 | private UUID _loadedID = UUID.Zero; | 73 | private UUID _loadedID = UUID.Zero; |
74 | 74 | ||
75 | private bool _ownerChanged = false; | 75 | private bool _ownerChanged = false; |
76 | 76 | ||
77 | public UUID AssetID { | 77 | public UUID AssetID { |
78 | get { | 78 | get { |
79 | return _assetID; | 79 | return _assetID; |
diff --git a/OpenSim/Framework/Tests/AgentCircuitDataTest.cs b/OpenSim/Framework/Tests/AgentCircuitDataTest.cs index e8ae728..5ad0030 100644 --- a/OpenSim/Framework/Tests/AgentCircuitDataTest.cs +++ b/OpenSim/Framework/Tests/AgentCircuitDataTest.cs | |||
@@ -96,7 +96,7 @@ namespace OpenSim.Framework.Tests | |||
96 | VisualParams[(int)AvatarAppearance.VPElement.SHAPE_FOOT_SIZE] = 45; | 96 | VisualParams[(int)AvatarAppearance.VPElement.SHAPE_FOOT_SIZE] = 45; |
97 | 97 | ||
98 | 98 | ||
99 | // head | 99 | // head |
100 | VisualParams[(int)AvatarAppearance.VPElement.SHAPE_HEAD_SIZE] = 255; | 100 | VisualParams[(int)AvatarAppearance.VPElement.SHAPE_HEAD_SIZE] = 255; |
101 | VisualParams[(int)AvatarAppearance.VPElement.SHAPE_SQUASH_STRETCH_HEAD] = 0; // head stretch | 101 | VisualParams[(int)AvatarAppearance.VPElement.SHAPE_SQUASH_STRETCH_HEAD] = 0; // head stretch |
102 | VisualParams[(int)AvatarAppearance.VPElement.SHAPE_HEAD_SHAPE] = 155; | 102 | VisualParams[(int)AvatarAppearance.VPElement.SHAPE_HEAD_SHAPE] = 155; |
@@ -106,7 +106,7 @@ namespace OpenSim.Framework.Tests | |||
106 | VisualParams[(int)AvatarAppearance.VPElement.SHAPE_FACE_SHEAR] = 127; | 106 | VisualParams[(int)AvatarAppearance.VPElement.SHAPE_FACE_SHEAR] = 127; |
107 | VisualParams[(int)AvatarAppearance.VPElement.SHAPE_FOREHEAD_ANGLE] = 104; | 107 | VisualParams[(int)AvatarAppearance.VPElement.SHAPE_FOREHEAD_ANGLE] = 104; |
108 | VisualParams[(int)AvatarAppearance.VPElement.SHAPE_BIG_BROW] = 94; | 108 | VisualParams[(int)AvatarAppearance.VPElement.SHAPE_BIG_BROW] = 94; |
109 | VisualParams[(int)AvatarAppearance.VPElement.SHAPE_PUFFY_UPPER_CHEEKS] = 0; // upper cheeks | 109 | VisualParams[(int)AvatarAppearance.VPElement.SHAPE_PUFFY_UPPER_CHEEKS] = 0; // upper cheeks |
110 | VisualParams[(int)AvatarAppearance.VPElement.SHAPE_DOUBLE_CHIN] = 122; // lower cheeks | 110 | VisualParams[(int)AvatarAppearance.VPElement.SHAPE_DOUBLE_CHIN] = 122; // lower cheeks |
111 | VisualParams[(int)AvatarAppearance.VPElement.SHAPE_HIGH_CHEEK_BONES] = 130; | 111 | VisualParams[(int)AvatarAppearance.VPElement.SHAPE_HIGH_CHEEK_BONES] = 130; |
112 | 112 | ||
@@ -232,7 +232,7 @@ namespace OpenSim.Framework.Tests | |||
232 | /// <summary> | 232 | /// <summary> |
233 | /// Test to ensure that the serialization format is the same and the underlying types don't change without notice | 233 | /// Test to ensure that the serialization format is the same and the underlying types don't change without notice |
234 | /// oldSerialization is just a json serialization of the OSDMap packed for the AgentCircuitData. | 234 | /// oldSerialization is just a json serialization of the OSDMap packed for the AgentCircuitData. |
235 | /// The idea is that if the current json serializer cannot parse the old serialization, then the underlying types | 235 | /// The idea is that if the current json serializer cannot parse the old serialization, then the underlying types |
236 | /// have changed and are incompatible. | 236 | /// have changed and are incompatible. |
237 | /// </summary> | 237 | /// </summary> |
238 | [Test] | 238 | [Test] |
@@ -319,7 +319,7 @@ namespace OpenSim.Framework.Tests | |||
319 | string str = OSDParser.SerializeJsonString(map); | 319 | string str = OSDParser.SerializeJsonString(map); |
320 | //System.Console.WriteLine(str); | 320 | //System.Console.WriteLine(str); |
321 | map2 = (OSDMap) OSDParser.DeserializeJson(str); | 321 | map2 = (OSDMap) OSDParser.DeserializeJson(str); |
322 | } | 322 | } |
323 | catch (System.NullReferenceException) | 323 | catch (System.NullReferenceException) |
324 | { | 324 | { |
325 | //spurious litjson errors :P | 325 | //spurious litjson errors :P |
diff --git a/OpenSim/Framework/Tests/AgentCircuitManagerTests.cs b/OpenSim/Framework/Tests/AgentCircuitManagerTests.cs index ae132c8..b572afc 100644 --- a/OpenSim/Framework/Tests/AgentCircuitManagerTests.cs +++ b/OpenSim/Framework/Tests/AgentCircuitManagerTests.cs | |||
@@ -183,7 +183,7 @@ namespace OpenSim.Framework.Tests | |||
183 | 183 | ||
184 | resp = agentCircuitManager.AuthenticateSession(UUID.Random(), AgentId1, circuitcode1); | 184 | resp = agentCircuitManager.AuthenticateSession(UUID.Random(), AgentId1, circuitcode1); |
185 | Assert.That(!resp.Authorised); | 185 | Assert.That(!resp.Authorised); |
186 | 186 | ||
187 | resp = agentCircuitManager.AuthenticateSession(SessionId1, AgentId1, circuitcode2); | 187 | resp = agentCircuitManager.AuthenticateSession(SessionId1, AgentId1, circuitcode2); |
188 | Assert.That(!resp.Authorised); | 188 | Assert.That(!resp.Authorised); |
189 | 189 | ||
diff --git a/OpenSim/Framework/Tests/AnimationTests.cs b/OpenSim/Framework/Tests/AnimationTests.cs index d8f17d0..daf8611 100644 --- a/OpenSim/Framework/Tests/AnimationTests.cs +++ b/OpenSim/Framework/Tests/AnimationTests.cs | |||
@@ -84,7 +84,7 @@ namespace OpenSim.Framework.Tests | |||
84 | anim4.AnimID = anim2.AnimID; | 84 | anim4.AnimID = anim2.AnimID; |
85 | anim4.ObjectID = anim2.ObjectID; | 85 | anim4.ObjectID = anim2.ObjectID; |
86 | anim4.SequenceNum = anim2.SequenceNum; | 86 | anim4.SequenceNum = anim2.SequenceNum; |
87 | 87 | ||
88 | Assert.That(anim4.ObjectID == objUUID2 && anim4.AnimID == animUUID2 && anim4.SequenceNum == 1, "void constructor and manual field population failed to set the properties correctly."); | 88 | Assert.That(anim4.ObjectID == objUUID2 && anim4.AnimID == animUUID2 && anim4.SequenceNum == 1, "void constructor and manual field population failed to set the properties correctly."); |
89 | } | 89 | } |
90 | } | 90 | } |
diff --git a/OpenSim/Framework/Tests/CacheTests.cs b/OpenSim/Framework/Tests/CacheTests.cs index c709860..a92ff3c 100644 --- a/OpenSim/Framework/Tests/CacheTests.cs +++ b/OpenSim/Framework/Tests/CacheTests.cs | |||
@@ -70,7 +70,7 @@ namespace OpenSim.Framework.Tests | |||
70 | Assert.That(citem == null, "Item should not be in Cache"); | 70 | Assert.That(citem == null, "Item should not be in Cache"); |
71 | } | 71 | } |
72 | 72 | ||
73 | 73 | ||
74 | [Test] | 74 | [Test] |
75 | public void ExpireItemManually() | 75 | public void ExpireItemManually() |
76 | { | 76 | { |
@@ -96,7 +96,7 @@ namespace OpenSim.Framework.Tests | |||
96 | cachedItem.Store(foo); | 96 | cachedItem.Store(foo); |
97 | cache.Store(cacheItemUUID.ToString(), cachedItem); | 97 | cache.Store(cacheItemUUID.ToString(), cachedItem); |
98 | cache.Clear(); | 98 | cache.Clear(); |
99 | 99 | ||
100 | object citem = cache.Get(cacheItemUUID.ToString()); | 100 | object citem = cache.Get(cacheItemUUID.ToString()); |
101 | Assert.That(citem == null, "Item should not be in Cache because we manually invalidated it"); | 101 | Assert.That(citem == null, "Item should not be in Cache because we manually invalidated it"); |
102 | } | 102 | } |
diff --git a/OpenSim/Framework/Tests/LocationTest.cs b/OpenSim/Framework/Tests/LocationTest.cs index 3d5d1d2..5e84026 100644 --- a/OpenSim/Framework/Tests/LocationTest.cs +++ b/OpenSim/Framework/Tests/LocationTest.cs | |||
@@ -85,6 +85,6 @@ namespace OpenSim.Framework.Tests | |||
85 | Assert.That(TestLocation2.Equals(cln), "Cloned object failed .Equals(obj) Test"); | 85 | Assert.That(TestLocation2.Equals(cln), "Cloned object failed .Equals(obj) Test"); |
86 | 86 | ||
87 | } | 87 | } |
88 | 88 | ||
89 | } | 89 | } |
90 | } | 90 | } |
diff --git a/OpenSim/Framework/Tests/MundaneFrameworkTests.cs b/OpenSim/Framework/Tests/MundaneFrameworkTests.cs index d8072c7..bde7056 100644 --- a/OpenSim/Framework/Tests/MundaneFrameworkTests.cs +++ b/OpenSim/Framework/Tests/MundaneFrameworkTests.cs | |||
@@ -110,7 +110,7 @@ namespace OpenSim.Framework.Tests | |||
110 | && position2.Center == position1.Center | 110 | && position2.Center == position1.Center |
111 | && position2.RegionHandle == position1.RegionHandle | 111 | && position2.RegionHandle == position1.RegionHandle |
112 | && position2.Far == position1.Far | 112 | && position2.Far == position1.Far |
113 | 113 | ||
114 | ,"Copy From ChildAgentDataUpdate failed"); | 114 | ,"Copy From ChildAgentDataUpdate failed"); |
115 | 115 | ||
116 | position2 = new AgentPosition(); | 116 | position2 = new AgentPosition(); |
@@ -148,13 +148,13 @@ namespace OpenSim.Framework.Tests | |||
148 | // string time = settings.LoadedCreationTime; | 148 | // string time = settings.LoadedCreationTime; |
149 | 149 | ||
150 | Assert.That(m_RegionSettingsOnSaveEventFired, "RegionSettings Save Event didn't Fire"); | 150 | Assert.That(m_RegionSettingsOnSaveEventFired, "RegionSettings Save Event didn't Fire"); |
151 | 151 | ||
152 | } | 152 | } |
153 | public void RegionSaveFired(RegionSettings settings) | 153 | public void RegionSaveFired(RegionSettings settings) |
154 | { | 154 | { |
155 | m_RegionSettingsOnSaveEventFired = true; | 155 | m_RegionSettingsOnSaveEventFired = true; |
156 | } | 156 | } |
157 | 157 | ||
158 | [Test] | 158 | [Test] |
159 | public void InventoryItemBaseConstructorTest01() | 159 | public void InventoryItemBaseConstructorTest01() |
160 | { | 160 | { |
@@ -164,7 +164,7 @@ namespace OpenSim.Framework.Tests | |||
164 | 164 | ||
165 | UUID ItemID = UUID.Random(); | 165 | UUID ItemID = UUID.Random(); |
166 | UUID OwnerID = UUID.Random(); | 166 | UUID OwnerID = UUID.Random(); |
167 | 167 | ||
168 | InventoryItemBase b2 = new InventoryItemBase(ItemID); | 168 | InventoryItemBase b2 = new InventoryItemBase(ItemID); |
169 | Assert.That(b2.ID == ItemID, "ID constructor should create an inventory item with ID = ItemID"); | 169 | Assert.That(b2.ID == ItemID, "ID constructor should create an inventory item with ID = ItemID"); |
170 | Assert.That(b2.Owner == UUID.Zero, "ID constructor should create an inventory item with Owner = UUID.Zero"); | 170 | Assert.That(b2.Owner == UUID.Zero, "ID constructor should create an inventory item with Owner = UUID.Zero"); |
@@ -268,7 +268,7 @@ namespace OpenSim.Framework.Tests | |||
268 | Assert.That(fld.ID == uuid1, "ID,Owner constructor failed to save value in ID field."); | 268 | Assert.That(fld.ID == uuid1, "ID,Owner constructor failed to save value in ID field."); |
269 | Assert.That(fld.Owner == uuid2, "ID,Owner constructor failed to save value in ID field."); | 269 | Assert.That(fld.Owner == uuid2, "ID,Owner constructor failed to save value in ID field."); |
270 | } | 270 | } |
271 | 271 | ||
272 | [Test] | 272 | [Test] |
273 | public void AsssetBaseConstructorTest01() | 273 | public void AsssetBaseConstructorTest01() |
274 | { | 274 | { |
@@ -304,6 +304,6 @@ namespace OpenSim.Framework.Tests | |||
304 | Culture.SetCurrentCulture(); | 304 | Culture.SetCurrentCulture(); |
305 | Assert.That(Thread.CurrentThread.CurrentCulture.Name == ci.Name, "SetCurrentCulture failed to set thread culture to en-US"); | 305 | Assert.That(Thread.CurrentThread.CurrentCulture.Name == ci.Name, "SetCurrentCulture failed to set thread culture to en-US"); |
306 | 306 | ||
307 | } | 307 | } |
308 | } | 308 | } |
309 | } | 309 | } |
diff --git a/OpenSim/Framework/Tests/PrimeNumberHelperTests.cs b/OpenSim/Framework/Tests/PrimeNumberHelperTests.cs index 82e13e5..cc30fb9 100644 --- a/OpenSim/Framework/Tests/PrimeNumberHelperTests.cs +++ b/OpenSim/Framework/Tests/PrimeNumberHelperTests.cs | |||
@@ -127,9 +127,9 @@ namespace OpenSim.Framework.Tests | |||
127 | 127 | ||
128 | int[] nonprimes = { | 128 | int[] nonprimes = { |
129 | 4, 6, 8, 10, 14, 16, 18, 22, 28, 30, 36, 40, 42, 46, 52, 58, 60, 66, 70, 72, 78, 82, 88, | 129 | 4, 6, 8, 10, 14, 16, 18, 22, 28, 30, 36, 40, 42, 46, 52, 58, 60, 66, 70, 72, 78, 82, 88, |
130 | 96, 366, 372, 378, 382, 388, 396, 400, 408, 418, 420, 430, 432, 438, 442, 448, 456, 460, 462, | 130 | 96, 366, 372, 378, 382, 388, 396, 400, 408, 418, 420, 430, 432, 438, 442, 448, 456, 460, 462, |
131 | 466, 478, 486, 490, 498, 502, 508, 856, 858, 862, 876, 880, 882, 886, 906, 910, 918, 928, 936, | 131 | 466, 478, 486, 490, 498, 502, 508, 856, 858, 862, 876, 880, 882, 886, 906, 910, 918, 928, 936, |
132 | 940, 946, 952, 966, 970, 976, 982, 990, 996, 1008, 1740, 1746, 1752, 1758, 4650, 4656, 4662, | 132 | 940, 946, 952, 966, 970, 976, 982, 990, 996, 1008, 1740, 1746, 1752, 1758, 4650, 4656, 4662, |
133 | 4672, 4678, 4690, 7740, 7752, 7756, 7758, 7788, 7792, 7816, 7822, 7828, 7840, 7852, 7866, 7872, | 133 | 4672, 4678, 4690, 7740, 7752, 7756, 7758, 7788, 7792, 7816, 7822, 7828, 7840, 7852, 7866, 7872, |
134 | 7876, 7878, 7882, 7900, 7906, 7918 | 134 | 7876, 7878, 7882, 7900, 7906, 7918 |
135 | }; | 135 | }; |
diff --git a/OpenSim/Framework/Tests/UtilTest.cs b/OpenSim/Framework/Tests/UtilTest.cs index 14b9d2f..b3d79ee 100644 --- a/OpenSim/Framework/Tests/UtilTest.cs +++ b/OpenSim/Framework/Tests/UtilTest.cs | |||
@@ -233,7 +233,7 @@ namespace OpenSim.Framework.Tests | |||
233 | "application/vnd.ll.clothing", | 233 | "application/vnd.ll.clothing", |
234 | "application/vnd.ll.gesture" | 234 | "application/vnd.ll.gesture" |
235 | }; | 235 | }; |
236 | 236 | ||
237 | for (int i=0;i<inventorytypes.Length;i++) | 237 | for (int i=0;i<inventorytypes.Length;i++) |
238 | { | 238 | { |
239 | Assert.AreEqual(invcontenttypes[i], SLUtil.SLInvTypeToContentType(inventorytypes[i]), | 239 | Assert.AreEqual(invcontenttypes[i], SLUtil.SLInvTypeToContentType(inventorytypes[i]), |
diff --git a/OpenSim/Framework/UserProfileData.cs b/OpenSim/Framework/UserProfileData.cs index f7069a5..d8fa629 100644 --- a/OpenSim/Framework/UserProfileData.cs +++ b/OpenSim/Framework/UserProfileData.cs | |||
@@ -159,12 +159,12 @@ namespace OpenSim.Framework | |||
159 | /// </summary> | 159 | /// </summary> |
160 | public virtual ulong HomeRegion | 160 | public virtual ulong HomeRegion |
161 | { | 161 | { |
162 | get | 162 | get |
163 | { | 163 | { |
164 | return Util.RegionWorldLocToHandle(Util.RegionToWorldLoc(m_homeRegionX), Util.RegionToWorldLoc(m_homeRegionY)); | 164 | return Util.RegionWorldLocToHandle(Util.RegionToWorldLoc(m_homeRegionX), Util.RegionToWorldLoc(m_homeRegionY)); |
165 | // return Utils.UIntsToLong( m_homeRegionX * (uint)Constants.RegionSize, m_homeRegionY * (uint)Constants.RegionSize); | 165 | // return Utils.UIntsToLong( m_homeRegionX * (uint)Constants.RegionSize, m_homeRegionY * (uint)Constants.RegionSize); |
166 | } | 166 | } |
167 | 167 | ||
168 | set | 168 | set |
169 | { | 169 | { |
170 | uint regionWorldLocX, regionWorldLocY; | 170 | uint regionWorldLocX, regionWorldLocY; |
@@ -212,7 +212,7 @@ namespace OpenSim.Framework | |||
212 | get { return m_surname; } | 212 | get { return m_surname; } |
213 | set { m_surname = value; } | 213 | set { m_surname = value; } |
214 | } | 214 | } |
215 | 215 | ||
216 | /// <value> | 216 | /// <value> |
217 | /// The concatentation of the various name components. | 217 | /// The concatentation of the various name components. |
218 | /// </value> | 218 | /// </value> |
diff --git a/OpenSim/Framework/UserProfiles.cs b/OpenSim/Framework/UserProfiles.cs index 4ed890b..7c6a6fe 100644 --- a/OpenSim/Framework/UserProfiles.cs +++ b/OpenSim/Framework/UserProfiles.cs | |||
@@ -50,7 +50,7 @@ namespace OpenSim.Framework | |||
50 | public byte Flags = 0; | 50 | public byte Flags = 0; |
51 | public int Price = 0; | 51 | public int Price = 0; |
52 | } | 52 | } |
53 | 53 | ||
54 | public class UserProfileProperties | 54 | public class UserProfileProperties |
55 | { | 55 | { |
56 | public UUID UserId = UUID.Zero; | 56 | public UUID UserId = UUID.Zero; |
@@ -68,7 +68,7 @@ namespace OpenSim.Framework | |||
68 | public UUID FirstLifeImageId = UUID.Zero; | 68 | public UUID FirstLifeImageId = UUID.Zero; |
69 | public string FirstLifeText = string.Empty; | 69 | public string FirstLifeText = string.Empty; |
70 | } | 70 | } |
71 | 71 | ||
72 | public class UserProfilePick | 72 | public class UserProfilePick |
73 | { | 73 | { |
74 | public UUID PickId = UUID.Zero; | 74 | public UUID PickId = UUID.Zero; |
@@ -86,7 +86,7 @@ namespace OpenSim.Framework | |||
86 | public int SortOrder = 0; | 86 | public int SortOrder = 0; |
87 | public bool Enabled = false; | 87 | public bool Enabled = false; |
88 | } | 88 | } |
89 | 89 | ||
90 | public class UserProfileNotes | 90 | public class UserProfileNotes |
91 | { | 91 | { |
92 | public UUID UserId; | 92 | public UUID UserId; |
@@ -101,7 +101,7 @@ namespace OpenSim.Framework | |||
101 | public bool Visible = false; | 101 | public bool Visible = false; |
102 | public string EMail = string.Empty; | 102 | public string EMail = string.Empty; |
103 | } | 103 | } |
104 | 104 | ||
105 | public class UserAccountProperties | 105 | public class UserAccountProperties |
106 | { | 106 | { |
107 | public string EmailAddress = string.Empty; | 107 | public string EmailAddress = string.Empty; |
@@ -110,13 +110,13 @@ namespace OpenSim.Framework | |||
110 | public string Password = string.Empty; | 110 | public string Password = string.Empty; |
111 | public string UserId = string.Empty; | 111 | public string UserId = string.Empty; |
112 | } | 112 | } |
113 | 113 | ||
114 | public class UserAccountAuth | 114 | public class UserAccountAuth |
115 | { | 115 | { |
116 | public string UserId = UUID.Zero.ToString(); | 116 | public string UserId = UUID.Zero.ToString(); |
117 | public string Password = string.Empty; | 117 | public string Password = string.Empty; |
118 | } | 118 | } |
119 | 119 | ||
120 | public class UserAppData | 120 | public class UserAppData |
121 | { | 121 | { |
122 | public string TagId = string.Empty; | 122 | public string TagId = string.Empty; |
diff --git a/OpenSim/Framework/Util.cs b/OpenSim/Framework/Util.cs index 89cf045..6d679f2 100644 --- a/OpenSim/Framework/Util.cs +++ b/OpenSim/Framework/Util.cs | |||
@@ -59,7 +59,7 @@ namespace OpenSim.Framework | |||
59 | { | 59 | { |
60 | [Flags] | 60 | [Flags] |
61 | public enum PermissionMask : uint | 61 | public enum PermissionMask : uint |
62 | { | 62 | { |
63 | None = 0, | 63 | None = 0, |
64 | 64 | ||
65 | // folded perms | 65 | // folded perms |
@@ -112,7 +112,7 @@ namespace OpenSim.Framework | |||
112 | public STPStartInfo STPStartInfo { get; set; } | 112 | public STPStartInfo STPStartInfo { get; set; } |
113 | public WIGStartInfo WIGStartInfo { get; set; } | 113 | public WIGStartInfo WIGStartInfo { get; set; } |
114 | public bool IsIdle { get; set; } | 114 | public bool IsIdle { get; set; } |
115 | public bool IsShuttingDown { get; set; } | 115 | public bool IsShuttingDown { get; set; } |
116 | public int MaxThreads { get; set; } | 116 | public int MaxThreads { get; set; } |
117 | public int MinThreads { get; set; } | 117 | public int MinThreads { get; set; } |
118 | public int InUseThreads { get; set; } | 118 | public int InUseThreads { get; set; } |
@@ -230,7 +230,7 @@ namespace OpenSim.Framework | |||
230 | public static Encoding UTF8NoBomEncoding = new UTF8Encoding(false); | 230 | public static Encoding UTF8NoBomEncoding = new UTF8Encoding(false); |
231 | 231 | ||
232 | /// <value> | 232 | /// <value> |
233 | /// Well known UUID for the blank texture used in the Linden SL viewer version 1.20 (and hopefully onwards) | 233 | /// Well known UUID for the blank texture used in the Linden SL viewer version 1.20 (and hopefully onwards) |
234 | /// </value> | 234 | /// </value> |
235 | public static UUID BLANK_TEXTURE_UUID = new UUID("5748decc-f629-461c-9a36-a35a221fe21f"); | 235 | public static UUID BLANK_TEXTURE_UUID = new UUID("5748decc-f629-461c-9a36-a35a221fe21f"); |
236 | 236 | ||
@@ -280,7 +280,7 @@ namespace OpenSim.Framework | |||
280 | /// </summary> | 280 | /// </summary> |
281 | /// <param name="a">A 3d vector</param> | 281 | /// <param name="a">A 3d vector</param> |
282 | /// <returns>A new vector which is normalized form of the vector</returns> | 282 | /// <returns>A new vector which is normalized form of the vector</returns> |
283 | 283 | ||
284 | public static Vector3 GetNormalizedVector(Vector3 a) | 284 | public static Vector3 GetNormalizedVector(Vector3 a) |
285 | { | 285 | { |
286 | Vector3 v = new Vector3(a.X, a.Y, a.Z); | 286 | Vector3 v = new Vector3(a.X, a.Y, a.Z); |
@@ -371,7 +371,7 @@ namespace OpenSim.Framework | |||
371 | // Regions are identified with a 'handle' made up of its world coordinates packed into a ulong. | 371 | // Regions are identified with a 'handle' made up of its world coordinates packed into a ulong. |
372 | // Region handles are based on the coordinate of the region corner with lower X and Y | 372 | // Region handles are based on the coordinate of the region corner with lower X and Y |
373 | // var regions need more work than this to get that right corner from a generic world position | 373 | // var regions need more work than this to get that right corner from a generic world position |
374 | // this corner must be on a grid point | 374 | // this corner must be on a grid point |
375 | public static ulong RegionWorldLocToHandle(uint X, uint Y) | 375 | public static ulong RegionWorldLocToHandle(uint X, uint Y) |
376 | { | 376 | { |
377 | ulong handle = X & 0xffffff00; // make sure it matchs grid coord points. | 377 | ulong handle = X & 0xffffff00; // make sure it matchs grid coord points. |
@@ -450,7 +450,7 @@ namespace OpenSim.Framework | |||
450 | 450 | ||
451 | string host; | 451 | string host; |
452 | uint port = 80; | 452 | uint port = 80; |
453 | 453 | ||
454 | string[] parts = inputName.Split(new char[] { ':' }); | 454 | string[] parts = inputName.Split(new char[] { ':' }); |
455 | int indx; | 455 | int indx; |
456 | if(parts.Length == 0) | 456 | if(parts.Length == 0) |
@@ -470,7 +470,7 @@ namespace OpenSim.Framework | |||
470 | else | 470 | else |
471 | { | 471 | { |
472 | host = parts[0]; | 472 | host = parts[0]; |
473 | 473 | ||
474 | if (parts.Length >= 2) | 474 | if (parts.Length >= 2) |
475 | { | 475 | { |
476 | indx = parts[1].IndexOf('/'); | 476 | indx = parts[1].IndexOf('/'); |
@@ -875,8 +875,8 @@ namespace OpenSim.Framework | |||
875 | /// <param name="newx">New region x-coord</param> | 875 | /// <param name="newx">New region x-coord</param> |
876 | /// <param name="oldy">Old region y-coord</param> | 876 | /// <param name="oldy">Old region y-coord</param> |
877 | /// <param name="newy">New region y-coord</param> | 877 | /// <param name="newy">New region y-coord</param> |
878 | /// <returns></returns> | 878 | /// <returns></returns> |
879 | public static bool IsOutsideView(float drawdist, uint oldx, uint newx, uint oldy, uint newy, | 879 | public static bool IsOutsideView(float drawdist, uint oldx, uint newx, uint oldy, uint newy, |
880 | int oldsizex, int oldsizey, int newsizex, int newsizey) | 880 | int oldsizex, int oldsizey, int newsizex, int newsizey) |
881 | { | 881 | { |
882 | // we still need to make sure we see new region 1stNeighbors | 882 | // we still need to make sure we see new region 1stNeighbors |
@@ -1267,7 +1267,7 @@ namespace OpenSim.Framework | |||
1267 | 1267 | ||
1268 | /// <summary> | 1268 | /// <summary> |
1269 | /// Gets the value of a configuration variable by looking into | 1269 | /// Gets the value of a configuration variable by looking into |
1270 | /// multiple sections in order. The latter sections overwrite | 1270 | /// multiple sections in order. The latter sections overwrite |
1271 | /// any values previously found. | 1271 | /// any values previously found. |
1272 | /// </summary> | 1272 | /// </summary> |
1273 | /// <typeparam name="T">Type of the variable</typeparam> | 1273 | /// <typeparam name="T">Type of the variable</typeparam> |
@@ -1282,7 +1282,7 @@ namespace OpenSim.Framework | |||
1282 | 1282 | ||
1283 | /// <summary> | 1283 | /// <summary> |
1284 | /// Gets the value of a configuration variable by looking into | 1284 | /// Gets the value of a configuration variable by looking into |
1285 | /// multiple sections in order. The latter sections overwrite | 1285 | /// multiple sections in order. The latter sections overwrite |
1286 | /// any values previously found. | 1286 | /// any values previously found. |
1287 | /// </summary> | 1287 | /// </summary> |
1288 | /// <remarks> | 1288 | /// <remarks> |
@@ -1338,7 +1338,7 @@ namespace OpenSim.Framework | |||
1338 | ConfigSource.ExpandKeyValues(); | 1338 | ConfigSource.ExpandKeyValues(); |
1339 | } | 1339 | } |
1340 | } | 1340 | } |
1341 | 1341 | ||
1342 | public static T ReadSettingsFromIniFile<T>(IConfig config, T settingsClass) | 1342 | public static T ReadSettingsFromIniFile<T>(IConfig config, T settingsClass) |
1343 | { | 1343 | { |
1344 | Type settingsType = settingsClass.GetType(); | 1344 | Type settingsType = settingsClass.GetType(); |
@@ -1449,7 +1449,7 @@ namespace OpenSim.Framework | |||
1449 | 1449 | ||
1450 | if (File.Exists(configFile)) | 1450 | if (File.Exists(configFile)) |
1451 | { | 1451 | { |
1452 | // Merge | 1452 | // Merge |
1453 | config.Merge(new IniConfigSource(configFile)); | 1453 | config.Merge(new IniConfigSource(configFile)); |
1454 | config.ExpandKeyValues(); | 1454 | config.ExpandKeyValues(); |
1455 | configFilePath = configFile; | 1455 | configFilePath = configFile; |
@@ -1598,7 +1598,7 @@ namespace OpenSim.Framework | |||
1598 | } | 1598 | } |
1599 | 1599 | ||
1600 | memory.Position = 0; | 1600 | memory.Position = 0; |
1601 | 1601 | ||
1602 | byte[] compressed = new byte[memory.Length]; | 1602 | byte[] compressed = new byte[memory.Length]; |
1603 | memory.Read(compressed, 0, compressed.Length); | 1603 | memory.Read(compressed, 0, compressed.Length); |
1604 | 1604 | ||
@@ -1645,7 +1645,7 @@ namespace OpenSim.Framework | |||
1645 | const int readSize = 256; | 1645 | const int readSize = 256; |
1646 | byte[] buffer = new byte[readSize]; | 1646 | byte[] buffer = new byte[readSize]; |
1647 | MemoryStream ms = new MemoryStream(); | 1647 | MemoryStream ms = new MemoryStream(); |
1648 | 1648 | ||
1649 | int count = inputStream.Read(buffer, 0, readSize); | 1649 | int count = inputStream.Read(buffer, 0, readSize); |
1650 | 1650 | ||
1651 | while (count > 0) | 1651 | while (count > 0) |
@@ -1731,10 +1731,10 @@ namespace OpenSim.Framework | |||
1731 | regionHandle = Utils.BytesToUInt64(bytes); | 1731 | regionHandle = Utils.BytesToUInt64(bytes); |
1732 | x = Utils.BytesToUInt(bytes, 8) & 0xffff; | 1732 | x = Utils.BytesToUInt(bytes, 8) & 0xffff; |
1733 | y = Utils.BytesToUInt(bytes, 12) & 0xffff; | 1733 | y = Utils.BytesToUInt(bytes, 12) & 0xffff; |
1734 | // validation may fail, just reducing the odds of using a real UUID as encoded parcel | 1734 | // validation may fail, just reducing the odds of using a real UUID as encoded parcel |
1735 | return ( bytes[0] == 0 && bytes[4] == 0 && // handler x,y multiples of 256 | 1735 | return ( bytes[0] == 0 && bytes[4] == 0 && // handler x,y multiples of 256 |
1736 | bytes[9] < 64 && bytes[13] < 64 && // positions < 16km | 1736 | bytes[9] < 64 && bytes[13] < 64 && // positions < 16km |
1737 | bytes[14] == 0 && bytes[15] == 0); | 1737 | bytes[14] == 0 && bytes[15] == 0); |
1738 | } | 1738 | } |
1739 | 1739 | ||
1740 | public static void ParseFakeParcelID(UUID parcelID, out ulong regionHandle, out uint x, out uint y, out uint z) | 1740 | public static void ParseFakeParcelID(UUID parcelID, out ulong regionHandle, out uint x, out uint y, out uint z) |
@@ -1757,7 +1757,7 @@ namespace OpenSim.Framework | |||
1757 | x += rx; | 1757 | x += rx; |
1758 | y += ry; | 1758 | y += ry; |
1759 | } | 1759 | } |
1760 | 1760 | ||
1761 | /// <summary> | 1761 | /// <summary> |
1762 | /// Get operating system information if available. Returns only the first 45 characters of information | 1762 | /// Get operating system information if available. Returns only the first 45 characters of information |
1763 | /// </summary> | 1763 | /// </summary> |
@@ -1776,12 +1776,12 @@ namespace OpenSim.Framework | |||
1776 | // { | 1776 | // { |
1777 | // os = ReadEtcIssue(); | 1777 | // os = ReadEtcIssue(); |
1778 | // } | 1778 | // } |
1779 | // | 1779 | // |
1780 | // if (os.Length > 45) | 1780 | // if (os.Length > 45) |
1781 | // { | 1781 | // { |
1782 | // os = os.Substring(0, 45); | 1782 | // os = os.Substring(0, 45); |
1783 | // } | 1783 | // } |
1784 | 1784 | ||
1785 | return os; | 1785 | return os; |
1786 | } | 1786 | } |
1787 | 1787 | ||
@@ -1993,7 +1993,7 @@ namespace OpenSim.Framework | |||
1993 | vol = vcomps[0]; | 1993 | vol = vcomps[0]; |
1994 | } | 1994 | } |
1995 | } | 1995 | } |
1996 | 1996 | ||
1997 | string[] comps = path.Split(new char[] {Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar}, StringSplitOptions.RemoveEmptyEntries); | 1997 | string[] comps = path.Split(new char[] {Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar}, StringSplitOptions.RemoveEmptyEntries); |
1998 | 1998 | ||
1999 | // Glob | 1999 | // Glob |
@@ -2095,7 +2095,7 @@ namespace OpenSim.Framework | |||
2095 | 2095 | ||
2096 | if (!str.EndsWith("\0")) | 2096 | if (!str.EndsWith("\0")) |
2097 | str += "\0"; | 2097 | str += "\0"; |
2098 | 2098 | ||
2099 | // Because this is UTF-8 encoding and not ASCII, it's possible we | 2099 | // Because this is UTF-8 encoding and not ASCII, it's possible we |
2100 | // might have gotten an oversized array even after the string trim | 2100 | // might have gotten an oversized array even after the string trim |
2101 | byte[] data = UTF8.GetBytes(str); | 2101 | byte[] data = UTF8.GetBytes(str); |
@@ -2354,7 +2354,7 @@ namespace OpenSim.Framework | |||
2354 | throw new NotImplementedException(); | 2354 | throw new NotImplementedException(); |
2355 | } | 2355 | } |
2356 | } | 2356 | } |
2357 | 2357 | ||
2358 | /// <summary> | 2358 | /// <summary> |
2359 | /// Additional information about threads in the main thread pool. Used to time how long the | 2359 | /// Additional information about threads in the main thread pool. Used to time how long the |
2360 | /// thread has been running, and abort it if it has timed-out. | 2360 | /// thread has been running, and abort it if it has timed-out. |
@@ -2365,7 +2365,7 @@ namespace OpenSim.Framework | |||
2365 | public string StackTrace { get; set; } | 2365 | public string StackTrace { get; set; } |
2366 | private string context; | 2366 | private string context; |
2367 | public bool LogThread { get; set; } | 2367 | public bool LogThread { get; set; } |
2368 | 2368 | ||
2369 | public IWorkItemResult WorkItem { get; set; } | 2369 | public IWorkItemResult WorkItem { get; set; } |
2370 | public Thread Thread { get; set; } | 2370 | public Thread Thread { get; set; } |
2371 | public bool Running { get; set; } | 2371 | public bool Running { get; set; } |
@@ -2470,7 +2470,7 @@ namespace OpenSim.Framework | |||
2470 | public static Dictionary<string, int> GetFireAndForgetCallsMade() | 2470 | public static Dictionary<string, int> GetFireAndForgetCallsMade() |
2471 | { | 2471 | { |
2472 | return new Dictionary<string, int>(m_fireAndForgetCallsMade); | 2472 | return new Dictionary<string, int>(m_fireAndForgetCallsMade); |
2473 | } | 2473 | } |
2474 | 2474 | ||
2475 | private static Dictionary<string, int> m_fireAndForgetCallsMade = new Dictionary<string, int>(); | 2475 | private static Dictionary<string, int> m_fireAndForgetCallsMade = new Dictionary<string, int>(); |
2476 | 2476 | ||
@@ -2490,7 +2490,7 @@ namespace OpenSim.Framework | |||
2490 | { | 2490 | { |
2491 | FireAndForget(callback, obj, null); | 2491 | FireAndForget(callback, obj, null); |
2492 | } | 2492 | } |
2493 | 2493 | ||
2494 | public static void FireAndForget(System.Threading.WaitCallback callback, object obj, string context) | 2494 | public static void FireAndForget(System.Threading.WaitCallback callback, object obj, string context) |
2495 | { | 2495 | { |
2496 | Interlocked.Increment(ref numTotalThreadFuncsCalled); | 2496 | Interlocked.Increment(ref numTotalThreadFuncsCalled); |
@@ -2511,19 +2511,19 @@ namespace OpenSim.Framework | |||
2511 | WaitCallback realCallback; | 2511 | WaitCallback realCallback; |
2512 | 2512 | ||
2513 | bool loggingEnabled = LogThreadPool > 0; | 2513 | bool loggingEnabled = LogThreadPool > 0; |
2514 | 2514 | ||
2515 | long threadFuncNum = Interlocked.Increment(ref nextThreadFuncNum); | 2515 | long threadFuncNum = Interlocked.Increment(ref nextThreadFuncNum); |
2516 | ThreadInfo threadInfo = new ThreadInfo(threadFuncNum, context); | 2516 | ThreadInfo threadInfo = new ThreadInfo(threadFuncNum, context); |
2517 | 2517 | ||
2518 | if (FireAndForgetMethod == FireAndForgetMethod.RegressionTest) | 2518 | if (FireAndForgetMethod == FireAndForgetMethod.RegressionTest) |
2519 | { | 2519 | { |
2520 | // If we're running regression tests, then we want any exceptions to rise up to the test code. | 2520 | // If we're running regression tests, then we want any exceptions to rise up to the test code. |
2521 | realCallback = | 2521 | realCallback = |
2522 | o => | 2522 | o => |
2523 | { | 2523 | { |
2524 | Culture.SetCurrentCulture(); | 2524 | Culture.SetCurrentCulture(); |
2525 | callback(o); | 2525 | callback(o); |
2526 | 2526 | ||
2527 | if (context != null) | 2527 | if (context != null) |
2528 | m_fireAndForgetCallsInProgress[context]--; | 2528 | m_fireAndForgetCallsInProgress[context]--; |
2529 | }; | 2529 | }; |
@@ -2666,7 +2666,7 @@ namespace OpenSim.Framework | |||
2666 | if (stackTrace.Contains("BeginFireQueueEmpty")) | 2666 | if (stackTrace.Contains("BeginFireQueueEmpty")) |
2667 | return false; | 2667 | return false; |
2668 | } | 2668 | } |
2669 | 2669 | ||
2670 | return true; | 2670 | return true; |
2671 | } | 2671 | } |
2672 | 2672 | ||
@@ -2679,7 +2679,7 @@ namespace OpenSim.Framework | |||
2679 | { | 2679 | { |
2680 | string src = Environment.StackTrace; | 2680 | string src = Environment.StackTrace; |
2681 | string[] lines = src.Split(new string[] { Environment.NewLine }, StringSplitOptions.None); | 2681 | string[] lines = src.Split(new string[] { Environment.NewLine }, StringSplitOptions.None); |
2682 | 2682 | ||
2683 | StringBuilder dest = new StringBuilder(src.Length); | 2683 | StringBuilder dest = new StringBuilder(src.Length); |
2684 | 2684 | ||
2685 | bool started = false; | 2685 | bool started = false; |
@@ -2724,11 +2724,11 @@ namespace OpenSim.Framework | |||
2724 | /// trace. And pausing another thread can cause a deadlock. This method attempts to | 2724 | /// trace. And pausing another thread can cause a deadlock. This method attempts to |
2725 | /// avoid deadlock by using a short timeout (200ms), after which it gives up and | 2725 | /// avoid deadlock by using a short timeout (200ms), after which it gives up and |
2726 | /// returns 'null' instead of the stack trace. | 2726 | /// returns 'null' instead of the stack trace. |
2727 | /// | 2727 | /// |
2728 | /// Take from: http://stackoverflow.com/a/14935378 | 2728 | /// Take from: http://stackoverflow.com/a/14935378 |
2729 | /// | 2729 | /// |
2730 | /// WARNING: this doesn't work in Mono. See https://bugzilla.novell.com/show_bug.cgi?id=571691 | 2730 | /// WARNING: this doesn't work in Mono. See https://bugzilla.novell.com/show_bug.cgi?id=571691 |
2731 | /// | 2731 | /// |
2732 | /// </remarks> | 2732 | /// </remarks> |
2733 | /// <returns>The stack trace, or null if failed to get it</returns> | 2733 | /// <returns>The stack trace, or null if failed to get it</returns> |
2734 | private static StackTrace GetStackTrace(Thread targetThread) | 2734 | private static StackTrace GetStackTrace(Thread targetThread) |
@@ -2829,7 +2829,7 @@ namespace OpenSim.Framework | |||
2829 | /// <summary> | 2829 | /// <summary> |
2830 | /// Environment.TickCount is an int but it counts all 32 bits so it goes positive | 2830 | /// Environment.TickCount is an int but it counts all 32 bits so it goes positive |
2831 | /// and negative every 24.9 days. This trims down TickCount so it doesn't wrap | 2831 | /// and negative every 24.9 days. This trims down TickCount so it doesn't wrap |
2832 | /// for the callers. | 2832 | /// for the callers. |
2833 | /// This trims it to a 12 day interval so don't let your frame time get too long. | 2833 | /// This trims it to a 12 day interval so don't let your frame time get too long. |
2834 | /// </summary> | 2834 | /// </summary> |
2835 | /// <returns></returns> | 2835 | /// <returns></returns> |
@@ -3186,7 +3186,7 @@ namespace OpenSim.Framework | |||
3186 | if (parts.Length == 2) | 3186 | if (parts.Length == 2) |
3187 | return CalcUniversalIdentifier(id, agentsURI, parts[0] + " " + parts[1]); | 3187 | return CalcUniversalIdentifier(id, agentsURI, parts[0] + " " + parts[1]); |
3188 | } | 3188 | } |
3189 | 3189 | ||
3190 | return CalcUniversalIdentifier(id, agentsURI, firstName + " " + lastName); | 3190 | return CalcUniversalIdentifier(id, agentsURI, firstName + " " + lastName); |
3191 | } | 3191 | } |
3192 | 3192 | ||
@@ -3286,10 +3286,10 @@ namespace OpenSim.Framework | |||
3286 | 3286 | ||
3287 | public virtual int Count | 3287 | public virtual int Count |
3288 | { | 3288 | { |
3289 | get | 3289 | get |
3290 | { | 3290 | { |
3291 | lock (m_syncRoot) | 3291 | lock (m_syncRoot) |
3292 | return m_highQueue.Count + m_lowQueue.Count; | 3292 | return m_highQueue.Count + m_lowQueue.Count; |
3293 | } | 3293 | } |
3294 | } | 3294 | } |
3295 | 3295 | ||
diff --git a/OpenSim/Framework/VersionInfo.cs b/OpenSim/Framework/VersionInfo.cs index 7bb0351..1e6efe5 100644 --- a/OpenSim/Framework/VersionInfo.cs +++ b/OpenSim/Framework/VersionInfo.cs | |||
@@ -58,10 +58,10 @@ namespace OpenSim | |||
58 | } | 58 | } |
59 | 59 | ||
60 | public const int VERSIONINFO_VERSION_LENGTH = 27; | 60 | public const int VERSIONINFO_VERSION_LENGTH = 27; |
61 | 61 | ||
62 | /// <value> | 62 | /// <value> |
63 | /// This is the external interface version. It is separate from the OpenSimulator project version. | 63 | /// This is the external interface version. It is separate from the OpenSimulator project version. |
64 | /// | 64 | /// |
65 | /// </value> | 65 | /// </value> |
66 | /// Commented because it's not used anymore, see below for new | 66 | /// Commented because it's not used anymore, see below for new |
67 | /// versioning method. | 67 | /// versioning method. |
@@ -70,18 +70,18 @@ namespace OpenSim | |||
70 | /// <summary> | 70 | /// <summary> |
71 | /// This rules versioning regarding teleports, and compatibility between simulators in that regard. | 71 | /// This rules versioning regarding teleports, and compatibility between simulators in that regard. |
72 | /// </summary> | 72 | /// </summary> |
73 | /// | 73 | /// |
74 | /// <remarks> | 74 | /// <remarks> |
75 | /// The protocol version that we will use for outgoing transfers | 75 | /// The protocol version that we will use for outgoing transfers |
76 | /// Valid values are | 76 | /// Valid values are |
77 | /// "SIMULATION/0.3" | 77 | /// "SIMULATION/0.3" |
78 | /// - This is the latest, and it supports teleports to variable-sized regions | 78 | /// - This is the latest, and it supports teleports to variable-sized regions |
79 | /// - Older versions can teleport to this one, but only if the destination region | 79 | /// - Older versions can teleport to this one, but only if the destination region |
80 | /// is 256x256 | 80 | /// is 256x256 |
81 | /// "SIMULATION/0.2" | 81 | /// "SIMULATION/0.2" |
82 | /// - A source simulator which only implements "SIMULATION/0.1" can still teleport here | 82 | /// - A source simulator which only implements "SIMULATION/0.1" can still teleport here |
83 | /// - this protocol is more efficient than "SIMULATION/0.1" | 83 | /// - this protocol is more efficient than "SIMULATION/0.1" |
84 | /// "SIMULATION/0.1" | 84 | /// "SIMULATION/0.1" |
85 | /// - this is an older teleport protocol used in OpenSimulator 0.7.5 and before. | 85 | /// - this is an older teleport protocol used in OpenSimulator 0.7.5 and before. |
86 | /// </remarks> | 86 | /// </remarks> |
87 | public readonly static float SimulationServiceVersionAcceptedMin = 0.3f; | 87 | public readonly static float SimulationServiceVersionAcceptedMin = 0.3f; |
diff --git a/OpenSim/Framework/WearableCacheItem.cs b/OpenSim/Framework/WearableCacheItem.cs index 966a6bc..ccaf69e 100644 --- a/OpenSim/Framework/WearableCacheItem.cs +++ b/OpenSim/Framework/WearableCacheItem.cs | |||
@@ -47,7 +47,7 @@ namespace OpenSim.Framework | |||
47 | WearableCacheItem[] retitems = new WearableCacheItem[itemmax]; | 47 | WearableCacheItem[] retitems = new WearableCacheItem[itemmax]; |
48 | for (uint i=0;i<itemmax;i++) | 48 | for (uint i=0;i<itemmax;i++) |
49 | retitems[i] = new WearableCacheItem() {CacheId = UUID.Zero, TextureID = UUID.Zero, TextureIndex = i}; | 49 | retitems[i] = new WearableCacheItem() {CacheId = UUID.Zero, TextureID = UUID.Zero, TextureIndex = i}; |
50 | return retitems; | 50 | return retitems; |
51 | } | 51 | } |
52 | 52 | ||
53 | public static WearableCacheItem[] FromOSD(OSD pInput, IAssetCache dataCache) | 53 | public static WearableCacheItem[] FromOSD(OSD pInput, IAssetCache dataCache) |
@@ -64,7 +64,7 @@ namespace OpenSim.Framework | |||
64 | CacheId = item["cacheid"].AsUUID(), | 64 | CacheId = item["cacheid"].AsUUID(), |
65 | TextureID = item["textureid"].AsUUID() | 65 | TextureID = item["textureid"].AsUUID() |
66 | }); | 66 | }); |
67 | 67 | ||
68 | if (dataCache != null && item.ContainsKey("assetdata")) | 68 | if (dataCache != null && item.ContainsKey("assetdata")) |
69 | { | 69 | { |
70 | AssetBase asset = new AssetBase(item["textureid"].AsUUID(),"BakedTexture",(sbyte)AssetType.Texture,UUID.Zero.ToString()); | 70 | AssetBase asset = new AssetBase(item["textureid"].AsUUID(),"BakedTexture",(sbyte)AssetType.Texture,UUID.Zero.ToString()); |
@@ -181,7 +181,7 @@ namespace OpenSim.Framework | |||
181 | pcache[idx].TextureAsset = asset; | 181 | pcache[idx].TextureAsset = asset; |
182 | } | 182 | } |
183 | else | 183 | else |
184 | */ | 184 | */ |
185 | pcache[idx].TextureAsset = null; | 185 | pcache[idx].TextureAsset = null; |
186 | } | 186 | } |
187 | } | 187 | } |
diff --git a/OpenSim/Framework/WebUtil.cs b/OpenSim/Framework/WebUtil.cs index f927e69..12f58fe 100644 --- a/OpenSim/Framework/WebUtil.cs +++ b/OpenSim/Framework/WebUtil.cs | |||
@@ -247,7 +247,7 @@ namespace OpenSim.Framework | |||
247 | request.MaximumAutomaticRedirections = 10; | 247 | request.MaximumAutomaticRedirections = 10; |
248 | request.ReadWriteTimeout = timeout / 4; | 248 | request.ReadWriteTimeout = timeout / 4; |
249 | request.Headers[OSHeaderRequestID] = reqnum.ToString(); | 249 | request.Headers[OSHeaderRequestID] = reqnum.ToString(); |
250 | 250 | ||
251 | // If there is some input, write it into the request | 251 | // If there is some input, write it into the request |
252 | if (data != null) | 252 | if (data != null) |
253 | { | 253 | { |
@@ -261,7 +261,7 @@ namespace OpenSim.Framework | |||
261 | byte[] buffer = System.Text.Encoding.UTF8.GetBytes(strBuffer); | 261 | byte[] buffer = System.Text.Encoding.UTF8.GetBytes(strBuffer); |
262 | 262 | ||
263 | request.ContentType = rpc ? "application/json-rpc" : "application/json"; | 263 | request.ContentType = rpc ? "application/json-rpc" : "application/json"; |
264 | 264 | ||
265 | if (compressed) | 265 | if (compressed) |
266 | { | 266 | { |
267 | request.Headers["X-Content-Encoding"] = "gzip"; // can't set "Content-Encoding" because old OpenSims fail if they get an unrecognized Content-Encoding | 267 | request.Headers["X-Content-Encoding"] = "gzip"; // can't set "Content-Encoding" because old OpenSims fail if they get an unrecognized Content-Encoding |
@@ -294,7 +294,7 @@ namespace OpenSim.Framework | |||
294 | requestStream.Write(buffer, 0, buffer.Length); //Send it | 294 | requestStream.Write(buffer, 0, buffer.Length); //Send it |
295 | } | 295 | } |
296 | } | 296 | } |
297 | 297 | ||
298 | // capture how much time was spent writing, this may seem silly | 298 | // capture how much time was spent writing, this may seem silly |
299 | // but with the number concurrent requests, this often blocks | 299 | // but with the number concurrent requests, this often blocks |
300 | tickdata = Util.EnvironmentTickCountSubtract(tickstart); | 300 | tickdata = Util.EnvironmentTickCountSubtract(tickstart); |
@@ -354,7 +354,7 @@ namespace OpenSim.Framework | |||
354 | reqnum, tickdiff, tickdata); | 354 | reqnum, tickdiff, tickdata); |
355 | } | 355 | } |
356 | } | 356 | } |
357 | 357 | ||
358 | m_log.DebugFormat( | 358 | m_log.DebugFormat( |
359 | "[LOGHTTP]: JSON-RPC request {0} {1} to {2} FAILED: {3}", reqnum, method, url, errorMessage); | 359 | "[LOGHTTP]: JSON-RPC request {0} {1} to {2} FAILED: {3}", reqnum, method, url, errorMessage); |
360 | 360 | ||
@@ -378,7 +378,7 @@ namespace OpenSim.Framework | |||
378 | result["success"] = OSD.FromBoolean(true); | 378 | result["success"] = OSD.FromBoolean(true); |
379 | result["_RawResult"] = OSD.FromString(response); | 379 | result["_RawResult"] = OSD.FromString(response); |
380 | result["_Result"] = new OSDMap(); | 380 | result["_Result"] = new OSDMap(); |
381 | 381 | ||
382 | if (response.Equals("true",System.StringComparison.OrdinalIgnoreCase)) | 382 | if (response.Equals("true",System.StringComparison.OrdinalIgnoreCase)) |
383 | return result; | 383 | return result; |
384 | 384 | ||
@@ -389,7 +389,7 @@ namespace OpenSim.Framework | |||
389 | return result; | 389 | return result; |
390 | } | 390 | } |
391 | 391 | ||
392 | try | 392 | try |
393 | { | 393 | { |
394 | OSD responseOSD = OSDParser.Deserialize(response); | 394 | OSD responseOSD = OSDParser.Deserialize(response); |
395 | if (responseOSD.Type == OSDType.Map) | 395 | if (responseOSD.Type == OSDType.Map) |
@@ -403,10 +403,10 @@ namespace OpenSim.Framework | |||
403 | // don't need to treat this as an error... we're just guessing anyway | 403 | // don't need to treat this as an error... we're just guessing anyway |
404 | // m_log.DebugFormat("[WEB UTIL] couldn't decode <{0}>: {1}",response,e.Message); | 404 | // m_log.DebugFormat("[WEB UTIL] couldn't decode <{0}>: {1}",response,e.Message); |
405 | } | 405 | } |
406 | 406 | ||
407 | return result; | 407 | return result; |
408 | } | 408 | } |
409 | 409 | ||
410 | #endregion JSONRequest | 410 | #endregion JSONRequest |
411 | 411 | ||
412 | #region FormRequest | 412 | #region FormRequest |
@@ -419,7 +419,7 @@ namespace OpenSim.Framework | |||
419 | { | 419 | { |
420 | return ServiceFormRequest(url,data, 30000); | 420 | return ServiceFormRequest(url,data, 30000); |
421 | } | 421 | } |
422 | 422 | ||
423 | public static OSDMap ServiceFormRequest(string url, NameValueCollection data, int timeout) | 423 | public static OSDMap ServiceFormRequest(string url, NameValueCollection data, int timeout) |
424 | { | 424 | { |
425 | lock (EndPointLock(url)) | 425 | lock (EndPointLock(url)) |
@@ -436,7 +436,7 @@ namespace OpenSim.Framework | |||
436 | if (DebugLevel >= 3) | 436 | if (DebugLevel >= 3) |
437 | m_log.DebugFormat("[LOGHTTP]: HTTP OUT {0} ServiceForm '{1}' to {2}", | 437 | m_log.DebugFormat("[LOGHTTP]: HTTP OUT {0} ServiceForm '{1}' to {2}", |
438 | reqnum, method, url); | 438 | reqnum, method, url); |
439 | 439 | ||
440 | string errorMessage = "unknown error"; | 440 | string errorMessage = "unknown error"; |
441 | int tickstart = Util.EnvironmentTickCount(); | 441 | int tickstart = Util.EnvironmentTickCount(); |
442 | int tickdata = 0; | 442 | int tickdata = 0; |
@@ -451,7 +451,7 @@ namespace OpenSim.Framework | |||
451 | request.MaximumAutomaticRedirections = 10; | 451 | request.MaximumAutomaticRedirections = 10; |
452 | request.ReadWriteTimeout = timeout / 4; | 452 | request.ReadWriteTimeout = timeout / 4; |
453 | request.Headers[OSHeaderRequestID] = reqnum.ToString(); | 453 | request.Headers[OSHeaderRequestID] = reqnum.ToString(); |
454 | 454 | ||
455 | if (data != null) | 455 | if (data != null) |
456 | { | 456 | { |
457 | queryString = BuildQueryString(data); | 457 | queryString = BuildQueryString(data); |
@@ -460,7 +460,7 @@ namespace OpenSim.Framework | |||
460 | LogOutgoingDetail("SEND", reqnum, queryString); | 460 | LogOutgoingDetail("SEND", reqnum, queryString); |
461 | 461 | ||
462 | byte[] buffer = System.Text.Encoding.UTF8.GetBytes(queryString); | 462 | byte[] buffer = System.Text.Encoding.UTF8.GetBytes(queryString); |
463 | 463 | ||
464 | request.ContentLength = buffer.Length; | 464 | request.ContentLength = buffer.Length; |
465 | request.ContentType = "application/x-www-form-urlencoded"; | 465 | request.ContentType = "application/x-www-form-urlencoded"; |
466 | using (Stream requestStream = request.GetRequestStream()) | 466 | using (Stream requestStream = request.GetRequestStream()) |
@@ -538,7 +538,7 @@ namespace OpenSim.Framework | |||
538 | } | 538 | } |
539 | 539 | ||
540 | #endregion FormRequest | 540 | #endregion FormRequest |
541 | 541 | ||
542 | #region Uri | 542 | #region Uri |
543 | 543 | ||
544 | /// <summary> | 544 | /// <summary> |
@@ -591,7 +591,7 @@ namespace OpenSim.Framework | |||
591 | } | 591 | } |
592 | 592 | ||
593 | /// <summary> | 593 | /// <summary> |
594 | /// Appends a query string to a Uri that may or may not have existing | 594 | /// Appends a query string to a Uri that may or may not have existing |
595 | /// query parameters | 595 | /// query parameters |
596 | /// </summary> | 596 | /// </summary> |
597 | /// <param name="uri">Uri to append the query to</param> | 597 | /// <param name="uri">Uri to append the query to</param> |
@@ -643,7 +643,7 @@ namespace OpenSim.Framework | |||
643 | } | 643 | } |
644 | 644 | ||
645 | /// <summary> | 645 | /// <summary> |
646 | /// | 646 | /// |
647 | /// </summary> | 647 | /// </summary> |
648 | /// <param name="collection"></param> | 648 | /// <param name="collection"></param> |
649 | /// <param name="key"></param> | 649 | /// <param name="key"></param> |
@@ -662,12 +662,12 @@ namespace OpenSim.Framework | |||
662 | #region Stream | 662 | #region Stream |
663 | 663 | ||
664 | /// <summary> | 664 | /// <summary> |
665 | /// Copies the contents of one stream to another, starting at the | 665 | /// Copies the contents of one stream to another, starting at the |
666 | /// current position of each stream | 666 | /// current position of each stream |
667 | /// </summary> | 667 | /// </summary> |
668 | /// <param name="copyFrom">The stream to copy from, at the position | 668 | /// <param name="copyFrom">The stream to copy from, at the position |
669 | /// where copying should begin</param> | 669 | /// where copying should begin</param> |
670 | /// <param name="copyTo">The stream to copy to, at the position where | 670 | /// <param name="copyTo">The stream to copy to, at the position where |
671 | /// bytes should be written</param> | 671 | /// bytes should be written</param> |
672 | /// <param name="maximumBytesToCopy">The maximum bytes to copy</param> | 672 | /// <param name="maximumBytesToCopy">The maximum bytes to copy</param> |
673 | /// <returns>The total number of bytes copied</returns> | 673 | /// <returns>The total number of bytes copied</returns> |
@@ -811,7 +811,7 @@ namespace OpenSim.Framework | |||
811 | /// </param> | 811 | /// </param> |
812 | /// <param name="maxConnections"></param> | 812 | /// <param name="maxConnections"></param> |
813 | /// <returns> | 813 | /// <returns> |
814 | /// The response. If there was an internal exception or the request timed out, | 814 | /// The response. If there was an internal exception or the request timed out, |
815 | /// then the default(TResponse) is returned. | 815 | /// then the default(TResponse) is returned. |
816 | /// </returns> | 816 | /// </returns> |
817 | public static void MakeRequest<TRequest, TResponse>(string verb, | 817 | public static void MakeRequest<TRequest, TResponse>(string verb, |
@@ -909,7 +909,7 @@ namespace OpenSim.Framework | |||
909 | // If the server returns a 404, this appears to trigger a System.Net.WebException even though that isn't | 909 | // If the server returns a 404, this appears to trigger a System.Net.WebException even though that isn't |
910 | // documented in MSDN | 910 | // documented in MSDN |
911 | using (WebResponse response = request.EndGetResponse(res2)) | 911 | using (WebResponse response = request.EndGetResponse(res2)) |
912 | { | 912 | { |
913 | try | 913 | try |
914 | { | 914 | { |
915 | using (Stream respStream = response.GetResponseStream()) | 915 | using (Stream respStream = response.GetResponseStream()) |
@@ -930,7 +930,7 @@ namespace OpenSim.Framework | |||
930 | if (e.Response is HttpWebResponse) | 930 | if (e.Response is HttpWebResponse) |
931 | { | 931 | { |
932 | using (HttpWebResponse httpResponse = (HttpWebResponse)e.Response) | 932 | using (HttpWebResponse httpResponse = (HttpWebResponse)e.Response) |
933 | { | 933 | { |
934 | if (httpResponse.StatusCode != HttpStatusCode.NotFound) | 934 | if (httpResponse.StatusCode != HttpStatusCode.NotFound) |
935 | { | 935 | { |
936 | // We don't appear to be handling any other status codes, so log these feailures to that | 936 | // We don't appear to be handling any other status codes, so log these feailures to that |
@@ -955,7 +955,7 @@ namespace OpenSim.Framework | |||
955 | "[ASYNC REQUEST]: Request {0} {1} failed with exception {2}{3}", | 955 | "[ASYNC REQUEST]: Request {0} {1} failed with exception {2}{3}", |
956 | verb, requestUrl, e.Message, e.StackTrace); | 956 | verb, requestUrl, e.Message, e.StackTrace); |
957 | } | 957 | } |
958 | 958 | ||
959 | // m_log.DebugFormat("[ASYNC REQUEST]: Received {0}", deserial.ToString()); | 959 | // m_log.DebugFormat("[ASYNC REQUEST]: Received {0}", deserial.ToString()); |
960 | 960 | ||
961 | try | 961 | try |
@@ -968,7 +968,7 @@ namespace OpenSim.Framework | |||
968 | "[ASYNC REQUEST]: Request {0} {1} callback failed with exception {2}{3}", | 968 | "[ASYNC REQUEST]: Request {0} {1} callback failed with exception {2}{3}", |
969 | verb, requestUrl, e.Message, e.StackTrace); | 969 | verb, requestUrl, e.Message, e.StackTrace); |
970 | } | 970 | } |
971 | 971 | ||
972 | }, null); | 972 | }, null); |
973 | } | 973 | } |
974 | 974 | ||
@@ -997,7 +997,7 @@ namespace OpenSim.Framework | |||
997 | } | 997 | } |
998 | } | 998 | } |
999 | finally | 999 | finally |
1000 | { | 1000 | { |
1001 | if (buffer != null) | 1001 | if (buffer != null) |
1002 | buffer.Dispose(); | 1002 | buffer.Dispose(); |
1003 | } | 1003 | } |
@@ -1168,7 +1168,7 @@ namespace OpenSim.Framework | |||
1168 | /// Request timeout in milliseconds. Timeout.Infinite indicates no timeout. If 0 is passed then the default HttpWebRequest timeout is used (100 seconds) | 1168 | /// Request timeout in milliseconds. Timeout.Infinite indicates no timeout. If 0 is passed then the default HttpWebRequest timeout is used (100 seconds) |
1169 | /// </param> | 1169 | /// </param> |
1170 | /// <returns> | 1170 | /// <returns> |
1171 | /// The response. If there was an internal exception or the request timed out, | 1171 | /// The response. If there was an internal exception or the request timed out, |
1172 | /// then the default(TResponse) is returned. | 1172 | /// then the default(TResponse) is returned. |
1173 | /// </returns> | 1173 | /// </returns> |
1174 | public static TResponse MakeRequest<TRequest, TResponse>(string verb, string requestUrl, TRequest obj, int pTimeout) | 1174 | public static TResponse MakeRequest<TRequest, TResponse>(string verb, string requestUrl, TRequest obj, int pTimeout) |
@@ -1191,7 +1191,7 @@ namespace OpenSim.Framework | |||
1191 | /// </param> | 1191 | /// </param> |
1192 | /// <param name="maxConnections"></param> | 1192 | /// <param name="maxConnections"></param> |
1193 | /// <returns> | 1193 | /// <returns> |
1194 | /// The response. If there was an internal exception or the request timed out, | 1194 | /// The response. If there was an internal exception or the request timed out, |
1195 | /// then the default(TResponse) is returned. | 1195 | /// then the default(TResponse) is returned. |
1196 | /// </returns> | 1196 | /// </returns> |
1197 | public static TResponse MakeRequest<TRequest, TResponse>(string verb, string requestUrl, TRequest obj, int pTimeout, int maxConnections) | 1197 | public static TResponse MakeRequest<TRequest, TResponse>(string verb, string requestUrl, TRequest obj, int pTimeout, int maxConnections) |
@@ -1210,7 +1210,7 @@ namespace OpenSim.Framework | |||
1210 | /// </param> | 1210 | /// </param> |
1211 | /// <param name="maxConnections"></param> | 1211 | /// <param name="maxConnections"></param> |
1212 | /// <returns> | 1212 | /// <returns> |
1213 | /// The response. If there was an internal exception or the request timed out, | 1213 | /// The response. If there was an internal exception or the request timed out, |
1214 | /// then the default(TResponse) is returned. | 1214 | /// then the default(TResponse) is returned. |
1215 | /// </returns> | 1215 | /// </returns> |
1216 | public static TResponse MakeRequest<TRequest, TResponse>(string verb, string requestUrl, TRequest obj, int pTimeout, int maxConnections, IServiceAuth auth) | 1216 | public static TResponse MakeRequest<TRequest, TResponse>(string verb, string requestUrl, TRequest obj, int pTimeout, int maxConnections, IServiceAuth auth) |
@@ -1375,7 +1375,7 @@ namespace OpenSim.Framework | |||
1375 | 1375 | ||
1376 | return deserial; | 1376 | return deserial; |
1377 | } | 1377 | } |
1378 | 1378 | ||
1379 | public static class XMLResponseHelper | 1379 | public static class XMLResponseHelper |
1380 | { | 1380 | { |
1381 | public static TResponse LogAndDeserialize<TRequest, TResponse>(int reqnum, Stream respStream, long contentLength) | 1381 | public static TResponse LogAndDeserialize<TRequest, TResponse>(int reqnum, Stream respStream, long contentLength) |
@@ -1400,7 +1400,7 @@ namespace OpenSim.Framework | |||
1400 | } | 1400 | } |
1401 | } | 1401 | } |
1402 | 1402 | ||
1403 | 1403 | ||
1404 | public static class XMLRPCRequester | 1404 | public static class XMLRPCRequester |
1405 | { | 1405 | { |
1406 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); | 1406 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); |
@@ -1444,7 +1444,7 @@ namespace OpenSim.Framework | |||
1444 | { | 1444 | { |
1445 | m_log.Error("Error parsing XML-RPC response", e); | 1445 | m_log.Error("Error parsing XML-RPC response", e); |
1446 | } | 1446 | } |
1447 | 1447 | ||
1448 | if (Resp.IsFault) | 1448 | if (Resp.IsFault) |
1449 | { | 1449 | { |
1450 | m_log.DebugFormat( | 1450 | m_log.DebugFormat( |