Commit Graph

143 Commits (e93b782f9d86e4049a28d7f90c691dc5d242f234)

Author SHA1 Message Date
lbsa71 e93b782f9d * Introduced some experimental code with regards to asset data substitution 2009-04-08 19:59:37 +00:00
lbsa71 fb9a358b79 * Refactored out and de-duplicated Base64ToString(string)
* Fixed minor typo
2009-03-31 05:51:28 +00:00
Jeff Ames 54ccca1e2c Update svn properties, add copyright header, formatting cleanup. 2009-03-31 02:00:33 +00:00
lbsa71 3ca1481c3d * Minor fixes, inverted an if for readability and introduced a virtual pre-process step on the asset cache 2009-03-26 06:56:10 +00:00
Dr Scofield b5f6aa6ff2 From: Alan Webb <alan_webb@us.ibm.com>
Changes to AssetCache and DynamicTextureModule to eliminate
  opportunities for lost texture updates.
2009-03-24 08:21:50 +00:00
Justin Clarke Casey 6573e2ee2f * Remove asset cache size and texture stat reports from ASSET STATS since these are now inaccurate
* Correct count of assets in cache
2009-03-13 18:36:24 +00:00
Justin Clarke Casey 1bf05a543c * Move method documentation from AssetCache up to IAssetCache
* No functional changes
2009-03-09 18:35:26 +00:00
Justin Clarke Casey 5a6bc26600 * Address http://opensimulator.org/mantis/view.php?id=3207
* A saved archive now immediately expires the data in the asset cache that it used, rather than retaining all the assets (esp textures) in the cache.
* This is an imperfect solution.  Ideally we would only expire the assets newly requested for the archive (not existing ones).  But doing that would require a lot more 
restructuring.
* I don't believe there are any locking issues due to the locking performed by the underlying memory cache, but please report any issues.
2009-03-09 17:55:08 +00:00
Sean Dague 57ab79e331 * Update ScenePresenceTests to reflect current REST communication workflow.
* Fixed an issue with AssetCache where it would break unit tests randomly.

From: Arthur Rodrigo S Valadares <arthursv@linux.vnet.ibm.com>
2009-02-26 21:29:16 +00:00
Charles Krinke 8f55b9d735 Mantis#3218. Thank you kindly, TLaukkan (Tommil) for a patch that:
* Added log4net dependency to physxplugin in prebuild.xml.
* Added missing m_log fields to classes.
* Replaced Console.WriteLine with appropriate m_log.Xxxx
* Tested that nant test target runs succesfully.
* Tested that local opensim sandbox starts up without errors.
2009-02-22 20:52:55 +00:00
Mike Mazur 76c0935ec7 - remove the Metadata property from AssetBase and return all previous
properties as before
- prefix private variables with m_ in AssetBase.cs
- related to Mantis , as mentioned in
  https://lists.berlios.de/pipermail/opensim-dev/2009-February/005088.html
- all services will likely need to be upgraded after this commit
2009-02-17 01:36:44 +00:00
Sean Dague f4bec00057 From: Alan Webb <awebb@linux.vnet.ibm.com>
The change makes two principal implementation changes:

[1] It removes the hard coded set of possible asset server client
implementations, allowing any arbitrary implementation that has been
identified to the PluginLoader as an appropriate extension. The
extension point for asset server client extension
is /OpenSim/AssetServerClient. All of the old configuration rules have
been preserved, and any of the legacy configuration values will still
work as they did before, except the implementation is now loaded as a
plug-in, rather than as a hard-coded instantiation of a specific class.
The re-hashing of IAssetServer as an extension of IPlugin made upgrading
of the implementation classes a necessity.

Caveat: I have not been able to meaningfully test the crypto-grid
clients. I believe they should work correctly, but the refactoring
necessary to handle plug-in based initialization (vs constructor-based
initialisation) admits the possibility of a problem.

[2] The asset cache implementation, previously introduce as a hard-code
class instantiation is now implemented as an IPlugin. Once again the
previous (configurationless) behavior has been preserved. But now it is
possible for those interested in experimenting with cache technologies
to do so simply by introducing a new extension for the asset cache
extension point (/OpenSim/AssetCache).

I've tested all of the configuration settings, after applying the patch
to a newly extracted tree, and they seem to work OK.
2009-02-16 12:20:31 +00:00
lbsa71 801da4346a * optimized usings. 2009-02-12 09:53:12 +00:00
Sean Dague 8088802c21 From Alan Webb <awebb@linux.vnet.ibm.com>
These changes replace all direct references to the AssetCache with
IAssetCache. There is no change to functionality. Everything works as
before.

