From f768effa87efb6ff00fc1808bf7f11c45f3695e5 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Thu, 7 Jul 2016 12:21:50 +0100 Subject: move object inventory send to udp queue asset ( was task). Remove a call to RefreshGroupMembership() on start. It was too soon and its Groups module job --- .../Region/ClientStack/Linden/UDP/LLClientView.cs | 44 +++++++++++----------- 1 file changed, 22 insertions(+), 22 deletions(-) (limited to 'OpenSim/Region/ClientStack/Linden/UDP') diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs index be992b4..383031c 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs @@ -837,7 +837,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP { m_scene.AddNewAgent(this, PresenceType.User); - RefreshGroupMembership(); +// RefreshGroupMembership(); } # endregion @@ -2281,14 +2281,15 @@ namespace OpenSim.Region.ClientStack.LindenUDP replytask.InventoryData.TaskID = taskID; replytask.InventoryData.Serial = serial; replytask.InventoryData.Filename = fileName; - OutPacket(replytask, ThrottleOutPacketType.Task); +// OutPacket(replytask, ThrottleOutPacketType.Task); + OutPacket(replytask, ThrottleOutPacketType.Asset); } public void SendXferPacket(ulong xferID, uint packet, byte[] data, bool isTaskInventory) { ThrottleOutPacketType type = ThrottleOutPacketType.Asset; - if (isTaskInventory) - type = ThrottleOutPacketType.Task; +// if (isTaskInventory) +// type = ThrottleOutPacketType.Task; SendXferPacketPacket sendXfer = (SendXferPacketPacket)PacketPool.Instance.GetPacket(PacketType.SendXferPacket); sendXfer.XferID.ID = xferID; @@ -4361,30 +4362,29 @@ namespace OpenSim.Region.ClientStack.LindenUDP HashSet NewGroupsInView = new HashSet(); HashSet GroupsNeedFullUpdate = new HashSet(); - // will this take for ever ? lock(GroupsInView) { - EntityBase[] entities = m_scene.Entities.GetEntities(); - foreach (EntityBase e in entities) - { - if (e != null && e is SceneObjectGroup && !((SceneObjectGroup)e).IsAttachment) + EntityBase[] entities = m_scene.Entities.GetEntities(); + foreach (EntityBase e in entities) { - SceneObjectGroup grp = (SceneObjectGroup)e; - Vector3 grppos = grp.AbsolutePosition; - float dcam = (grppos - mycamera).LengthSquared(); - float dpos = (grppos - mypos).LengthSquared(); - if(dcam < dpos) - dpos = dcam; - dpos = (float)Math.Sqrt(dpos) - grp.GetBoundsRadius(); - if(dpos > cullingrange) + if (e != null && e is SceneObjectGroup && !((SceneObjectGroup)e).IsAttachment) { - if(GroupsInView.Contains(grp)) + SceneObjectGroup grp = (SceneObjectGroup)e; + Vector3 grppos = grp.AbsolutePosition; + float dcam = (grppos - mycamera).LengthSquared(); + float dpos = (grppos - mypos).LengthSquared(); + if(dcam < dpos) + dpos = dcam; + dpos = (float)Math.Sqrt(dpos) - grp.GetBoundsRadius(); + if(dpos > cullingrange) { - GroupsInView.Remove(grp); - if (!m_killRecord.Contains(grp.LocalId)) - m_killRecord.Add(grp.LocalId); - } + if(GroupsInView.Contains(grp)) + { + GroupsInView.Remove(grp); + if (!m_killRecord.Contains(grp.LocalId)) + m_killRecord.Add(grp.LocalId); + } } else { -- cgit v1.1