From 2226626fec4e8459873fdd7586c07c98401cdb5d Mon Sep 17 00:00:00 2001
From: Justin Clarke Casey
Date: Wed, 15 Oct 2008 15:30:27 +0000
Subject: * refactor: move code concerned with creating a subsequent image
packet to LLClientView
---
OpenSim/Framework/IClientAPI.cs | 9 +++++++++
OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | 11 +++++++++++
.../Modules/Agent/TextureSender/TextureSender.cs | 13 ++++---------
OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs | 4 ++++
OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs | 4 ++++
5 files changed, 32 insertions(+), 9 deletions(-)
diff --git a/OpenSim/Framework/IClientAPI.cs b/OpenSim/Framework/IClientAPI.cs
index d370aed..d5d4c34 100644
--- a/OpenSim/Framework/IClientAPI.cs
+++ b/OpenSim/Framework/IClientAPI.cs
@@ -802,6 +802,15 @@ namespace OpenSim.Framework
///
///
void SendImageFirstPart(ushort numParts, UUID ImageUUID, uint ImageSize, byte[] ImageData, byte imageCodec);
+
+ ///
+ /// Send the next packet for a series of packets making up a single texture,
+ /// as established by SendImageFirstPart()
+ ///
+ ///
+ ///
+ ///
+ void SendImageNextPart(ushort partNumber, UUID imageUuid, byte[] imageData);
void SendShutdownConnectionNotice();
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
index 4c68fae..cb162ab 100644
--- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
+++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
@@ -2619,6 +2619,17 @@ namespace OpenSim.Region.ClientStack.LindenUDP
im.Header.Zerocoded = true;
OutPacket(im, ThrottleOutPacketType.Texture);
}
+
+ public void SendImageNextPart(ushort partNumber, UUID imageUuid, byte[] imageData)
+ {
+ ImagePacketPacket im = new ImagePacketPacket();
+ im.Header.Reliable = false;
+ im.ImageID.Packet = partNumber;
+ im.ImageID.ID = imageUuid;
+ im.ImageData.Data = imageData;
+
+ OutPacket(im, ThrottleOutPacketType.Texture);
+ }
public void SendShutdownConnectionNotice()
{
diff --git a/OpenSim/Region/Environment/Modules/Agent/TextureSender/TextureSender.cs b/OpenSim/Region/Environment/Modules/Agent/TextureSender/TextureSender.cs
index 2835cfa..cd61798 100644
--- a/OpenSim/Region/Environment/Modules/Agent/TextureSender/TextureSender.cs
+++ b/OpenSim/Region/Environment/Modules/Agent/TextureSender/TextureSender.cs
@@ -171,17 +171,12 @@ namespace OpenSim.Region.Environment.Modules.Agent.TextureSender
}
else
{
- // Doesn't like to be refactored...
- ImagePacketPacket im = new ImagePacketPacket();
- im.Header.Reliable = false;
- im.ImageID.Packet = (ushort)(PacketCounter);
- im.ImageID.ID = m_asset.FullID;
int size = m_asset.Data.Length - 600 - (1000 * (PacketCounter - 1));
if (size > 1000) size = 1000;
- im.ImageData.Data = new byte[size];
+ byte[] imageData = new byte[size];
try
{
- Array.Copy(m_asset.Data, 600 + (1000 * (PacketCounter - 1)), im.ImageData.Data, 0, size);
+ Array.Copy(m_asset.Data, 600 + (1000 * (PacketCounter - 1)), imageData, 0, size);
}
catch (ArgumentOutOfRangeException)
{
@@ -189,8 +184,8 @@ namespace OpenSim.Region.Environment.Modules.Agent.TextureSender
m_asset.FullID.ToString());
return;
}
- RequestUser.OutPacket(im, ThrottleOutPacketType.Texture);
-
+
+ RequestUser.SendImageNextPart((ushort)PacketCounter, m_asset.FullID, imageData);
PacketCounter++;
}
}
diff --git a/OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs b/OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs
index 627785c..2135974 100644
--- a/OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs
+++ b/OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs
@@ -708,6 +708,10 @@ namespace OpenSim.Region.Environment.Modules.World.NPC
{
}
+ public void SendImageNextPart(ushort partNumber, UUID imageUuid, byte[] imageData)
+ {
+ }
+
public void SendShutdownConnectionNotice()
{
}
diff --git a/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs b/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs
index 2ce63a5..b17436c 100644
--- a/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs
+++ b/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs
@@ -625,6 +625,10 @@ namespace OpenSim.Region.Examples.SimpleModule
public void SendImageFirstPart(ushort numParts, UUID ImageUUID, uint ImageSize, byte[] ImageData, byte imageCodec)
{
}
+
+ public void SendImageNextPart(ushort partNumber, UUID imageUuid, byte[] imageData)
+ {
+ }
public void SendShutdownConnectionNotice()
{
--
cgit v1.1