First pass at moving object property requests into a queue similar

to the entity update queue. The number of property packets can
become significant when selecting/deselecting large numbers of
objects.

This is experimental code.
This commit is contained in:
Mic Bowman
2011-04-12 12:36:36 -07:00
parent 2f43687589
commit 69d014e1dc
11 changed files with 269 additions and 215 deletions

View File

@@ -570,16 +570,30 @@ namespace OpenSim.Framework
public float dwell;
}
public class EntityUpdate
public class IEntityUpdate
{
public ISceneEntity Entity;
public PrimUpdateFlags Flags;
public float TimeDilation;
public uint Flags;
public EntityUpdate(ISceneEntity entity, PrimUpdateFlags flags, float timedilation)
public IEntityUpdate(ISceneEntity entity, uint flags)
{
Entity = entity;
Flags = flags;
}
}
public class EntityUpdate : IEntityUpdate
{
// public ISceneEntity Entity;
// public PrimUpdateFlags Flags;
public float TimeDilation;
public EntityUpdate(ISceneEntity entity, PrimUpdateFlags flags, float timedilation)
: base(entity,(uint)flags)
{
//Entity = entity;
// Flags = flags;
TimeDilation = timedilation;
}
}
@@ -1211,20 +1225,9 @@ namespace OpenSim.Framework
/// <param name="stats"></param>
void SendSimStats(SimStats stats);
void SendObjectPropertiesFamilyData(uint RequestFlags, UUID ObjectUUID, UUID OwnerID, UUID GroupID,
uint BaseMask, uint OwnerMask, uint GroupMask, uint EveryoneMask,
uint NextOwnerMask, int OwnershipCost, byte SaleType, int SalePrice,
uint Category,
UUID LastOwnerID, string ObjectName, string Description);
void SendObjectPropertiesFamilyData(ISceneEntity Entity, uint RequestFlags);
void SendObjectPropertiesReply(UUID ItemID, ulong CreationDate, UUID CreatorUUID, UUID FolderUUID,
UUID FromTaskUUID,
UUID GroupUUID, short InventorySerial, UUID LastOwnerUUID, UUID ObjectUUID,
UUID OwnerUUID, string TouchTitle, byte[] TextureID, string SitTitle,
string ItemName,
string ItemDescription, uint OwnerMask, uint NextOwnerMask, uint GroupMask,
uint EveryoneMask,
uint BaseMask, byte saleType, int salePrice);
void SendObjectPropertiesReply(ISceneEntity Entity);
void SendAgentOffline(UUID[] agentIDs);