diff options
author | Robert Adams | 2014-01-03 07:41:06 -0800 |
---|---|---|
committer | Robert Adams | 2014-01-03 07:41:06 -0800 |
commit | 9984ecf862ff7362b0caa6c55554c3fd2243873d (patch) | |
tree | 3b627cf01886371cc4a625916a3bc6297c4d23b8 /OpenSim/Region/CoreModules/Framework/EntityTransfer | |
parent | varregion: extract banned region logic into a class for cleanlyness. (diff) | |
download | opensim-SC-9984ecf862ff7362b0caa6c55554c3fd2243873d.zip opensim-SC-9984ecf862ff7362b0caa6c55554c3fd2243873d.tar.gz opensim-SC-9984ecf862ff7362b0caa6c55554c3fd2243873d.tar.bz2 opensim-SC-9984ecf862ff7362b0caa6c55554c3fd2243873d.tar.xz |
varregion: Add region size to teleport event messages (EnableSimulator,
CorssRegion, TeleportFinishEvent).
Have Simian grid service return the region size.
Many teleport related debug log messages. Can be removed when teleport
works (like that's ever going to happen).
Diffstat (limited to 'OpenSim/Region/CoreModules/Framework/EntityTransfer')
-rw-r--r-- | OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs | 32 |
1 files changed, 21 insertions, 11 deletions
diff --git a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs index f2850bb..4ab36a5 100644 --- a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs +++ b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs | |||
@@ -868,7 +868,10 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
868 | // The EnableSimulator message makes the client establish a connection with the destination | 868 | // The EnableSimulator message makes the client establish a connection with the destination |
869 | // simulator by sending the initial UseCircuitCode UDP packet to the destination containing the | 869 | // simulator by sending the initial UseCircuitCode UDP packet to the destination containing the |
870 | // correct circuit code. | 870 | // correct circuit code. |
871 | m_eqModule.EnableSimulator(destinationHandle, endPoint, sp.UUID); | 871 | m_eqModule.EnableSimulator(destinationHandle, endPoint, sp.UUID, |
872 | finalDestination.RegionSizeX, finalDestination.RegionSizeY); | ||
873 | m_log.DebugFormat("{0} Sent EnableSimulator. regName={1}, size=<{2},{3}>", LogHeader, | ||
874 | finalDestination.RegionName, finalDestination.RegionSizeX, finalDestination.RegionSizeY); | ||
872 | 875 | ||
873 | // XXX: Is this wait necessary? We will always end up waiting on UpdateAgent for the destination | 876 | // XXX: Is this wait necessary? We will always end up waiting on UpdateAgent for the destination |
874 | // simulator to confirm that it has established communication with the viewer. | 877 | // simulator to confirm that it has established communication with the viewer. |
@@ -878,7 +881,8 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
878 | // unnecessary - teleport will succeed and SEED caps will be requested without it (though possibly | 881 | // unnecessary - teleport will succeed and SEED caps will be requested without it (though possibly |
879 | // only on TeleportFinish). This is untested for region teleport between different simulators | 882 | // only on TeleportFinish). This is untested for region teleport between different simulators |
880 | // though this probably also works. | 883 | // though this probably also works. |
881 | m_eqModule.EstablishAgentCommunication(sp.UUID, endPoint, capsPath); | 884 | m_eqModule.EstablishAgentCommunication(sp.UUID, endPoint, capsPath, finalDestination.RegionHandle, |
885 | finalDestination.RegionSizeX, finalDestination.RegionSizeY); | ||
882 | } | 886 | } |
883 | else | 887 | else |
884 | { | 888 | { |
@@ -964,7 +968,8 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
964 | // OK, send TPFinish to the client, so that it starts the process of contacting the destination region | 968 | // OK, send TPFinish to the client, so that it starts the process of contacting the destination region |
965 | if (m_eqModule != null) | 969 | if (m_eqModule != null) |
966 | { | 970 | { |
967 | m_eqModule.TeleportFinishEvent(destinationHandle, 13, endPoint, 0, teleportFlags, capsPath, sp.UUID); | 971 | m_eqModule.TeleportFinishEvent(destinationHandle, 13, endPoint, 0, teleportFlags, capsPath, sp.UUID, |
972 | finalDestination.RegionSizeX, finalDestination.RegionSizeY); | ||
968 | } | 973 | } |
969 | else | 974 | else |
970 | { | 975 | { |
@@ -1117,7 +1122,8 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
1117 | 1122 | ||
1118 | // New protocol: send TP Finish directly, without prior ES or EAC. That's what happens in the Linden grid | 1123 | // New protocol: send TP Finish directly, without prior ES or EAC. That's what happens in the Linden grid |
1119 | if (m_eqModule != null) | 1124 | if (m_eqModule != null) |
1120 | m_eqModule.TeleportFinishEvent(destinationHandle, 13, endPoint, 0, teleportFlags, capsPath, sp.UUID); | 1125 | m_eqModule.TeleportFinishEvent(destinationHandle, 13, endPoint, 0, teleportFlags, capsPath, sp.UUID, |
1126 | finalDestination.RegionSizeX, finalDestination.RegionSizeY); | ||
1121 | else | 1127 | else |
1122 | sp.ControllingClient.SendRegionTeleport(destinationHandle, 13, endPoint, 4, | 1128 | sp.ControllingClient.SendRegionTeleport(destinationHandle, 13, endPoint, 4, |
1123 | teleportFlags, capsPath); | 1129 | teleportFlags, capsPath); |
@@ -1690,11 +1696,14 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
1690 | if (m_eqModule != null) | 1696 | if (m_eqModule != null) |
1691 | { | 1697 | { |
1692 | m_eqModule.CrossRegion( | 1698 | m_eqModule.CrossRegion( |
1693 | neighbourRegion.RegionHandle, pos + agent.Velocity, vel2 /* agent.Velocity */, neighbourRegion.ExternalEndPoint, | 1699 | neighbourRegion.RegionHandle, pos + agent.Velocity, vel2 /* agent.Velocity */, |
1694 | capsPath, agent.UUID, agent.ControllingClient.SessionId); | 1700 | neighbourRegion.ExternalEndPoint, |
1701 | capsPath, agent.UUID, agent.ControllingClient.SessionId, | ||
1702 | neighbourRegion.RegionSizeX, neighbourRegion.RegionSizeY); | ||
1695 | } | 1703 | } |
1696 | else | 1704 | else |
1697 | { | 1705 | { |
1706 | m_log.ErrorFormat("{0} Using old CrossRegion packet. Varregion will not work!!", LogHeader); | ||
1698 | agent.ControllingClient.CrossRegion(neighbourRegion.RegionHandle, pos + agent.Velocity, agent.Velocity, neighbourRegion.ExternalEndPoint, | 1707 | agent.ControllingClient.CrossRegion(neighbourRegion.RegionHandle, pos + agent.Velocity, agent.Velocity, neighbourRegion.ExternalEndPoint, |
1699 | capsPath); | 1708 | capsPath); |
1700 | } | 1709 | } |
@@ -2240,12 +2249,13 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
2240 | } | 2249 | } |
2241 | #endregion | 2250 | #endregion |
2242 | 2251 | ||
2243 | m_log.DebugFormat("[ENTITY TRANSFER MODULE]: {0} is sending {1} EnableSimulator for neighbour region {2} @ {3} " + | 2252 | m_log.DebugFormat("{0} {1} is sending {2} EnableSimulator for neighbour region {3}(loc=<{4},{5}>,siz=<{6},{7}>) " + |
2244 | "and EstablishAgentCommunication with seed cap {4}", | 2253 | "and EstablishAgentCommunication with seed cap {8}", LogHeader, |
2245 | scene.RegionInfo.RegionName, sp.Name, reg.RegionName, reg.RegionHandle, capsPath); | 2254 | scene.RegionInfo.RegionName, sp.Name, |
2255 | reg.RegionName, reg.RegionLocX, reg.RegionLocY, reg.RegionSizeX, reg.RegionSizeY , capsPath); | ||
2246 | 2256 | ||
2247 | m_eqModule.EnableSimulator(reg.RegionHandle, endPoint, sp.UUID); | 2257 | m_eqModule.EnableSimulator(reg.RegionHandle, endPoint, sp.UUID, reg.RegionSizeX, reg.RegionSizeY); |
2248 | m_eqModule.EstablishAgentCommunication(sp.UUID, endPoint, capsPath); | 2258 | m_eqModule.EstablishAgentCommunication(sp.UUID, endPoint, capsPath, reg.RegionHandle, reg.RegionSizeX, reg.RegionSizeY); |
2249 | } | 2259 | } |
2250 | else | 2260 | else |
2251 | { | 2261 | { |