diff options
Diffstat (limited to 'OpenSim/Region/Communications')
-rw-r--r-- | OpenSim/Region/Communications/OGS1/OGS1GridServices.cs | 28 |
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) |