Commit Graph

48 Commits

Author SHA1 Message Date
Jeff Ames
1d01d6d919 Formatting cleanup. 2009-07-01 23:37:09 +00:00
Arthur Valadares
6da88dceb0 * Changing List to Dictionary in PacketQueue.Dequeue for great justice (and performance) 2009-06-29 16:55:00 +00:00
Jeff Ames
840de6c036 Minor: Change OpenSim to OpenSimulator in older copyright headers and LICENSE.txt. 2009-06-01 06:37:14 +00:00
Jeff Ames
e0bc5c5db2 Add copyright headers, formatting cleanup. 2009-05-20 01:32:06 +00:00
Dr Scofield
14f0d5e77f trying to fix exception with in LLPacketQueue probably caused by
missing locks where the queue was modified.
2009-05-19 18:46:20 +00:00
Adam Frisby
53a350573e * Further testing against core packet issue. 2009-05-10 20:31:45 +00:00
Adam Frisby
da948a992a * Attempting to diagnose a core packet issue on Windows/.NET. Adding additional locks to see if it fixes the problem. 2009-05-10 20:25:05 +00:00
Jeff Ames
8ea12ad6c0 Add copyright header. Formatting cleanup. Ignore some generated files. 2009-05-05 09:59:15 +00:00
Melanie Thielker
e8b532b26a Make a race condition in packet resending smaller 2009-05-03 09:43:52 +00:00
Melanie Thielker
780f34275b Handle resends better 2009-05-02 20:08:26 +00:00
Melanie Thielker
62bcf0e694 Numerous packet improvements.
Don't allow packets to be resent before they have actually been sent for the
first time. Switch from serializing a packet to get it's length to the LibOMV
provided Length property. Fix resend timing. Fix the use of dangling references
to Acked packets. Fix the packet handler to play nice with the packet pool.
Fix the packet pool. Add data block recycling to the packet pool. Packet pool
is now ENABLED by default. Add config option to disable packet and data block
reuse. Add ObjectUpdate and ImprovedTerseObjectUpdate to the packets being
recycled.
2009-05-02 13:16:41 +00:00
Teravus Ovares
515bf6d7dc * Patch from RemedyTomm Mantis 3440
* Revamps the server side texture pipeline
* Textures should load faster, get clogged less, and be less blurry
* Minor tweak to ensure the outgoing texture throttle stays private.
* Fixes mantis 3440
2009-04-10 08:30:21 +00:00
Mike Mazur
bdf95e54a2 A few updates necessary for load balancer.
- handle GetUser request for nonexistent user gracefully
- include throttle levels in ClientInfo
- code to save/restore throttles in client stack
- only update/send updates to active clients
- make animation classes serializable
2009-02-25 00:32:26 +00:00
lbsa71
801da4346a * optimized usings. 2009-02-12 09:53:12 +00:00
Justin Clarke Casey
a31792ee5c * prune and regrade log messages relating to client login and logout 2009-01-06 21:39:55 +00:00
lbsa71
56f1b03cd0 * Added "show queues" command that shows throttling queues for all clients.
*** This only works for LLCLientView at the moment ***
2008-12-18 13:16:41 +00:00
Melanie Thielker
a9e38bcafc Reapply the packet optimization patch, with changes 2008-12-17 21:00:18 +00:00
Melanie Thielker
2bcf315ea2 Revert 7754 and 7755 pending a rework 2008-12-17 20:34:37 +00:00
Melanie Thielker
7ef5a79fef Change the PacketQueue to use the stored size as well 2008-12-17 19:01:47 +00:00
Justin Clarke Casey
ab77b22f0f * Only serialize packets once for the length calculation for throttle queues rather than twice 2008-12-17 17:33:57 +00:00
Justin Clarke Casey
72ff5322f5 * Replace manually zeroing with Array.Clear(). Thanks cmickeyb 2008-12-17 17:18:52 +00:00
Melanie Thielker
8e5fe0257c Mantis #2850
Applying the patch to reduce the load caused by the throttle loop even more
2008-12-17 17:05:12 +00:00
Melanie Thielker
02a28a6992 Avoid checking the throttle limit for empty queues 2008-12-17 09:30:56 +00:00
Jeff Ames
8da726c3a8 Update svn properties. Add copyright headers. Minor formatting cleanup. 2008-11-09 01:31:38 +00:00
Adam Frisby
fb2a1a6b7c * Fixed a major memory leak in packet processing - PacketQueue.Close is never called, causing the PacketQueue for dead clients to be preserved (including it's contents).
* This patch is highly experimental and may cause clients to not be able to connect, if this is the case, it will be rolled back in approximately 5 minutes.
2008-11-08 20:52:48 +00:00
Justin Clarke Casey
fc36d7fdf2 * Set default client throttle multiplier to 2 (old value was effectively 8). See OpenSim.ini.example for details as to what this means
* Really this should be 1, but I think that this would be too slow compared to a Second Life server until we improve our ability to send textures of variable quality
* This may improve one aspect of sim performance where there are many avatars.  However, there are still other performance problems that are unrelated to this change
* Value may be further tuned
* Removed temporary decals since the multipler setting will stick around now
2008-11-05 19:23:59 +00:00
Justin Clarke Casey
4ff0c39153 * Expose a client_throttle_multiplier setting in OpenSim.ini. This multiplier is applied to all the client throttle settings received by the client
* This should probably be 1, but currently by default it is 8, to reflect what was being eon3 in OpenSim before this revision.  So if the client requested a maximum throttle 
of 1500 kilobits per second, we would actually send out 1500 kilobytes per second
* Adjusting this multiplier down towards 1 may improve your OpenSim experience, though in other situations it may degrade (e.g. if you're using a standalone over high bandwidth 
links)
* This is currently a user setting because adjusting it down may currently reveal other OpenSim bugs.
2008-11-03 21:09:30 +00:00
Justin Clarke Casey
8c71954e08 * Use nini to pass config information to the client stack, rather than the ClientStackUserSettings class
* This conforms better to other module usage
2008-11-03 18:33:35 +00:00
Justin Clarke Casey
4ed6e78d1a * Comment out debug throttle output that I had accidentally left in 2008-10-07 21:44:29 +00:00
Justin Clarke Casey
33d957207c * Change interpretation of asset throttle values to bits per second rather than bytes per second
* Changing network bandwidth in the preferences will now have a much more noticeable effect - a user may want to increase this if data is being slow to download from opensim
2008-10-06 16:48:41 +00:00
Justin Clarke Casey
743e336bf3 * Put in some infrastructure to allow tweaking of packet queue throttle values for the total throttle (the one that throttles all packet output)
* Not complete yet
2008-10-03 18:06:45 +00:00
Justin Clarke Casey
70124a3213 * refactor: make startup a template method 2008-10-03 15:11:29 +00:00
Justin Clarke Casey
8c55f3eaa6 * minor: remove warnings (the code cleaners strike again) 2008-10-03 14:18:17 +00:00
Teravus Ovares
16b6738cda * Patch from JHurliman
* Updates to libomv r2243, 
* Remove lots of unnecessary typecasts
* Improves SendWindData()
Thanks jhurliman. 
* Will update OpenSim-libs in 10 minutes..
2008-09-26 17:25:22 +00:00
Justin Clarke Casey
23ea8f5221 * refactor: remove unnecessary packet null check in LLClientView
* if a packet was really null it would be caught by the general exception handler at the top of the client thread, which would also provide more information and attempt a clean 
shutdown
2008-09-20 19:05:00 +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
Melanie Thielker
dba779862d Mantis #2107
Thank you, lulurun, for a patch to fix a possible crash when a received
packet contains a quaternion with all members zeroed.
2008-09-03 11:25:11 +00:00
Jeff Ames
bea7d4d81a Update svn properties, formatting cleanup. 2008-08-19 02:59:27 +00:00
Melanie Thielker
6614eee4d4 Change LowpriorityTask to be ThrottleType.Task | ThrottleType.LowPriority to make the flag nature of this value more clear. 2008-08-18 18:59:06 +00:00
Jeff Ames
80d8e2889e Update svn properties. Formatting cleanup. Remove a compiler warning. 2008-07-23 13:24:25 +00:00
Melanie Thielker
f112cebde2 Refactor the packet scheduling out of ClientView. Add intelligent
resending, timeouts, packet discarding. Add notification event for
packet discarding. Add priority scheduling for packet queues.
Add outgoing duplicate detection facility. Correct packet sequencing.
Make provisions for automatic server side throttle adjustments (comes
in next installment)
2008-07-22 17:58:42 +00:00
Dr Scofield
748f72326d last round of warning squashing. calling it a day now. 2008-06-27 23:03:39 +00:00
Jeff Ames
5d77625e9a Update svn properties. Formatting cleanup. 2008-05-25 23:27:38 +00:00
Justin Clarke Casey
0b7f82153b * Temporary fix for mantis 1374
* If the agent throttle byte array is unexpectedly empty, then log a warning and drop the packet
2008-05-24 18:17:31 +00:00
Jeff Ames
65c5efe43b Formatting cleanup. 2008-05-16 01:22:11 +00:00
Jeff Ames
6a1b787436 More formatting cleanup. 2008-05-14 05:33:32 +00:00
Sean Dague
1edb7992f1 fixed the dos line endings 2008-05-02 19:21:33 +00:00
Adam Frisby
29b8c84cea * Commit 2/3 - Please dont attempt to update to this revision until all 3 are in. 2008-05-02 16:41:08 +00:00