Merge branch 'dev' into dev_kitty

dsg
Huaiyu (Kitty) Liu 2011-02-25 16:23:57 -08:00
commit a5c55a19ef
6 changed files with 75 additions and 7 deletions

View File

@ -254,8 +254,6 @@ namespace OpenSim.Region.CoreModules.Avatar.AvatarFactory
/// </summary> /// </summary>
public void QueueAppearanceSend(UUID agentid) public void QueueAppearanceSend(UUID agentid)
{ {
// m_log.WarnFormat("[AVFACTORY]: Queue appearance send for {0}", agentid);
// 10000 ticks per millisecond, 1000 milliseconds per second // 10000 ticks per millisecond, 1000 milliseconds per second
long timestamp = DateTime.Now.Ticks + Convert.ToInt64(m_sendtime * 1000 * 10000); long timestamp = DateTime.Now.Ticks + Convert.ToInt64(m_sendtime * 1000 * 10000);
lock (m_sendqueue) lock (m_sendqueue)
@ -263,7 +261,7 @@ namespace OpenSim.Region.CoreModules.Avatar.AvatarFactory
m_sendqueue[agentid] = timestamp; m_sendqueue[agentid] = timestamp;
m_updateTimer.Start(); m_updateTimer.Start();
} }
m_log.WarnFormat("[AVFACTORY]: Queue appearance send for {0} at {1} (now is {2})", agentid, timestamp,DateTime.Now.Ticks); //m_log.DebugFormat("[AVFACTORY]: Queue appearance send for {0} at {1} (now is {2})", agentid, timestamp,DateTime.Now.Ticks);
} }
public void QueueAppearanceSave(UUID agentid) public void QueueAppearanceSave(UUID agentid)
@ -382,7 +380,7 @@ namespace OpenSim.Region.CoreModules.Avatar.AvatarFactory
{ {
if (kvp.Value < now) if (kvp.Value < now)
{ {
m_log.WarnFormat("[AVFACTORY]: send appearance for {0} at time {1}", kvp.Key, now); m_log.DebugFormat("[AVFACTORY]: send appearance for {0} at time {1}", kvp.Key, now);
Util.FireAndForget(delegate(object o) { HandleAppearanceSend(kvp.Key); }); Util.FireAndForget(delegate(object o) { HandleAppearanceSend(kvp.Key); });
m_sendqueue.Remove(kvp.Key); m_sendqueue.Remove(kvp.Key);
} }

View File

@ -771,11 +771,13 @@ namespace OpenSim.Region.CoreModules.RegionSync.RegionSyncModule
sp.ControllingClient.SendAnimations(animIDs, seqs, sourceAgentID, objectIDs); sp.ControllingClient.SendAnimations(animIDs, seqs, sourceAgentID, objectIDs);
} }
} }
/*
else else
{ {
m_log.WarnFormat("{0} Could not send animation for {1} because scene presence not found", m_log.WarnFormat("{0} Could not send animation for {1} because scene presence not found",
LogHeader(), agentID.ToString()); LogHeader(), agentID.ToString());
} }
*/
return; return;
} }
case RegionSyncMessage.MsgType.BalanceClientLoad: case RegionSyncMessage.MsgType.BalanceClientLoad:

View File

@ -282,7 +282,7 @@ namespace OpenSim.Region.CoreModules.RegionSync.RegionSyncModule
// Existing value of 1 indicates that updates are currently being sent so skip updates this pass // Existing value of 1 indicates that updates are currently being sent so skip updates this pass
if (Interlocked.Exchange(ref m_sendingUpdates, 1) == 1) if (Interlocked.Exchange(ref m_sendingUpdates, 1) == 1)
{ {
m_log.WarnFormat("[REGION SYNC SERVER MODULE] SendUpdates(): An update thread is already running."); m_log.DebugFormat("[REGION SYNC SERVER MODULE] SendUpdates(): An update thread is already running.");
return; return;
} }

View File

@ -235,7 +235,7 @@ namespace OpenSim.Region.CoreModules.RegionSync.RegionSyncModule
// Existing value of 1 indicates that updates are currently being sent so skip updates this pass // Existing value of 1 indicates that updates are currently being sent so skip updates this pass
if (Interlocked.Exchange(ref m_sendingUpdates, 1) == 1) if (Interlocked.Exchange(ref m_sendingUpdates, 1) == 1)
{ {
m_log.WarnFormat("[REGION SYNC MODULE] SendUpdates(): An update thread is already running."); m_log.DebugFormat("[REGION SYNC MODULE] SendUpdates(): An update thread is already running.");
return; return;
} }

View File

