From 70a46fe0907c822a5244e36c338bf559ffbec965 Mon Sep 17 00:00:00 2001
From: Diva Canto
Date: Sun, 18 Oct 2015 16:06:31 -0700
Subject: Clean up of simulation version, the number that rules the
compatibility of teleports: - It's not configurable anymore, it's fixed in
code. Each number means an increase in features of the teleport procedure -
Its definition moved to the global VersionInfo class As of now it's still
0.3.
---
.../Simulation/LocalSimulationConnector.cs | 22 ++--------------------
1 file changed, 2 insertions(+), 20 deletions(-)
(limited to 'OpenSim/Region/CoreModules/ServiceConnectorsOut/Simulation')
diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Simulation/LocalSimulationConnector.cs b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Simulation/LocalSimulationConnector.cs
index adf3a91..3800b3f 100644
--- a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Simulation/LocalSimulationConnector.cs
+++ b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Simulation/LocalSimulationConnector.cs
@@ -48,11 +48,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Simulation
///
/// Version of this service.
///
- ///
- /// Currently valid versions are "SIMULATION/0.1" and "SIMULATION/0.2"
- ///
public string ServiceVersion { get; set; }
- private float m_VersionNumber = 0.3f;
///
/// Map region ID to scene.
@@ -85,22 +81,8 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Simulation
public void InitialiseService(IConfigSource configSource)
{
- ServiceVersion = "SIMULATION/0.3";
- IConfig config = configSource.Configs["SimulationService"];
- if (config != null)
- {
- ServiceVersion = config.GetString("ConnectorProtocolVersion", ServiceVersion);
-
- if (ServiceVersion != "SIMULATION/0.1" && ServiceVersion != "SIMULATION/0.2" && ServiceVersion != "SIMULATION/0.3")
- throw new Exception(string.Format("Invalid ConnectorProtocolVersion {0}", ServiceVersion));
-
- string[] versionComponents = ServiceVersion.Split(new char[] { '/' });
- if (versionComponents.Length >= 2)
- float.TryParse(versionComponents[1], out m_VersionNumber);
-
- m_log.InfoFormat(
- "[LOCAL SIMULATION CONNECTOR]: Initialized with connector protocol version {0}", ServiceVersion);
- }
+ ServiceVersion = String.Format("SIMULATION/{0}", VersionInfo.SimulationServiceVersion);
+ m_log.InfoFormat("[LOCAL SIMULATION CONNECTOR]: Initialized with connector protocol version {0}", ServiceVersion);
}
public void PostInitialise()
--
cgit v1.1
From dc6d9eadf33b9a0321664d676030b07b2bd04bed Mon Sep 17 00:00:00 2001
From: Melanie Thielker
Date: Sat, 31 Oct 2015 00:01:35 +0100
Subject: Testing stage of the new versioning system. Use at own risk. May not
work. Will eat your babies. Yada. Yada.
---
.../Simulation/LocalSimulationConnector.cs | 15 ++++-----------
.../Simulation/RemoteSimulationConnector.cs | 8 ++++----
2 files changed, 8 insertions(+), 15 deletions(-)
(limited to 'OpenSim/Region/CoreModules/ServiceConnectorsOut/Simulation')
diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Simulation/LocalSimulationConnector.cs b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Simulation/LocalSimulationConnector.cs
index 3800b3f..32ac992 100644
--- a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Simulation/LocalSimulationConnector.cs
+++ b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Simulation/LocalSimulationConnector.cs
@@ -81,8 +81,6 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Simulation
public void InitialiseService(IConfigSource configSource)
{
- ServiceVersion = String.Format("SIMULATION/{0}", VersionInfo.SimulationServiceVersion);
- m_log.InfoFormat("[LOCAL SIMULATION CONNECTOR]: Initialized with connector protocol version {0}", ServiceVersion);
}
public void PostInitialise()
@@ -251,10 +249,10 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Simulation
return true;
}
- public bool QueryAccess(GridRegion destination, UUID agentID, string agentHomeURI, bool viaTeleport, Vector3 position, string theirversion, List features, out string version, out string reason)
+ public bool QueryAccess(GridRegion destination, UUID agentID, string agentHomeURI, bool viaTeleport, Vector3 position, List features, out float version, out string reason)
{
reason = "Communications failure";
- version = ServiceVersion;
+ version = VersionInfo.SimulationServiceVersionAcceptedMax; // If it's within the process, use max. If it's not, the connector will overwrite this
if (destination == null)
return false;
@@ -265,17 +263,12 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Simulation
// s.RegionInfo.RegionName, destination.RegionHandle);
uint size = m_scenes[destination.RegionID].RegionInfo.RegionSizeX;
- float theirVersionNumber = 0f;
- string[] versionComponents = theirversion.Split(new char[] { '/' });
- if (versionComponents.Length >= 2)
- float.TryParse(versionComponents[1], out theirVersionNumber);
-
// Var regions here, and the requesting simulator is in an older version.
// We will forbide this, because it crashes the viewers
- if (theirVersionNumber < 0.3f && size > 256)
+ if (version < 0.3f && size != 256)
{
reason = "Destination is a variable-sized region, and source is an old simulator. Consider upgrading.";
- m_log.DebugFormat("[LOCAL SIMULATION CONNECTOR]: Request to access this variable-sized region from {0} simulator was denied", theirVersionNumber);
+ m_log.DebugFormat("[LOCAL SIMULATION CONNECTOR]: Request to access this variable-sized region from older simulator was denied");
return false;
}
diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Simulation/RemoteSimulationConnector.cs b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Simulation/RemoteSimulationConnector.cs
index f963242..e2f52c4 100644
--- a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Simulation/RemoteSimulationConnector.cs
+++ b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Simulation/RemoteSimulationConnector.cs
@@ -205,21 +205,21 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Simulation
return m_remoteConnector.UpdateAgent(destination, cAgentData);
}
- public bool QueryAccess(GridRegion destination, UUID agentID, string agentHomeURI, bool viaTeleport, Vector3 position, string sversion, List features, out string version, out string reason)
+ public bool QueryAccess(GridRegion destination, UUID agentID, string agentHomeURI, bool viaTeleport, Vector3 position, List features, out float version, out string reason)
{
reason = "Communications failure";
- version = "Unknown";
+ version = 0f;
if (destination == null)
return false;
// Try local first
- if (m_localBackend.QueryAccess(destination, agentID, agentHomeURI, viaTeleport, position, sversion, features, out version, out reason))
+ if (m_localBackend.QueryAccess(destination, agentID, agentHomeURI, viaTeleport, position, features, out version, out reason))
return true;
// else do the remote thing
if (!m_localBackend.IsLocalRegion(destination.RegionID))
- return m_remoteConnector.QueryAccess(destination, agentID, agentHomeURI, viaTeleport, position, sversion, features, out version, out reason);
+ return m_remoteConnector.QueryAccess(destination, agentID, agentHomeURI, viaTeleport, position, features, out version, out reason);
return false;
}
--
cgit v1.1
From 9232876421cb91dc5550960ab028a6e2f55908be Mon Sep 17 00:00:00 2001
From: UbitUmarov
Date: Sat, 31 Oct 2015 02:05:11 +0000
Subject: let silly tests override version on local connections
---
.../ServiceConnectorsOut/Simulation/LocalSimulationConnector.cs | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
(limited to 'OpenSim/Region/CoreModules/ServiceConnectorsOut/Simulation')
diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Simulation/LocalSimulationConnector.cs b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Simulation/LocalSimulationConnector.cs
index 32ac992..8e212d1 100644
--- a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Simulation/LocalSimulationConnector.cs
+++ b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Simulation/LocalSimulationConnector.cs
@@ -48,7 +48,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Simulation
///
/// Version of this service.
///
- public string ServiceVersion { get; set; }
+ public float ServiceVersion { get; set; }
///
/// Map region ID to scene.
@@ -81,6 +81,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Simulation
public void InitialiseService(IConfigSource configSource)
{
+ ServiceVersion = VersionInfo.SimulationServiceVersionAcceptedMax;
}
public void PostInitialise()
@@ -252,7 +253,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Simulation
public bool QueryAccess(GridRegion destination, UUID agentID, string agentHomeURI, bool viaTeleport, Vector3 position, List features, out float version, out string reason)
{
reason = "Communications failure";
- version = VersionInfo.SimulationServiceVersionAcceptedMax; // If it's within the process, use max. If it's not, the connector will overwrite this
+ version = ServiceVersion; // If it's within the process, use max. If it's not, the connector will overwrite this
if (destination == null)
return false;
--
cgit v1.1
From e8e0ba6d8fbaa1ae7ecb7f1fe224fed6e0caa99a Mon Sep 17 00:00:00 2001
From: Melanie Thielker
Date: Sat, 31 Oct 2015 17:22:27 +0100
Subject: Remove testing cruft that is blocking the new protocols. Unit tests
no longer test TP v1 now. TP v1 will be removed within 6 months anyway.
---
.../ServiceConnectorsOut/Simulation/LocalSimulationConnector.cs | 8 +-------
1 file changed, 1 insertion(+), 7 deletions(-)
(limited to 'OpenSim/Region/CoreModules/ServiceConnectorsOut/Simulation')
diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Simulation/LocalSimulationConnector.cs b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Simulation/LocalSimulationConnector.cs
index 8e212d1..356f778 100644
--- a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Simulation/LocalSimulationConnector.cs
+++ b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Simulation/LocalSimulationConnector.cs
@@ -46,11 +46,6 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Simulation
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
///
- /// Version of this service.
- ///
- public float ServiceVersion { get; set; }
-
- ///
/// Map region ID to scene.
///
private Dictionary m_scenes = new Dictionary();
@@ -81,7 +76,6 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Simulation
public void InitialiseService(IConfigSource configSource)
{
- ServiceVersion = VersionInfo.SimulationServiceVersionAcceptedMax;
}
public void PostInitialise()
@@ -253,7 +247,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Simulation
public bool QueryAccess(GridRegion destination, UUID agentID, string agentHomeURI, bool viaTeleport, Vector3 position, List features, out float version, out string reason)
{
reason = "Communications failure";
- version = ServiceVersion; // If it's within the process, use max. If it's not, the connector will overwrite this
+ version = VersionInfo.SimulationServiceVersionAcceptedMax; // If it's within the process, use max. If it's not, the connector will overwrite this
if (destination == null)
return false;
--
cgit v1.1
From ea56f4f27c6e707b54e0e29d2477ef3af2a8c732 Mon Sep 17 00:00:00 2001
From: Melanie Thielker
Date: Sat, 31 Oct 2015 18:13:02 +0100
Subject: Introduce an EntityTransferContext carrying the version numbers to
pass to all interested functions. Should fix the varregion conditional. Still
a testing version, do NOT use in production!
---
.../ServiceConnectorsOut/Simulation/LocalSimulationConnector.cs | 5 ++---
.../ServiceConnectorsOut/Simulation/RemoteSimulationConnector.cs | 7 +++----
2 files changed, 5 insertions(+), 7 deletions(-)
(limited to 'OpenSim/Region/CoreModules/ServiceConnectorsOut/Simulation')
diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Simulation/LocalSimulationConnector.cs b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Simulation/LocalSimulationConnector.cs
index 356f778..3b3350b 100644
--- a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Simulation/LocalSimulationConnector.cs
+++ b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Simulation/LocalSimulationConnector.cs
@@ -244,10 +244,9 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Simulation
return true;
}
- public bool QueryAccess(GridRegion destination, UUID agentID, string agentHomeURI, bool viaTeleport, Vector3 position, List features, out float version, out string reason)
+ public bool QueryAccess(GridRegion destination, UUID agentID, string agentHomeURI, bool viaTeleport, Vector3 position, List features, EntityTransferContext ctx, out string reason)
{
reason = "Communications failure";
- version = VersionInfo.SimulationServiceVersionAcceptedMax; // If it's within the process, use max. If it's not, the connector will overwrite this
if (destination == null)
return false;
@@ -260,7 +259,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Simulation
// Var regions here, and the requesting simulator is in an older version.
// We will forbide this, because it crashes the viewers
- if (version < 0.3f && size != 256)
+ if (ctx.OutboundVersion < 0.3f && size != 256)
{
reason = "Destination is a variable-sized region, and source is an old simulator. Consider upgrading.";
m_log.DebugFormat("[LOCAL SIMULATION CONNECTOR]: Request to access this variable-sized region from older simulator was denied");
diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Simulation/RemoteSimulationConnector.cs b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Simulation/RemoteSimulationConnector.cs
index e2f52c4..1e095ca 100644
--- a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Simulation/RemoteSimulationConnector.cs
+++ b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Simulation/RemoteSimulationConnector.cs
@@ -205,21 +205,20 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Simulation
return m_remoteConnector.UpdateAgent(destination, cAgentData);
}
- public bool QueryAccess(GridRegion destination, UUID agentID, string agentHomeURI, bool viaTeleport, Vector3 position, List features, out float version, out string reason)
+ public bool QueryAccess(GridRegion destination, UUID agentID, string agentHomeURI, bool viaTeleport, Vector3 position, List features, EntityTransferContext ctx, out string reason)
{
reason = "Communications failure";
- version = 0f;
if (destination == null)
return false;
// Try local first
- if (m_localBackend.QueryAccess(destination, agentID, agentHomeURI, viaTeleport, position, features, out version, out reason))
+ if (m_localBackend.QueryAccess(destination, agentID, agentHomeURI, viaTeleport, position, features, ctx, out reason))
return true;
// else do the remote thing
if (!m_localBackend.IsLocalRegion(destination.RegionID))
- return m_remoteConnector.QueryAccess(destination, agentID, agentHomeURI, viaTeleport, position, features, out version, out reason);
+ return m_remoteConnector.QueryAccess(destination, agentID, agentHomeURI, viaTeleport, position, features, ctx, out reason);
return false;
}
--
cgit v1.1
From af4ca8e80e99cd8aa518a1fad2a00246a7841f70 Mon Sep 17 00:00:00 2001
From: UbitUmarov
Date: Sat, 31 Oct 2015 21:58:40 +0000
Subject: fix internal support for non square regions
---
.../ServiceConnectorsOut/Simulation/LocalSimulationConnector.cs | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
(limited to 'OpenSim/Region/CoreModules/ServiceConnectorsOut/Simulation')
diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Simulation/LocalSimulationConnector.cs b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Simulation/LocalSimulationConnector.cs
index 3b3350b..cc8203e 100644
--- a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Simulation/LocalSimulationConnector.cs
+++ b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Simulation/LocalSimulationConnector.cs
@@ -255,11 +255,12 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Simulation
// m_log.DebugFormat(
// "[LOCAL SIMULATION CONNECTOR]: Found region {0} {1} to send AgentUpdate",
// s.RegionInfo.RegionName, destination.RegionHandle);
- uint size = m_scenes[destination.RegionID].RegionInfo.RegionSizeX;
+ uint sizeX = m_scenes[destination.RegionID].RegionInfo.RegionSizeX;
+ uint sizeY = m_scenes[destination.RegionID].RegionInfo.RegionSizeY;
// Var regions here, and the requesting simulator is in an older version.
// We will forbide this, because it crashes the viewers
- if (ctx.OutboundVersion < 0.3f && size != 256)
+ if (ctx.OutboundVersion < 0.3f && (sizeX != 256 || sizeY != 256))
{
reason = "Destination is a variable-sized region, and source is an old simulator. Consider upgrading.";
m_log.DebugFormat("[LOCAL SIMULATION CONNECTOR]: Request to access this variable-sized region from older simulator was denied");
--
cgit v1.1