Commit Graph

133 Commits

Author SHA1 Message Date
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 #3122, 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 #9143 and #9144 (Mantis #1723)
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
Jeff Ames
65c5efe43b Formatting cleanup. 2008-05-16 01:22:11 +00:00
Teravus Ovares
e8478dadc8 * Experiment in Zerocoding. 2008-05-10 10:28:49 +00:00
Adam Frisby
4fa0cbdfbb * You can haz more spring cleaning.
* Eventually this codebase will be clean. >_>
2008-05-08 05:35:01 +00:00
Adam Frisby
01f31fd933 * Breaking all the code, breaking all the code..!
* Made a bunch more members static, removed some dead code, general cleaning.
2008-05-01 16:23:53 +00:00
Adam Frisby
fef3b36894 * Optimised using statements and namespace references across entire project (this took a while to run). 2008-04-21 07:09:17 +00:00
Justin Clarke Casey
57afbdbdbd From: Kurt Taylor <krtaylor@us.ibm.com>
Patch to remove commented NotImpemented calls from within implemented script functions
2008-04-04 19:09:56 +00:00
Jeff Ames
47180080f0 Formatting cleanup. 2008-03-18 05:16:43 +00:00
MW
70ad5604cd disabled AssetDownloadModule and re-enabled the asset download code in the asset cache, until it can be seen if the module was the cause of some new problems that seem like they might be related to assets. I'll look into this more tomorrow. 2008-02-27 22:47:33 +00:00
MW
2c65c2da90 small fix in the showstate data in AssetCache to reflect that now some functions are no longer in AssetCache 2008-02-27 21:32:01 +00:00
MW
e978d00914 After seeing sdague do his happy dance over trunk working "the best he has ever seen". I'm not sure I should be doing this commit, but oh well.
So anyway, it moves the Asset downloading (packet sending) to a module (AssetDownloadModule). 
So now at last, AssetCache should be just dealing with fetching assets from the asset server and caching them.
2008-02-27 21:11:01 +00:00