Commit Graph

53 Commits

Author SHA1 Message Date
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
Mike Mazur
e12b0a2496 - move IAssetDataPlugin from OpenSim/Framework/IAssetProvider.cs to
OpenSim/Data/IAssetData.cs
- remove some trailing whitespace
2009-02-03 05:20:16 +00:00
Mike Mazur
f8e45e8e98 Rename IAssetProviderPlugin to IAssetDataPlugin aligning with the other data plugins. 2009-02-03 05:20:03 +00:00
Justin Clarke Casey
266d0fbaae * Apply http://opensimulator.org/mantis/view.php?id=2927 with some changes
* This allows configuration of the assetset and library control file paths to be other than ./inventory/Libraries.xml and ./assets/AssetSets.xml
* This is controlled via the LibrariesXMLFile and AssetSetsXMLFile configuration settings in [StandAlone] in OpenSim.ini (in standalone)
and via the user and asset config xml files for grid mode
* Thanks to SirKimba for the patch
2008-12-29 16:56:48 +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
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
Mike Mazur
2270b25265 Thanks, sempuki, for a patch that moves all Grid Server's plugins to
PluginLoader. Fix issue 1871.
2008-07-31 09:24:28 +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
1813946937 * remove unused CommitAssets() hook for now 2008-07-07 19:18:44 +00:00
Justin Clarke Casey
4af6286512 * Start recording asset request failures
* This includes problems such as connection failures and timeouts.  It does not include 'asset not found' replies from the asset service.
2008-06-14 17:47:25 +00:00
Justin Clarke Casey
d6519924ba * refactor: catch asset service request exceptions at the AssetServerBase level rather than in the GridAssetClient
* this is to enable logging of asset request exceptions soon
2008-06-13 18:04:01 +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
Jeff Ames
65c5efe43b Formatting cleanup. 2008-05-16 01:22:11 +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
Jeff Ames
47180080f0 Formatting cleanup. 2008-03-18 05:16:43 +00:00
Justin Clarke Casey
42123770de * Add comments and slight corrections to ClientView.AgentTextureCached
* Reduce 'asset not found' console debug spam
2008-03-12 17:02:08 +00:00
Justin Clarke Casey
fed46ba6a7 * Winnow the debug and info messages associated with stat fetching
* As such, only a request for a non cached asset, the response and failures show up now.
* I know lbsa71 only put these in not long ago, so if they are really still required, I think we should think whether we can move the default log4net level off 'Debug'
2008-02-22 22:54:50 +00:00
Tedd Hansen
7102ac7769 "threads" command now works. I've added manual tracking of threads (only if compiled in DEBUG mode)... Its ugly and even requires a separate thread to track the treads, but it will be very valuable in debugging. 2008-02-21 10:43:24 +00:00
Justin Clarke Casey
f3190810d3 * Properly guard removal of asset request lists on AssetCache.AssetNotFound (my own bug) 2008-02-20 19:13:59 +00:00
Justin Clarke Casey
53d5aeec24 * Remove unused texture dictionaries from AssetCache
* Add documentation to AssetCache
2008-02-20 19:02:04 +00:00
Justin Clarke Casey
877713999c * Report 'asset not found' situations back to UserTextureDownloadService
* This fixes some of the 'runaway downloads' problem but not all of it
* Also fix up logging messages so texture requests are reported as such rather than as assets
2008-02-20 17:34:10 +00:00
Tedd Hansen
47c909ca0a Playing "Name that thread". Adding names and isbackground=true to all threads so it will be easier to debug. 2008-02-19 12:02:53 +00:00
Jeff Ames
001ce95e4c Clean up more unnecessary String.Format calls 2008-02-13 03:38:18 +00:00
Jeff Ames
e207284fef Clean up logging calls using String.Format explicitly 2008-02-10 01:57:59 +00:00
Jeff Ames
6ed5283bc0 Converted logging to use log4net.
Changed LogBase to ConsoleBase, which handles console I/O.
This is mostly an in-place conversion, so lots of refactoring can still be done.
2008-02-05 19:44:27 +00:00
lbsa71
c0252073d0 * removed another superfluous debug message 2008-01-09 09:31:07 +00:00
lbsa71
4b4ee98070 * Trying to address TextureSender issues
* The BlockingQueue exposes Contains so we can make sure we don't add a TextureSender to the queue if there's already one present
* introduced some TryGetValue and various code convention stuff
2008-01-02 09:07:11 +00:00
lbsa71
20653830fb * Refactored out function to load specified AssetSet Xml
This commit dedicated to 'Mohawk - Bad Girls (Need Love Too)'
2008-01-02 07:13:34 +00:00
Justin Clarke Casey
4ae10034bd Factor out common asset loading from AssetServerBase and Grid/AssetServer/Main 2007-12-28 22:13:43 +00:00
lbsa71
efd90b56b7 * Optimized usings
* shortened references
* Removed redundant 'this'
* Normalized EOF
2007-12-27 21:41:48 +00:00
lbsa71
87e2a694e2 * AssetServerBase: _ProcessRequest is now called GetAsset
* PrimitiveBaseShape: The textures are now exposed as a 'TextureEntry Textures'; all serialization still using the 'byte[] TextureEntry' for backwards compatibility.
* Scene: Re-added AddTree, since the Tree type isn't gone from libsl, merely relocated.
2007-12-27 14:00:30 +00:00
Jeff Ames
be2ad79e52 Added patch from Johan. First attempt to solve the LibSL.Packet GC problem. Works with LibSL rev>1532 2007-12-20 05:43:02 +00:00
Justin Clarke Casey
45567b71b8 Refactor asset request processing for consistent status information on whether an asset was actually found or not 2007-12-19 18:05:45 +00:00
lbsa71
0a4a5bbcef * ARequest changed name to AssetRequest and moved to own file.
* The AssetServerBase is now responsible for dequeueing, the server implementations merely recieves ProcessRequest( AssetRequest req )
* Catchall added around queue processing thread so thread won't abort on exceptions.
2007-12-14 08:47:15 +00:00
Jeff Ames
712efda9b9 added copyright notices 2007-12-11 01:26:06 +00:00
Jeff Ames
946db5461c catch exceptions when loading malformed xml files 2007-11-17 05:53:12 +00:00
lbsa71
ee1fcc729c * Added better logging to AssetCache
* AssetCache now ignores duplicate uploads
* some m_ refactoring
* ignored some bins
2007-11-06 11:10:45 +00:00
Sean Dague
21e47f8ef0 debug tracing for asset server hangs 2007-11-01 22:01:26 +00:00
MW
7a66eff8af renamed FetchAsset to RequestAsset on IAssetServer, as think its a more fitting name. As the call shouldn't actually return the data, but just add a request for the data to be sent back via the callback. 2007-11-01 17:28:38 +00:00
MW
88f04731ca Test on the grid asset problem, don't update to this version unless you just want to test to see if this fixes anything (but it could just as well break grid assets even more). 2007-11-01 15:54:59 +00:00
lbsa71
67e12b95ea * Optimized usings
* Shortened type references
* Removed redundant 'this' qualifier
2007-10-30 09:05:31 +00:00
MW
3d8219f6c7 as per the "Filesystem cleanup for OpenSim repository" mailing list thread. Have flattened the OpenSim.Framework project/namespace. The problem is that the namespace is still wrong as its "OpenSim.Framework" while the directory is "OpenSim\Framework\General" , so we need to decide if we change the directory or correct the namespace.
Note this has lead to a big flat project, but I think a lot of the files we most likely don't even use any longer. And others belong in other projects/namespaces anyway.
2007-10-29 21:46:25 +00:00
MW
f6e8cbbd06 Fixed a bug in SQLAssetServer that only seemed to be a problem when running under the MS .net Runtime, but was fine with mono. 2007-10-29 15:58:52 +00:00
MW
0837f6b78d fixed one bug (where the assets we read and created from the OpenSimAssetSet.xml file, weren't actually getting added to the database). This should make textures/assets work again with db4o, but still seems a problem with sqlite 2007-10-29 14:37:08 +00:00
Tleiades Hax
5e7dba7268 Very early first implementation of grid based assets.
Run this on a major grid, and weep
2007-10-26 11:46:27 +00:00
Adam Frisby
5dad0ed729 * Return of R2162. /Take that SVN!/ 2007-10-22 21:57:32 +00:00
Sean Dague
6acaabefc3 revert r2162 as it completely clobbered all the work on
the ChatModule by MW and myself.  Couldn't find Adam online
after that rev went in.
2007-10-22 15:37:54 +00:00
Adam Frisby
c4707a284f * Major ass commit.
* Sqlite Storage Engine now supports terrain -- however be aware that every terrain revision stored will at 512KB to your database file. At the moment it is storing every revision from the first.
* Fixed an issue where by noverbose mode would display lots of useless junk. Noverbose mode is now quite usable.
* Fixed a whole bunch of console message issues such as naming and categorisation
2007-10-22 15:23:48 +00:00