Initial stubs and code for quark/actor registration and lookup
parent
a7d4c974dd
commit
4a4ecb1cde
|
@ -256,5 +256,25 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Grid
|
|||
}
|
||||
}
|
||||
|
||||
#region SYNC SERVER
|
||||
// Stubs for actor and quark management. Only implementation is in SimianGridService
|
||||
public virtual bool RegisterActor(GridActorInfo gai, List<GridQuarkInfo> lgqi)
|
||||
{
|
||||
return m_GridService.RegisterActor(gai, lgqi);
|
||||
}
|
||||
public virtual bool RegisterActor(GridActorInfo gai, GridQuarkInfo gqi)
|
||||
{
|
||||
return m_GridService.RegisterActor(gai, gqi);
|
||||
}
|
||||
public virtual List<GridActorInfo> LookupQuark(GridQuarkInfo gqi)
|
||||
{
|
||||
return m_GridService.LookupQuark(gqi);
|
||||
}
|
||||
public virtual List<GridActorInfo> LookupQuark(GridQuarkInfo gqi, string actorType)
|
||||
{
|
||||
return m_GridService.LookupQuark(gqi, actorType);
|
||||
}
|
||||
#endregion SYNC SERVER
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -288,5 +288,25 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Grid
|
|||
return flags;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region SYNC SERVER
|
||||
// Stubs for actor and quark management. Only implementation is in SimianGridService
|
||||
public virtual bool RegisterActor(GridActorInfo gai, List<GridQuarkInfo> lgqi)
|
||||
{
|
||||
return m_RemoteGridService.RegisterActor(gai, lgqi);
|
||||
}
|
||||
public virtual bool RegisterActor(GridActorInfo gai, GridQuarkInfo gqi)
|
||||
{
|
||||
return m_RemoteGridService.RegisterActor(gai, gqi);
|
||||
}
|
||||
public virtual List<GridActorInfo> LookupQuark(GridQuarkInfo gqi)
|
||||
{
|
||||
return LookupQuark(gqi);
|
||||
}
|
||||
public virtual List<GridActorInfo> LookupQuark(GridQuarkInfo gqi, string actorType)
|
||||
{
|
||||
return LookupQuark(gqi, actorType);
|
||||
}
|
||||
#endregion SYNC SERVER
|
||||
}
|
||||
}
|
||||
|
|
|
@ -653,5 +653,25 @@ namespace OpenSim.Services.Connectors
|
|||
|
||||
#endregion
|
||||
|
||||
#region SYNC SERVER
|
||||
// Stubs for actor and quark management. Only implementation is in SimianGridService
|
||||
public virtual bool RegisterActor(GridActorInfo gai, List<GridQuarkInfo> lgqi)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
public virtual bool RegisterActor(GridActorInfo gai, GridQuarkInfo gqi)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
public virtual List<GridActorInfo> LookupQuark(GridQuarkInfo gqi)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
public virtual List<GridActorInfo> LookupQuark(GridQuarkInfo gqi, string actorType)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
#endregion SYNC SERVER
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -432,5 +432,123 @@ namespace OpenSim.Services.Connectors.SimianGrid
|
|||
|
||||
return region;
|
||||
}
|
||||
|
||||
#region SYNC SERVER
|
||||
// Stubs for actor and quark management. Only implementation is in SimianGridService
|
||||
public virtual bool RegisterActor(GridActorInfo gai, List<GridQuarkInfo> lgqi)
|
||||
{
|
||||
OSDArray quarks = new OSDArray();
|
||||
foreach (GridQuarkInfo gqi in lgqi)
|
||||
{
|
||||
OSDMap quarkMap = new OSDMap
|
||||
{
|
||||
{ "locX", OSD.FromInteger(gqi.locX) },
|
||||
{ "locY", OSD.FromInteger(gqi.locY) }
|
||||
};
|
||||
quarks.Add(quarkMap);
|
||||
}
|
||||
NameValueCollection requestArgs = new NameValueCollection
|
||||
{
|
||||
{ "RequestMethod", "RegisterActor" },
|
||||
{ "actorID", gai.actorID },
|
||||
{ "type", gai.type },
|
||||
{ "address", gai.address },
|
||||
{ "port", gai.port.ToString() },
|
||||
{ "quarks", OSDParser.SerializeJsonString(quarks) }
|
||||
};
|
||||
|
||||
OSDMap response = WebUtil.PostToService(m_ServerURI, requestArgs);
|
||||
if (response["Success"].AsBoolean())
|
||||
{
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public virtual bool RegisterActor(GridActorInfo gai, GridQuarkInfo gqi)
|
||||
{
|
||||
OSDMap quarkMap = new OSDMap
|
||||
{
|
||||
{ "locX", OSD.FromInteger(gqi.locX) },
|
||||
{ "locY", OSD.FromInteger(gqi.locY) }
|
||||
};
|
||||
OSDArray quarks = new OSDArray();
|
||||
quarks.Add(quarkMap);
|
||||
NameValueCollection requestArgs = new NameValueCollection
|
||||
{
|
||||
{ "RequestMethod", "RegisterActor" },
|
||||
{ "actorID", gai.actorID },
|
||||
{ "actorType", gai.type },
|
||||
{ "address", gai.address },
|
||||
{ "port", gai.port.ToString() },
|
||||
{ "quarks", OSDParser.SerializeJsonString(quarks) }
|
||||
};
|
||||
|
||||
OSDMap response = WebUtil.PostToService(m_ServerURI, requestArgs);
|
||||
if (response["Success"].AsBoolean())
|
||||
{
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public virtual List<GridActorInfo> LookupQuark(GridQuarkInfo gqi)
|
||||
{
|
||||
NameValueCollection requestArgs = new NameValueCollection
|
||||
{
|
||||
{ "RequestMethod", "LookupQuark" },
|
||||
{ "locX", gqi.locX.ToString() },
|
||||
{ "locY", gqi.locY.ToString() }
|
||||
};
|
||||
|
||||
OSDMap response = WebUtil.PostToService(m_ServerURI, requestArgs);
|
||||
if (response["Success"].AsBoolean())
|
||||
{
|
||||
List<GridActorInfo> lgai = new List<GridActorInfo>();
|
||||
OSDArray gridActors = (OSDArray)response["actors"];
|
||||
for (int ii = 0; ii < gridActors.Count; ii++)
|
||||
{
|
||||
OSDMap thisGridActor = (OSDMap)gridActors[ii];
|
||||
GridActorInfo gai = new GridActorInfo();
|
||||
gai.actorID = thisGridActor["actorID"].AsString();
|
||||
gai.type = thisGridActor["actorType"].AsString();
|
||||
gai.address = thisGridActor["address"].AsString();
|
||||
gai.port = thisGridActor["port"].AsInteger();
|
||||
lgai.Add(gai);
|
||||
}
|
||||
return lgai;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
public virtual List<GridActorInfo> LookupQuark(GridQuarkInfo gqi, string actorType)
|
||||
{
|
||||
NameValueCollection requestArgs = new NameValueCollection
|
||||
{
|
||||
{ "RequestMethod", "LookupQuark" },
|
||||
{ "locX", gqi.locX.ToString() },
|
||||
{ "locY", gqi.locY.ToString() },
|
||||
{ "actorType", actorType }
|
||||
};
|
||||
|
||||
OSDMap response = WebUtil.PostToService(m_ServerURI, requestArgs);
|
||||
if (response["Success"].AsBoolean())
|
||||
{
|
||||
List<GridActorInfo> lgai = new List<GridActorInfo>();
|
||||
OSDArray gridActors = (OSDArray)response["actors"];
|
||||
for (int ii = 0; ii < gridActors.Count; ii++)
|
||||
{
|
||||
OSDMap thisGridActor = (OSDMap)gridActors[ii];
|
||||
GridActorInfo gai = new GridActorInfo();
|
||||
gai.actorID = thisGridActor["actorID"].AsString();
|
||||
gai.type = thisGridActor["actorType"].AsString();
|
||||
gai.address = thisGridActor["address"].AsString();
|
||||
gai.port = thisGridActor["port"].AsInteger();
|
||||
lgai.Add(gai);
|
||||
}
|
||||
return lgai;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
#endregion SYNC SERVER
|
||||
}
|
||||
}
|
||||
|
|
|
@ -548,5 +548,25 @@ namespace OpenSim.Services.GridService
|
|||
m_Database.Store(r);
|
||||
}
|
||||
}
|
||||
|
||||
#region SYNC SERVER
|
||||
// Stubs for actor and quark management. Only implementation is in SimianGridService
|
||||
public virtual bool RegisterActor(GridActorInfo gai, List<GridQuarkInfo> lgqi)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
public virtual bool RegisterActor(GridActorInfo gai, GridQuarkInfo gqi)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
public virtual List<GridActorInfo> LookupQuark(GridQuarkInfo gqi)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
public virtual List<GridActorInfo> LookupQuark(GridQuarkInfo gqi, string actorType)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
#endregion SYNC SERVER
|
||||
}
|
||||
}
|
||||
|
|
|
@ -95,6 +95,24 @@ namespace OpenSim.Services.Interfaces
|
|||
List<GridRegion> GetHyperlinks(UUID scopeID);
|
||||
|
||||
int GetRegionFlags(UUID scopeID, UUID regionID);
|
||||
|
||||
bool RegisterActor(GridActorInfo gai, List<GridQuarkInfo> lgqi);
|
||||
bool RegisterActor(GridActorInfo gai, GridQuarkInfo gqi);
|
||||
List<GridActorInfo> LookupQuark(GridQuarkInfo gqi);
|
||||
List<GridActorInfo> LookupQuark(GridQuarkInfo gqi, string actorType);
|
||||
}
|
||||
|
||||
public class GridQuarkInfo
|
||||
{
|
||||
public int locX;
|
||||
public int locY;
|
||||
}
|
||||
public class GridActorInfo
|
||||
{
|
||||
public string address;
|
||||
public int port;
|
||||
public string type;
|
||||
public string actorID;
|
||||
}
|
||||
|
||||
public class GridRegion : Object
|
||||
|
|
Loading…
Reference in New Issue