aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/CoreModules/Framework/EntityTransfer
diff options
context:
space:
mode:
authorRobert Adams2014-01-03 07:41:06 -0800
committerRobert Adams2014-01-03 07:41:06 -0800
commit9984ecf862ff7362b0caa6c55554c3fd2243873d (patch)
tree3b627cf01886371cc4a625916a3bc6297c4d23b8 /OpenSim/Region/CoreModules/Framework/EntityTransfer
parentvarregion: extract banned region logic into a class for cleanlyness. (diff)
downloadopensim-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.cs32
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 {