diff options
author | Justin Clarke Casey | 2008-10-29 18:38:10 +0000 |
---|---|---|
committer | Justin Clarke Casey | 2008-10-29 18:38:10 +0000 |
commit | 8a3157aa6a83b7b84811cd4675ba9fc8e6fbd32e (patch) | |
tree | 76fe871eb5c1f1602fd7df1ec2cdeb89602ecb51 /OpenSim/Region/Environment/Modules | |
parent | Viewer side normals and UV fixes on profile cuts. Sync with primmesher.dll fo... (diff) | |
download | opensim-SC-8a3157aa6a83b7b84811cd4675ba9fc8e6fbd32e.zip opensim-SC-8a3157aa6a83b7b84811cd4675ba9fc8e6fbd32e.tar.gz opensim-SC-8a3157aa6a83b7b84811cd4675ba9fc8e6fbd32e.tar.bz2 opensim-SC-8a3157aa6a83b7b84811cd4675ba9fc8e6fbd32e.tar.xz |
* Check in (disabled) results of not persisting avatar textures but rather sending ImageNotFound to clients if avatar textures are missing
* Whilst this does automatically get the client to rebake, on crossing a region border the 'local' assets are left behind
* There may be a cunning solution (such as squirting the assets on region crossing, or having them fetched from the original region) but
instead I'm going to opt for the easy solution of keeping them in the asset database, for now
Diffstat (limited to 'OpenSim/Region/Environment/Modules')
4 files changed, 28 insertions, 36 deletions
diff --git a/OpenSim/Region/Environment/Modules/Agent/TextureDownload/TextureDownloadModule.cs b/OpenSim/Region/Environment/Modules/Agent/TextureDownload/TextureDownloadModule.cs index ed714ba..aa4d070 100644 --- a/OpenSim/Region/Environment/Modules/Agent/TextureDownload/TextureDownloadModule.cs +++ b/OpenSim/Region/Environment/Modules/Agent/TextureDownload/TextureDownloadModule.cs | |||
@@ -202,7 +202,7 @@ namespace OpenSim.Region.Environment.Modules.Agent.TextureDownload | |||
202 | // Make sure that any sender we currently have can get garbage collected | 202 | // Make sure that any sender we currently have can get garbage collected |
203 | sender = null; | 203 | sender = null; |
204 | 204 | ||
205 | //m_log.InfoFormat("[TEXTURE DOWNLOAD] Texture sender queue size: {0}", m_queueSenders.Count()); | 205 | //m_log.InfoFormat("[TEXTURE] Texture sender queue size: {0}", m_queueSenders.Count()); |
206 | } | 206 | } |
207 | } | 207 | } |
208 | 208 | ||
@@ -213,7 +213,7 @@ namespace OpenSim.Region.Environment.Modules.Agent.TextureDownload | |||
213 | private void TextureSent(ITextureSender sender) | 213 | private void TextureSent(ITextureSender sender) |
214 | { | 214 | { |
215 | sender.Sending = false; | 215 | sender.Sending = false; |
216 | //m_log.DebugFormat("[TEXTURE DOWNLOAD]: Removing download stat for {0}", sender.assetID); | 216 | //m_log.DebugFormat("[TEXTURE]: Removing download stat for {0}", sender.assetID); |
217 | m_scene.AddPendingDownloads(-1); | 217 | m_scene.AddPendingDownloads(-1); |
218 | } | 218 | } |
219 | } | 219 | } |
diff --git a/OpenSim/Region/Environment/Modules/Agent/TextureDownload/TextureNotFoundSender.cs b/OpenSim/Region/Environment/Modules/Agent/TextureDownload/TextureNotFoundSender.cs index 0e14441..c064064 100644 --- a/OpenSim/Region/Environment/Modules/Agent/TextureDownload/TextureNotFoundSender.cs +++ b/OpenSim/Region/Environment/Modules/Agent/TextureDownload/TextureNotFoundSender.cs | |||
@@ -25,6 +25,8 @@ | |||
25 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 25 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
26 | */ | 26 | */ |
27 | 27 | ||
28 | using System.Reflection; | ||
29 | using log4net; | ||
28 | using OpenMetaverse; | 30 | using OpenMetaverse; |
29 | using OpenMetaverse.Packets; | 31 | using OpenMetaverse.Packets; |
30 | using OpenSim.Framework; | 32 | using OpenSim.Framework; |
@@ -37,22 +39,15 @@ namespace OpenSim.Region.Environment.Modules.Agent.TextureDownload | |||
37 | /// </summary> | 39 | /// </summary> |
38 | public class TextureNotFoundSender : ITextureSender | 40 | public class TextureNotFoundSender : ITextureSender |
39 | { | 41 | { |
40 | //private static readonly log4net.ILog m_log | 42 | // private static readonly log4net.ILog m_log |
41 | // = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | 43 | // = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); |
42 | 44 | ||
43 | // private bool m_cancel = false; | 45 | // private IClientAPI m_client; |
44 | // private IClientAPI m_client; | 46 | // private UUID m_textureId; |
45 | |||
46 | // See ITextureSender | ||
47 | |||
48 | // private bool m_sending = false; | ||
49 | //private UUID m_textureId; | ||
50 | |||
51 | // See ITextureSender | ||
52 | 47 | ||
53 | public TextureNotFoundSender(IClientAPI client, UUID textureID) | 48 | public TextureNotFoundSender(IClientAPI client, UUID textureID) |
54 | { | 49 | { |
55 | // // m_client = client; | 50 | //m_client = client; |
56 | //m_textureId = textureID; | 51 | //m_textureId = textureID; |
57 | } | 52 | } |
58 | 53 | ||
@@ -61,40 +56,31 @@ namespace OpenSim.Region.Environment.Modules.Agent.TextureDownload | |||
61 | public bool Sending | 56 | public bool Sending |
62 | { | 57 | { |
63 | get { return false; } | 58 | get { return false; } |
64 | set | 59 | set {} |
65 | { | ||
66 | // m_sending = value; | ||
67 | } | ||
68 | } | 60 | } |
69 | 61 | ||
70 | public bool Cancel | 62 | public bool Cancel |
71 | { | 63 | { |
72 | get { return false; } | 64 | get { return false; } |
73 | set | 65 | set {} |
74 | { | ||
75 | // m_cancel = value; | ||
76 | } | ||
77 | } | 66 | } |
78 | 67 | ||
79 | // See ITextureSender | 68 | // See ITextureSender |
80 | public void UpdateRequest(int discardLevel, uint packetNumber) | 69 | public void UpdateRequest(int discardLevel, uint packetNumber) |
81 | { | 70 | { |
82 | // Not need to implement since priority changes don't affect this operation | 71 | // No need to implement since priority changes don't affect this operation |
83 | } | 72 | } |
84 | 73 | ||
85 | // See ITextureSender | 74 | // See ITextureSender |
86 | public bool SendTexturePacket() | 75 | public bool SendTexturePacket() |
87 | { | 76 | { |
88 | //m_log.InfoFormat( | 77 | // m_log.DebugFormat( |
89 | // "[TEXTURE NOT FOUND SENDER]: Informing the client that texture {0} cannot be found", | 78 | // "[TEXTURE NOT FOUND SENDER]: Informing the client that texture {0} cannot be found", |
90 | // m_textureId); | 79 | // m_textureId); |
91 | |||
92 | //ImageNotInDatabasePacket notFound = new ImageNotInDatabasePacket(); | ||
93 | //notFound.ImageID.ID = m_textureId; | ||
94 | 80 | ||
95 | // XXX Temporarily disabling as this appears to be causing client crashes on at least | 81 | // XXX Temporarily disabling as this appears to be causing client crashes on at least |
96 | // 1.19.0(5) of the Linden Second Life client. | 82 | // 1.19.0(5) of the Linden Second Life client. |
97 | // m_client.OutPacket(notFound, ThrottleOutPacketType.Texture); | 83 | // m_client.SendImageNotFound(m_textureId); |
98 | 84 | ||
99 | return true; | 85 | return true; |
100 | } | 86 | } |
diff --git a/OpenSim/Region/Environment/Modules/Agent/TextureDownload/UserTextureDownloadService.cs b/OpenSim/Region/Environment/Modules/Agent/TextureDownload/UserTextureDownloadService.cs index 93f4d1b..715dc4b 100644 --- a/OpenSim/Region/Environment/Modules/Agent/TextureDownload/UserTextureDownloadService.cs +++ b/OpenSim/Region/Environment/Modules/Agent/TextureDownload/UserTextureDownloadService.cs | |||
@@ -121,10 +121,12 @@ namespace OpenSim.Region.Environment.Modules.Agent.TextureDownload | |||
121 | } | 121 | } |
122 | else | 122 | else |
123 | { | 123 | { |
124 | // m_log.DebugFormat("[TEXTURE]: Received a request for texture {0}", e.RequestedAssetID); | ||
125 | |||
124 | if (!foundTextureLimitStrategy.AllowRequest(e.RequestedAssetID)) | 126 | if (!foundTextureLimitStrategy.AllowRequest(e.RequestedAssetID)) |
125 | { | 127 | { |
126 | // m_log.DebugFormat( | 128 | // m_log.DebugFormat( |
127 | // "[USER TEXTURE DOWNLOAD SERVICE]: Refusing request for {0} from client {1}", | 129 | // "[TEXTURE]: Refusing request for {0} from client {1}", |
128 | // e.RequestedAssetID, m_client.AgentId); | 130 | // e.RequestedAssetID, m_client.AgentId); |
129 | 131 | ||
130 | return; | 132 | return; |
@@ -139,7 +141,7 @@ namespace OpenSim.Region.Environment.Modules.Agent.TextureDownload | |||
139 | // Commenting out this message for now as it causes too much noise with other | 141 | // Commenting out this message for now as it causes too much noise with other |
140 | // debug messages. | 142 | // debug messages. |
141 | // m_log.DebugFormat( | 143 | // m_log.DebugFormat( |
142 | // "[USER TEXTURE DOWNLOAD SERVICE]: Dropping requests for notified missing texture {0} for client {1} since we have received more than {2} requests", | 144 | // "[TEXTURE]: Dropping requests for notified missing texture {0} for client {1} since we have received more than {2} requests", |
143 | // e.RequestedAssetID, m_client.AgentId, MAX_ALLOWED_TEXTURE_REQUESTS); | 145 | // e.RequestedAssetID, m_client.AgentId, MAX_ALLOWED_TEXTURE_REQUESTS); |
144 | } | 146 | } |
145 | 147 | ||
@@ -196,7 +198,7 @@ namespace OpenSim.Region.Environment.Modules.Agent.TextureDownload | |||
196 | missingTextureLimitStrategy.MonitorRequests(textureID); | 198 | missingTextureLimitStrategy.MonitorRequests(textureID); |
197 | 199 | ||
198 | // m_log.DebugFormat( | 200 | // m_log.DebugFormat( |
199 | // "[USER TEXTURE DOWNLOAD SERVICE]: Queueing first TextureNotFoundSender for {0}, client {1}", | 201 | // "[TEXTURE]: Queueing first TextureNotFoundSender for {0}, client {1}", |
200 | // textureID, m_client.AgentId); | 202 | // textureID, m_client.AgentId); |
201 | } | 203 | } |
202 | 204 | ||
@@ -214,14 +216,14 @@ namespace OpenSim.Region.Environment.Modules.Agent.TextureDownload | |||
214 | } | 216 | } |
215 | } | 217 | } |
216 | 218 | ||
217 | //m_log.InfoFormat("[TEXTURE SENDER] Removing texture sender with uuid {0}", textureID); | 219 | //m_log.InfoFormat("[TEXTURE] Removing texture sender with uuid {0}", textureID); |
218 | m_textureSenders.Remove(textureID); | 220 | m_textureSenders.Remove(textureID); |
219 | //m_log.InfoFormat("[TEXTURE SENDER] Current texture senders in dictionary: {0}", m_textureSenders.Count); | 221 | //m_log.InfoFormat("[TEXTURE] Current texture senders in dictionary: {0}", m_textureSenders.Count); |
220 | } | 222 | } |
221 | else | 223 | else |
222 | { | 224 | { |
223 | m_log.WarnFormat( | 225 | m_log.WarnFormat( |
224 | "[USER TEXTURE DOWNLOAD SERVICE]: Got a texture uuid {0} with no sender object to handle it, this shouldn't happen", | 226 | "[TEXTURE]: Got a texture uuid {0} with no sender object to handle it, this shouldn't happen", |
225 | textureID); | 227 | textureID); |
226 | } | 228 | } |
227 | } | 229 | } |
diff --git a/OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs b/OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs index 3e78396..da7a10c 100644 --- a/OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs +++ b/OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs | |||
@@ -702,6 +702,10 @@ namespace OpenSim.Region.Environment.Modules.World.NPC | |||
702 | public void SendImageFirstPart(ushort numParts, UUID ImageUUID, uint ImageSize, byte[] ImageData, byte imageCodec) | 702 | public void SendImageFirstPart(ushort numParts, UUID ImageUUID, uint ImageSize, byte[] ImageData, byte imageCodec) |
703 | { | 703 | { |
704 | } | 704 | } |
705 | |||
706 | public void SendImageNotFound(UUID imageid) | ||
707 | { | ||
708 | } | ||
705 | 709 | ||
706 | public void SendImageNextPart(ushort partNumber, UUID imageUuid, byte[] imageData) | 710 | public void SendImageNextPart(ushort partNumber, UUID imageUuid, byte[] imageData) |
707 | { | 711 | { |