Split agent updates into two messages: full update and position+camera update. They're both sent over HTTP PUT. The full update is sent on TPs, for now; later it will also be sent on region crossings.

This commit is contained in:
diva
2009-01-03 02:29:49 +00:00
parent a7708413ee
commit 4144fd0eb2
8 changed files with 225 additions and 53 deletions

View File

@@ -88,14 +88,28 @@ namespace OpenSim.Framework
}
}
public interface IAgentData
{
UUID AgentID { get; set; }
OSDMap PackUpdateMessage();
void UnpackUpdateMessage(OSDMap map);
}
/// <summary>
/// Replacement for ChildAgentDataUpdate. Used over RESTComms and LocalComms.
/// </summary>
public class AgentPosition
public class AgentPosition : IAgentData
{
private UUID m_id;
public UUID AgentID
{
get { return m_id; }
set { m_id = value; }
}
public ulong RegionHandle;
public uint CircuitCode;
public UUID AgentID;
public UUID SessionID;
public float Far;
@@ -272,12 +286,16 @@ namespace OpenSim.Framework
}
}
public class AgentData
public class AgentData : IAgentData
{
private UUID m_id;
public UUID AgentID
{
get { return m_id; }
set { m_id = value; }
}
public ulong RegionHandle;
public uint CircuitCode;
public UUID AgentID;
public UUID SessionID;
public Vector3 Position;