aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Framework
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Framework')
-rw-r--r--OpenSim/Framework/Communications/Cache/AssetCache.cs18
-rw-r--r--OpenSim/Framework/IClientAPI.cs6
2 files changed, 20 insertions, 4 deletions
diff --git a/OpenSim/Framework/Communications/Cache/AssetCache.cs b/OpenSim/Framework/Communications/Cache/AssetCache.cs
index 1ae7eb7..e1e42cf 100644
--- a/OpenSim/Framework/Communications/Cache/AssetCache.cs
+++ b/OpenSim/Framework/Communications/Cache/AssetCache.cs
@@ -350,11 +350,21 @@ namespace OpenSim.Framework.Communications.Cache
350 350
351 // According to http://wiki.secondlife.com/wiki/AssetUploadRequest, Local signifies that the 351 // According to http://wiki.secondlife.com/wiki/AssetUploadRequest, Local signifies that the
352 // information is stored locally. It could disappear, in which case we could send the 352 // information is stored locally. It could disappear, in which case we could send the
353 // ImageNotInDatabase packet to tell the client this. However, when this was enabled in 353 // ImageNotInDatabase packet to tell the client this.
354 // TextureNotFoundSender it ended up crashing clients - we need to go back and try this again. 354 //
355 // However, this doesn't quite appear to work with local textures that are part of an avatar's
356 // appearance texture set. Whilst sending an ImageNotInDatabase does trigger an automatic rebake
357 // and reupload by the client, if those assets aren't pushed to the asset server anyway, then
358 // on crossing onto another region server, other avatars can no longer get the required textures.
359 // There doesn't appear to be any signal from the sim to the newly region border crossed client
360 // asking it to reupload its local texture assets to that region server.
361 //
362 // One can think of other cunning ways around this. For instance, on a region crossing or teleport,
363 // the original sim could squirt local assets to the new sim. Or the new sim could have pointers
364 // to the original sim to fetch the 'local' assets (this is getting more complicated).
365 //
366 // But for now, we're going to take the easy way out and store local assets globally.
355 // 367 //
356 // In the mean time, we're just going to push local assets to the permanent store instead.
357 // TODO: Need to come back and address this.
358 // TODO: Also, Temporary is now deprecated. We should start ignoring it and not passing it out from LLClientView. 368 // TODO: Also, Temporary is now deprecated. We should start ignoring it and not passing it out from LLClientView.
359 if (!asset.Temporary || asset.Local) 369 if (!asset.Temporary || asset.Local)
360 { 370 {
diff --git a/OpenSim/Framework/IClientAPI.cs b/OpenSim/Framework/IClientAPI.cs
index c8a54a7..538a2e7 100644
--- a/OpenSim/Framework/IClientAPI.cs
+++ b/OpenSim/Framework/IClientAPI.cs
@@ -829,6 +829,12 @@ namespace OpenSim.Framework
829 /// <param name="imageUuid"></param> 829 /// <param name="imageUuid"></param>
830 /// <param name="imageData"></param> 830 /// <param name="imageData"></param>
831 void SendImageNextPart(ushort partNumber, UUID imageUuid, byte[] imageData); 831 void SendImageNextPart(ushort partNumber, UUID imageUuid, byte[] imageData);
832
833 /// <summary>
834 /// Tell the client that the requested texture cannot be found
835 /// </summary>
836 /// <param name="imageId"></param>
837 void SendImageNotFound(UUID imageid);
832 838
833 void SendShutdownConnectionNotice(); 839 void SendShutdownConnectionNotice();
834 840