From fdb2a75ad357668b860fc5055e0630ef75a3ad20 Mon Sep 17 00:00:00 2001 From: John Hurliman Date: Sat, 17 Oct 2009 18:01:22 -0700 Subject: Committing the second part of Jim Greensky @ Intel Lab's patch, re-prioritizing updates --- OpenSim/Framework/IClientAPI.cs | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'OpenSim/Framework') diff --git a/OpenSim/Framework/IClientAPI.cs b/OpenSim/Framework/IClientAPI.cs index 9aa3af1..03e7a25 100644 --- a/OpenSim/Framework/IClientAPI.cs +++ b/OpenSim/Framework/IClientAPI.cs @@ -448,6 +448,8 @@ namespace OpenSim.Framework public delegate void AvatarInterestUpdate(IClientAPI client, uint wantmask, string wanttext, uint skillsmask, string skillstext, string languages); public delegate void PlacesQuery(UUID QueryID, UUID TransactionID, string QueryText, uint QueryFlags, byte Category, string SimName, IClientAPI client); + public delegate double UpdatePriorityHandler(UpdatePriorityData data); + #endregion public struct DirPlacesReplyData @@ -744,6 +746,29 @@ namespace OpenSim.Framework public double priority { get { return this.m_priority; } } } + public struct UpdatePriorityData { + private double m_priority; + private uint m_localID; + + public UpdatePriorityData(double priority, uint localID) { + this.m_priority = priority; + this.m_localID = localID; + } + + public double priority { get { return this.m_priority; } } + public uint localID { get { return this.m_localID; } } + } + + [Flags] + public enum StateUpdateTypes + { + None = 0, + AvatarTerse = 1, + PrimitiveTerse = AvatarTerse << 1, + PrimitiveFull = PrimitiveTerse << 1, + All = AvatarTerse | PrimitiveTerse | PrimitiveFull, + } + public interface IClientAPI { Vector3 StartPos { get; set; } @@ -1118,6 +1143,8 @@ namespace OpenSim.Framework void SendPrimTerseUpdate(SendPrimitiveTerseData data); + void ReprioritizeUpdates(StateUpdateTypes type, UpdatePriorityHandler handler); + void SendInventoryFolderDetails(UUID ownerID, UUID folderID, List items, List folders, bool fetchFolders, bool fetchItems); -- cgit v1.1