@ -434,6 +434,12 @@ namespace OpenSim.Services.Connectors.SimianGrid
} }
#region SYNC SERVER #region SYNC SERVER
/// <summary>
/// Register the SyncServerID, address and port for a particular endpoint.
/// The internal address and port are not registered.
/// </summary>
/// <param name="gei"></param>
/// <returns>'true' if the registration was successful and 'false' otherwise</returns>
public virtual bool RegisterEndpoint(GridEndpointInfo gei) public virtual bool RegisterEndpoint(GridEndpointInfo gei)
{ {
NameValueCollection requestArgs = new NameValueCollection NameValueCollection requestArgs = new NameValueCollection
@ -456,6 +462,42 @@ namespace OpenSim.Services.Connectors.SimianGrid
return false; return false;
} }
/// <summary>
/// Lookup a particular endpoint given the SyncServerID of the endpoint.
/// </summary>
/// <param name="syncServerID"></param>
/// <returns>endpoint information or 'null' if not found</returns>
public virtual GridEndpointInfo LookupEndpoint(string syncServerID)
{
NameValueCollection requestArgs = new NameValueCollection
{
{ "RequestMethod", "GetEndpoint" },
{ "SyncServerID", syncServerID },
};
OSDMap response = WebUtil.PostToService(m_ServerURI, requestArgs);
if (response["Success"].AsBoolean())
{
GridEndpointInfo gai = new GridEndpointInfo();
gai.syncServerID = response["SyncServerID"].AsString();
gai.address = response["Address"].AsString();
gai.port = (uint)response["Port"].AsInteger();
gai.internalAddress = response["InternalAddress"].AsString();
gai.internalPort = (uint)response["InternalPort"].AsInteger();
return gai;
}
m_log.ErrorFormat("{0}: Lookup of endpoint failed: {1}",
"[SIMIAN GRID CONNECTOR]", response["Message"]);
return null;
}
/// <summary>
/// Register an actor association with a SyncServer.
/// </summary>
/// <param name="actorID">unique identification of the actor (actor's "name")</param>
/// <param name="actorType">actor type identification string</param>
/// <param name="syncServerID">sync server identification</param>
/// <returns>'true' if registration successful. 'false' otherwise</returns>
public virtual bool RegisterActor(string actorID, string actorType, string syncServerID) public virtual bool RegisterActor(string actorID, string actorType, string syncServerID)
{ {
NameValueCollection requestArgs = new NameValueCollection NameValueCollection requestArgs = new NameValueCollection
@ -479,6 +521,13 @@ namespace OpenSim.Services.Connectors.SimianGrid
return false; return false;
} }
/// <summary>
/// Register a quark on a SyncServer.
/// </summary>
/// <param name="syncServerID"></param>
/// <param name="locX"></param>
/// <param name="locY"></param>
/// <returns>'true' if registration successful. 'false' otherwise</returns>
public virtual bool RegisterQuark(string syncServerID, uint locX, uint locY) public virtual bool RegisterQuark(string syncServerID, uint locX, uint locY)
{ {
NameValueCollection requestArgs = new NameValueCollection NameValueCollection requestArgs = new NameValueCollection
@ -501,6 +550,12 @@ namespace OpenSim.Services.Connectors.SimianGrid
return false; return false;
} }
/// <summary>
/// Given a quark location, return all the endpoints associated with that quark;
/// </summary>
/// <param name="locX">quark home X location</param>
/// <param name="locY">quark home Y location</param>
/// <returns>list of endpoints and actor types associated with the quark</returns>
public virtual List<GridEndpointInfo> LookupQuark(uint locX, uint locY) public virtual List<GridEndpointInfo> LookupQuark(uint locX, uint locY)
{ {
NameValueCollection requestArgs = new NameValueCollection NameValueCollection requestArgs = new NameValueCollection
@ -512,6 +567,15 @@ namespace OpenSim.Services.Connectors.SimianGrid
return LookupQuark(requestArgs); return LookupQuark(requestArgs);
} }
/// <summary>
/// Given a quark location and an actor type, return all endpoints associated with
/// the quark that have that actor. This is equivilent to the previous request but
/// filtered by the actor type.
/// </summary>
/// <param name="locX">quark home X location</param>
/// <param name="locY">quark home Y location</param>
/// <param name="actorType">actor definition string</param>
/// <returns>list of endpoints having that actor and the quark</returns>
public virtual List<GridEndpointInfo> LookupQuark(uint locX, uint locY, string actorType) public virtual List<GridEndpointInfo> LookupQuark(uint locX, uint locY, string actorType)
{ {
NameValueCollection requestArgs = new NameValueCollection NameValueCollection requestArgs = new NameValueCollection

View File

@ -203,7 +203,11 @@ namespace OpenSim.Services.Connectors.SimianGrid
public PresenceInfo GetAgent(UUID sessionID) public PresenceInfo GetAgent(UUID sessionID)
{ {
// m_log.DebugFormat("[SIMIAN PRESENCE CONNECTOR]: Requesting session data for agent with sessionID " + sessionID); // m_log.DebugFormat("[SIMIAN PRESENCE CONNECTOR]: Requesting session data for agent with sessionID " + sessionID);
if(sessionID == UUID.Zero)
{
m_log.Debug("[SIMIAN PRESENCE CONNECTOR]: GetAgent called with UUID.Zero!");
return null;
}
NameValueCollection requestArgs = new NameValueCollection NameValueCollection requestArgs = new NameValueCollection
{ {
{ "RequestMethod", "GetSession" }, { "RequestMethod", "GetSession" },