aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Communications
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Communications')
-rw-r--r--OpenSim/Region/Communications/OGS1/OGS1GridServices.cs28
1 files changed, 26 insertions, 2 deletions
diff --git a/OpenSim/Region/Communications/OGS1/OGS1GridServices.cs b/OpenSim/Region/Communications/OGS1/OGS1GridServices.cs
index 12c91ac..cdafad3 100644
--- a/OpenSim/Region/Communications/OGS1/OGS1GridServices.cs
+++ b/OpenSim/Region/Communications/OGS1/OGS1GridServices.cs
@@ -111,6 +111,8 @@ namespace OpenSim.Region.Communications.OGS1
111 GridParams["http_port"] = serversInfo.HttpListenerPort.ToString(); 111 GridParams["http_port"] = serversInfo.HttpListenerPort.ToString();
112 GridParams["remoting_port"] = NetworkServersInfo.RemotingListenerPort.ToString(); 112 GridParams["remoting_port"] = NetworkServersInfo.RemotingListenerPort.ToString();
113 GridParams["map-image-id"] = regionInfo.EstateSettings.terrainImageID.ToString(); 113 GridParams["map-image-id"] = regionInfo.EstateSettings.terrainImageID.ToString();
114 GridParams["originUUID"] = regionInfo.originRegionID.ToString();
115 GridParams["server_uri"] = regionInfo.ServerURI;
114 116
115 // part of an initial brutish effort to provide accurate information (as per the xml region spec) 117 // part of an initial brutish effort to provide accurate information (as per the xml region spec)
116 // wrt the ownership of a given region 118 // wrt the ownership of a given region
@@ -165,7 +167,30 @@ namespace OpenSim.Region.Communications.OGS1
165 167
166 public bool DeregisterRegion(RegionInfo regionInfo) 168 public bool DeregisterRegion(RegionInfo regionInfo)
167 { 169 {
168 return false; 170 Hashtable GridParams = new Hashtable();
171
172 GridParams["UUID"] = regionInfo.RegionID.ToString();
173
174 // Package into an XMLRPC Request
175 ArrayList SendParams = new ArrayList();
176 SendParams.Add(GridParams);
177
178 // Send Request
179 XmlRpcRequest GridReq = new XmlRpcRequest("simulator_after_region_moved", SendParams);
180 XmlRpcResponse GridResp = GridReq.Send(serversInfo.GridURL, 10000);
181 Hashtable GridRespData = (Hashtable) GridResp.Value;
182
183 Hashtable griddatahash = GridRespData;
184
185 // Process Response
186 if (GridRespData.ContainsKey("error")) {
187 string errorstring = (string)GridRespData["error"];
188 m_log.Error("Unable to connect to grid: " + errorstring);
189 return false;
190 }
191
192 // What does DeregisterRegion() do?
193 return m_localBackend.DeregisterRegion(regionInfo);
169 } 194 }
170 195
171 public virtual Dictionary<string, string> GetGridSettings() 196 public virtual Dictionary<string, string> GetGridSettings()
@@ -1209,7 +1234,6 @@ namespace OpenSim.Region.Communications.OGS1
1209 } 1234 }
1210 1235
1211 return m_localBackend.TriggerRegionUp(new RegionInfo(regionData), regionhandle); 1236 return m_localBackend.TriggerRegionUp(new RegionInfo(regionData), regionhandle);
1212
1213 } 1237 }
1214 1238
1215 catch (RemotingException e) 1239 catch (RemotingException e)