Diva Canto
68961ec092
One last attempt at tunning the locking/no locking behaviour. The previous one was too lax and made the important login packets fail.
2009-10-07 20:36:24 -07:00
Diva Canto
dd80380df5
Another go at the deadlock: not locking TryGetValue, and just catch/ignore exceptions.
2009-10-07 19:45:57 -07:00
Diva Canto
c71b3e730d
Changed the locking mechanism, because the existing one is causing deadlocks to occur.
2009-10-07 18:54:08 -07:00
Melanie
d33b6fef2b
replace LLClientView with proper version
2009-10-07 04:37:12 +01:00
Melanie
adc208e568
Replace LLClientView on the branch with master. UNCOMPILABLE!
2009-10-07 04:36:36 +01:00
Melanie
9618c196c2
Revert "Merging in diva's locking fixes"
...
This reverts commit 832cc68513 .
2009-10-07 01:44:36 +01:00
John Hurliman
312438f145
Commented noisy debugging about packet splitting
2009-10-06 15:55:39 -07:00
John Hurliman
832cc68513
Merging in diva's locking fixes
2009-10-06 15:54:00 -07:00
Diva Canto
e992ca0255
Rewrote parts of the code that were double-locking different objects. This is about half of the code base reviewed.
2009-10-06 15:39:53 -07:00
John Hurliman
9cb5db3621
Applying the real fix (thank you for tracking that MSDN doc down Melanie)
2009-10-06 15:08:09 -07:00
John Hurliman
74fe284a20
Trying Melanie's fix
2009-10-06 14:50:46 -07:00
John Hurliman
25676ac5cf
* Added a sanity check for Mono before trying to enumerate over an empty SortedDictionary
...
* Changed the order of a log line from DotNetEngine so you can tell whether or not it is actually loading
2009-10-06 13:39:10 -07:00
John Hurliman
61b5372153
* Added missing references to prebuild.xml and commented out the LindenUDP tests until a new test harness is written
...
* Clients are no longer disconnected when a packet handler crashes. We'll see how this works out in practice
* Added documentation and cleanup, getting ready for the first public push
* Deleted an old LLUDP file
2009-10-06 12:13:16 -07:00
John Hurliman
fb19d1ca0a
* Try/catch around EndInvoke() when Util.FireAndForget() returns to catch exceptions thrown in the async method
...
* Added packet stats handling to the new LLUDP implementation
* Attempting to avoid a race condition when creating a new LLUDPClient
2009-10-06 10:12:59 -07:00
John Hurliman
e7c877407f
* Continued work on the new LLUDP implementation. Appears to be functioning, although not everything is reimplemented yet
...
* Replaced logic in ThreadTracker with a call to System.Diagnostics that does the same thing
* Added Util.StringToBytes256() and Util.StringToBytes1024() to clamp output at byte[256] and byte[1024], respectively
* Fixed formatting for a MySQLAssetData error logging line
2009-10-06 02:38:00 -07:00
John Hurliman
7ddb6fbced
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim into htb-throttle
2009-10-05 17:38:27 -07:00
John Hurliman
429a84f390
Beginning work on the new LLUDP implementation
2009-10-05 17:38:14 -07:00
Diva Canto
05c1ec7faf
Changed the lock object, to see if this helps at all. Also switched the order of lock and try/catch in RemoveImageFromQueue.
2009-10-05 11:01:45 -07:00
Diva Canto
5b19d5a7b7
Reduced locking.
2009-10-04 14:05:58 -07:00
Diva Canto
d93e0a0503
Guarding a line that is sometimes throwing a null pointer exception.
2009-10-04 10:30:21 -07:00
Diva Canto
366bfe17ae
Trying to avoid the null pointer exception in J2KImage, RunUpdate.
2009-10-04 07:41:10 -07:00
Melanie
6878b26b0d
Merge branch 'diva-textures-osgrid'
2009-10-04 05:49:16 +01:00
John Hurliman
387e9f7a7f
* Creates Util.UTF8 and switches some references of Encoding.UTF8 to Util.UTF8 (not all references were switched since not all OpenSim libraries reference OpenSim.Framework)
...
* Shrinks the largest in-memory object, the LLRAW.HeightmapLookupValue struct (only used for exporting to LLRAW terrain files), to the minimum possible size. This seems to have the odd side effect of cutting the size of the two double[256,256] terrain objects in half. Possibly an alignment optimization?
2009-10-02 18:31:08 -07:00
John Hurliman
332d3eb1bb
* Removed code that is no longer used with Melanie's queue callback optimization
...
* Moved all priority queue access to helper functions to improve reliability and readability
* New version of CSJ2K.dll (from libomv source tree) that fixes a JPEG2000 comment decoding bug
2009-10-02 16:53:35 -07:00
Melanie
36c8d55827
Merge branch 'diva-textures-osgrid'
2009-10-03 00:03:09 +01:00
Melanie
73fa409318
Merge branch 'diva-textures-osgrid'
2009-10-02 23:25:17 +01:00
John Hurliman
bdc1345501
* Removed even more unnecessary state variables from J2KImage
...
* Fixed the incorrect "out of memory?" exception messages and replaced them with useful information
* Cleaned up J2KImage and LLImageManager to conform to coding conventions
2009-10-02 13:08:15 -07:00
John Hurliman
9b342d3e0d
* Changed the flush logic to drop packets in non-transactional streams, and to not fire any "put more data in the queues" callbacks
...
* Minor tweaks to code formatting to make the callback chain for packet queuing easier to follow
2009-10-02 12:00:42 -07:00
Melanie
6def897556
Merge branch 'diva-textures-osgrid' into diva-textures
2009-10-02 19:02:38 +01:00
Melanie
31d8cec0f8
Merge branch 'master' into diva-textures
2009-10-02 08:23:38 +01:00
Melanie
3ba36bb4d8
Restore the missing image handling to the image manager. The missing
...
image packet crashes Hippo without a message.
2009-10-02 05:49:27 +01:00
Melanie
9a429610e2
Merge branch 'diva-textures-osgrid' into texturetest
2009-10-02 04:19:22 +01:00
Diva Canto
746dad7b74
Locking the priority queue to see if it gets pass that exception.
2009-10-01 20:32:22 -07:00
Melanie
18a744cac1
Change texture sending to be driven by the queue empty event from the
...
packet queue, rather than a timer
2009-10-02 04:04:14 +01:00
John Hurliman
54ff84050f
Removing console debug spew
2009-10-01 18:12:13 -07:00
John Hurliman
aaf8fbcef9
Merge branch 'diva-textures-osgrid' of ssh://opensimulator.org/var/git/opensim into diva-textures-osgrid
2009-10-01 17:53:28 -07:00
John Hurliman
6e0c79b8fe
* Rewrote LLImageManager to use a real priority queue and hold minimal state
...
* Rewrote the logic in J2KImage.RunUpdate()
* Added a default avatar texture (I made it myself)
2009-10-01 17:42:13 -07:00
Melanie
54a912bb9c
Add a method to determine the count of packets in a throttle
2009-10-01 22:35:57 +01:00
Melanie
5e9da4daab
Add OnQueueEmpty event to the packet layers. No user functinality yet
2009-10-01 21:08:17 +01:00
James J Greensky
44776fea72
Fixing LLClientView memory leak
...
Fixing LLClientView memory leak by disposing of all timers utilized
in LLClientView as they contain references to the callback method.
This required the use of the Terminate and Close infrastructure that
was already in place but was not being utilized.
2009-10-01 04:11:32 +01:00
Jeff Ames
606e831ff5
Formatting cleanup.
2009-10-01 09:38:36 +09:00
John Hurliman
5dfd2643df
* Change the signature of the agent set appearance callback to prevent unnecessary serialization/deserialization of TextureEntry objects and allow TextureEntry to be inspected for missing bakes
...
* Inspect incoming TextureEntry updates for bakes that do not exist on the simulator and request the missing textures
* Properly handle appearance updates that do not have a TextureEntry set
2009-09-30 15:53:03 -07:00
Melanie
041aaaa62c
Prevent null data being sent to the decoder
2009-09-30 22:21:22 +01:00
Melanie
400abed271
Add RebakeAvatarTexturesPacket to the client view
2009-09-30 21:33:20 +01:00
Melanie
b0c0d6f9d1
Squelch the debug noise from diva's patch
2009-09-30 20:36:20 +01:00
John Hurliman
f56dc5fcda
Attempting to improve the robustness of texture decoding by always ignoring LayerInfo.End values and creating guessed default layer boundaries on failed decodes Changed a noisy J2K decode log message from Info to Debug Replacing openjpeg-dotnet decoding with managed CSJ2K decoding. Should be much more reliable, faster, and use less memory
...
* Re-added openjpeg-dotnet files since they are used elsewhere in OpenSim * Updated prebuild.xml with a reference to CSJ2K
* Renamed IJ2KDecoder and J2KDecoder member names to follow standard naming conventions * Removed j2kDecodeCache cruft and replaced it with the OpenSim cache system * Rewrote the default layer boundary algorithm to use percentages instead of an exponent * Switched from an infinite in-memory cache to an expiring cache (10 minute timeout) * Slightly quieted logging errors for failed texture decodes
2009-09-30 19:26:53 +01:00
Diva Canto
4bf47fa592
This releases the texture assets from LLImageManager cache, and re-requests them later if the client asks for them again. Needs more testing in texture-rich sims.
2009-09-30 18:41:41 +01:00
Jeff Ames
ee205e7e81
Formatting cleanup.
2009-10-01 01:17:47 +09:00
Diva Canto
5d09c53a1a
Unpacking the mess with OtherRegionUp, so we can have a real cache of the neighbours in the grid service modules.
2009-09-27 10:14:10 -07:00
Adam Frisby
5dc3e560d3
* Makes SimulatorEnable messages 'reliable' and subject to redelivery.
2009-09-23 10:30:18 +10:00