diff options
Diffstat (limited to 'OpenSim/Framework')
-rw-r--r-- | OpenSim/Framework/Communications/Cache/AssetCache.cs | 18 | ||||
-rw-r--r-- | OpenSim/Framework/IClientAPI.cs | 6 |
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 | ||