mirror of
https://github.com/opensim/opensim.git
synced 2026-08-11 11:57:03 +08:00
Merge branch 'master' of ssh://justincc@opensimulator.org/var/git/opensim
This commit is contained in:
@@ -97,14 +97,27 @@ namespace OpenSim.Services.Connectors
|
||||
|
||||
sendData["METHOD"] = "register";
|
||||
|
||||
string reply = SynchronousRestFormsRequester.MakeRequest("POST",
|
||||
m_ServerURI + "/grid",
|
||||
ServerUtils.BuildQueryString(sendData));
|
||||
string reqString = ServerUtils.BuildQueryString(sendData);
|
||||
//m_log.DebugFormat("[GRID CONNECTOR]: queryString = {0}", reqString);
|
||||
try
|
||||
{
|
||||
string reply = SynchronousRestFormsRequester.MakeRequest("POST",
|
||||
m_ServerURI + "/grid",
|
||||
reqString);
|
||||
if (reply != string.Empty)
|
||||
{
|
||||
Dictionary<string, object> replyData = ServerUtils.ParseXmlResponse(reply);
|
||||
|
||||
Dictionary<string, object> replyData = ServerUtils.ParseXmlResponse(reply);
|
||||
|
||||
if ((replyData["Result"] != null) && (replyData["Result"].ToString().ToLower() == "success"))
|
||||
return true;
|
||||
if ((replyData["Result"] != null) && (replyData["Result"].ToString().ToLower() == "success"))
|
||||
return true;
|
||||
}
|
||||
else
|
||||
m_log.DebugFormat("[GRID CONNECTOR]: RegisterRegion received null reply");
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
m_log.DebugFormat("[GRID CONNECTOR]: Exception when contacting grid server: {0}", e.Message);
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
@@ -117,14 +130,26 @@ namespace OpenSim.Services.Connectors
|
||||
|
||||
sendData["METHOD"] = "deregister";
|
||||
|
||||
string reply = SynchronousRestFormsRequester.MakeRequest("POST",
|
||||
m_ServerURI + "/grid",
|
||||
ServerUtils.BuildQueryString(sendData));
|
||||
try
|
||||
{
|
||||
string reply = SynchronousRestFormsRequester.MakeRequest("POST",
|
||||
m_ServerURI + "/grid",
|
||||
ServerUtils.BuildQueryString(sendData));
|
||||
|
||||
Dictionary<string, object> replyData = ServerUtils.ParseXmlResponse(reply);
|
||||
if (reply != string.Empty)
|
||||
{
|
||||
Dictionary<string, object> replyData = ServerUtils.ParseXmlResponse(reply);
|
||||
|
||||
if ((replyData["Result"] != null) && (replyData["Result"].ToString().ToLower() == "success"))
|
||||
return true;
|
||||
if ((replyData["Result"] != null) && (replyData["Result"].ToString().ToLower() == "success"))
|
||||
return true;
|
||||
}
|
||||
else
|
||||
m_log.DebugFormat("[GRID CONNECTOR]: DeregisterRegion received null reply");
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
m_log.DebugFormat("[GRID CONNECTOR]: Exception when contacting grid server: {0}", e.Message);
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
@@ -138,16 +163,28 @@ namespace OpenSim.Services.Connectors
|
||||
|
||||
sendData["METHOD"] = "get_neighbours";
|
||||
|
||||
string reply = SynchronousRestFormsRequester.MakeRequest("POST",
|
||||
m_ServerURI + "/grid",
|
||||
ServerUtils.BuildQueryString(sendData));
|
||||
List<GridRegion> rinfos = new List<GridRegion>();
|
||||
|
||||
string reqString = ServerUtils.BuildQueryString(sendData);
|
||||
string reply = string.Empty;
|
||||
try
|
||||
{
|
||||
reply = SynchronousRestFormsRequester.MakeRequest("POST",
|
||||
m_ServerURI + "/grid",
|
||||
reqString);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
m_log.DebugFormat("[GRID CONNECTOR]: Exception when contacting grid server: {0}", e.Message);
|
||||
return rinfos;
|
||||
}
|
||||
|
||||
Dictionary<string, object> replyData = ServerUtils.ParseXmlResponse(reply);
|
||||
|
||||
List<GridRegion> rinfos = new List<GridRegion>();
|
||||
if (replyData != null)
|
||||
{
|
||||
Dictionary<string, object>.ValueCollection rinfosList = replyData.Values;
|
||||
//m_log.DebugFormat("[GRID CONNECTOR]: get neighbours returned {0} elements", rinfosList.Count);
|
||||
foreach (object r in rinfosList)
|
||||
{
|
||||
if (r is Dictionary<string, object>)
|
||||
@@ -156,8 +193,8 @@ namespace OpenSim.Services.Connectors
|
||||
rinfos.Add(rinfo);
|
||||
}
|
||||
else
|
||||
m_log.DebugFormat("[GRID CONNECTOR]: GetNeighbours {0}, {1} received invalid response",
|
||||
scopeID, regionID);
|
||||
m_log.DebugFormat("[GRID CONNECTOR]: GetNeighbours {0}, {1} received invalid response type {2}",
|
||||
scopeID, regionID, r.GetType());
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -176,24 +213,39 @@ namespace OpenSim.Services.Connectors
|
||||
|
||||
sendData["METHOD"] = "get_region_by_uuid";
|
||||
|
||||
string reply = SynchronousRestFormsRequester.MakeRequest("POST",
|
||||
m_ServerURI + "/grid",
|
||||
ServerUtils.BuildQueryString(sendData));
|
||||
|
||||
Dictionary<string, object> replyData = ServerUtils.ParseXmlResponse(reply);
|
||||
string reply = string.Empty;
|
||||
try
|
||||
{
|
||||
reply = SynchronousRestFormsRequester.MakeRequest("POST",
|
||||
m_ServerURI + "/grid",
|
||||
ServerUtils.BuildQueryString(sendData));
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
m_log.DebugFormat("[GRID CONNECTOR]: Exception when contacting grid server: {0}", e.Message);
|
||||
return null;
|
||||
}
|
||||
|
||||
GridRegion rinfo = null;
|
||||
if ((replyData != null) && (replyData["result"] != null))
|
||||
|
||||
if (reply != string.Empty)
|
||||
{
|
||||
if (replyData["result"] is Dictionary<string, object>)
|
||||
rinfo = new GridRegion((Dictionary<string, object>)replyData["result"]);
|
||||
Dictionary<string, object> replyData = ServerUtils.ParseXmlResponse(reply);
|
||||
|
||||
if ((replyData != null) && (replyData["result"] != null))
|
||||
{
|
||||
if (replyData["result"] is Dictionary<string, object>)
|
||||
rinfo = new GridRegion((Dictionary<string, object>)replyData["result"]);
|
||||
//else
|
||||
// m_log.DebugFormat("[GRID CONNECTOR]: GetRegionByUUID {0}, {1} received null response",
|
||||
// scopeID, regionID);
|
||||
}
|
||||
else
|
||||
m_log.DebugFormat("[GRID CONNECTOR]: GetRegionByUUID {0}, {1} received invalid response",
|
||||
m_log.DebugFormat("[GRID CONNECTOR]: GetRegionByUUID {0}, {1} received null response",
|
||||
scopeID, regionID);
|
||||
}
|
||||
else
|
||||
m_log.DebugFormat("[GRID CONNECTOR]: GetRegionByUUID {0}, {1} received null response",
|
||||
scopeID, regionID);
|
||||
m_log.DebugFormat("[GRID CONNECTOR]: GetRegionByUUID received null reply");
|
||||
|
||||
return rinfo;
|
||||
}
|
||||
@@ -207,25 +259,38 @@ namespace OpenSim.Services.Connectors
|
||||
sendData["Y"] = y.ToString();
|
||||
|
||||
sendData["METHOD"] = "get_region_by_position";
|
||||
|
||||
string reply = SynchronousRestFormsRequester.MakeRequest("POST",
|
||||
m_ServerURI + "/grid",
|
||||
ServerUtils.BuildQueryString(sendData));
|
||||
|
||||
Dictionary<string, object> replyData = ServerUtils.ParseXmlResponse(reply);
|
||||
string reply = string.Empty;
|
||||
try
|
||||
{
|
||||
reply = SynchronousRestFormsRequester.MakeRequest("POST",
|
||||
m_ServerURI + "/grid",
|
||||
ServerUtils.BuildQueryString(sendData));
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
m_log.DebugFormat("[GRID CONNECTOR]: Exception when contacting grid server: {0}", e.Message);
|
||||
return null;
|
||||
}
|
||||
|
||||
GridRegion rinfo = null;
|
||||
if ((replyData != null) && (replyData["result"] != null))
|
||||
if (reply != string.Empty)
|
||||
{
|
||||
if (replyData["result"] is Dictionary<string, object>)
|
||||
rinfo = new GridRegion((Dictionary<string, object>)replyData["result"]);
|
||||
Dictionary<string, object> replyData = ServerUtils.ParseXmlResponse(reply);
|
||||
|
||||
if ((replyData != null) && (replyData["result"] != null))
|
||||
{
|
||||
if (replyData["result"] is Dictionary<string, object>)
|
||||
rinfo = new GridRegion((Dictionary<string, object>)replyData["result"]);
|
||||
else
|
||||
m_log.DebugFormat("[GRID CONNECTOR]: GetRegionByPosition {0}, {1}-{2} received invalid response",
|
||||
scopeID, x, y);
|
||||
}
|
||||
else
|
||||
m_log.DebugFormat("[GRID CONNECTOR]: GetRegionByPosition {0}, {1}-{2} received invalid response",
|
||||
m_log.DebugFormat("[GRID CONNECTOR]: GetRegionByPosition {0}, {1}-{2} received null response",
|
||||
scopeID, x, y);
|
||||
}
|
||||
else
|
||||
m_log.DebugFormat("[GRID CONNECTOR]: GetRegionByPosition {0}, {1}-{2} received null response",
|
||||
scopeID, x, y);
|
||||
m_log.DebugFormat("[GRID CONNECTOR]: GetRegionByPosition received null reply");
|
||||
|
||||
return rinfo;
|
||||
}
|
||||
@@ -238,25 +303,35 @@ namespace OpenSim.Services.Connectors
|
||||
sendData["NAME"] = regionName;
|
||||
|
||||
sendData["METHOD"] = "get_region_by_name";
|
||||
|
||||
string reply = SynchronousRestFormsRequester.MakeRequest("POST",
|
||||
m_ServerURI + "/grid",
|
||||
ServerUtils.BuildQueryString(sendData));
|
||||
|
||||
Dictionary<string, object> replyData = ServerUtils.ParseXmlResponse(reply);
|
||||
string reply = string.Empty;
|
||||
try
|
||||
{
|
||||
reply = SynchronousRestFormsRequester.MakeRequest("POST",
|
||||
m_ServerURI + "/grid",
|
||||
ServerUtils.BuildQueryString(sendData));
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
m_log.DebugFormat("[GRID CONNECTOR]: Exception when contacting grid server: {0}", e.Message);
|
||||
return null;
|
||||
}
|
||||
|
||||
GridRegion rinfo = null;
|
||||
if ((replyData != null) && (replyData["result"] != null))
|
||||
if (reply != string.Empty)
|
||||
{
|
||||
if (replyData["result"] is Dictionary<string, object>)
|
||||
rinfo = new GridRegion((Dictionary<string, object>)replyData["result"]);
|
||||
Dictionary<string, object> replyData = ServerUtils.ParseXmlResponse(reply);
|
||||
|
||||
if ((replyData != null) && (replyData["result"] != null))
|
||||
{
|
||||
if (replyData["result"] is Dictionary<string, object>)
|
||||
rinfo = new GridRegion((Dictionary<string, object>)replyData["result"]);
|
||||
}
|
||||
else
|
||||
m_log.DebugFormat("[GRID CONNECTOR]: GetRegionByPosition {0}, {1} received invalid response",
|
||||
m_log.DebugFormat("[GRID CONNECTOR]: GetRegionByPosition {0}, {1} received null response",
|
||||
scopeID, regionName);
|
||||
}
|
||||
else
|
||||
m_log.DebugFormat("[GRID CONNECTOR]: GetRegionByPosition {0}, {1} received null response",
|
||||
scopeID, regionName);
|
||||
m_log.DebugFormat("[GRID CONNECTOR]: GetRegionByName received null reply");
|
||||
|
||||
return rinfo;
|
||||
}
|
||||
@@ -270,32 +345,45 @@ namespace OpenSim.Services.Connectors
|
||||
sendData["MAX"] = maxNumber.ToString();
|
||||
|
||||
sendData["METHOD"] = "get_regions_by_name";
|
||||
|
||||
string reply = SynchronousRestFormsRequester.MakeRequest("POST",
|
||||
m_ServerURI + "/grid",
|
||||
ServerUtils.BuildQueryString(sendData));
|
||||
|
||||
Dictionary<string, object> replyData = ServerUtils.ParseXmlResponse(reply);
|
||||
|
||||
List<GridRegion> rinfos = new List<GridRegion>();
|
||||
if (replyData != null)
|
||||
string reply = string.Empty;
|
||||
try
|
||||
{
|
||||
Dictionary<string, object>.ValueCollection rinfosList = replyData.Values;
|
||||
foreach (object r in rinfosList)
|
||||
reply = SynchronousRestFormsRequester.MakeRequest("POST",
|
||||
m_ServerURI + "/grid",
|
||||
ServerUtils.BuildQueryString(sendData));
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
m_log.DebugFormat("[GRID CONNECTOR]: Exception when contacting grid server: {0}", e.Message);
|
||||
return rinfos;
|
||||
}
|
||||
|
||||
if (reply != string.Empty)
|
||||
{
|
||||
Dictionary<string, object> replyData = ServerUtils.ParseXmlResponse(reply);
|
||||
|
||||
if (replyData != null)
|
||||
{
|
||||
if (r is Dictionary<string, object>)
|
||||
Dictionary<string, object>.ValueCollection rinfosList = replyData.Values;
|
||||
foreach (object r in rinfosList)
|
||||
{
|
||||
GridRegion rinfo = new GridRegion((Dictionary<string, object>)r);
|
||||
rinfos.Add(rinfo);
|
||||
if (r is Dictionary<string, object>)
|
||||
{
|
||||
GridRegion rinfo = new GridRegion((Dictionary<string, object>)r);
|
||||
rinfos.Add(rinfo);
|
||||
}
|
||||
else
|
||||
m_log.DebugFormat("[GRID CONNECTOR]: GetRegionsByName {0}, {1}, {2} received invalid response",
|
||||
scopeID, name, maxNumber);
|
||||
}
|
||||
else
|
||||
m_log.DebugFormat("[GRID CONNECTOR]: GetRegionsByName {0}, {1}, {2} received invalid response",
|
||||
scopeID, name, maxNumber);
|
||||
}
|
||||
else
|
||||
m_log.DebugFormat("[GRID CONNECTOR]: GetRegionsByName {0}, {1}, {2} received null response",
|
||||
scopeID, name, maxNumber);
|
||||
}
|
||||
else
|
||||
m_log.DebugFormat("[GRID CONNECTOR]: GetRegionsByName {0}, {1}, {2} received null response",
|
||||
scopeID, name, maxNumber);
|
||||
m_log.DebugFormat("[GRID CONNECTOR]: GetRegionsByName received null reply");
|
||||
|
||||
return rinfos;
|
||||
}
|
||||
@@ -312,31 +400,44 @@ namespace OpenSim.Services.Connectors
|
||||
|
||||
sendData["METHOD"] = "get_region_range";
|
||||
|
||||
string reply = SynchronousRestFormsRequester.MakeRequest("POST",
|
||||
m_ServerURI + "/grid",
|
||||
ServerUtils.BuildQueryString(sendData));
|
||||
|
||||
Dictionary<string, object> replyData = ServerUtils.ParseXmlResponse(reply);
|
||||
|
||||
List<GridRegion> rinfos = new List<GridRegion>();
|
||||
if (replyData != null)
|
||||
string reply = string.Empty;
|
||||
try
|
||||
{
|
||||
Dictionary<string, object>.ValueCollection rinfosList = replyData.Values;
|
||||
foreach (object r in rinfosList)
|
||||
reply = SynchronousRestFormsRequester.MakeRequest("POST",
|
||||
m_ServerURI + "/grid",
|
||||
ServerUtils.BuildQueryString(sendData));
|
||||
|
||||
//m_log.DebugFormat("[GRID CONNECTOR]: reply was {0}", reply);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
m_log.DebugFormat("[GRID CONNECTOR]: Exception when contacting grid server: {0}", e.Message);
|
||||
return rinfos;
|
||||
}
|
||||
|
||||
if (reply != string.Empty)
|
||||
{
|
||||
Dictionary<string, object> replyData = ServerUtils.ParseXmlResponse(reply);
|
||||
|
||||
if (replyData != null)
|
||||
{
|
||||
if (r is Dictionary<string, object>)
|
||||
Dictionary<string, object>.ValueCollection rinfosList = replyData.Values;
|
||||
foreach (object r in rinfosList)
|
||||
{
|
||||
GridRegion rinfo = new GridRegion((Dictionary<string, object>)r);
|
||||
rinfos.Add(rinfo);
|
||||
if (r is Dictionary<string, object>)
|
||||
{
|
||||
GridRegion rinfo = new GridRegion((Dictionary<string, object>)r);
|
||||
rinfos.Add(rinfo);
|
||||
}
|
||||
}
|
||||
else
|
||||
m_log.DebugFormat("[GRID CONNECTOR]: GetRegionRange {0}, {1}-{2} {3}-{4} received invalid response",
|
||||
scopeID, xmin, xmax, ymin, ymax);
|
||||
}
|
||||
else
|
||||
m_log.DebugFormat("[GRID CONNECTOR]: GetRegionRange {0}, {1}-{2} {3}-{4} received null response",
|
||||
scopeID, xmin, xmax, ymin, ymax);
|
||||
}
|
||||
else
|
||||
m_log.DebugFormat("[GRID CONNECTOR]: GetRegionRange {0}, {1}-{2} {3}-{4} received null response",
|
||||
scopeID, xmin, xmax, ymin, ymax);
|
||||
m_log.DebugFormat("[GRID CONNECTOR]: GetRegionRange received null reply");
|
||||
|
||||
return rinfos;
|
||||
}
|
||||
|
||||
@@ -50,35 +50,27 @@ namespace OpenSim.Services.GridService
|
||||
: base(config)
|
||||
{
|
||||
m_log.DebugFormat("[GRID SERVICE]: Starting...");
|
||||
MainConsole.Instance.Commands.AddCommand("kfs", false,
|
||||
"show digest",
|
||||
"show digest <ID>",
|
||||
"Show asset digest", HandleShowDigest);
|
||||
|
||||
MainConsole.Instance.Commands.AddCommand("kfs", false,
|
||||
"delete asset",
|
||||
"delete asset <ID>",
|
||||
"Delete asset from database", HandleDeleteAsset);
|
||||
|
||||
}
|
||||
|
||||
#region IGridService
|
||||
|
||||
public bool RegisterRegion(UUID scopeID, GridRegion regionInfos)
|
||||
{
|
||||
if (m_Database.Get(regionInfos.RegionID, scopeID) != null)
|
||||
{
|
||||
m_log.WarnFormat("[GRID SERVICE]: Region {0} already registered in scope {1}.", regionInfos.RegionID, scopeID);
|
||||
return false;
|
||||
}
|
||||
// This needs better sanity testing. What if regionInfo is registering in
|
||||
// overlapping coords?
|
||||
if (m_Database.Get(regionInfos.RegionLocX, regionInfos.RegionLocY, scopeID) != null)
|
||||
RegionData region = m_Database.Get(regionInfos.RegionLocX, regionInfos.RegionLocY, scopeID);
|
||||
if ((region != null) && (region.RegionID != regionInfos.RegionID))
|
||||
{
|
||||
m_log.WarnFormat("[GRID SERVICE]: Region {0} tried to register in coordinates {1}, {2} which are already in use in scope {3}.",
|
||||
regionInfos.RegionID, regionInfos.RegionLocX, regionInfos.RegionLocY, scopeID);
|
||||
return false;
|
||||
}
|
||||
if ((region != null) && (region.RegionID == regionInfos.RegionID) &&
|
||||
((region.posX != regionInfos.RegionLocX) || (region.posY != regionInfos.RegionLocY)))
|
||||
{
|
||||
// Region reregistering in other coordinates. Delete the old entry
|
||||
m_Database.Delete(regionInfos.RegionID);
|
||||
}
|
||||
|
||||
// Everything is ok, let's register
|
||||
RegionData rdata = RegionInfo2RegionData(regionInfos);
|
||||
@@ -183,9 +175,9 @@ namespace OpenSim.Services.GridService
|
||||
rdata.posX = (int)rinfo.RegionLocX;
|
||||
rdata.posY = (int)rinfo.RegionLocY;
|
||||
rdata.RegionID = rinfo.RegionID;
|
||||
rdata.Data = rinfo.ToKeyValuePairs();
|
||||
rdata.RegionName = rinfo.RegionName;
|
||||
|
||||
rdata.Data = rinfo.ToKeyValuePairs();
|
||||
rdata.Data["regionHandle"] = Utils.UIntsToLong((uint)rdata.posX, (uint)rdata.posY);
|
||||
return rdata;
|
||||
}
|
||||
|
||||
@@ -196,73 +188,12 @@ namespace OpenSim.Services.GridService
|
||||
rinfo.RegionLocY = rdata.posY;
|
||||
rinfo.RegionID = rdata.RegionID;
|
||||
rinfo.RegionName = rdata.RegionName;
|
||||
rinfo.ScopeID = rdata.ScopeID;
|
||||
|
||||
return rinfo;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
void HandleShowDigest(string module, string[] args)
|
||||
{
|
||||
//if (args.Length < 3)
|
||||
//{
|
||||
// MainConsole.Instance.Output("Syntax: show digest <ID>");
|
||||
// return;
|
||||
//}
|
||||
|
||||
//AssetBase asset = Get(args[2]);
|
||||
|
||||
//if (asset == null || asset.Data.Length == 0)
|
||||
//{
|
||||
// MainConsole.Instance.Output("Asset not found");
|
||||
// return;
|
||||
//}
|
||||
|
||||
//int i;
|
||||
|
||||
//MainConsole.Instance.Output(String.Format("Name: {0}", asset.Name));
|
||||
//MainConsole.Instance.Output(String.Format("Description: {0}", asset.Description));
|
||||
//MainConsole.Instance.Output(String.Format("Type: {0}", asset.Type));
|
||||
//MainConsole.Instance.Output(String.Format("Content-type: {0}", asset.Metadata.ContentType));
|
||||
|
||||
//for (i = 0 ; i < 5 ; i++)
|
||||
//{
|
||||
// int off = i * 16;
|
||||
// if (asset.Data.Length <= off)
|
||||
// break;
|
||||
// int len = 16;
|
||||
// if (asset.Data.Length < off + len)
|
||||
// len = asset.Data.Length - off;
|
||||
|
||||
// byte[] line = new byte[len];
|
||||
// Array.Copy(asset.Data, off, line, 0, len);
|
||||
|
||||
// string text = BitConverter.ToString(line);
|
||||
// MainConsole.Instance.Output(String.Format("{0:x4}: {1}", off, text));
|
||||
//}
|
||||
}
|
||||
|
||||
void HandleDeleteAsset(string module, string[] args)
|
||||
{
|
||||
//if (args.Length < 3)
|
||||
//{
|
||||
// MainConsole.Instance.Output("Syntax: delete asset <ID>");
|
||||
// return;
|
||||
//}
|
||||
|
||||
//AssetBase asset = Get(args[2]);
|
||||
|
||||
//if (asset == null || asset.Data.Length == 0)
|
||||
// MainConsole.Instance.Output("Asset not found");
|
||||
// return;
|
||||
//}
|
||||
|
||||
//Delete(args[2]);
|
||||
|
||||
////MainConsole.Instance.Output("Asset deleted");
|
||||
//// TODO: Implement this
|
||||
|
||||
//MainConsole.Instance.Output("Asset deletion not supported by database");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -263,59 +263,55 @@ namespace OpenSim.Services.Interfaces
|
||||
kvp["uuid"] = RegionID.ToString();
|
||||
kvp["locX"] = RegionLocX.ToString();
|
||||
kvp["locY"] = RegionLocY.ToString();
|
||||
kvp["external_ip_address"] = ExternalEndPoint.Address.ToString();
|
||||
kvp["external_port"] = ExternalEndPoint.Port.ToString();
|
||||
kvp["external_host_name"] = ExternalHostName;
|
||||
kvp["http_port"] = HttpPort.ToString();
|
||||
kvp["internal_ip_address"] = InternalEndPoint.Address.ToString();
|
||||
kvp["internal_port"] = InternalEndPoint.Port.ToString();
|
||||
kvp["alternate_ports"] = m_allow_alternate_ports.ToString();
|
||||
kvp["server_uri"] = ServerURI;
|
||||
kvp["regionName"] = RegionName;
|
||||
kvp["serverIP"] = ExternalHostName; //ExternalEndPoint.Address.ToString();
|
||||
kvp["serverHttpPort"] = HttpPort.ToString();
|
||||
kvp["serverURI"] = ServerURI;
|
||||
kvp["serverPort"] = InternalEndPoint.Port.ToString();
|
||||
|
||||
return kvp;
|
||||
}
|
||||
|
||||
public GridRegion(Dictionary<string, object> kvp)
|
||||
{
|
||||
if ((kvp["external_ip_address"] != null) && (kvp["external_port"] != null))
|
||||
if (kvp.ContainsKey("uuid"))
|
||||
RegionID = new UUID((string)kvp["uuid"]);
|
||||
|
||||
if (kvp.ContainsKey("locX"))
|
||||
RegionLocX = Convert.ToInt32((string)kvp["locX"]);
|
||||
|
||||
if (kvp.ContainsKey("locY"))
|
||||
RegionLocY = Convert.ToInt32((string)kvp["locY"]);
|
||||
|
||||
if (kvp.ContainsKey("regionName"))
|
||||
RegionName = (string)kvp["regionName"];
|
||||
|
||||
if (kvp.ContainsKey("serverIP"))
|
||||
{
|
||||
int port = 0;
|
||||
Int32.TryParse((string)kvp["external_port"], out port);
|
||||
IPEndPoint ep = new IPEndPoint(IPAddress.Parse((string)kvp["external_ip_address"]), port);
|
||||
ExternalEndPoint = ep;
|
||||
//int port = 0;
|
||||
//Int32.TryParse((string)kvp["serverPort"], out port);
|
||||
//IPEndPoint ep = new IPEndPoint(IPAddress.Parse((string)kvp["serverIP"]), port);
|
||||
ExternalHostName = (string)kvp["serverIP"];
|
||||
}
|
||||
else
|
||||
ExternalEndPoint = new IPEndPoint(IPAddress.Parse("0.0.0.0"), 0);
|
||||
ExternalHostName = "127.0.0.1";
|
||||
|
||||
if (kvp["external_host_name"] != null)
|
||||
ExternalHostName = (string)kvp["external_host_name"];
|
||||
if (kvp.ContainsKey("serverPort"))
|
||||
{
|
||||
Int32 port = 0;
|
||||
Int32.TryParse((string)kvp["serverPort"], out port);
|
||||
InternalEndPoint = new IPEndPoint(IPAddress.Parse("0.0.0.0"), port);
|
||||
}
|
||||
|
||||
if (kvp["http_port"] != null)
|
||||
if (kvp.ContainsKey("serverHttpPort"))
|
||||
{
|
||||
UInt32 port = 0;
|
||||
UInt32.TryParse((string)kvp["http_port"], out port);
|
||||
UInt32.TryParse((string)kvp["serverHttpPort"], out port);
|
||||
HttpPort = port;
|
||||
}
|
||||
|
||||
if ((kvp["internal_ip_address"] != null) && (kvp["internal_port"] != null))
|
||||
{
|
||||
int port = 0;
|
||||
Int32.TryParse((string)kvp["internal_port"], out port);
|
||||
IPEndPoint ep = new IPEndPoint(IPAddress.Parse((string)kvp["internal_ip_address"]), port);
|
||||
InternalEndPoint = ep;
|
||||
}
|
||||
else
|
||||
InternalEndPoint = new IPEndPoint(IPAddress.Parse("0.0.0.0"), 0);
|
||||
|
||||
if (kvp["alternate_ports"] != null)
|
||||
{
|
||||
bool alts = false;
|
||||
Boolean.TryParse((string)kvp["alternate_ports"], out alts);
|
||||
m_allow_alternate_ports = alts;
|
||||
}
|
||||
|
||||
if (kvp["server_uri"] != null)
|
||||
ServerURI = (string)kvp["server_uri"];
|
||||
if (kvp.ContainsKey("serverURI"))
|
||||
ServerURI = (string)kvp["serverURI"];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user