All tests pass for MySQL/MySQLRegionData.

Added OpenSim.GridServer.ini.example that I have been using for testing the ROBUST grid service with the GridClient.
remotes/origin/0.6.7-post-fixes
Diva Canto 2009-09-24 18:23:55 -07:00
parent 1faaa0a43a
commit 6a5d7650d0
4 changed files with 59 additions and 57 deletions

View File

@ -77,7 +77,7 @@ namespace OpenSim.Data.MySQL
cmd.Parameters.AddWithValue("?scopeID", scopeID.ToString()); cmd.Parameters.AddWithValue("?scopeID", scopeID.ToString());
List<RegionData> ret = RunCommand(cmd); List<RegionData> ret = RunCommand(cmd);
if (ret == null) if (ret.Count == 0)
return null; return null;
return ret[0]; return ret[0];
@ -95,7 +95,7 @@ namespace OpenSim.Data.MySQL
cmd.Parameters.AddWithValue("?scopeID", scopeID.ToString()); cmd.Parameters.AddWithValue("?scopeID", scopeID.ToString());
List<RegionData> ret = RunCommand(cmd); List<RegionData> ret = RunCommand(cmd);
if (ret == null) if (ret.Count == 0)
return null; return null;
return ret[0]; return ret[0];
@ -170,10 +170,7 @@ namespace OpenSim.Data.MySQL
result.Close(); result.Close();
CloseReaderCommand(cmd); CloseReaderCommand(cmd);
if (retList.Count > 0)
return retList; return retList;
return null;
} }
public bool Store(RegionData data) public bool Store(RegionData data)
@ -182,12 +179,6 @@ namespace OpenSim.Data.MySQL
data.Data.Remove("uuid"); data.Data.Remove("uuid");
if (data.Data.ContainsKey("ScopeID")) if (data.Data.ContainsKey("ScopeID"))
data.Data.Remove("ScopeID"); data.Data.Remove("ScopeID");
if (data.Data.ContainsKey("regionName"))
data.Data.Remove("regionName");
if (data.Data.ContainsKey("posX"))
data.Data.Remove("posX");
if (data.Data.ContainsKey("posY"))
data.Data.Remove("posY");
string[] fields = new List<string>(data.Data.Keys).ToArray(); string[] fields = new List<string>(data.Data.Keys).ToArray();

View File

@ -183,9 +183,9 @@ namespace OpenSim.Services.GridService
rdata.posX = (int)rinfo.RegionLocX; rdata.posX = (int)rinfo.RegionLocX;
rdata.posY = (int)rinfo.RegionLocY; rdata.posY = (int)rinfo.RegionLocY;
rdata.RegionID = rinfo.RegionID; rdata.RegionID = rinfo.RegionID;
rdata.Data = rinfo.ToKeyValuePairs();
rdata.RegionName = rinfo.RegionName; rdata.RegionName = rinfo.RegionName;
rdata.Data = rinfo.ToKeyValuePairs();
rdata.Data["regionHandle"] = Utils.UIntsToLong((uint)rdata.posX, (uint)rdata.posY);
return rdata; return rdata;
} }
@ -196,6 +196,7 @@ namespace OpenSim.Services.GridService
rinfo.RegionLocY = rdata.posY; rinfo.RegionLocY = rdata.posY;
rinfo.RegionID = rdata.RegionID; rinfo.RegionID = rdata.RegionID;
rinfo.RegionName = rdata.RegionName; rinfo.RegionName = rdata.RegionName;
rinfo.ScopeID = rdata.ScopeID;
return rinfo; return rinfo;
} }

View File

