Commit Graph

99 Commits

Author SHA1 Message Date
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
MW
aac7c1dda5 another attempt at fixing asset lockups 2008-02-27 16:20:45 +00:00
MW
a9ae5ab840 Hopefully fixed the bug that was causing a lot of the freezing. Which was 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-27 14:40:30 +00:00
Justin Clarke Casey
65862aacea * Start sending "ImageNotFound" packet back to the client if we can't find 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-25 23:26:35 +00:00
Justin Clarke Casey
f95ad65189 * Improve alignment of packet queue stats headigns
* Correct asset cache stats table heading
* Correct spelling mistake in AssetCache (thanks ChrisD!)
2008-02-22 23:15:00 +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
b0c5ef0b68 * Eliminate AssetCache.CopyAsset()
* 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 23:21:51 +00:00
Justin Clarke Casey
7d7ad4dff2 * Only count download requests for assets which are not already waiting for 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 20:23:03 +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
c66b5a9e71 Report command string on ConsoleBase.RunCommand exception 2008-02-20 17:54:14 +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
lbsa71
4c6e5a5090 * re-enabled AssetNotFound code
* turned script asset fetching asynchronous
2008-02-20 13:11:19 +00:00
lbsa71
9be5f9d6cc * Fixed xml loading bug (the xml was scheduled for update before added to a scene)
* Fixed ClickAction situation on the same note (properties shouldn't cause big changes)
* Added some more debug output to AssetCache
2008-02-20 09:38:45 +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
lbsa71
e9eaf8e949 * fixed typo. thanks, nebadon! 2008-02-09 22:26:28 +00:00
lbsa71
7486762aa0 * Refactored some asset code and in the process uncovered a bug; now, I think first transfer of asset should start faster. 2008-02-09 22:23:36 +00:00
lbsa71
0b0bb28fd5 * added count of texture data bytes and asset bytes 2008-02-09 21:50:45 +00:00
lbsa71
e2ed5bf6b9 * Added count of temporary assets 2008-02-09 21:25:34 +00:00
lbsa71
176a1fe382 * added two new commands (for debug/disaster recovery)
'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-09 21:17:47 +00:00
Sean Dague
598c5a95d9 fix the issue found on IRC this morning. The logging call was mistructured
so threw and exception when attempting to log that we missed an asset and
were waiting for it.
2008-02-08 15:29:53 +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
Adam Frisby
35a8c95e1d * Lowered maxchunk from 1500 bytes to 1250 bytes to make sure packets fit below the average maximum MTU of 1500 bytes inc. header. Thanks Alex for reporting this. 2008-02-04 10:28:39 +00:00
Justin Clarke Casey
a4bf98f4ba * Add asset/texture cache statistics to region server console
* 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-31 00:42:31 +00:00
Adam Frisby
b25f9f322c * Mother of all commits:
* 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-15 02:09:55 +00:00
Jeff Ames
5a6fd21a2c Whitespace cleanup. 2008-01-10 06:49:29 +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
efd90b56b7 * Optimized usings
* shortened references
* Removed redundant 'this'
* Normalized EOF
2007-12-27 21:41:48 +00:00
Justin Clarke Casey
c470efea57 Make copying of scripts into prim inventories more reliable on the first 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-22 19:48:01 +00:00
Justin Clarke Casey
ed0f8bd572 minor refactor 2007-12-22 16:45:44 +00:00
Jeff Ames
6702b03733 Misc. cleanup:
* 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-19 08:44:25 +00:00
Charles Krinke
4e7763f8de Thank you Justin for:
0000188: Clean up of some AssetCache.ProcessAssetQueue() code
2007-12-14 20:09:44 +00:00