aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Framework
diff options
context:
space:
mode:
authorUbitUmarov2019-01-25 20:49:18 +0000
committerUbitUmarov2019-01-25 20:49:18 +0000
commit3ee70aac0b41cd28e41f31a679b4ac4d615f46dc (patch)
tree22a90f918571616cdbfd5240012c65deaca2410a /OpenSim/Framework
parenta few changes on priority queues and their heap (diff)
downloadopensim-SC-3ee70aac0b41cd28e41f31a679b4ac4d615f46dc.zip
opensim-SC-3ee70aac0b41cd28e41f31a679b4ac4d615f46dc.tar.gz
opensim-SC-3ee70aac0b41cd28e41f31a679b4ac4d615f46dc.tar.bz2
opensim-SC-3ee70aac0b41cd28e41f31a679b4ac4d615f46dc.tar.xz
mess around with prioritizer
Diffstat (limited to 'OpenSim/Framework')
-rw-r--r--OpenSim/Framework/IClientAPI.cs27
1 files changed, 7 insertions, 20 deletions
diff --git a/OpenSim/Framework/IClientAPI.cs b/OpenSim/Framework/IClientAPI.cs
index 252ee3e..307dbf3 100644
--- a/OpenSim/Framework/IClientAPI.cs
+++ b/OpenSim/Framework/IClientAPI.cs
@@ -587,7 +587,6 @@ namespace OpenSim.Framework
587 { 587 {
588 private ISceneEntity m_entity; 588 private ISceneEntity m_entity;
589 private PrimUpdateFlags m_flags; 589 private PrimUpdateFlags m_flags;
590 private int m_updateTime;
591 590
592 public ISceneEntity Entity 591 public ISceneEntity Entity
593 { 592 {
@@ -599,41 +598,29 @@ namespace OpenSim.Framework
599 get { return m_flags; } 598 get { return m_flags; }
600 } 599 }
601 600
602 public int UpdateTime 601 public virtual void Update()
603 { 602 {
604 get { return m_updateTime; } 603 // we are on the new one
604 if (m_flags.HasFlag(PrimUpdateFlags.CancelKill))
605 m_flags = PrimUpdateFlags.FullUpdatewithAnim;
605 } 606 }
606 607
607 public virtual void Update(EntityUpdate oldupdate) 608 public virtual void Update(EntityUpdate oldupdate)
608 { 609 {
609 // we are on the new one 610 // we are on the new one
610 PrimUpdateFlags updateFlags = oldupdate.Flags; 611 PrimUpdateFlags updateFlags = oldupdate.Flags;
611 if(m_flags.HasFlag(PrimUpdateFlags.CancelKill)) 612 if (m_flags.HasFlag(PrimUpdateFlags.CancelKill))
612 { 613 {
613 m_flags = PrimUpdateFlags.FullUpdatewithAnim; 614 m_flags = PrimUpdateFlags.FullUpdatewithAnim;
614 } 615 }
615 else if(updateFlags.HasFlag(PrimUpdateFlags.Kill)) 616 else
616 return;
617 else // kill case will just merge in
618 m_flags |= updateFlags; 617 m_flags |= updateFlags;
619
620 // Use the older of the updates as the updateTime
621 if (Util.EnvironmentTickCountCompare(UpdateTime, oldupdate.UpdateTime) > 0)
622 m_updateTime = oldupdate.UpdateTime;
623 } 618 }
624 619
625 public EntityUpdate(ISceneEntity entity, PrimUpdateFlags flags) 620 public EntityUpdate(ISceneEntity entity, PrimUpdateFlags flags)
626 { 621 {
627 m_entity = entity; 622 m_entity = entity;
628 m_flags = flags; 623 m_flags = flags;
629 m_updateTime = Util.EnvironmentTickCount();
630 }
631
632 public EntityUpdate(ISceneEntity entity, PrimUpdateFlags flags, Int32 updateTime)
633 {
634 m_entity = entity;
635 m_flags = flags;
636 m_updateTime = updateTime;
637 } 624 }
638 } 625 }
639 626
@@ -694,7 +681,7 @@ namespace OpenSim.Framework
694 FullUpdatewithAnim = FullUpdate | Animations, 681 FullUpdatewithAnim = FullUpdate | Animations,
695 682
696 SendInTransit = 0x20000000, // 1 << 29 683 SendInTransit = 0x20000000, // 1 << 29
697 CancelKill = 0x41ffffff, // 1 << 30 684 CancelKill = 0x40000000, // 1 << 30
698 Kill = 0x80000000 // 1 << 31 685 Kill = 0x80000000 // 1 << 31
699 } 686 }
700 687