@ -263,72 +263,47 @@ namespace OpenSim.Services.Interfaces
kvp["uuid"] = RegionID.ToString(); kvp["uuid"] = RegionID.ToString();
kvp["locX"] = RegionLocX.ToString(); kvp["locX"] = RegionLocX.ToString();
kvp["locY"] = RegionLocY.ToString(); kvp["locY"] = RegionLocY.ToString();
kvp["name"] = RegionName; kvp["regionName"] = RegionName;
kvp["external_ip_address"] = ExternalEndPoint.Address.ToString(); kvp["serverIP"] = ExternalHostName; //ExternalEndPoint.Address.ToString();
kvp["external_port"] = ExternalEndPoint.Port.ToString(); kvp["serverHttpPort"] = HttpPort.ToString();
kvp["external_host_name"] = ExternalHostName; kvp["serverURI"] = ServerURI;
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;
return kvp; return kvp;
} }
public GridRegion(Dictionary<string, object> kvp) public GridRegion(Dictionary<string, object> kvp)
{ {
if (kvp["uuid"] != null) if (kvp.ContainsKey("uuid"))
RegionID = new UUID((string)kvp["uuid"]); RegionID = new UUID((string)kvp["uuid"]);
if (kvp["locX"] != null) if (kvp.ContainsKey("locX"))
RegionLocX = Convert.ToInt32((string)kvp["locX"]); RegionLocX = Convert.ToInt32((string)kvp["locX"]);
if (kvp["locY"] != null) if (kvp.ContainsKey("locY"))
RegionLocY = Convert.ToInt32((string)kvp["locY"]); RegionLocY = Convert.ToInt32((string)kvp["locY"]);
if (kvp["name"] != null) if (kvp.ContainsKey("regionName"))
RegionName = (string)kvp["name"]; RegionName = (string)kvp["regionName"];
if ((kvp["external_ip_address"] != null) && (kvp["external_port"] != null)) if (kvp.ContainsKey("serverIP"))
{ {
int port = 0; int port = 0;
Int32.TryParse((string)kvp["external_port"], out port); //Int32.TryParse((string)kvp["serverPort"], out port);
IPEndPoint ep = new IPEndPoint(IPAddress.Parse((string)kvp["external_ip_address"]), port); //IPEndPoint ep = new IPEndPoint(IPAddress.Parse((string)kvp["serverIP"]), port);
ExternalEndPoint = ep; ExternalHostName = (string)kvp["serverIP"];
} }
else else
ExternalEndPoint = new IPEndPoint(IPAddress.Parse("0.0.0.0"), 0); ExternalHostName = "127.0.0.1";
if (kvp["external_host_name"] != null) if (kvp.ContainsKey("serverHttpPort"))
ExternalHostName = (string)kvp["external_host_name"];
if (kvp["http_port"] != null)
{ {
UInt32 port = 0; UInt32 port = 0;
UInt32.TryParse((string)kvp["http_port"], out port); UInt32.TryParse((string)kvp["serverHttpPort"], out port);
HttpPort = port; HttpPort = port;
} }
if ((kvp["internal_ip_address"] != null) && (kvp["internal_port"] != null)) if (kvp.ContainsKey("serverURI"))
{ ServerURI = (string)kvp["serverURI"];
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"];
} }
} }

View File

@ -0,0 +1,35 @@
; * The startup section lists all the connectors to start up in this server
; * instance. This may be only one, or it may be the entire server suite.
; * Multiple connectors should be seaprated by commas.
; *
; * These are the IN connectors the server uses, the in connectors
; * read this config file and load the needed OUT and database connectors
; *
; *
[Startup]
ServiceConnectors = "OpenSim.Server.Handlers.dll:GridServiceConnector"
; * This is common for all services, it's the network setup for the entire
; * server instance
; *
[Network]
port = 8002
; * The following are for the remote console
; * They have no effect for the local or basic console types
; * Leave commented to diable logins to the console
;ConsoleUser = Test
;ConsolePass = secret
; * As an example, the below configuration precisely mimicks the legacy
; * asset server. It is read by the asset IN connector (defined above)
; * and it then loads the OUT connector (a local database module). That,
; * in turn, reads the asset loader and database connection information
; *
[GridService]
LocalServiceModule = "OpenSim.Services.GridService.dll:GridService"
StorageProvider = "OpenSim.Data.Null.dll:NullRegionData"
;StorageProvider = "OpenSim.Data.MySQL.dll:MySqlRegionData"
;ConnectionString = "Data Source=localhost;Database=opensim;User ID=opensim;Password=***;"
Realm = "regions"