aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim (follow)
Commit message (Collapse)AuthorAgeFilesLines
* 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.
* Merge branch 'master' into test-merge0418Mic Bowman2011-04-1822-801/+626
|\
| * Mantis #5442: Add admin_save_heightmapMelanie2011-04-171-0/+56
| |
| * More descriptive debug msg for ServiceOSDRequest failures.Dan Lake2011-04-161-2/+2
| |
| * Fixes mantis #5431 -- coalesced objects in HG-enabled regions. Needs more ↵Diva Canto2011-04-152-25/+12
| | | | | | | | testing to make sure HG inventory isn't broken by this (it shouldn't).
| * Make remote admin error messages more helpful on windows.Justin Clark-Casey (justincc)2011-04-151-88/+73
| | | | | | | | Also, make log messages conform more with convention.
| * refactor: separate out code that adds permissionsJustin Clark-Casey (justincc)2011-04-151-42/+59
| |
| * Merge branch 'master' of /home/opensim/lib/develop/BlueWallBlueWall2011-04-151-1/+34
| |\
| | * Thanks Snoopy for a patch that allows setting of perms on items given to new ↵BlueWall2011-04-151-1/+34
| | | | | | | | | | | | avatars
| * | minor: remove a small amount of code duplicationJustin Clark-Casey (justincc)2011-04-151-4/+3
| | |
| * | Merge branch 'master' of ssh://opensimulator.org/var/git/opensimJustin Clark-Casey (justincc)2011-04-152-3/+21
| |\ \
| | * \ Merge branch 'master' of ssh://opensimulator.org/var/git/opensimBlueWall2011-04-148-53/+20
| | |\ \
| | * | | Add ColladaMesh switchBlueWall2011-04-142-3/+21
| | | | |
| * | | | refactor: split out some rez code into a separate CreateItemForObject() methodJustin Clark-Casey (justincc)2011-04-151-143/+159
| | |/ / | |/| |
| * | | get rid of all traces of the now used mock service infrastructureJustin Clark-Casey (justincc)2011-04-158-45/+17
| | | |
| * | | remove old code for a mock grid service, which got removed some time backJustin Clark-Casey (justincc)2011-04-151-8/+3
| |/ /
| * | remove any reference to a mock authentication service since it doesn't exist ↵Justin Clark-Casey (justincc)2011-04-151-12/+7
| | | | | | | | | | | | and we don't use it
| * | remove mock asset service for tests in favour of always using the real oneJustin Clark-Casey (justincc)2011-04-153-133/+8
| | |
| * | Remove the mock inventory service for tests and just use the real one all ↵Justin Clark-Casey (justincc)2011-04-152-199/+6
| | | | | | | | | | | | the time with an in-memory data plugin
| * | extend TestLoadCoalesecedItem() to check loaded object ids and positionsJustin Clark-Casey (justincc)2011-04-151-1/+7
| | |
| * | Make all the objects in a coalescence reappears after being loaded from an ↵Justin Clark-Casey (justincc)2011-04-1510-39/+134
| | | | | | | | | | | | | | | | | | | | | IAR. This still doesn't work proprerly since some required textures/contained item assets might be missing. From pure code inspection, it looks like the uuid gatherer may get most asset uuids because the scene object serializer naively pulls non-root parts from all contained scene objects into one mega-object. However, root part uuids may well still be missing, and there may be other odd artifacts from this bug. It appears that storing the size of the coalescence and the offsets is redundant, since one can work out this information from the position data already in the scene object groups.
| * | implement stub TestLoadCoalesecedItem(). Doesn't do what it's meant to do yet.Justin Clark-Casey (justincc)2011-04-143-6/+64
| | |
| * | simplify InventoryArchiveTestCase setupJustin Clark-Casey (justincc)2011-04-141-18/+2
| | |
| * | simplify TestSaveItemToIarV0_1()Justin Clark-Casey (justincc)2011-04-141-18/+2
| | |
| * | simplify TestRezObject()Justin Clark-Casey (justincc)2011-04-141-17/+1
| | |
| * | Make scene object parts created by the test utils unit sized.Justin Clark-Casey (justincc)2011-04-142-5/+3
| | |
| * | Merge branch 'master' of ssh://opensimulator.org/var/git/opensimJustin Clark-Casey (justincc)2011-04-141-1/+5
| |\ \
| * | | simplify coalesced object tests by using existing scene object set up utilsJustin Clark-Casey (justincc)2011-04-142-41/+20
| | | | | | | | | | | | | | | | this change makes it possible to set an absolute position on a group before it is put into a scene.
* | | | 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
|\ \ \ \ | | |/ / | |/| |
| * | | Comment out the warning if the prioritizer runs without a fullyMic Bowman2011-04-131-1/+5
| |/ / | | | | | | | | | | | | initialized scene presence. Not sure why we are dumping updates to a client that isn't there yet...
* | | Merge branch 'testmerge' into queuetestMic Bowman2011-04-1349-540/+1074
|\ \ \ | | | | | | | | | | | | | | | | 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.
| * | Use common coalesced serialization code for both tests and the ↵Justin Clark-Casey (justincc)2011-04-131-54/+13
| | | | | | | | | | | | | | | | | | InventoryAccessModule. Continue to restore original absolute positions of stored scene objects, though it's possible that these aren't used again
| * | Adjust the quanterions used in the rez coalsced object tests to get sensible ↵Justin Clark-Casey (justincc)2011-04-133-5/+24
| | | | | | | | | | | | | | | | | | bounding box and offset numbers. Extend test to check position of objects in the rezzed coalescence.
| * | refactor: move code to obtain the coalescence size and object offsets into ↵Justin Clark-Casey (justincc)2011-04-133-16/+39
| | | | | | | | | | | | CoalescedSceneObjects from the serializer.
| * | Fix bug where rezzing coalesced objects would give all objects the same name ↵Justin Clark-Casey (justincc)2011-04-132-7/+11
| | | | | | | | | | | | | | | | | | | | | as the item. This now only happens for the first object (which was the item selected last when the coalesce was originally taken) This matches the expected behaviour of the environment as seen on the Linden Labs grid.
| * | Add coalesced scene objects class and serializer. This is currently only ↵Justin Clark-Casey (justincc)2011-04-138-9/+389
| | | | | | | | | | | | | | | | | | | | | | | | | | | used by the TestRezCoalescedObject() regression test. This structure matches the existing one for SceneObjects and will allow code to be reused by the uuid gatherer, other tests, etc. Test is not yet fully implemented due to a bug in rezzing coalesced objects where they all get the same name as the item. Only one object should get the same name as the item, which appears to be the one selected last when the the objects were coalesced in the first place. This bug will be addressed shortly.
| * | factor out some test code into the SetUp()Justin Clark-Casey (justincc)2011-04-131-14/+15
| | |
| * | Add a regression test for rezzing a single object into a scene from user ↵Justin Clark-Casey (justincc)2011-04-133-1/+145
| | | | | | | | | | | | inventory
| * | force mesh proxy for simple box prims with path cutdahlia2011-04-122-0/+6
| | |
| * | Moved 3 request handlers from OpenSim.Framework.Servers.HttpServer up to ↵Diva Canto2011-04-1229-471/+338
| | | | | | | | | | | | OpenSim.Framework -- just pasted them in WebUtil. This is so that code that uses the Service connectors don't need to include the HttpServer dll -- that was odd.
| * | Implemented terrain save-tile command. Does the opposite of load-tile. For ↵Diva Canto2011-04-127-0/+132
| | | | | | | | | | | | now, only saves to .png.
| * | Bug fix in object serialization -- sculpt data was wrong.Diva Canto2011-04-121-1/+1
| | |
* | | Merge branch 'master' of /home/git/repo/OpenSim into queuetestBlueWall2011-04-135-32/+85
|\ \ \ | | |/ | |/|
| * | Add ColladaMesh switchBlueWall2011-04-132-3/+21
| |/