From b10710d4a5f7fb33ee9b90aefac16ac3d4647db6 Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Wed, 7 Aug 2013 23:17:31 +0100
Subject: minor: add some method doc to ScenePresence fields used for entity
transfer, add minor details to some log messages, rename a misleading local
variable name.
No functional changes.
---
OpenSim/Framework/ChildAgentDataUpdate.cs | 6 ++++++
1 file changed, 6 insertions(+)
(limited to 'OpenSim/Framework')
diff --git a/OpenSim/Framework/ChildAgentDataUpdate.cs b/OpenSim/Framework/ChildAgentDataUpdate.cs
index 1c5f558..18d008c 100644
--- a/OpenSim/Framework/ChildAgentDataUpdate.cs
+++ b/OpenSim/Framework/ChildAgentDataUpdate.cs
@@ -287,6 +287,12 @@ namespace OpenSim.Framework
public Vector3 AtAxis;
public Vector3 LeftAxis;
public Vector3 UpAxis;
+
+ ///
+ /// Signal on a V2 teleport that Scene.IncomingChildAgentDataUpdate(AgentData ad) should wait for the
+ /// scene presence to become root (triggered when the viewer sends a CompleteAgentMovement UDP packet after
+ /// establishing the connection triggered by it's receipt of a TeleportFinish EQ message).
+ ///
public bool SenderWantsToWaitForRoot;
public float Far;
--
cgit v1.1
From e4da8d74d8b0e04a5439638c8868367d4b20050f Mon Sep 17 00:00:00 2001
From: Kevin Cozens
Date: Mon, 5 Aug 2013 19:28:11 -0400
Subject: Additional regression tests for the location routines in Location.cs
---
OpenSim/Framework/Tests/LocationTest.cs | 7 +++++++
1 file changed, 7 insertions(+)
(limited to 'OpenSim/Framework')
diff --git a/OpenSim/Framework/Tests/LocationTest.cs b/OpenSim/Framework/Tests/LocationTest.cs
index af5f164..3d5d1d2 100644
--- a/OpenSim/Framework/Tests/LocationTest.cs
+++ b/OpenSim/Framework/Tests/LocationTest.cs
@@ -55,11 +55,18 @@ namespace OpenSim.Framework.Tests
Location TestLocation2 = new Location(1095216660736000);
Assert.That(TestLocation1 == TestLocation2);
+ Assert.That(TestLocation1.X == 255000 && TestLocation1.Y == 256000, "Test xy location doesn't match position in the constructor");
Assert.That(TestLocation2.X == 255000 && TestLocation2.Y == 256000, "Test xy location doesn't match regionhandle provided");
Assert.That(TestLocation2.RegionHandle == 1095216660736000,
"Location RegionHandle Property didn't match regionhandle provided in constructor");
+ ulong RegionHandle = TestLocation1.RegionHandle;
+ Assert.That(RegionHandle.Equals(1095216660736000), "Equals(regionhandle) failed to match the position in the constructor");
+
+ TestLocation2 = new Location(RegionHandle);
+ Assert.That(TestLocation2.Equals(255000, 256000), "Decoded regionhandle failed to match the original position in the constructor");
+
TestLocation1 = new Location(255001, 256001);
TestLocation2 = new Location(1095216660736000);
--
cgit v1.1
From 43da879ea2123707190875fe2615e01be19ecced Mon Sep 17 00:00:00 2001
From: Kevin Cozens
Date: Mon, 5 Aug 2013 19:29:38 -0400
Subject: Added regression tests for the routines related to fake parcel IDs.
---
OpenSim/Framework/Tests/UtilTest.cs | 84 +++++++++++++++++++++++++++++++++++++
1 file changed, 84 insertions(+)
(limited to 'OpenSim/Framework')
diff --git a/OpenSim/Framework/Tests/UtilTest.cs b/OpenSim/Framework/Tests/UtilTest.cs
index 11ca068..c83651c 100644
--- a/OpenSim/Framework/Tests/UtilTest.cs
+++ b/OpenSim/Framework/Tests/UtilTest.cs
@@ -282,5 +282,89 @@ namespace OpenSim.Framework.Tests
String.Format("Incorrect InventoryType mapped from Content-Type {0}", invcontenttypes[i]));
}
}
+
+ [Test]
+ public void FakeParcelIDTests()
+ {
+ byte[] hexBytes8 = { 0xfe, 0xdc, 0xba, 0x98, 0x76, 0x54, 0x32, 0x10 };
+ byte[] hexBytes16 = {
+ 0xf0, 0xe1, 0xd2, 0xc3, 0xb4, 0xa5, 0x96, 0x87,
+ 0x77, 0x69, 0x5a, 0x4b, 0x3c, 0x2d, 0x1e, 0x0f };
+ UInt64 var64Bit = (UInt64)0xfedcba9876543210;
+
+ //Region handle is for location 255000,256000.
+ ulong regionHandle1 = 1095216660736000;
+ uint x1 = 100;
+ uint y1 = 200;
+ uint z1 = 22;
+ ulong regionHandle2;
+ uint x2, y2, z2;
+ UUID fakeParcelID1, fakeParcelID2, uuid;
+
+ ulong bigInt64 = Util.BytesToUInt64Big(hexBytes8);
+ Assert.AreEqual(var64Bit, bigInt64,
+ "BytesToUint64Bit conversion of 8 bytes to UInt64 failed.");
+
+ //Test building and decoding using some typical input values
+ fakeParcelID1 = Util.BuildFakeParcelID(regionHandle1, x1, y1);
+ Util.ParseFakeParcelID(fakeParcelID1, out regionHandle2, out x2, out y2);
+ Assert.AreEqual(regionHandle1, regionHandle2,
+ "region handle decoded from FakeParcelID wth X/Y failed.");
+ Assert.AreEqual(x1, x2,
+ "X coordinate decoded from FakeParcelID wth X/Y failed.");
+ Assert.AreEqual(y1, y2,
+ "Y coordinate decoded from FakeParcelID wth X/Y failed.");
+
+ fakeParcelID1 = Util.BuildFakeParcelID(regionHandle1, x1, y1, z1);
+ Util.ParseFakeParcelID(fakeParcelID1, out regionHandle2, out x2, out y2, out z2);
+ Assert.AreEqual(regionHandle1, regionHandle2,
+ "region handle decoded from FakeParcelID with X/Y/Z failed.");
+ Assert.AreEqual(x1, x2,
+ "X coordinate decoded from FakeParcelID with X/Y/Z failed.");
+ Assert.AreEqual(y1, y2,
+ "Y coordinate decoded from FakeParcelID with X/Y/Z failed.");
+ Assert.AreEqual(z1, z2,
+ "Z coordinate decoded from FakeParcelID with X/Y/Z failed.");
+
+ //Do some more extreme tests to check the encoding and decoding
+ x1 = 0x55aa;
+ y1 = 0x9966;
+ z1 = 0x5a96;
+
+ fakeParcelID1 = Util.BuildFakeParcelID(var64Bit, x1, y1);
+ Util.ParseFakeParcelID(fakeParcelID1, out regionHandle2, out x2, out y2);
+ Assert.AreEqual(var64Bit, regionHandle2,
+ "region handle decoded from FakeParcelID with X/Y/Z failed.");
+ Assert.AreEqual(x1, x2,
+ "X coordinate decoded from FakeParcelID with X/Y/Z failed.");
+ Assert.AreEqual(y1, y2,
+ "Y coordinate decoded from FakeParcelID with X/Y/Z failed.");
+
+ fakeParcelID1 = Util.BuildFakeParcelID(var64Bit, x1, y1, z1);
+ Util.ParseFakeParcelID(fakeParcelID1, out regionHandle2, out x2, out y2, out z2);
+ Assert.AreEqual(var64Bit, regionHandle2,
+ "region handle decoded from FakeParcelID with X/Y/Z failed.");
+ Assert.AreEqual(x1, x2,
+ "X coordinate decoded from FakeParcelID with X/Y/Z failed.");
+ Assert.AreEqual(y1, y2,
+ "Y coordinate decoded from FakeParcelID with X/Y/Z failed.");
+ Assert.AreEqual(z1, z2,
+ "Z coordinate decoded from FakeParcelID with X/Y/Z failed.");
+
+
+ x1 = 64;
+ y1 = 192;
+ fakeParcelID1 = Util.BuildFakeParcelID(regionHandle1, x1, y1);
+ Util.FakeParcelIDToGlobalPosition(fakeParcelID1, out x2, out y2);
+ Assert.AreEqual(255000+x1, x2,
+ "Global X coordinate decoded from regionHandle failed.");
+ Assert.AreEqual(256000+y1, y2,
+ "Global Y coordinate decoded from regionHandle failed.");
+
+ uuid = new UUID("00dd0700-00d1-0700-3800-000032000000");
+ Util.FakeParcelIDToGlobalPosition(uuid, out x2, out y2);
+System.Console.WriteLine("uuid: " + uuid);
+System.Console.WriteLine("x2/y2: " + x2 + "," + y2);
+ }
}
}
--
cgit v1.1
From 64216b34a49377f6999f6d2cf624d3c537d3f9d5 Mon Sep 17 00:00:00 2001
From: Kevin Cozens
Date: Mon, 5 Aug 2013 19:30:46 -0400
Subject: Fixed error in BuildFakeParcelID() which was detected by regression
tests.
---
OpenSim/Framework/Util.cs | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
(limited to 'OpenSim/Framework')
diff --git a/OpenSim/Framework/Util.cs b/OpenSim/Framework/Util.cs
index 6a15734..f0e5bc1 100644
--- a/OpenSim/Framework/Util.cs
+++ b/OpenSim/Framework/Util.cs
@@ -1247,7 +1247,7 @@ namespace OpenSim.Framework
byte[] bytes =
{
(byte)regionHandle, (byte)(regionHandle >> 8), (byte)(regionHandle >> 16), (byte)(regionHandle >> 24),
- (byte)(regionHandle >> 32), (byte)(regionHandle >> 40), (byte)(regionHandle >> 48), (byte)(regionHandle << 56),
+ (byte)(regionHandle >> 32), (byte)(regionHandle >> 40), (byte)(regionHandle >> 48), (byte)(regionHandle >> 56),
(byte)x, (byte)(x >> 8), 0, 0,
(byte)y, (byte)(y >> 8), 0, 0 };
return new UUID(bytes, 0);
@@ -1258,7 +1258,7 @@ namespace OpenSim.Framework
byte[] bytes =
{
(byte)regionHandle, (byte)(regionHandle >> 8), (byte)(regionHandle >> 16), (byte)(regionHandle >> 24),
- (byte)(regionHandle >> 32), (byte)(regionHandle >> 40), (byte)(regionHandle >> 48), (byte)(regionHandle << 56),
+ (byte)(regionHandle >> 32), (byte)(regionHandle >> 40), (byte)(regionHandle >> 48), (byte)(regionHandle >> 56),
(byte)x, (byte)(x >> 8), (byte)z, (byte)(z >> 8),
(byte)y, (byte)(y >> 8), 0, 0 };
return new UUID(bytes, 0);
--
cgit v1.1
From ce1361f2fea9c650cc774941b5cd95b14b8f01f5 Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Thu, 8 Aug 2013 01:07:30 +0100
Subject: minor: Remove console lines at bottom of FakeParcelIDTests()
regression test that were accidentally left in
---
OpenSim/Framework/Tests/UtilTest.cs | 2 --
1 file changed, 2 deletions(-)
(limited to 'OpenSim/Framework')
diff --git a/OpenSim/Framework/Tests/UtilTest.cs b/OpenSim/Framework/Tests/UtilTest.cs
index c83651c..3b7f252 100644
--- a/OpenSim/Framework/Tests/UtilTest.cs
+++ b/OpenSim/Framework/Tests/UtilTest.cs
@@ -363,8 +363,6 @@ namespace OpenSim.Framework.Tests
uuid = new UUID("00dd0700-00d1-0700-3800-000032000000");
Util.FakeParcelIDToGlobalPosition(uuid, out x2, out y2);
-System.Console.WriteLine("uuid: " + uuid);
-System.Console.WriteLine("x2/y2: " + x2 + "," + y2);
}
}
}
--
cgit v1.1
From 50c163ae6ca734610694f4edcc109ff0bdc65ba1 Mon Sep 17 00:00:00 2001
From: Robert Adams
Date: Tue, 6 Aug 2013 08:21:16 -0700
Subject: Add a JSON web fetch of the statististics managed by StatsManager.
Disabled by default. Enable by setting
[Startup]ManagedStatsRemoteFetchURI="Something" and thereafter
"http://ServerHTTPPort/Something/" will return all the managed stats
(equivilent to "show stats all" console command). Accepts queries "cat=",
"cont=" and "stat=" to specify statistic category, container and statistic
names. The special name "all" is the default and returns all values in that
group.
---
OpenSim/Framework/Monitoring/StatsManager.cs | 31 ++++++++++++++++++++++++++++
1 file changed, 31 insertions(+)
(limited to 'OpenSim/Framework')
diff --git a/OpenSim/Framework/Monitoring/StatsManager.cs b/OpenSim/Framework/Monitoring/StatsManager.cs
index c8e838c..23c6f18 100644
--- a/OpenSim/Framework/Monitoring/StatsManager.cs
+++ b/OpenSim/Framework/Monitoring/StatsManager.cs
@@ -26,10 +26,12 @@
*/
using System;
+using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
+using OpenSim.Framework;
using OpenMetaverse.StructuredData;
namespace OpenSim.Framework.Monitoring
@@ -262,6 +264,35 @@ namespace OpenSim.Framework.Monitoring
return map;
}
+ public static Hashtable HandleStatsRequest(Hashtable request)
+ {
+ Hashtable responsedata = new Hashtable();
+ string regpath = request["uri"].ToString();
+ int response_code = 200;
+ string contenttype = "text/json";
+
+ string pCategoryName = StatsManager.AllSubCommand;
+ string pContainerName = StatsManager.AllSubCommand;
+ string pStatName = StatsManager.AllSubCommand;
+
+ if (request.ContainsKey("cat")) pCategoryName = request["cat"].ToString();
+ if (request.ContainsKey("cont")) pContainerName = request["cat"].ToString();
+ if (request.ContainsKey("stat")) pStatName = request["cat"].ToString();
+
+ string strOut = StatsManager.GetStatsAsOSDMap(pCategoryName, pContainerName, pStatName).ToString();
+
+ // m_log.DebugFormat("{0} StatFetch: uri={1}, cat={2}, cont={3}, stat={4}, resp={5}",
+ // LogHeader, regpath, pCategoryName, pContainerName, pStatName, strOut);
+
+ responsedata["int_response_code"] = response_code;
+ responsedata["content_type"] = contenttype;
+ responsedata["keepalive"] = false;
+ responsedata["str_response_string"] = strOut;
+ responsedata["access_control_allow_origin"] = "*";
+
+ return responsedata;
+ }
+
// ///
// /// Start collecting statistics related to assets.
// /// Should only be called once.
--
cgit v1.1
From d9bd6e6b5be3100141a3b1202f859c65a302d4ee Mon Sep 17 00:00:00 2001
From: Robert Adams
Date: Thu, 8 Aug 2013 09:41:11 -0700
Subject: Add parameter and explanation of ManagedStats return to
OpenSimDefaults.ini. Add 'callback' query parameter to managed stats return
to return function form of JSON data.
---
OpenSim/Framework/Monitoring/StatsManager.cs | 6 ++++++
1 file changed, 6 insertions(+)
(limited to 'OpenSim/Framework')
diff --git a/OpenSim/Framework/Monitoring/StatsManager.cs b/OpenSim/Framework/Monitoring/StatsManager.cs
index 23c6f18..7cf1fa7 100644
--- a/OpenSim/Framework/Monitoring/StatsManager.cs
+++ b/OpenSim/Framework/Monitoring/StatsManager.cs
@@ -281,6 +281,12 @@ namespace OpenSim.Framework.Monitoring
string strOut = StatsManager.GetStatsAsOSDMap(pCategoryName, pContainerName, pStatName).ToString();
+ // If requestor wants it as a callback function, build response as a function rather than just the JSON string.
+ if (request.ContainsKey("callback"))
+ {
+ strOut = request["callback"].ToString() + "(" + strOut + ");";
+ }
+
// m_log.DebugFormat("{0} StatFetch: uri={1}, cat={2}, cont={3}, stat={4}, resp={5}",
// LogHeader, regpath, pCategoryName, pContainerName, pStatName, strOut);
--
cgit v1.1