aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ClientStack/Linden
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/ClientStack/Linden')
-rw-r--r--OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs61
1 files changed, 39 insertions, 22 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
index 4860da0..363ee54 100644
--- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
+++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
@@ -460,6 +460,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
460 } 460 }
461 461
462 public bool SendLogoutPacketWhenClosing { set { m_SendLogoutPacketWhenClosing = value; } } 462 public bool SendLogoutPacketWhenClosing { set { m_SendLogoutPacketWhenClosing = value; } }
463
463 464
464 #endregion Properties 465 #endregion Properties
465 466
@@ -585,6 +586,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
585 // Disable UDP handling for this client 586 // Disable UDP handling for this client
586 m_udpClient.Shutdown(); 587 m_udpClient.Shutdown();
587 588
589
588 //m_log.InfoFormat("[CLIENTVIEW] Memory pre GC {0}", System.GC.GetTotalMemory(false)); 590 //m_log.InfoFormat("[CLIENTVIEW] Memory pre GC {0}", System.GC.GetTotalMemory(false));
589 //GC.Collect(); 591 //GC.Collect();
590 //m_log.InfoFormat("[CLIENTVIEW] Memory post GC {0}", System.GC.GetTotalMemory(true)); 592 //m_log.InfoFormat("[CLIENTVIEW] Memory post GC {0}", System.GC.GetTotalMemory(true));
@@ -2750,8 +2752,21 @@ namespace OpenSim.Region.ClientStack.LindenUDP
2750 req.AssetInf.ID, req.AssetInf.Metadata.ContentType); 2752 req.AssetInf.ID, req.AssetInf.Metadata.ContentType);
2751 return; 2753 return;
2752 } 2754 }
2755 int WearableOut = 0;
2756 bool isWearable = false;
2757
2758 if (req.AssetInf != null)
2759 isWearable =
2760 ((AssetType) req.AssetInf.Type ==
2761 AssetType.Bodypart || (AssetType) req.AssetInf.Type == AssetType.Clothing);
2753 2762
2754 //m_log.Debug("sending asset " + req.RequestAssetID); 2763
2764 //m_log.Debug("sending asset " + req.RequestAssetID + ", iswearable: " + isWearable);
2765
2766
2767 //if (isWearable)
2768 // m_log.Debug((AssetType)req.AssetInf.Type);
2769
2755 TransferInfoPacket Transfer = new TransferInfoPacket(); 2770 TransferInfoPacket Transfer = new TransferInfoPacket();
2756 Transfer.TransferInfo.ChannelType = 2; 2771 Transfer.TransferInfo.ChannelType = 2;
2757 Transfer.TransferInfo.Status = 0; 2772 Transfer.TransferInfo.Status = 0;
@@ -2773,7 +2788,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
2773 Transfer.TransferInfo.Size = req.AssetInf.Data.Length; 2788 Transfer.TransferInfo.Size = req.AssetInf.Data.Length;
2774 Transfer.TransferInfo.TransferID = req.TransferRequestID; 2789 Transfer.TransferInfo.TransferID = req.TransferRequestID;
2775 Transfer.Header.Zerocoded = true; 2790 Transfer.Header.Zerocoded = true;
2776 OutPacket(Transfer, ThrottleOutPacketType.Asset); 2791 OutPacket(Transfer, isWearable ? ThrottleOutPacketType.State : ThrottleOutPacketType.Asset);
2777 2792
2778 if (req.NumPackets == 1) 2793 if (req.NumPackets == 1)
2779 { 2794 {
@@ -2784,7 +2799,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
2784 TransferPacket.TransferData.Data = req.AssetInf.Data; 2799 TransferPacket.TransferData.Data = req.AssetInf.Data;
2785 TransferPacket.TransferData.Status = 1; 2800 TransferPacket.TransferData.Status = 1;
2786 TransferPacket.Header.Zerocoded = true; 2801 TransferPacket.Header.Zerocoded = true;
2787 OutPacket(TransferPacket, ThrottleOutPacketType.Asset); 2802 OutPacket(TransferPacket, isWearable ? ThrottleOutPacketType.State : ThrottleOutPacketType.Asset);
2788 } 2803 }
2789 else 2804 else
2790 { 2805 {
@@ -2817,7 +2832,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
2817 TransferPacket.TransferData.Status = 1; 2832 TransferPacket.TransferData.Status = 1;
2818 } 2833 }
2819 TransferPacket.Header.Zerocoded = true; 2834 TransferPacket.Header.Zerocoded = true;
2820 OutPacket(TransferPacket, ThrottleOutPacketType.Asset); 2835 OutPacket(TransferPacket, isWearable ? ThrottleOutPacketType.State : ThrottleOutPacketType.Asset);
2821 2836
2822 processedLength += chunkSize; 2837 processedLength += chunkSize;
2823 packetNumber++; 2838 packetNumber++;
@@ -3572,24 +3587,25 @@ namespace OpenSim.Region.ClientStack.LindenUDP
3572 aw.WearableData = new AgentWearablesUpdatePacket.WearableDataBlock[count]; 3587 aw.WearableData = new AgentWearablesUpdatePacket.WearableDataBlock[count];
3573 AgentWearablesUpdatePacket.WearableDataBlock awb; 3588 AgentWearablesUpdatePacket.WearableDataBlock awb;
3574 int idx = 0; 3589 int idx = 0;
3575 for (int i = 0; i < wearables.Length; i++) 3590
3576 { 3591 for (int i = 0; i < wearables.Length; i++)
3577 for (int j = 0; j < wearables[i].Count; j++) 3592 {
3578 { 3593 for (int j = 0; j < wearables[i].Count; j++)
3579 awb = new AgentWearablesUpdatePacket.WearableDataBlock(); 3594 {
3580 awb.WearableType = (byte)i; 3595 awb = new AgentWearablesUpdatePacket.WearableDataBlock();
3581 awb.AssetID = wearables[i][j].AssetID; 3596 awb.WearableType = (byte) i;
3582 awb.ItemID = wearables[i][j].ItemID; 3597 awb.AssetID = wearables[i][j].AssetID;
3583 aw.WearableData[idx] = awb; 3598 awb.ItemID = wearables[i][j].ItemID;
3584 idx++; 3599 aw.WearableData[idx] = awb;
3585 3600 idx++;
3586// m_log.DebugFormat( 3601
3587// "[APPEARANCE]: Sending wearable item/asset {0} {1} (index {2}) for {3}", 3602 // m_log.DebugFormat(
3588// awb.ItemID, awb.AssetID, i, Name); 3603 // "[APPEARANCE]: Sending wearable item/asset {0} {1} (index {2}) for {3}",
3589 } 3604 // awb.ItemID, awb.AssetID, i, Name);
3590 } 3605 }
3606 }
3591 3607
3592 OutPacket(aw, ThrottleOutPacketType.Task); 3608 OutPacket(aw, ThrottleOutPacketType.State);
3593 } 3609 }
3594 3610
3595 public void SendAppearance(UUID agentID, byte[] visualParams, byte[] textureEntry) 3611 public void SendAppearance(UUID agentID, byte[] visualParams, byte[] textureEntry)
@@ -3614,7 +3630,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
3614 avp.Sender.IsTrial = false; 3630 avp.Sender.IsTrial = false;
3615 avp.Sender.ID = agentID; 3631 avp.Sender.ID = agentID;
3616 //m_log.DebugFormat("[CLIENT]: Sending appearance for {0} to {1}", agentID.ToString(), AgentId.ToString()); 3632 //m_log.DebugFormat("[CLIENT]: Sending appearance for {0} to {1}", agentID.ToString(), AgentId.ToString());
3617 OutPacket(avp, ThrottleOutPacketType.Task); 3633 OutPacket(avp, ThrottleOutPacketType.State);
3618 } 3634 }
3619 3635
3620 public void SendAnimations(UUID[] animations, int[] seqs, UUID sourceAgentId, UUID[] objectIDs) 3636 public void SendAnimations(UUID[] animations, int[] seqs, UUID sourceAgentId, UUID[] objectIDs)
@@ -7798,6 +7814,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
7798 // surrounding scene 7814 // surrounding scene
7799 if ((ImageType)block.Type == ImageType.Baked) 7815 if ((ImageType)block.Type == ImageType.Baked)
7800 args.Priority *= 2.0f; 7816 args.Priority *= 2.0f;
7817 int wearableout = 0;
7801 7818
7802 ImageManager.EnqueueReq(args); 7819 ImageManager.EnqueueReq(args);
7803 } 7820 }