diff options
Diffstat (limited to 'OpenSim/Region/CoreModules/Framework/EntityTransfer')
3 files changed, 81 insertions, 81 deletions
diff --git a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs index 58d6cf2..6b1eb54 100644 --- a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs +++ b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs | |||
@@ -72,9 +72,9 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
72 | /// If true then we ask the viewer to disable teleport cancellation and ignore teleport requests. | 72 | /// If true then we ask the viewer to disable teleport cancellation and ignore teleport requests. |
73 | /// </summary> | 73 | /// </summary> |
74 | /// <remarks> | 74 | /// <remarks> |
75 | /// This is useful in situations where teleport is very likely to always succeed and we want to avoid a | 75 | /// This is useful in situations where teleport is very likely to always succeed and we want to avoid a |
76 | /// situation where avatars can be come 'stuck' due to a failed teleport cancellation. Unfortunately, the | 76 | /// situation where avatars can be come 'stuck' due to a failed teleport cancellation. Unfortunately, the |
77 | /// nature of the teleport protocol makes it extremely difficult (maybe impossible) to make teleport | 77 | /// nature of the teleport protocol makes it extremely difficult (maybe impossible) to make teleport |
78 | /// cancellation consistently suceed. | 78 | /// cancellation consistently suceed. |
79 | /// </remarks> | 79 | /// </remarks> |
80 | public bool DisableInterRegionTeleportCancellation { get; set; } | 80 | public bool DisableInterRegionTeleportCancellation { get; set; } |
@@ -221,12 +221,12 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
221 | IConfig transferConfig = source.Configs["EntityTransfer"]; | 221 | IConfig transferConfig = source.Configs["EntityTransfer"]; |
222 | if (transferConfig != null) | 222 | if (transferConfig != null) |
223 | { | 223 | { |
224 | DisableInterRegionTeleportCancellation | 224 | DisableInterRegionTeleportCancellation |
225 | = transferConfig.GetBoolean("DisableInterRegionTeleportCancellation", false); | 225 | = transferConfig.GetBoolean("DisableInterRegionTeleportCancellation", false); |
226 | 226 | ||
227 | WaitForAgentArrivedAtDestination | 227 | WaitForAgentArrivedAtDestination |
228 | = transferConfig.GetBoolean("wait_for_callback", WaitForAgentArrivedAtDestinationDefault); | 228 | = transferConfig.GetBoolean("wait_for_callback", WaitForAgentArrivedAtDestinationDefault); |
229 | 229 | ||
230 | MaxTransferDistance = transferConfig.GetInt("max_distance", DefaultMaxTransferDistance); | 230 | MaxTransferDistance = transferConfig.GetInt("max_distance", DefaultMaxTransferDistance); |
231 | } | 231 | } |
232 | else | 232 | else |
@@ -250,7 +250,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
250 | 250 | ||
251 | Scene = scene; | 251 | Scene = scene; |
252 | 252 | ||
253 | m_interRegionTeleportAttempts = | 253 | m_interRegionTeleportAttempts = |
254 | new Stat( | 254 | new Stat( |
255 | "InterRegionTeleportAttempts", | 255 | "InterRegionTeleportAttempts", |
256 | "Number of inter-region teleports attempted.", | 256 | "Number of inter-region teleports attempted.", |
@@ -263,7 +263,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
263 | null, | 263 | null, |
264 | StatVerbosity.Debug); | 264 | StatVerbosity.Debug); |
265 | 265 | ||
266 | m_interRegionTeleportAborts = | 266 | m_interRegionTeleportAborts = |
267 | new Stat( | 267 | new Stat( |
268 | "InterRegionTeleportAborts", | 268 | "InterRegionTeleportAborts", |
269 | "Number of inter-region teleports aborted due to client actions.", | 269 | "Number of inter-region teleports aborted due to client actions.", |
@@ -275,7 +275,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
275 | null, | 275 | null, |
276 | StatVerbosity.Debug); | 276 | StatVerbosity.Debug); |
277 | 277 | ||
278 | m_interRegionTeleportCancels = | 278 | m_interRegionTeleportCancels = |
279 | new Stat( | 279 | new Stat( |
280 | "InterRegionTeleportCancels", | 280 | "InterRegionTeleportCancels", |
281 | "Number of inter-region teleports cancelled by the client.", | 281 | "Number of inter-region teleports cancelled by the client.", |
@@ -287,7 +287,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
287 | null, | 287 | null, |
288 | StatVerbosity.Debug); | 288 | StatVerbosity.Debug); |
289 | 289 | ||
290 | m_interRegionTeleportFailures = | 290 | m_interRegionTeleportFailures = |
291 | new Stat( | 291 | new Stat( |
292 | "InterRegionTeleportFailures", | 292 | "InterRegionTeleportFailures", |
293 | "Number of inter-region teleports that failed due to server/client/network issues.", | 293 | "Number of inter-region teleports that failed due to server/client/network issues.", |
@@ -321,7 +321,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
321 | 321 | ||
322 | public virtual void Close() {} | 322 | public virtual void Close() {} |
323 | 323 | ||
324 | public virtual void RemoveRegion(Scene scene) | 324 | public virtual void RemoveRegion(Scene scene) |
325 | { | 325 | { |
326 | if (m_Enabled) | 326 | if (m_Enabled) |
327 | { | 327 | { |
@@ -349,7 +349,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
349 | if (client.IsLoggingOut && m_entityTransferStateMachine.UpdateInTransit(client.AgentId, AgentTransferState.Aborting)) | 349 | if (client.IsLoggingOut && m_entityTransferStateMachine.UpdateInTransit(client.AgentId, AgentTransferState.Aborting)) |
350 | { | 350 | { |
351 | m_log.DebugFormat( | 351 | m_log.DebugFormat( |
352 | "[ENTITY TRANSFER MODULE]: Aborted teleport request from {0} in {1} due to simultaneous logout", | 352 | "[ENTITY TRANSFER MODULE]: Aborted teleport request from {0} in {1} due to simultaneous logout", |
353 | client.Name, Scene.Name); | 353 | client.Name, Scene.Name); |
354 | } | 354 | } |
355 | } | 355 | } |
@@ -672,7 +672,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
672 | sp.ControllingClient.SendTeleportFailed("Agent is already in transit."); | 672 | sp.ControllingClient.SendTeleportFailed("Agent is already in transit."); |
673 | return; | 673 | return; |
674 | } | 674 | } |
675 | 675 | ||
676 | try | 676 | try |
677 | { | 677 | { |
678 | DoTeleportInternal(sp, reg, finalDestination, position, lookAt, teleportFlags); | 678 | DoTeleportInternal(sp, reg, finalDestination, position, lookAt, teleportFlags); |
@@ -766,7 +766,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
766 | m_interRegionTeleportAttempts.Value++; | 766 | m_interRegionTeleportAttempts.Value++; |
767 | 767 | ||
768 | m_log.DebugFormat( | 768 | m_log.DebugFormat( |
769 | "[ENTITY TRANSFER MODULE]: {0} transfer protocol version to {1} is {2} / {3}", | 769 | "[ENTITY TRANSFER MODULE]: {0} transfer protocol version to {1} is {2} / {3}", |
770 | sp.Scene.Name, finalDestination.RegionName, ctx.OutboundVersion, ctx.InboundVersion); | 770 | sp.Scene.Name, finalDestination.RegionName, ctx.OutboundVersion, ctx.InboundVersion); |
771 | 771 | ||
772 | // Fixing a bug where teleporting while sitting results in the avatar ending up removed from | 772 | // Fixing a bug where teleporting while sitting results in the avatar ending up removed from |
@@ -797,7 +797,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
797 | AgentCircuitData agentCircuit = sp.ControllingClient.RequestClientInfo(); | 797 | AgentCircuitData agentCircuit = sp.ControllingClient.RequestClientInfo(); |
798 | agentCircuit.startpos = position; | 798 | agentCircuit.startpos = position; |
799 | agentCircuit.child = true; | 799 | agentCircuit.child = true; |
800 | 800 | ||
801 | // agentCircuit.Appearance = sp.Appearance; | 801 | // agentCircuit.Appearance = sp.Appearance; |
802 | // agentCircuit.Appearance = new AvatarAppearance(sp.Appearance, true, false); | 802 | // agentCircuit.Appearance = new AvatarAppearance(sp.Appearance, true, false); |
803 | agentCircuit.Appearance = new AvatarAppearance(); | 803 | agentCircuit.Appearance = new AvatarAppearance(); |
@@ -814,7 +814,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
814 | } | 814 | } |
815 | 815 | ||
816 | IClientIPEndpoint ipepClient; | 816 | IClientIPEndpoint ipepClient; |
817 | 817 | ||
818 | uint newRegionX, newRegionY, oldRegionX, oldRegionY; | 818 | uint newRegionX, newRegionY, oldRegionX, oldRegionY; |
819 | Util.RegionHandleToRegionLoc(destinationHandle, out newRegionX, out newRegionY); | 819 | Util.RegionHandleToRegionLoc(destinationHandle, out newRegionX, out newRegionY); |
820 | Util.RegionHandleToRegionLoc(sourceRegion.RegionHandle, out oldRegionX, out oldRegionY); | 820 | Util.RegionHandleToRegionLoc(sourceRegion.RegionHandle, out oldRegionX, out oldRegionY); |
@@ -853,7 +853,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
853 | if (ctx.OutboundVersion >= 0.2f) | 853 | if (ctx.OutboundVersion >= 0.2f) |
854 | TransferAgent_V2(sp, agentCircuit, reg, finalDestination, endPoint, teleportFlags, OutSideViewRange , ctx, out reason); | 854 | TransferAgent_V2(sp, agentCircuit, reg, finalDestination, endPoint, teleportFlags, OutSideViewRange , ctx, out reason); |
855 | else | 855 | else |
856 | TransferAgent_V1(sp, agentCircuit, reg, finalDestination, endPoint, teleportFlags, OutSideViewRange, ctx, out reason); | 856 | TransferAgent_V1(sp, agentCircuit, reg, finalDestination, endPoint, teleportFlags, OutSideViewRange, ctx, out reason); |
857 | } | 857 | } |
858 | 858 | ||
859 | private void TransferAgent_V1(ScenePresence sp, AgentCircuitData agentCircuit, GridRegion reg, GridRegion finalDestination, | 859 | private void TransferAgent_V1(ScenePresence sp, AgentCircuitData agentCircuit, GridRegion reg, GridRegion finalDestination, |
@@ -863,12 +863,12 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
863 | AgentCircuitData currentAgentCircuit = sp.Scene.AuthenticateHandler.GetAgentCircuitData(sp.ControllingClient.CircuitCode); | 863 | AgentCircuitData currentAgentCircuit = sp.Scene.AuthenticateHandler.GetAgentCircuitData(sp.ControllingClient.CircuitCode); |
864 | 864 | ||
865 | m_log.DebugFormat( | 865 | m_log.DebugFormat( |
866 | "[ENTITY TRANSFER MODULE]: Using TP V1 for {0} going from {1} to {2}", | 866 | "[ENTITY TRANSFER MODULE]: Using TP V1 for {0} going from {1} to {2}", |
867 | sp.Name, Scene.Name, finalDestination.RegionName); | 867 | sp.Name, Scene.Name, finalDestination.RegionName); |
868 | 868 | ||
869 | string capsPath = finalDestination.ServerURI + CapsUtil.GetCapsSeedPath(agentCircuit.CapsPath); | 869 | string capsPath = finalDestination.ServerURI + CapsUtil.GetCapsSeedPath(agentCircuit.CapsPath); |
870 | 870 | ||
871 | // Let's create an agent there if one doesn't exist yet. | 871 | // Let's create an agent there if one doesn't exist yet. |
872 | // NOTE: logout will always be false for a non-HG teleport. | 872 | // NOTE: logout will always be false for a non-HG teleport. |
873 | bool logout = false; | 873 | bool logout = false; |
874 | if (!CreateAgent(sp, reg, finalDestination, agentCircuit, teleportFlags, ctx, out reason, out logout)) | 874 | if (!CreateAgent(sp, reg, finalDestination, agentCircuit, teleportFlags, ctx, out reason, out logout)) |
@@ -953,7 +953,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
953 | SetCallbackURL(agent, sp.Scene.RegionInfo); | 953 | SetCallbackURL(agent, sp.Scene.RegionInfo); |
954 | 954 | ||
955 | 955 | ||
956 | // We will check for an abort before UpdateAgent since UpdateAgent will require an active viewer to | 956 | // We will check for an abort before UpdateAgent since UpdateAgent will require an active viewer to |
957 | // establish th econnection to the destination which makes it return true. | 957 | // establish th econnection to the destination which makes it return true. |
958 | if (m_entityTransferStateMachine.GetAgentTransferState(sp.UUID) == AgentTransferState.Aborting) | 958 | if (m_entityTransferStateMachine.GetAgentTransferState(sp.UUID) == AgentTransferState.Aborting) |
959 | { | 959 | { |
@@ -966,7 +966,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
966 | return; | 966 | return; |
967 | } | 967 | } |
968 | 968 | ||
969 | // A common teleport failure occurs when we can send CreateAgent to the | 969 | // A common teleport failure occurs when we can send CreateAgent to the |
970 | // destination region but the viewer cannot establish the connection (e.g. due to network issues between | 970 | // destination region but the viewer cannot establish the connection (e.g. due to network issues between |
971 | // the viewer and the destination). In this case, UpdateAgent timesout after 10 seconds, although then | 971 | // the viewer and the destination). In this case, UpdateAgent timesout after 10 seconds, although then |
972 | // there's a further 10 second wait whilst we attempt to tell the destination to delete the agent in Fail(). | 972 | // there's a further 10 second wait whilst we attempt to tell the destination to delete the agent in Fail(). |
@@ -1010,7 +1010,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
1010 | capsPath, sp.Scene.RegionInfo.RegionName, sp.Name); | 1010 | capsPath, sp.Scene.RegionInfo.RegionName, sp.Name); |
1011 | 1011 | ||
1012 | // We need to set this here to avoid an unlikely race condition when teleporting to a neighbour simulator, | 1012 | // We need to set this here to avoid an unlikely race condition when teleporting to a neighbour simulator, |
1013 | // where that neighbour simulator could otherwise request a child agent create on the source which then | 1013 | // where that neighbour simulator could otherwise request a child agent create on the source which then |
1014 | // closes our existing agent which is still signalled as root. | 1014 | // closes our existing agent which is still signalled as root. |
1015 | sp.IsChildAgent = true; | 1015 | sp.IsChildAgent = true; |
1016 | 1016 | ||
@@ -1071,7 +1071,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
1071 | AgentHasMovedAway(sp, logout); | 1071 | AgentHasMovedAway(sp, logout); |
1072 | 1072 | ||
1073 | sp.HasMovedAway(!(OutSideViewRange || logout)); | 1073 | sp.HasMovedAway(!(OutSideViewRange || logout)); |
1074 | 1074 | ||
1075 | // ulong sourceRegionHandle = sp.RegionHandle; | 1075 | // ulong sourceRegionHandle = sp.RegionHandle; |
1076 | 1076 | ||
1077 | // Now let's make it officially a child agent | 1077 | // Now let's make it officially a child agent |
@@ -1107,7 +1107,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
1107 | 1107 | ||
1108 | string capsPath = finalDestination.ServerURI + CapsUtil.GetCapsSeedPath(agentCircuit.CapsPath);; | 1108 | string capsPath = finalDestination.ServerURI + CapsUtil.GetCapsSeedPath(agentCircuit.CapsPath);; |
1109 | 1109 | ||
1110 | // Let's create an agent there if one doesn't exist yet. | 1110 | // Let's create an agent there if one doesn't exist yet. |
1111 | // NOTE: logout will always be false for a non-HG teleport. | 1111 | // NOTE: logout will always be false for a non-HG teleport. |
1112 | bool logout = false; | 1112 | bool logout = false; |
1113 | if (!CreateAgent(sp, reg, finalDestination, agentCircuit, teleportFlags, ctx, out reason, out logout)) | 1113 | if (!CreateAgent(sp, reg, finalDestination, agentCircuit, teleportFlags, ctx, out reason, out logout)) |
@@ -1150,7 +1150,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
1150 | m_entityTransferStateMachine.UpdateInTransit(sp.UUID, AgentTransferState.Transferring); | 1150 | m_entityTransferStateMachine.UpdateInTransit(sp.UUID, AgentTransferState.Transferring); |
1151 | 1151 | ||
1152 | // We need to set this here to avoid an unlikely race condition when teleporting to a neighbour simulator, | 1152 | // We need to set this here to avoid an unlikely race condition when teleporting to a neighbour simulator, |
1153 | // where that neighbour simulator could otherwise request a child agent create on the source which then | 1153 | // where that neighbour simulator could otherwise request a child agent create on the source which then |
1154 | // closes our existing agent which is still signalled as root. | 1154 | // closes our existing agent which is still signalled as root. |
1155 | //sp.IsChildAgent = true; | 1155 | //sp.IsChildAgent = true; |
1156 | 1156 | ||
@@ -1166,7 +1166,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
1166 | "[ENTITY TRANSFER MODULE]: Sending new CAPS seed url {0} from {1} to {2}", | 1166 | "[ENTITY TRANSFER MODULE]: Sending new CAPS seed url {0} from {1} to {2}", |
1167 | capsPath, sp.Scene.RegionInfo.RegionName, sp.Name); | 1167 | capsPath, sp.Scene.RegionInfo.RegionName, sp.Name); |
1168 | 1168 | ||
1169 | // Let's send a full update of the agent. | 1169 | // Let's send a full update of the agent. |
1170 | AgentData agent = new AgentData(); | 1170 | AgentData agent = new AgentData(); |
1171 | sp.CopyTo(agent,false); | 1171 | sp.CopyTo(agent,false); |
1172 | agent.Position = agentCircuit.startpos; | 1172 | agent.Position = agentCircuit.startpos; |
@@ -1207,7 +1207,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
1207 | sp.IsInTransit = false; | 1207 | sp.IsInTransit = false; |
1208 | return; | 1208 | return; |
1209 | } | 1209 | } |
1210 | 1210 | ||
1211 | m_entityTransferStateMachine.UpdateInTransit(sp.UUID, AgentTransferState.CleaningUp); | 1211 | m_entityTransferStateMachine.UpdateInTransit(sp.UUID, AgentTransferState.CleaningUp); |
1212 | 1212 | ||
1213 | // Need to signal neighbours whether child agents may need closing irrespective of whether this | 1213 | // Need to signal neighbours whether child agents may need closing irrespective of whether this |
@@ -1248,7 +1248,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
1248 | // Thread.Sleep(1000); | 1248 | // Thread.Sleep(1000); |
1249 | 1249 | ||
1250 | // OK, it got this agent. Let's close everything | 1250 | // OK, it got this agent. Let's close everything |
1251 | // If we shouldn't close the agent due to some other region renewing the connection | 1251 | // If we shouldn't close the agent due to some other region renewing the connection |
1252 | // then this will be handled in IncomingCloseAgent under lock conditions | 1252 | // then this will be handled in IncomingCloseAgent under lock conditions |
1253 | m_log.DebugFormat( | 1253 | m_log.DebugFormat( |
1254 | "[ENTITY TRANSFER MODULE]: Closing agent {0} in {1} after teleport", sp.Name, Scene.Name); | 1254 | "[ENTITY TRANSFER MODULE]: Closing agent {0} in {1} after teleport", sp.Name, Scene.Name); |
@@ -1258,7 +1258,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
1258 | /* | 1258 | /* |
1259 | else | 1259 | else |
1260 | { | 1260 | { |
1261 | // now we have a child agent in this region. | 1261 | // now we have a child agent in this region. |
1262 | sp.Reset(); | 1262 | sp.Reset(); |
1263 | } | 1263 | } |
1264 | */ | 1264 | */ |
@@ -1343,7 +1343,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
1343 | /// </summary> | 1343 | /// </summary> |
1344 | /// <param name='sp'></param> | 1344 | /// <param name='sp'></param> |
1345 | /// <param name='logout'></param> | 1345 | /// <param name='logout'></param> |
1346 | /// | 1346 | /// |
1347 | /// now just a HG hook | 1347 | /// now just a HG hook |
1348 | protected virtual void AgentHasMovedAway(ScenePresence sp, bool logout) | 1348 | protected virtual void AgentHasMovedAway(ScenePresence sp, bool logout) |
1349 | { | 1349 | { |
@@ -1375,7 +1375,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
1375 | 1375 | ||
1376 | // HG Hook | 1376 | // HG Hook |
1377 | protected virtual bool NeedsClosing(GridRegion reg, bool OutViewRange) | 1377 | protected virtual bool NeedsClosing(GridRegion reg, bool OutViewRange) |
1378 | 1378 | ||
1379 | { | 1379 | { |
1380 | return OutViewRange; | 1380 | return OutViewRange; |
1381 | } | 1381 | } |
@@ -1399,11 +1399,11 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
1399 | remoteClient.SendTeleportFailed("The teleport destination could not be found."); | 1399 | remoteClient.SendTeleportFailed("The teleport destination could not be found."); |
1400 | return; | 1400 | return; |
1401 | } | 1401 | } |
1402 | ((Scene)(remoteClient.Scene)).RequestTeleportLocation(remoteClient, info.RegionHandle, lm.Position, | 1402 | ((Scene)(remoteClient.Scene)).RequestTeleportLocation(remoteClient, info.RegionHandle, lm.Position, |
1403 | Vector3.Zero, (uint)(Constants.TeleportFlags.SetLastToTarget | Constants.TeleportFlags.ViaLandmark)); | 1403 | Vector3.Zero, (uint)(Constants.TeleportFlags.SetLastToTarget | Constants.TeleportFlags.ViaLandmark)); |
1404 | } | 1404 | } |
1405 | 1405 | ||
1406 | #endregion | 1406 | #endregion |
1407 | 1407 | ||
1408 | #region Teleport Home | 1408 | #region Teleport Home |
1409 | 1409 | ||
@@ -1437,7 +1437,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
1437 | client.SendTeleportFailed("Your home region could not be found."); | 1437 | client.SendTeleportFailed("Your home region could not be found."); |
1438 | return false; | 1438 | return false; |
1439 | } | 1439 | } |
1440 | 1440 | ||
1441 | m_log.DebugFormat("[ENTITY TRANSFER MODULE]: Home region of {0} is {1} ({2}-{3})", | 1441 | m_log.DebugFormat("[ENTITY TRANSFER MODULE]: Home region of {0} is {1} ({2}-{3})", |
1442 | client.Name, regionInfo.RegionName, regionInfo.RegionCoordX, regionInfo.RegionCoordY); | 1442 | client.Name, regionInfo.RegionName, regionInfo.RegionCoordX, regionInfo.RegionCoordY); |
1443 | 1443 | ||
@@ -1475,7 +1475,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
1475 | 1475 | ||
1476 | Scene ascene = agent.Scene; | 1476 | Scene ascene = agent.Scene; |
1477 | string homeURI = ascene.GetAgentHomeURI(agentID); | 1477 | string homeURI = ascene.GetAgentHomeURI(agentID); |
1478 | 1478 | ||
1479 | 1479 | ||
1480 | if (!ascene.SimulationService.QueryAccess(destiny, agentID, homeURI, false, position, | 1480 | if (!ascene.SimulationService.QueryAccess(destiny, agentID, homeURI, false, position, |
1481 | agent.Scene.GetFormatsOffered(), ctx, out reason)) | 1481 | agent.Scene.GetFormatsOffered(), ctx, out reason)) |
@@ -1489,7 +1489,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
1489 | 1489 | ||
1490 | // Given a position relative to the current region and outside of it | 1490 | // Given a position relative to the current region and outside of it |
1491 | // find the new region that the point is actually in. | 1491 | // find the new region that the point is actually in. |
1492 | // returns 'null' if new region not found or if information | 1492 | // returns 'null' if new region not found or if information |
1493 | // and new position relative to it | 1493 | // and new position relative to it |
1494 | // now only works for crossings | 1494 | // now only works for crossings |
1495 | 1495 | ||
@@ -1611,14 +1611,14 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
1611 | Thread.Sleep(10000); | 1611 | Thread.Sleep(10000); |
1612 | 1612 | ||
1613 | m_log.DebugFormat( | 1613 | m_log.DebugFormat( |
1614 | "[ENTITY TRANSFER MODULE]: Auto-reteleporting {0} to correct megaregion location {1},{2},{3} from {4}", | 1614 | "[ENTITY TRANSFER MODULE]: Auto-reteleporting {0} to correct megaregion location {1},{2},{3} from {4}", |
1615 | agent.Name, regionX, regionY, position, initiatingScene.Name); | 1615 | agent.Name, regionX, regionY, position, initiatingScene.Name); |
1616 | 1616 | ||
1617 | agent.Scene.RequestTeleportLocation( | 1617 | agent.Scene.RequestTeleportLocation( |
1618 | agent.ControllingClient, | 1618 | agent.ControllingClient, |
1619 | Util.RegionGridLocToHandle(regionX, regionY), | 1619 | Util.RegionGridLocToHandle(regionX, regionY), |
1620 | position, | 1620 | position, |
1621 | agent.Lookat, | 1621 | agent.Lookat, |
1622 | (uint)Constants.TeleportFlags.ViaLocation); | 1622 | (uint)Constants.TeleportFlags.ViaLocation); |
1623 | 1623 | ||
1624 | /* | 1624 | /* |
@@ -1662,7 +1662,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
1662 | icon.EndInvoke(iar); | 1662 | icon.EndInvoke(iar); |
1663 | } | 1663 | } |
1664 | 1664 | ||
1665 | 1665 | ||
1666 | 1666 | ||
1667 | /// <summary> | 1667 | /// <summary> |
1668 | /// This Closes child agents on neighbouring regions | 1668 | /// This Closes child agents on neighbouring regions |
@@ -1708,7 +1708,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
1708 | int ts = Util.EnvironmentTickCount(); | 1708 | int ts = Util.EnvironmentTickCount(); |
1709 | try | 1709 | try |
1710 | { | 1710 | { |
1711 | AgentData cAgent = new AgentData(); | 1711 | AgentData cAgent = new AgentData(); |
1712 | agent.CopyTo(cAgent,true); | 1712 | agent.CopyTo(cAgent,true); |
1713 | 1713 | ||
1714 | // agent.Appearance.WearableCacheItems = null; | 1714 | // agent.Appearance.WearableCacheItems = null; |
@@ -1731,7 +1731,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
1731 | m_entityTransferStateMachine.UpdateInTransit(agent.UUID, AgentTransferState.CleaningUp); | 1731 | m_entityTransferStateMachine.UpdateInTransit(agent.UUID, AgentTransferState.CleaningUp); |
1732 | 1732 | ||
1733 | m_log.WarnFormat( | 1733 | m_log.WarnFormat( |
1734 | "[ENTITY TRANSFER MODULE]: Region {0} would not accept update for agent {1} on cross attempt. Returning to original region.", | 1734 | "[ENTITY TRANSFER MODULE]: Region {0} would not accept update for agent {1} on cross attempt. Returning to original region.", |
1735 | neighbourRegion.RegionName, agent.Name); | 1735 | neighbourRegion.RegionName, agent.Name); |
1736 | 1736 | ||
1737 | ReInstantiateScripts(agent); | 1737 | ReInstantiateScripts(agent); |
@@ -1827,7 +1827,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
1827 | 1827 | ||
1828 | return; | 1828 | return; |
1829 | } | 1829 | } |
1830 | 1830 | ||
1831 | private void CrossAgentToNewRegionCompleted(IAsyncResult iar) | 1831 | private void CrossAgentToNewRegionCompleted(IAsyncResult iar) |
1832 | { | 1832 | { |
1833 | CrossAgentToNewRegionDelegate icon = (CrossAgentToNewRegionDelegate)iar.AsyncState; | 1833 | CrossAgentToNewRegionDelegate icon = (CrossAgentToNewRegionDelegate)iar.AsyncState; |
@@ -2167,7 +2167,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
2167 | return false; | 2167 | return false; |
2168 | } | 2168 | } |
2169 | } | 2169 | } |
2170 | 2170 | ||
2171 | private void DoExpiration() | 2171 | private void DoExpiration() |
2172 | { | 2172 | { |
2173 | List<ulong> m_toRemove = new List<ulong>();; | 2173 | List<ulong> m_toRemove = new List<ulong>();; |
@@ -2179,7 +2179,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
2179 | if (kvp.Value < now) | 2179 | if (kvp.Value < now) |
2180 | m_toRemove.Add(kvp.Key); | 2180 | m_toRemove.Add(kvp.Key); |
2181 | } | 2181 | } |
2182 | 2182 | ||
2183 | if (m_toRemove.Count > 0) | 2183 | if (m_toRemove.Count > 0) |
2184 | { | 2184 | { |
2185 | foreach (ulong u in m_toRemove) | 2185 | foreach (ulong u in m_toRemove) |
@@ -2199,7 +2199,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
2199 | // to find possible regions. | 2199 | // to find possible regions. |
2200 | return GetRegionContainingWorldLocation(pGridService, pScopeID, px, py, Constants.MaximumRegionSize); | 2200 | return GetRegionContainingWorldLocation(pGridService, pScopeID, px, py, Constants.MaximumRegionSize); |
2201 | } | 2201 | } |
2202 | 2202 | ||
2203 | // Given a world position, get the GridRegion info for | 2203 | // Given a world position, get the GridRegion info for |
2204 | // the region containing that point. | 2204 | // the region containing that point. |
2205 | // for compatibility with old grids it does a scan to find large regions | 2205 | // for compatibility with old grids it does a scan to find large regions |
@@ -2285,7 +2285,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
2285 | if (newAgent) | 2285 | if (newAgent) |
2286 | { | 2286 | { |
2287 | // we may already had lost this sp | 2287 | // we may already had lost this sp |
2288 | if(sp == null || sp.IsDeleted || sp.ClientView == null) // something bad already happened | 2288 | if(sp == null || sp.IsDeleted || sp.ClientView == null) // something bad already happened |
2289 | return; | 2289 | return; |
2290 | 2290 | ||
2291 | Scene scene = sp.Scene; | 2291 | Scene scene = sp.Scene; |
@@ -2303,13 +2303,13 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
2303 | 2303 | ||
2304 | if (regionAccepted) | 2304 | if (regionAccepted) |
2305 | { | 2305 | { |
2306 | // give time for createAgent to finish, since it is async and does grid services access | 2306 | // give time for createAgent to finish, since it is async and does grid services access |
2307 | Thread.Sleep(500); | 2307 | Thread.Sleep(500); |
2308 | 2308 | ||
2309 | if (m_eqModule != null) | 2309 | if (m_eqModule != null) |
2310 | { | 2310 | { |
2311 | #region IP Translation for NAT | 2311 | #region IP Translation for NAT |
2312 | if(sp == null || sp.IsDeleted || sp.ClientView == null) // something bad already happened | 2312 | if(sp == null || sp.IsDeleted || sp.ClientView == null) // something bad already happened |
2313 | return; | 2313 | return; |
2314 | 2314 | ||
2315 | IClientIPEndpoint ipepClient; | 2315 | IClientIPEndpoint ipepClient; |
@@ -2344,7 +2344,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
2344 | reg.RegionName, sp.Name, sp.UUID, reason); | 2344 | reg.RegionName, sp.Name, sp.UUID, reason); |
2345 | } | 2345 | } |
2346 | } | 2346 | } |
2347 | 2347 | ||
2348 | } | 2348 | } |
2349 | 2349 | ||
2350 | /// <summary> | 2350 | /// <summary> |
@@ -2353,7 +2353,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
2353 | /// <param name="avatar"></param> | 2353 | /// <param name="avatar"></param> |
2354 | /// <param name="pRegionLocX"></param> | 2354 | /// <param name="pRegionLocX"></param> |
2355 | /// <param name="pRegionLocY"></param> | 2355 | /// <param name="pRegionLocY"></param> |
2356 | /// <returns></returns> | 2356 | /// <returns></returns> |
2357 | protected List<GridRegion> GetNeighbors(ScenePresence avatar, uint pRegionLocX, uint pRegionLocY) | 2357 | protected List<GridRegion> GetNeighbors(ScenePresence avatar, uint pRegionLocX, uint pRegionLocY) |
2358 | { | 2358 | { |
2359 | Scene pScene = avatar.Scene; | 2359 | Scene pScene = avatar.Scene; |
@@ -2588,7 +2588,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
2588 | if (Scene.RegionInfo.EstateSettings.IsBanned(so.OwnerID)) | 2588 | if (Scene.RegionInfo.EstateSettings.IsBanned(so.OwnerID)) |
2589 | { | 2589 | { |
2590 | m_log.DebugFormat( | 2590 | m_log.DebugFormat( |
2591 | "[ENTITY TRANSFER MODULE]: Denied prim crossing of {0} {1} into {2} for banned avatar {3}", | 2591 | "[ENTITY TRANSFER MODULE]: Denied prim crossing of {0} {1} into {2} for banned avatar {3}", |
2592 | so.Name, so.UUID, Scene.Name, so.OwnerID); | 2592 | so.Name, so.UUID, Scene.Name, so.OwnerID); |
2593 | 2593 | ||
2594 | return false; | 2594 | return false; |
@@ -2600,7 +2600,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
2600 | if (!Scene.AddSceneObject(so)) | 2600 | if (!Scene.AddSceneObject(so)) |
2601 | { | 2601 | { |
2602 | m_log.DebugFormat( | 2602 | m_log.DebugFormat( |
2603 | "[ENTITY TRANSFER MODULE]: Problem adding scene object {0} {1} into {2} ", | 2603 | "[ENTITY TRANSFER MODULE]: Problem adding scene object {0} {1} into {2} ", |
2604 | so.Name, so.UUID, Scene.Name); | 2604 | so.Name, so.UUID, Scene.Name); |
2605 | 2605 | ||
2606 | return false; | 2606 | return false; |
diff --git a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferStateMachine.cs b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferStateMachine.cs index acfdaef..0a24555 100644 --- a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferStateMachine.cs +++ b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferStateMachine.cs | |||
@@ -169,7 +169,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
169 | } | 169 | } |
170 | else | 170 | else |
171 | { | 171 | { |
172 | if (newState == AgentTransferState.Cancelling | 172 | if (newState == AgentTransferState.Cancelling |
173 | && (oldState == AgentTransferState.Preparing || oldState == AgentTransferState.Transferring)) | 173 | && (oldState == AgentTransferState.Preparing || oldState == AgentTransferState.Transferring)) |
174 | { | 174 | { |
175 | transitionOkay = true; | 175 | transitionOkay = true; |
@@ -181,7 +181,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
181 | } | 181 | } |
182 | 182 | ||
183 | if (!transitionOkay) | 183 | if (!transitionOkay) |
184 | failureMessage | 184 | failureMessage |
185 | = string.Format( | 185 | = string.Format( |
186 | "Agent with ID {0} is not allowed to move from old transit state {1} to new state {2} in {3}", | 186 | "Agent with ID {0} is not allowed to move from old transit state {1} to new state {2} in {3}", |
187 | id, oldState, newState, m_mod.Scene.RegionInfo.RegionName); | 187 | id, oldState, newState, m_mod.Scene.RegionInfo.RegionName); |
@@ -192,7 +192,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
192 | m_agentsInTransit[id] = newState; | 192 | m_agentsInTransit[id] = newState; |
193 | 193 | ||
194 | // m_log.DebugFormat( | 194 | // m_log.DebugFormat( |
195 | // "[ENTITY TRANSFER STATE MACHINE]: Changed agent with id {0} from state {1} to {2} in {3}", | 195 | // "[ENTITY TRANSFER STATE MACHINE]: Changed agent with id {0} from state {1} to {2} in {3}", |
196 | // id, oldState, newState, m_mod.Scene.Name); | 196 | // id, oldState, newState, m_mod.Scene.Name); |
197 | } | 197 | } |
198 | else if (failIfNotOkay) | 198 | else if (failIfNotOkay) |
@@ -204,11 +204,11 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
204 | // { | 204 | // { |
205 | // if (oldState != null) | 205 | // if (oldState != null) |
206 | // m_log.DebugFormat( | 206 | // m_log.DebugFormat( |
207 | // "[ENTITY TRANSFER STATE MACHINE]: Ignored change of agent with id {0} from state {1} to {2} in {3}", | 207 | // "[ENTITY TRANSFER STATE MACHINE]: Ignored change of agent with id {0} from state {1} to {2} in {3}", |
208 | // id, oldState, newState, m_mod.Scene.Name); | 208 | // id, oldState, newState, m_mod.Scene.Name); |
209 | // else | 209 | // else |
210 | // m_log.DebugFormat( | 210 | // m_log.DebugFormat( |
211 | // "[ENTITY TRANSFER STATE MACHINE]: Ignored change of agent with id {0} to state {1} in {2} since agent not in transit", | 211 | // "[ENTITY TRANSFER STATE MACHINE]: Ignored change of agent with id {0} to state {1} in {2} since agent not in transit", |
212 | // id, newState, m_mod.Scene.Name); | 212 | // id, newState, m_mod.Scene.Name); |
213 | // } | 213 | // } |
214 | } | 214 | } |
@@ -281,7 +281,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
281 | { | 281 | { |
282 | if (!m_mod.WaitForAgentArrivedAtDestination) | 282 | if (!m_mod.WaitForAgentArrivedAtDestination) |
283 | return true; | 283 | return true; |
284 | 284 | ||
285 | lock (m_agentsInTransit) | 285 | lock (m_agentsInTransit) |
286 | { | 286 | { |
287 | AgentTransferState? currentState = GetAgentTransferState(id); | 287 | AgentTransferState? currentState = GetAgentTransferState(id); |
diff --git a/OpenSim/Region/CoreModules/Framework/EntityTransfer/HGEntityTransferModule.cs b/OpenSim/Region/CoreModules/Framework/EntityTransfer/HGEntityTransferModule.cs index a9aaf12..4ad500a 100644 --- a/OpenSim/Region/CoreModules/Framework/EntityTransfer/HGEntityTransferModule.cs +++ b/OpenSim/Region/CoreModules/Framework/EntityTransfer/HGEntityTransferModule.cs | |||
@@ -160,9 +160,9 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
160 | scene.RegisterModuleInterface<IUserAgentVerificationModule>(this); | 160 | scene.RegisterModuleInterface<IUserAgentVerificationModule>(this); |
161 | //scene.EventManager.OnIncomingSceneObject += OnIncomingSceneObject; | 161 | //scene.EventManager.OnIncomingSceneObject += OnIncomingSceneObject; |
162 | 162 | ||
163 | m_incomingSceneObjectEngine | 163 | m_incomingSceneObjectEngine |
164 | = new JobEngine( | 164 | = new JobEngine( |
165 | string.Format("HG Incoming Scene Object Engine ({0})", scene.Name), | 165 | string.Format("HG Incoming Scene Object Engine ({0})", scene.Name), |
166 | "HG INCOMING SCENE OBJECT ENGINE"); | 166 | "HG INCOMING SCENE OBJECT ENGINE"); |
167 | 167 | ||
168 | StatsManager.RegisterStat( | 168 | StatsManager.RegisterStat( |
@@ -291,7 +291,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
291 | 291 | ||
292 | GridRegion source = new GridRegion(Scene.RegionInfo); | 292 | GridRegion source = new GridRegion(Scene.RegionInfo); |
293 | source.RawServerURI = m_GatekeeperURI; | 293 | source.RawServerURI = m_GatekeeperURI; |
294 | 294 | ||
295 | bool success = connector.LoginAgentToGrid(source, agentCircuit, reg, finalDestination, false, out reason); | 295 | bool success = connector.LoginAgentToGrid(source, agentCircuit, reg, finalDestination, false, out reason); |
296 | logout = success; // flag for later logout from this grid; this is an HG TP | 296 | logout = success; // flag for later logout from this grid; this is an HG TP |
297 | 297 | ||
@@ -347,7 +347,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
347 | break; | 347 | break; |
348 | } | 348 | } |
349 | 349 | ||
350 | if (!found) | 350 | if (!found) |
351 | { | 351 | { |
352 | m_log.DebugFormat("[HG ENTITY TRANSFER MODULE]: Wearable not allowed to go outside {0}", i); | 352 | m_log.DebugFormat("[HG ENTITY TRANSFER MODULE]: Wearable not allowed to go outside {0}", i); |
353 | return false; | 353 | return false; |
@@ -416,7 +416,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
416 | // // Rez needed npc attachments | 416 | // // Rez needed npc attachments |
417 | // Scene.AttachmentsModule.RezAttachments(sp); | 417 | // Scene.AttachmentsModule.RezAttachments(sp); |
418 | 418 | ||
419 | 419 | ||
420 | // IAvatarFactoryModule module = Scene.RequestModuleInterface<IAvatarFactoryModule>(); | 420 | // IAvatarFactoryModule module = Scene.RequestModuleInterface<IAvatarFactoryModule>(); |
421 | // //module.SendAppearance(sp.UUID); | 421 | // //module.SendAppearance(sp.UUID); |
422 | // module.RequestRebake(sp, false); | 422 | // module.RequestRebake(sp, false); |
@@ -433,7 +433,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
433 | // return base.UpdateAgent(reg, finalDestination, agentData, sp); | 433 | // return base.UpdateAgent(reg, finalDestination, agentData, sp); |
434 | //} | 434 | //} |
435 | 435 | ||
436 | 436 | ||
437 | public override bool TeleportHome(UUID id, IClientAPI client) | 437 | public override bool TeleportHome(UUID id, IClientAPI client) |
438 | { | 438 | { |
439 | m_log.DebugFormat( | 439 | m_log.DebugFormat( |
@@ -449,7 +449,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
449 | } | 449 | } |
450 | 450 | ||
451 | // Foreign user wants to go home | 451 | // Foreign user wants to go home |
452 | // | 452 | // |
453 | AgentCircuitData aCircuit = ((Scene)(client.Scene)).AuthenticateHandler.GetAgentCircuitData(client.CircuitCode); | 453 | AgentCircuitData aCircuit = ((Scene)(client.Scene)).AuthenticateHandler.GetAgentCircuitData(client.CircuitCode); |
454 | if (aCircuit == null || (aCircuit != null && !aCircuit.ServiceURLs.ContainsKey("HomeURI"))) | 454 | if (aCircuit == null || (aCircuit != null && !aCircuit.ServiceURLs.ContainsKey("HomeURI"))) |
455 | { | 455 | { |
@@ -470,7 +470,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
470 | { | 470 | { |
471 | m_log.Debug("[HG ENTITY TRANSFER MODULE]: GetHomeRegion call failed ", e); | 471 | m_log.Debug("[HG ENTITY TRANSFER MODULE]: GetHomeRegion call failed ", e); |
472 | } | 472 | } |
473 | 473 | ||
474 | if (finalDestination == null) | 474 | if (finalDestination == null) |
475 | { | 475 | { |
476 | client.SendTeleportFailed("Your home region could not be found"); | 476 | client.SendTeleportFailed("Your home region could not be found"); |
@@ -487,7 +487,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
487 | } | 487 | } |
488 | 488 | ||
489 | GridRegion homeGatekeeper = MakeRegion(aCircuit); | 489 | GridRegion homeGatekeeper = MakeRegion(aCircuit); |
490 | 490 | ||
491 | m_log.DebugFormat("[HG ENTITY TRANSFER MODULE]: teleporting user {0} {1} home to {2} via {3}:{4}", | 491 | m_log.DebugFormat("[HG ENTITY TRANSFER MODULE]: teleporting user {0} {1} home to {2} via {3}:{4}", |
492 | aCircuit.firstname, aCircuit.lastname, finalDestination.RegionName, homeGatekeeper.ServerURI, homeGatekeeper.RegionName); | 492 | aCircuit.firstname, aCircuit.lastname, finalDestination.RegionName, homeGatekeeper.ServerURI, homeGatekeeper.RegionName); |
493 | 493 | ||
@@ -503,7 +503,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
503 | /// <param name="position"></param> | 503 | /// <param name="position"></param> |
504 | public override void RequestTeleportLandmark(IClientAPI remoteClient, AssetLandmark lm) | 504 | public override void RequestTeleportLandmark(IClientAPI remoteClient, AssetLandmark lm) |
505 | { | 505 | { |
506 | m_log.DebugFormat("[HG ENTITY TRANSFER MODULE]: Teleporting agent via landmark to {0} region {1} position {2}", | 506 | m_log.DebugFormat("[HG ENTITY TRANSFER MODULE]: Teleporting agent via landmark to {0} region {1} position {2}", |
507 | (lm.Gatekeeper == string.Empty) ? "local" : lm.Gatekeeper, lm.RegionID, lm.Position); | 507 | (lm.Gatekeeper == string.Empty) ? "local" : lm.Gatekeeper, lm.RegionID, lm.Position); |
508 | 508 | ||
509 | if (lm.Gatekeeper == string.Empty) | 509 | if (lm.Gatekeeper == string.Empty) |
@@ -521,7 +521,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
521 | remoteClient, info.RegionHandle, lm.Position, | 521 | remoteClient, info.RegionHandle, lm.Position, |
522 | Vector3.Zero, (uint)(Constants.TeleportFlags.SetLastToTarget | Constants.TeleportFlags.ViaLandmark)); | 522 | Vector3.Zero, (uint)(Constants.TeleportFlags.SetLastToTarget | Constants.TeleportFlags.ViaLandmark)); |
523 | } | 523 | } |
524 | else | 524 | else |
525 | { | 525 | { |
526 | // Foreign region | 526 | // Foreign region |
527 | GatekeeperServiceConnector gConn = new GatekeeperServiceConnector(); | 527 | GatekeeperServiceConnector gConn = new GatekeeperServiceConnector(); |
@@ -581,7 +581,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
581 | jobsRemoved, commonIdToRemove, jobsToReinsert.Count); | 581 | jobsRemoved, commonIdToRemove, jobsToReinsert.Count); |
582 | 582 | ||
583 | if (jobsToReinsert.Count > 0) | 583 | if (jobsToReinsert.Count > 0) |
584 | { | 584 | { |
585 | foreach (JobEngine.Job jobToReinsert in jobsToReinsert) | 585 | foreach (JobEngine.Job jobToReinsert in jobsToReinsert) |
586 | m_incomingSceneObjectEngine.QueueJob(jobToReinsert); | 586 | m_incomingSceneObjectEngine.QueueJob(jobToReinsert); |
587 | } | 587 | } |
@@ -611,16 +611,16 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
611 | if (aCircuit.ServiceURLs != null && aCircuit.ServiceURLs.ContainsKey("AssetServerURI")) | 611 | if (aCircuit.ServiceURLs != null && aCircuit.ServiceURLs.ContainsKey("AssetServerURI")) |
612 | { | 612 | { |
613 | m_incomingSceneObjectEngine.QueueJob( | 613 | m_incomingSceneObjectEngine.QueueJob( |
614 | string.Format("HG UUID Gather for attachment {0} for {1}", so.Name, aCircuit.Name), | 614 | string.Format("HG UUID Gather for attachment {0} for {1}", so.Name, aCircuit.Name), |
615 | () => | 615 | () => |
616 | { | 616 | { |
617 | string url = aCircuit.ServiceURLs["AssetServerURI"].ToString(); | 617 | string url = aCircuit.ServiceURLs["AssetServerURI"].ToString(); |
618 | // m_log.DebugFormat( | 618 | // m_log.DebugFormat( |
619 | // "[HG ENTITY TRANSFER MODULE]: Incoming attachment {0} for HG user {1} with asset service {2}", | 619 | // "[HG ENTITY TRANSFER MODULE]: Incoming attachment {0} for HG user {1} with asset service {2}", |
620 | // so.Name, so.AttachedAvatar, url); | 620 | // so.Name, so.AttachedAvatar, url); |
621 | 621 | ||
622 | IDictionary<UUID, sbyte> ids = new Dictionary<UUID, sbyte>(); | 622 | IDictionary<UUID, sbyte> ids = new Dictionary<UUID, sbyte>(); |
623 | HGUuidGatherer uuidGatherer | 623 | HGUuidGatherer uuidGatherer |
624 | = new HGUuidGatherer(Scene.AssetService, url, ids); | 624 | = new HGUuidGatherer(Scene.AssetService, url, ids); |
625 | uuidGatherer.AddForInspection(so); | 625 | uuidGatherer.AddForInspection(so); |
626 | 626 | ||
@@ -646,7 +646,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
646 | RemoveIncomingSceneObjectJobs(so.OwnerID.ToString()); | 646 | RemoveIncomingSceneObjectJobs(so.OwnerID.ToString()); |
647 | 647 | ||
648 | return; | 648 | return; |
649 | } | 649 | } |
650 | } | 650 | } |
651 | 651 | ||
652 | // m_log.DebugFormat( | 652 | // m_log.DebugFormat( |
@@ -657,7 +657,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
657 | { | 657 | { |
658 | int tickStart = Util.EnvironmentTickCount(); | 658 | int tickStart = Util.EnvironmentTickCount(); |
659 | 659 | ||
660 | uuidGatherer.FetchAsset(kvp.Key); | 660 | uuidGatherer.FetchAsset(kvp.Key); |
661 | 661 | ||
662 | int ticksElapsed = Util.EnvironmentTickCountSubtract(tickStart); | 662 | int ticksElapsed = Util.EnvironmentTickCountSubtract(tickStart); |
663 | 663 | ||
@@ -670,15 +670,15 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
670 | RemoveIncomingSceneObjectJobs(so.OwnerID.ToString()); | 670 | RemoveIncomingSceneObjectJobs(so.OwnerID.ToString()); |
671 | 671 | ||
672 | return; | 672 | return; |
673 | } | 673 | } |
674 | } | 674 | } |
675 | 675 | ||
676 | base.HandleIncomingSceneObject(so, newPosition); | 676 | base.HandleIncomingSceneObject(so, newPosition); |
677 | 677 | ||
678 | // m_log.DebugFormat( | 678 | // m_log.DebugFormat( |
679 | // "[HG ENTITY TRANSFER MODULE]: Completed incoming attachment {0} for HG user {1} with asset server {2}", | 679 | // "[HG ENTITY TRANSFER MODULE]: Completed incoming attachment {0} for HG user {1} with asset server {2}", |
680 | // so.Name, so.OwnerID, url); | 680 | // so.Name, so.OwnerID, url); |
681 | }, | 681 | }, |
682 | so.OwnerID.ToString()); | 682 | so.OwnerID.ToString()); |
683 | } | 683 | } |
684 | } | 684 | } |
@@ -698,7 +698,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
698 | string url = aCircuit.ServiceURLs["HomeURI"].ToString(); | 698 | string url = aCircuit.ServiceURLs["HomeURI"].ToString(); |
699 | IUserAgentService security = new UserAgentServiceConnector(url); | 699 | IUserAgentService security = new UserAgentServiceConnector(url); |
700 | return security.VerifyClient(aCircuit.SessionID, token); | 700 | return security.VerifyClient(aCircuit.SessionID, token); |
701 | } | 701 | } |
702 | else | 702 | else |
703 | { | 703 | { |
704 | m_log.DebugFormat( | 704 | m_log.DebugFormat( |
@@ -746,7 +746,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
746 | GridRegion region = new GridRegion(); | 746 | GridRegion region = new GridRegion(); |
747 | 747 | ||
748 | Uri uri = null; | 748 | Uri uri = null; |
749 | if (!aCircuit.ServiceURLs.ContainsKey("HomeURI") || | 749 | if (!aCircuit.ServiceURLs.ContainsKey("HomeURI") || |
750 | (aCircuit.ServiceURLs.ContainsKey("HomeURI") && !Uri.TryCreate(aCircuit.ServiceURLs["HomeURI"].ToString(), UriKind.Absolute, out uri))) | 750 | (aCircuit.ServiceURLs.ContainsKey("HomeURI") && !Uri.TryCreate(aCircuit.ServiceURLs["HomeURI"].ToString(), UriKind.Absolute, out uri))) |
751 | return null; | 751 | return null; |
752 | 752 | ||