aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Framework/Communications/Cache/AssetCache.cs (unfollow)
Commit message (Collapse)AuthorFilesLines
2008-03-18Formatting cleanup.Jeff Ames1-235/+230
2008-02-27disabled AssetDownloadModule and re-enabled the asset download code in the ↵MW1-17/+18
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-27small fix in the showstate data in AssetCache to reflect that now some ↵MW1-1/+1
functions are no longer in AssetCache
2008-02-27After seeing sdague do his happy dance over trunk working "the best he has ↵MW1-17/+18
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-27another attempt at fixing asset lockupsMW1-224/+247
2008-02-27Hopefully fixed the bug that was causing a lot of the freezing. Which was ↵MW1-33/+51
happening due to locks in the AssetCache and Texturedownload module. Where the thread from the Asset thread would be take a lock on a list in the asset cache and then try to call the Callback into the texturedownload module and hit a lock in there which was held by a ClientView thread- which at the same time would be trying to request another texture from the cache and be hitting the lock in there held by the IClientAPI. The result each thread waiting for the other one to release a lock. And as one of those was the ClientView process packet thread. No more packets from that client could be processed. For now I've made a copy of the list in AssetCache so that it can release the lock. I'm doing more work on assets (moving the client asset downloading to a module ), so will hopefully change this into a better method once I've cleaned over things up a bit.
2008-02-25* Start sending "ImageNotFound" packet back to the client if we can't find ↵Justin Clarke Casey1-24/+8
an image * This might stop some client's constant requests for unfound textures, which is a candidate for the memory leak * If a texture is not found then the "Image not found" texture will now be displayed clientside * If it works, this should resolve mantis 676 * Non texture image requests do not receive this packet yet * This will require a prebuild
2008-02-22* Improve alignment of packet queue stats headignsJustin Clarke Casey1-1/+1
* Correct asset cache stats table heading * Correct spelling mistake in AssetCache (thanks ChrisD!)
2008-02-22* Winnow the debug and info messages associated with stat fetchingJustin Clarke Casey1-6/+17
* 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-21"threads" command now works. I've added manual tracking of threads (only if ↵Tedd Hansen1-0/+1
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-20* Eliminate AssetCache.CopyAsset()Justin Clarke Casey1-26/+4
* Resolve a bad logic bug in AssetCache.GetAsset() * This may make some asset related things work better (possibly getting main map images will now be improved).
2008-02-20* Only count download requests for assets which are not already waiting for ↵Justin Clarke Casey1-5/+6
data from the asset server * This should stop the constant increase in the download requests statistics * If you see stat numbers for download requests which are far from what you'd expect, please report
2008-02-20* Properly guard removal of asset request lists on AssetCache.AssetNotFound ↵Justin Clarke Casey1-9/+11
(my own bug)
2008-02-20* Remove unused texture dictionaries from AssetCacheJustin Clarke Casey1-48/+69
* Add documentation to AssetCache
2008-02-20Report command string on ConsoleBase.RunCommand exceptionJustin Clarke Casey1-2/+2
2008-02-20* Report 'asset not found' situations back to UserTextureDownloadServiceJustin Clarke Casey1-21/+49
* 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* re-enabled AssetNotFound codelbsa711-15/+16
* turned script asset fetching asynchronous
2008-02-20* Fixed xml loading bug (the xml was scheduled for update before added to a ↵lbsa711-70/+101
scene) * Fixed ClickAction situation on the same note (properties shouldn't cause big changes) * Added some more debug output to AssetCache
2008-02-19Playing "Name that thread". Adding names and isbackground=true to all ↵Tedd Hansen1-0/+1
threads so it will be easier to debug.
2008-02-13Clean up more unnecessary String.Format callsJeff Ames1-3/+1
2008-02-10Clean up logging calls using String.Format explicitlyJeff Ames1-3/+3
2008-02-09* fixed typo. thanks, nebadon!lbsa711-1/+1
2008-02-09* Refactored some asset code and in the process uncovered a bug; now, I ↵lbsa711-10/+14
think first transfer of asset should start faster.
2008-02-09* added count of texture data bytes and asset byteslbsa711-6/+18
2008-02-09* Added count of temporary assetslbsa711-0/+23
2008-02-09* added two new commands (for debug/disaster recovery)lbsa711-25/+55
'show assets' shows the current state of the asset cache (number of cached assets, requests, et c) 'clear-assets' forcibly re-initializes the asset cache thereby freeing all cached items. 'clear-assets' is not to be used lightly, as it probably introduces mem inconsistencies and doubling up of textures.
2008-02-08fix the issue found on IRC this morning. The logging call was mistructuredSean Dague1-1/+2
so threw and exception when attempting to log that we missed an asset and were waiting for it.
2008-02-05Converted logging to use log4net.Jeff Ames1-11/+10
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-04* Lowered maxchunk from 1500 bytes to 1250 bytes to make sure packets fit ↵Adam Frisby1-1/+1
below the average maximum MTU of 1500 bytes inc. header. Thanks Alex for reporting this.
2008-01-31* Add asset/texture cache statistics to region server consoleJustin Clarke Casey1-3/+21
* You can type 'stats' at the REGION# prompt to get this information in grid or standalone mode * Don't take these numbers as gospel yet, since for some reason textures displayed from inventory which require downloading from the server are being recorded as assets rather than textures * But I don't have any reason to believe they aren't broadly accurate. * I've put these in so I can tell whether the high memory usage on regions is down to the asset/texture cache * This will require a prebuild * DEV: Only adds needed to be implemented since, as far as I can tell, assets cached are currently never released. For my part, seeing large cache memory numbers will provoke me to think about doing something about this. * DEV: Now switched to using a singleton to get the stats reporters rather than threading the object through various layers * DEV: Will refactor the other server stats reporters to do this in one of the next commits
2008-01-15* Mother of all commits:Adam Frisby1-1/+1
* Cleaned up copyright notices in AssemblyInfo.cs's * Added Copyright headers to a bunch of files missing them * Replaced several common string instances with a static constant to prevent reallocation of the same strings thousands of times. "" -> String.Empty is the first such candidate.
2008-01-10Whitespace cleanup.Jeff Ames1-1/+1
2008-01-02* Trying to address TextureSender issueslbsa711-3/+3
* 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
2007-12-27* Optimized usingslbsa711-25/+24
* shortened references * Removed redundant 'this' * Normalized EOF
2007-12-22Make copying of scripts into prim inventories more reliable on the first ↵Justin Clarke Casey1-3/+45
attempt when the asset server is lagging by formalising the de facto polling. This may not be the best solution in the long run, but should improve things for now. This may also improve reliability when updating inventory item metadata (e.g. renaming an item) and in retrieving textures for the main map view.
2007-12-22minor refactorJustin Clarke Casey1-3/+8
2007-12-19Misc. cleanup:Jeff Ames1-46/+14
* added Util.Clip(value, min, max) * modified asset cache's numPackets calculation to use max packet size (600) instead of 1000 * removed a few magic numbers
2007-12-14Thank you Justin for:Charles Krinke1-52/+27
0000188: Clean up of some AssetCache.ProcessAssetQueue() code
2007-12-14patch from justincc for Mantis #163 - Opening a script in inventory longer ↵Teravus Ovares1-11/+36
than 1500characters can cause looping crash.
2007-12-10more work on texture downloading.MW1-265/+38
Refractored the TextureDownloadModule (but currently to make debugging easier, it is running as a non shared module, so this results in a instance of this module being created for each region (and a extra thread per region), this will be changed back soon. Removed the old texture handling/sending code from AssetCache. A few other small changes/fixes.
2007-12-10saved OpenSim source code from the giant rampaging unterminated copyright ↵Jeff Ames1-2/+2
notice of doom
2007-12-06reversing the r2599 patch, as this started causing CreateThread errors for Sean Dague1-6/+1
me on Mono 1.2.4, which led to client crashes. I think the Timer.Stop() wasn't doing what was desired on Mono. The Queue refactoring should address the readability issues lbsa71 was working on as soon as I get the merge together.
2007-12-06* now the throttle timer is stopped whilst processing Queue so that it won't ↵lbsa711-1/+6
fire twice * started to refactored throttling method * some code convention refactorings
2007-11-23* Refactored NumPackets calculationlbsa711-20/+21
2007-11-18* Refactored IClientAPI.OutPacket to require a second mandatory parameter. ↵Teravus Ovares1-8/+8
This parameter has an enum:int ThrottleOutPacketType and contains types; Resend, Land, Wind, Cloud, Task, Texture, and Asset.
2007-11-18first stab at implementation of CopyInventoryItemJeff Ames1-0/+11
2007-11-11Fixed bug in assetcache where certain textures were not being packetized ↵Brian McBee1-1/+1
correctly
2007-11-06* Added better logging to AssetCachelbsa711-42/+66
* AssetCache now ignores duplicate uploads * some m_ refactoring * ignored some bins
2007-11-01* Diuerse beavtificatemslbsa711-2/+2
2007-11-01renamed FetchAsset to RequestAsset on IAssetServer, as think its a more ↵MW1-4/+4
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.