| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
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.
|
|
|
|
| |
functions are no longer in AssetCache
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
* Correct asset cache stats table heading
* Correct spelling mistake in AssetCache (thanks ChrisD!)
|
|
|
|
|
|
|
| |
* 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'
|
|
|
|
| |
compiled in DEBUG mode)... Its ugly and even requires a separate thread to track the treads, but it will be very valuable in debugging.
|
|
|
|
|
|
|
| |
* 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).
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
(my own bug)
|
|
|
|
|
|
| |
* Add documentation to AssetCache
|
| |
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
| |
* turned script asset fetching asynchronous
|
|
|
|
|
|
|
|
| |
scene)
* Fixed ClickAction situation on the same note (properties shouldn't cause big changes)
* Added some more debug output to AssetCache
|
|
|
|
| |
threads so it will be easier to debug.
|
| |
|
| |
|
| |
|
|
|
|
| |
think first transfer of asset should start faster.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
'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.
|
|
|
|
|
|
|
| |
so threw and exception when attempting to log that we missed an asset and
were waiting for it.
|
|
|
|
|
|
| |
Changed LogBase to ConsoleBase, which handles console I/O.
This is mostly an in-place conversion, so lots of refactoring can still be done.
|
|
|
|
| |
below the average maximum MTU of 1500 bytes inc. header. Thanks Alex for reporting this.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
| |
* 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.
|
| |
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
| |
* shortened references
* Removed redundant 'this'
* Normalized EOF
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
| |
0000188: Clean up of some AssetCache.ProcessAssetQueue() code
|
|
|
|
| |
than 1500characters can cause looping crash.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
notice of doom
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
fire twice
* started to refactored throttling method
* some code convention refactorings
|
| |
|
|
|
|
| |
This parameter has an enum:int ThrottleOutPacketType and contains types; Resend, Land, Wind, Cloud, Task, Texture, and Asset.
|
| |
|
|
|
|
| |
correctly
|
|
|
|
|
|
|
| |
* AssetCache now ignores duplicate uploads
* some m_ refactoring
* ignored some bins
|
| |
|
|
|
|
| |
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.
|