This is laying the groundwork for making it possible to register
alternative asset caching mechanisms without disrupting other parts of
OpenSim or their dependencies upon AssetCache functionality.
2009-02-09 21:47:55 +00:00
Mike Mazur 0c03a48fb2 - add OpenSim.Framework.AssetMetadata class. AssetBase is now composed of it
- trim trailing whitespace
2009-02-04 00:01:36 +00:00
Justin Clarke Casey dbd2b45233 * Write a simple archive loading test which doesn't actually do any testing yet apart from not blow up 2009-01-23 20:38:44 +00:00
Homer Horwitz 78d42a7fc8 - Fix a formatting error in a log message (Mantis#2635). 2008-11-16 21:32:10 +00:00
Justin Clarke Casey 50e3eb31b0 * Restore storing null to represent 'missing asset' requests in the AssetCache
* If we don't do this then callers to the polling GetAsset wait the full polling time before returning
2008-11-11 17:54:21 +00:00
Adam Frisby 1493f7349f * Minor typing fixes in AssetCache - now uses base types for nearly everything.
* Code Cleanliness Fixes in LLClientView
* Using field instead of local variable for handlerUpdatePrimGroupRotation (if you notice any new oddities with prim group rotation after this patch, please mantis)
2008-11-11 17:48:36 +00:00
Jeff Ames 5276c4bdf8 Update svn properties, minor formatting cleanup. 2008-11-11 00:52:47 +00:00
Adam Frisby e0498e1638 * Fixed asset bug. 2008-11-09 23:05:08 +00:00
Adam Frisby c43e466301 * Enabled GTCache for AssetCache
* Items will now be locally cached for only 24 hours from last access. (Rather than until restart)
* Caveat: Implementing the new caching mechanism means statistics gathering on AssetCache is no longer functional. (Justin - you might want to take a look and see if you can somehow get that back and running if you still need it)
2008-11-09 15:00:26 +00:00
Charles Krinke 17e43dcc0f Mantis#2566. Thank you kindly, Diva for a patch that:
This patch introduces a couple of read-only properties, 
so that I can grab the asset server plugin from a region 
module. This is needed to set up an http service for 
accessing standalone assets remotely.
2008-11-06 19:27:18 +00:00
Charles Krinke d664192dfe Mantis#2557. Thank you kindly, Diva for a patch that:
This patch changes a method from private to public.
Will make life easier for the asset mapper for 
the hypergrid.
2008-11-05 02:23:44 +00:00
Justin Clarke Casey 8a3157aa6a * 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
2008-10-29 18:38:10 +00:00
Justin Clarke Casey 1ff9709ea3 * Possibly fix grey avatar appearance problems
* And hopefully rebaking all the time should no longer be necessary now
* It turns out that when the client baked the texture, the uploaded asset had the Temporary flag to true (Temporary is actually deprecated).  
* It also had the StoreLocal flag set to true, which signifies that the asset should be stored locally.  If it disappears we should reply to the asset request with 
ImageNotInDatabasePacket
* However, last time this was enabled some clients started crashing.  This may well no longer be the case and needs to be tested, but in the mean time we will store 
the asset instead.
* This needs to be resolved in a better way, possibly by starting to send the ImageNotInDatabase packet again instead
2008-10-28 21:31:23 +00:00
Teravus Ovares 16b6738cda * Patch from JHurliman
* Updates to libomv r2243, 
* Remove lots of unnecessary typecasts
* Improves SendWindData()
Thanks jhurliman. 
* Will update OpenSim-libs in 10 minutes..
2008-09-26 17:25:22 +00:00
Justin Clarke Casey 3782d6aab7 * minor: Remove some of the redundant asset id storage for now 2008-09-21 20:44:54 +00:00
Justin Clarke Casey 8fb3523ef7 * Start recording asset request times after a cache miss. This is very primtive at the moment - only the last time is kept for some classes of request
* This can be seen as "Latest asset request time after cache miss" in show stats on the region console
2008-09-21 20:29:06 +00:00
Justin Clarke Casey 70e8097e31 * Eliminate the need to copy asset request lists in the asset cache when an asset is received or missing
* Also eliminates a race condition
2008-09-21 18:53:58 +00:00
Justin Clarke Casey 52f0c8d15d * minor: tidy up of AssetCache, remove currently pointless storing of thread reference 2008-09-21 17:49:52 +00:00
Teravus Ovares 7d89e12293 * This is the fabled LibOMV update with all of the libOMV types from JHurliman
* This is a HUGE OMG update and will definitely have unknown side effects.. so this is really only for the strong hearted at this point.  Regular people should let the dust settle.
* This has been tested to work with most basic functions. However..   make sure you back up 'everything' before using this.  It's that big!  
* Essentially we're back at square 1 in the testing phase..  so lets identify things that broke.
2008-09-06 07:52:41 +00:00
Jeff Ames 6ef9d4da90 Formatting cleanup. 2008-08-18 00:39:10 +00:00
Jeff Ames 80d8e2889e Update svn properties. Formatting cleanup. Remove a compiler warning. 2008-07-23 13:24:25 +00:00
Melanie Thielker f629fdb88d Patches and (Mantis )
Changes the permissions module to make scripts permissive only when intended
Adds security checks to asset transfers to prevent hacked clients fron
requesting script sources.
Adds security checks to llClientView to verify all aspects of ownership
and permissions for inventory based script retrieval.
2008-07-12 06:24:43 +00:00
Justin Clarke Casey 7fa00f9ecd * remove redundant sync locking in AssetServerBase since this is already being done by the lower database layers 2008-07-07 19:32:21 +00:00
Justin Clarke Casey 0b2fcbfec4 * Start scripts loaded from an archive 2008-07-07 18:54:11 +00:00
Justin Clarke Casey 9052c43319 * Drop InvType from the assets table since it is no longer used
* Migration should be automatic on sqlite and mysql
* Migration is not automatic on mssql, you will need to drop the invType column manually
* Migration should be fine, but as for any db change, I would recommend making sure you have backups before moving past this revision
2008-07-02 16:20:54 +00:00
Sean Dague 721988adcd add the ability to cherry pick expire something from the asset
cache.  Bandaid until we rethink the caches a bit more.
2008-06-30 15:05:30 +00:00
Teravus Ovares cb29926e3c * Refactors call to OutPacket out of AssetCache and into LLClientView 2008-06-18 23:04:15 +00:00
Justin Clarke Casey 4c2171ec82 * Allow archiver to save and load objects within other objects to arbitrary levels
* This currently has various bugs which are more to do with the way its been hacked together than the feature itself (e.g. on save-oar, ghost prims will appear of the saved 
contained items).  These will be found and eliminated in subsequent patches.
* Not yet ready for use
2008-06-16 21:59:39 +00:00
Justin Clarke Casey 3794f25ebd * minor: Properly clear the pushed asset cache statistics where the clear-assets command is used on the region console
* stop waiting for garbage collection when GC total memory used is requested, in case the periodic request of this lags the sim
2008-06-10 23:35:04 +00:00
Jeff Ames 5752c1f5c2 Formatting cleanup. 2008-05-28 03:44:49 +00:00
Charles Krinke 2cea74181a Thank you very much, Xantor for a patch that:
If a request is made for an asset which is not in the cache yet, 
but has already been requested by something else, queue up the 
callbacks on that requester instead of swamping the asset server 
with multiple requests for the same asset.
2008-05-27 13:40:00 +00:00
Justin Clarke Casey 61bba6375c * Fix mantis 1325. This is a minor issue where 'show assets' would not work fully in the region console 2008-05-22 00:49:17 +00:00
Justin Clarke Casey 1f57fd4bec * Minor: Tidy ups and logging tweaks. 2008-05-22 00:41:03 +00:00
Justin Clarke Casey f6add412d6 * Refactor: Eliminate empty if clause from AssetCache.GetAsset() 2008-05-18 19:56:25 +00:00
Justin Clarke Casey 63ddbfb979 * Eliminate occurences of "Got a texture uuid ... with no sender object to handle it..." by properly dealing with the situation where a client still has queued texture requests when it logs out 2008-05-16 18:10:04 +00:00
Justin Clarke Casey c2581c9577 * Cache knowledge in the region server that the asset service has reported an asset to be missing
* This prevents repeated requests for the same missing asset to the asset server, hopefully reducing the load a little
2008-05-16 17:47:34 +00:00
Justin Clarke Casey 772f88d2e5 * Removing unnecessary LLUUID.Zero check from AssetCache
* This revision also includes a very temporary fix for the fact that NREs are received because of a missing avatar apperance in grid mode
2008-05-16 16:37:31 +00:00