diff options
author | Diva Canto | 2011-05-02 09:04:34 -0700 |
---|---|---|
committer | Diva Canto | 2011-05-02 09:04:34 -0700 |
commit | 8cc547c2776f957abd0fa09c33c02bf42de70340 (patch) | |
tree | 446acf38bcb48d7b4c232b044a957e0ffed36425 /OpenSim/Services/Connectors/Simulation | |
parent | Fixed confusing OSDMap that comes as the response of QueryAccess in the case ... (diff) | |
download | opensim-SC_OLD-8cc547c2776f957abd0fa09c33c02bf42de70340.zip opensim-SC_OLD-8cc547c2776f957abd0fa09c33c02bf42de70340.tar.gz opensim-SC_OLD-8cc547c2776f957abd0fa09c33c02bf42de70340.tar.bz2 opensim-SC_OLD-8cc547c2776f957abd0fa09c33c02bf42de70340.tar.xz |
Turns out that it's a bad idea to let Agent position updates linger for a long time on certain versions of mono. It's better to abort them if they take too long. So timeout is now an argument. Currently: 20secs for CreateAgent, 100secs for UpdateAgent (fat), 10 secs for UpdateAgent (Position); all of these divided by 4, for ReadWrite, as Mic had before.
Diffstat (limited to 'OpenSim/Services/Connectors/Simulation')
-rw-r--r-- | OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs b/OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs index 5cb8269..0f2ced1 100644 --- a/OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs +++ b/OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs | |||
@@ -102,7 +102,7 @@ namespace OpenSim.Services.Connectors.Simulation | |||
102 | args["destination_uuid"] = OSD.FromString(destination.RegionID.ToString()); | 102 | args["destination_uuid"] = OSD.FromString(destination.RegionID.ToString()); |
103 | args["teleport_flags"] = OSD.FromString(flags.ToString()); | 103 | args["teleport_flags"] = OSD.FromString(flags.ToString()); |
104 | 104 | ||
105 | OSDMap result = WebUtil.PostToService(uri,args); | 105 | OSDMap result = WebUtil.PostToService(uri, args, 20000); |
106 | if (result["Success"].AsBoolean()) | 106 | if (result["Success"].AsBoolean()) |
107 | return true; | 107 | return true; |
108 | 108 | ||
@@ -126,7 +126,7 @@ namespace OpenSim.Services.Connectors.Simulation | |||
126 | /// </summary> | 126 | /// </summary> |
127 | public bool UpdateAgent(GridRegion destination, AgentData data) | 127 | public bool UpdateAgent(GridRegion destination, AgentData data) |
128 | { | 128 | { |
129 | return UpdateAgent(destination, (IAgentData)data); | 129 | return UpdateAgent(destination, (IAgentData)data, 100000); // yes, 100 seconds |
130 | } | 130 | } |
131 | 131 | ||
132 | /// <summary> | 132 | /// <summary> |
@@ -181,7 +181,7 @@ namespace OpenSim.Services.Connectors.Simulation | |||
181 | } | 181 | } |
182 | } | 182 | } |
183 | 183 | ||
184 | UpdateAgent(destination,(IAgentData)pos); | 184 | UpdateAgent(destination, (IAgentData)pos, 10000); |
185 | } | 185 | } |
186 | 186 | ||
187 | // unreachable | 187 | // unreachable |
@@ -191,7 +191,7 @@ namespace OpenSim.Services.Connectors.Simulation | |||
191 | /// <summary> | 191 | /// <summary> |
192 | /// This is the worker function to send AgentData to a neighbor region | 192 | /// This is the worker function to send AgentData to a neighbor region |
193 | /// </summary> | 193 | /// </summary> |
194 | private bool UpdateAgent(GridRegion destination, IAgentData cAgentData) | 194 | private bool UpdateAgent(GridRegion destination, IAgentData cAgentData, int timeout) |
195 | { | 195 | { |
196 | // m_log.DebugFormat("[REMOTE SIMULATION CONNECTOR]: UpdateAgent start"); | 196 | // m_log.DebugFormat("[REMOTE SIMULATION CONNECTOR]: UpdateAgent start"); |
197 | 197 | ||
@@ -207,7 +207,7 @@ namespace OpenSim.Services.Connectors.Simulation | |||
207 | args["destination_name"] = OSD.FromString(destination.RegionName); | 207 | args["destination_name"] = OSD.FromString(destination.RegionName); |
208 | args["destination_uuid"] = OSD.FromString(destination.RegionID.ToString()); | 208 | args["destination_uuid"] = OSD.FromString(destination.RegionID.ToString()); |
209 | 209 | ||
210 | OSDMap result = WebUtil.PutToService(uri,args); | 210 | OSDMap result = WebUtil.PutToService(uri, args, timeout); |
211 | return result["Success"].AsBoolean(); | 211 | return result["Success"].AsBoolean(); |
212 | } | 212 | } |
213 | catch (Exception e) | 213 | catch (Exception e) |
@@ -233,7 +233,7 @@ namespace OpenSim.Services.Connectors.Simulation | |||
233 | 233 | ||
234 | try | 234 | try |
235 | { | 235 | { |
236 | OSDMap result = WebUtil.GetFromService(uri); | 236 | OSDMap result = WebUtil.GetFromService(uri, 10000); |
237 | if (result["Success"].AsBoolean()) | 237 | if (result["Success"].AsBoolean()) |
238 | { | 238 | { |
239 | // OSDMap args = Util.GetOSDMap(result["_RawResult"].AsString()); | 239 | // OSDMap args = Util.GetOSDMap(result["_RawResult"].AsString()); |
@@ -392,7 +392,7 @@ namespace OpenSim.Services.Connectors.Simulation | |||
392 | args["destination_name"] = OSD.FromString(destination.RegionName); | 392 | args["destination_name"] = OSD.FromString(destination.RegionName); |
393 | args["destination_uuid"] = OSD.FromString(destination.RegionID.ToString()); | 393 | args["destination_uuid"] = OSD.FromString(destination.RegionID.ToString()); |
394 | 394 | ||
395 | WebUtil.PostToService(uri, args); | 395 | WebUtil.PostToService(uri, args, 40000); |
396 | } | 396 | } |
397 | catch (Exception e) | 397 | catch (Exception e) |
398 | { | 398 | { |