aboutsummaryrefslogtreecommitdiffstatshomepage
Commit message (Collapse)AuthorAgeFilesLines
* Refactor UnackedPacketCollection so ProcessQueues will handle Adds, Acks, ↵Dan Lake2011-04-212-26/+34
| | | | and Removes in that order.
* Merge branch 'master' into queuetestMic Bowman2011-04-2110-89/+204
|\
| * fix meshing failure on sculpt maps smaller than 64x64dahlia2011-04-191-3/+10
| |
| * Get Viewer 2 voice working with OpenSim.Justin Clark-Casey (justincc)2011-04-202-14/+67
| | | | | | | | | | | | | | | | See http://opensimulator.org/mantis/view.php?id=5336 It turns out that viewer 2 was upset by the lack of a response to viv_watcher.php. This would send it into a continuous login loop. Viewer 1 was quite happy to ignore the lack of response. This commit puts in the bare minimum 'OK' message in response to viv_watcher.php. This allows viewer 2 voice to connect and appears to work. However, at some point we need to fill out the watcher response, whatever that is.
| * synchronize Robust.HG.ini.example FreeSWITCH config with other config filesJustin Clark-Casey (justincc)2011-04-191-10/+32
| |
| * For consistency, uncomment ColladaMesh option in OpenSimDefaults.ini. ↵Justin Clark-Casey (justincc)2011-04-191-1/+1
| | | | | | | | Thanks for the spot, Ai Austin.
| * Clean up freeswitch config to what is currently required. Add explanation ↵Justin Clark-Casey (justincc)2011-04-196-62/+95
| | | | | | | | to config parameters. Clean up some log messages.
* | Added ability to remove unacked packet from UnackedPacketCollection without ↵Dan Lake2011-04-212-2/+38
| | | | | | | | an acknowledgement from the network. This prevents RTT and throttles from being updated as they would when an ACK is actually received. Also fixed stats logging for unacked bytes and resent packets in this case.
* | bug fix. Now when an unacked update packet is handled through ↵Dan Lake2011-04-203-16/+25
| | | | | | | | ResendPrimUpdates, it is removed from the UnackedPacketCollection.
* | Added an "immediate" queue to the priority queue. This isMic Bowman2011-04-202-17/+30
| | | | | | | | | | | | | | | | | | per Melanie's very good suggestion. The immediate queue is serviced completely before all others, making it a very good place to put avatar updates & attachments. Moved the priority queue out of the LLUDP directory and into the framework. It is now a fairly general utility.
* | Merge branch 'queuetest' of ssh://opensimulator.org/var/git/opensim into ↵Mic Bowman2011-04-200-0/+0
|\ \ | | | | | | | | | | | | | | | | | | queuetest Conflicts: OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
| * | Requeue unacknowledged entity updates rather than resend then "as is".Dan Lake2011-04-185-66/+176
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Often, by the time the UDPServer realizes that an entity update packet has not been acknowledged, there is a newer update for the same entity already queued up or there is a higher priority update that should be sent first. This patch eliminates 1:1 packet resends for unacked entity update packets. Insteawd, unacked update packets are decomposed into the original entity updates and those updates are placed back into the priority queues based on their new priority but the original update timestamp. This will generally place them at the head of the line to be put back on the wire as a new outgoing packet but prevents the resend queue from filling up with multiple stale updates for the same entity. This new approach takes advantage of the UDP nature of the Linden protocol in that the intent of a reliable update packet is that if it goes unacknowledge, SOMETHING has to happen to get the update to the client. We are simply making sure that we are resending current object state rather than stale object state. Additionally, this patch includes a generalized callback mechanism so that any caller can specify their own method to call when a packet expires without being acknowledged. We use this mechanism to requeue update packets and otherwise use the UDPServer default method of just putting expired packets in the resend queue.
* | | Adds the first pass at an adaptive throttle to slow start newMic Bowman2011-04-204-18/+95
| | | | | | | | | | | | | | | | | | | | | | | | clients. If the sent packets are ack'ed successfully the throttle will open quickly up to the maximum specified by the client and/or the sims client throttle. This still needs a lot of adjustment to get the rates correct.
* | | Converted the property request queue to use the same retransmissionMic Bowman2011-04-191-23/+52
| | | | | | | | | | | | mechanism as the entity update queues.
* | | Requeue unacknowledged entity updates rather than resend then "as is".Dan Lake2011-04-195-66/+176
| |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Often, by the time the UDPServer realizes that an entity update packet has not been acknowledged, there is a newer update for the same entity already queued up or there is a higher priority update that should be sent first. This patch eliminates 1:1 packet resends for unacked entity update packets. Insteawd, unacked update packets are decomposed into the original entity updates and those updates are placed back into the priority queues based on their new priority but the original update timestamp. This will generally place them at the head of the line to be put back on the wire as a new outgoing packet but prevents the resend queue from filling up with multiple stale updates for the same entity. This new approach takes advantage of the UDP nature of the Linden protocol in that the intent of a reliable update packet is that if it goes unacknowledge, SOMETHING has to happen to get the update to the client. We are simply making sure that we are resending current object state rather than stale object state. Additionally, this patch includes a generalized callback mechanism so that any caller can specify their own method to call when a packet expires without being acknowledged. We use this mechanism to requeue update packets and otherwise use the UDPServer default method of just putting expired packets in the resend queue.
* | Move mesh on/off swtich from [Startup] to [Mesh] in anticipation of future ↵Justin Clark-Casey (justincc)2011-04-184-12/+18
| | | | | | | | | | | | | | config parameters. Default remains true. OpenSimDefault.ini changed so if you haven't overriden this switch then you don't need to do anything.
* | bump default IAR version to 0.2 and 1.1 for the --profile version.Justin Clark-Casey (justincc)2011-04-181-2/+2
| | | | | | | | There are no changes in this bump, they just signal a point at which the control file comes first in the archive.
* | bump oar version number to 0.6.Justin Clark-Casey (justincc)2011-04-181-1/+1
| | | | | | | | This commit contains no data changes - the version bump is to establish a version at which the control file must come first in the archive.
* | Add regression test to check that OARs start with the control file.Justin Clark-Casey (justincc)2011-04-183-9/+21
| |
* | add test to ensure that an IAR starts with the control fileJustin Clark-Casey (justincc)2011-04-182-11/+39
| |
* | refactor: split out the code which actually copies a particular bundle to ↵Justin Clark-Casey (justincc)2011-04-181-106/+115
| | | | | | | | inventory
* | refactor: rename DeleteToInventory() to CopyToInventory()Justin Clark-Casey (justincc)2011-04-183-3/+20
| | | | | | | | DeleteToInventory() is misleading - it is the caller that decides whether to delete or not
* | Fix bug where objects were being coalesced in the wrong positions.Justin Clark-Casey (justincc)2011-04-181-2/+2
| | | | | | | | | | This addresses http://opensimulator.org/mantis/view.php?id=5441 The bug was due to a pre-existing mistake in creating the inventory stored position
* | Merge branch 'master' of ssh://opensimulator.org/var/git/opensimJustin Clark-Casey (justincc)2011-04-1814-425/+537
|\ \ | |/
| * Merge branch 'master' into test-merge0418Mic Bowman2011-04-1822-801/+626
| |\
| * | Remove the call to remove tokens from the parent. Under heavy loadMic Bowman2011-04-152-5/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | this appears to cause problems with the system timer resolution. This caused a problem with tokens going into the root throttle as bursts leading to some starvation. Also changed EnqueueOutgoing to always queue a packet if there are already packets in the queue. Ensures consistent ordering of packet sends.
| * | Merge branch 'master' into queuetestMic Bowman2011-04-141-1/+5
| |\ \
| * \ \ Merge branch 'testmerge' into queuetestMic Bowman2011-04-1350-541/+1075
| |\ \ \ | | | | | | | | | | | | | | | | | | | | Conflicts: OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
| | * | | remove packet monitoring debugging codeMic Bowman2011-04-131-116/+2
| | | | |
| | * | | Fixed the update of items in the priority queue to enable bothMic Bowman2011-04-133-7/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | types of property updates to be specified. Not sure if one form of property update should supercede another. But for now the old OpenSim behavior is preserved by sending both.
| | * | | fixed a couple bugs with the property queuesMic Bowman2011-04-131-1/+37
| | | | |
| | * | | First pass at moving object property requests into a queue similarMic Bowman2011-04-1311-208/+262
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | to the entity update queue. The number of property packets can become significant when selecting/deselecting large numbers of objects. This is experimental code.
| | * | | New tokenbucket algorithm. This one provides fair sharing of the queuesMic Bowman2011-04-134-145/+259
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | when client and simulator throttles are set. This algorithm also uses pre-defined burst rate of 150% of the sustained rate for each of the throttles. Removed the "state" queue. The state queue is not a Linden queue and appeared to be used just to get kill packets sent.
| * | | | Merge branch 'queuetest' of ssh://opensimulator.org/var/git/opensim into ↵Mic Bowman2011-04-133-4/+26
| |\ \ \ \ | | | | | | | | | | | | | | | | | | queuetest
| | * \ \ \ Merge branch 'master' of /home/git/repo/OpenSim into queuetestBlueWall2011-04-137-43/+99
| | |\ \ \ \
| | * | | | | remove packet monitoring debugging codeMic Bowman2011-04-121-116/+2
| | | | | | |
| | * | | | | Fixed the update of items in the priority queue to enable bothMic Bowman2011-04-123-7/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | types of property updates to be specified. Not sure if one form of property update should supercede another. But for now the old OpenSim behavior is preserved by sending both.
| | * | | | | fixed a couple bugs with the property queuesMic Bowman2011-04-121-1/+37
| | | | | | |
| | * | | | | Merge branch 'test-select' into queuetestMic Bowman2011-04-1211-208/+262
| | |\ \ \ \ \
| | | * | | | | First pass at moving object property requests into a queue similarMic Bowman2011-04-1211-208/+262
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | to the entity update queue. The number of property packets can become significant when selecting/deselecting large numbers of objects. This is experimental code.
| | * | | | | | Merge branch 'master' into queuetestMic Bowman2011-04-128-74/+158
| | |\ \ \ \ \ \ | | | |/ / / / / | | |/| | | | |
| | * | | | | | New tokenbucket algorithm. This one provides fair sharing of the queuesMic Bowman2011-04-114-145/+259
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | when client and simulator throttles are set. This algorithm also uses pre-defined burst rate of 150% of the sustained rate for each of the throttles. Removed the "state" queue. The state queue is not a Linden queue and appeared to be used just to get kill packets sent.
| * | | | | | | remove packet monitoring debugging codeMic Bowman2011-04-121-116/+2
| | | | | | | |
| * | | | | | | Fixed the update of items in the priority queue to enable bothMic Bowman2011-04-123-7/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | types of property updates to be specified. Not sure if one form of property update should supercede another. But for now the old OpenSim behavior is preserved by sending both.
| * | | | | | | fixed a couple bugs with the property queuesMic Bowman2011-04-121-1/+37
| | | | | | | |
| * | | | | | | First pass at moving object property requests into a queue similarMic Bowman2011-04-1211-208/+262
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | to the entity update queue. The number of property packets can become significant when selecting/deselecting large numbers of objects. This is experimental code.
| * | | | | | | New tokenbucket algorithm. This one provides fair sharing of the queuesMic Bowman2011-04-124-145/+259
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | when client and simulator throttles are set. This algorithm also uses pre-defined burst rate of 150% of the sustained rate for each of the throttles. Removed the "state" queue. The state queue is not a Linden queue and appeared to be used just to get kill packets sent.
* | | | | | | | Provide a configuration setting to control whether multiple taken objects ↵Justin Clark-Casey (justincc)2011-04-183-15/+54
| |_|_|_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | are coalesced to inventory This is the CoalesceMultipleObjectsToInventory setting in [Inventory] in OpenSimDefaults.ini Default is true.
* | | | | | | Mantis #5442: Add admin_save_heightmapMelanie2011-04-171-0/+56
| | | | | | |
* | | | | | | More descriptive debug msg for ServiceOSDRequest failures.Dan Lake2011-04-161-2/+2
| | | | | | |