aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs (unfollow)
Commit message (Collapse)AuthorFilesLines
2011-07-23Fix LLTextBox to work with the updated libOMVMelanie1-1/+6
2011-07-19comment out all kinds of debugging guffJustin Clark-Casey (justincc)1-5/+5
2011-07-19Stop undo of just the root prim position in the linkset from shifting the ↵Justin Clark-Casey (justincc)1-5/+5
whole linkset. However, what happens now is that undo just doesn't do anything when the root prim is selected on its own. This requires more code than just fiddling with undo states.
2011-07-19fix undo when resizing of non-root individual prims in a linksetJustin Clark-Casey (justincc)1-0/+5
undo resize, rotation and position still needs fixing when only editing root prim of a linkset
2011-07-19Fix undo for resizing linksetsJustin Clark-Casey (justincc)1-12/+25
This involves implementing a boolean in UndoState to signal whether the undo needs to be done for an entire group/linkset or just a single prim Resizing individual components of linksets is still dodgy. Resizing still has to be down twice, since for some reason the client is sending two multiobjectupdate packets on every resize except the very first. This applies to single prims and linksets. Need to look into this.
2011-07-18Make various tweaks to undo code in an effort to get things working better.Justin Clark-Casey (justincc)1-3/+24
Undo rotation and position appear to be working. Resizing a single prim appears to be working, though the undo has to be done twice. Resizing a group of prims still does not work properly - possibly because in the UndoState we don't store a knowledge of when we're resizing a whole group rather than individual prims. This needs to be addressed.
2011-07-15change async parameter name in AddLocalPacketHandler since it becomes a ↵Justin Clark-Casey (justincc)1-2/+22
reserved keyword in .net 5 Also adds some method doc.
2011-07-08refactor: rename bool returning GetAgentInventoryItem() to ↵Justin Clark-Casey (justincc)1-4/+3
CanGetAgentInventoryItem() to improve code readability
2011-06-10minor: Add some commented out destructor logging messages for potential ↵Justin Clark-Casey (justincc)1-0/+5
future use. At the moment, client and scene objects are being garbage collected as expected, at least in simple scenarios.
2011-06-03HG Landmarks bug fix: pull landmark asset data from user's asset server when ↵Diva Canto1-4/+24
user is traveling.
2011-06-03HG Landmarks now working.Diva Canto1-3/+2
2011-05-31When sending an LLUDP MoneyBalanceReply message, fill out the transaction ↵Justin Clark-Casey (justincc)1-0/+1
item description even though there is none. This is to deal with a problem in libomv where calling ToBytes() without this crashes because of an ItemDescription.Lnegth dereference.
2011-05-31Fill in the new OwnerData field in the LLUDP ScriptDialog message.Justin Clark-Casey (justincc)1-3/+8
If we don't do this then viewer 2.8 crashes. Resolves http://opensimulator.org/mantis/view.php?id=5510
2011-05-13Fix broken inventory links on viewer 2.Justin Clark-Casey (justincc)1-1/+6
It appears that if the viewer requests a folder containing links, we must also send the folders that contain the link targets first. This was tested with Kokua 0.1.0 WIP though I predict it will also work with other viewer 2s
2011-05-09Fixes gray tiles on map search for viewers 1.Diva Canto1-1/+0
2011-05-08The map is seriously broken. This doesn't fix it, but at least provides one ↵Diva Canto1-2/+1
more piece of data that seems to be required -- agent flags, which seem to be different in Viewer 2. WARNING: changes IClientAPI.
2011-05-06One more bug fix concerning library items that weren't being copied to ↵Diva Canto1-1/+1
user's inventory. Also commented verbose debug message.
2011-04-30First stab at cleaning up Caps. Compiles. Untested.Diva Canto1-0/+0
2011-04-28Eliminated sAgentCircuitData, a data structure that has been obsolete for ↵Diva Canto1-1/+1
quite some time.
2011-04-25recover from unhandled exception from bad rotation data while processing ↵dahlia1-1/+9
entity updates in LLClientView.cs
2011-04-25Fixed the transmission of throttles from root agent to childMic Bowman1-1/+1
agents. Child throttles are based on the number of child agents known to the root and at least 1/4 of the throttle given to the root.
2011-04-22Various clean ups. Removed some debugging code. Added a new "show pqueues"Mic Bowman1-0/+5
command to look at the entity update priority queue. Added a "name" parameter to show queues, show pqueues and show throttles to look at data for a specific user.
2011-04-21Added ability to remove unacked packet from UnackedPacketCollection without ↵Dan Lake1-2/+10
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.
2011-04-20bug fix. Now when an unacked update packet is handled through ↵Dan Lake1-13/+21
ResendPrimUpdates, it is removed from the UnackedPacketCollection.
2011-04-20Adds the first pass at an adaptive throttle to slow start newMic Bowman1-0/+4
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.
2011-04-19Converted the property request queue to use the same retransmissionMic Bowman1-23/+52
mechanism as the entity update queues.
2011-04-19Requeue unacknowledged entity updates rather than resend then "as is".Dan Lake1-21/+75
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.
2011-04-18Requeue unacknowledged entity updates rather than resend then "as is".Dan Lake1-21/+75
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.
2011-04-13remove packet monitoring debugging codeMic Bowman1-116/+2
2011-04-13Fixed the update of items in the priority queue to enable bothMic Bowman1-6/+15
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.
2011-04-13fixed a couple bugs with the property queuesMic Bowman1-1/+37
2011-04-13First pass at moving object property requests into a queue similarMic Bowman1-137/+214
to the entity update queue. The number of property packets can become significant when selecting/deselecting large numbers of objects. This is experimental code.
2011-04-13New tokenbucket algorithm. This one provides fair sharing of the queuesMic Bowman1-2/+4
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.
2011-04-13Add a regression test for rezzing a single object into a scene from user ↵Justin Clark-Casey (justincc)1-1/+8
inventory
2011-04-12remove packet monitoring debugging codeMic Bowman1-116/+2
2011-04-12Fixed the update of items in the priority queue to enable bothMic Bowman1-6/+15
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.
2011-04-12fixed a couple bugs with the property queuesMic Bowman1-1/+37
2011-04-12First pass at moving object property requests into a queue similarMic Bowman1-137/+214
to the entity update queue. The number of property packets can become significant when selecting/deselecting large numbers of objects. This is experimental code.
2011-04-12New tokenbucket algorithm. This one provides fair sharing of the queuesMic Bowman1-2/+4
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.
2011-04-12remove packet monitoring debugging codeMic Bowman1-116/+2
2011-04-12Fixed the update of items in the priority queue to enable bothMic Bowman1-6/+15
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.
2011-04-12fixed a couple bugs with the property queuesMic Bowman1-1/+37
2011-04-12First pass at moving object property requests into a queue similarMic Bowman1-137/+214
to the entity update queue. The number of property packets can become significant when selecting/deselecting large numbers of objects. This is experimental code.
2011-04-11New tokenbucket algorithm. This one provides fair sharing of the queuesMic Bowman1-2/+4
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.
2011-04-11Removed some priority queue debugging codeMic Bowman1-80/+0
2011-04-10Split the priority queue class into a seperate file. LLClientViewMic Bowman1-205/+0
is big enough.
2011-04-10Implements adaptive queue management and fair queueing forMic Bowman1-118/+235
improved networking performance. Reprioritization algorithms need to be ported still. One is in place.
2011-04-05Handle the client's parcel info requests asynchronously rather than ↵Justin Clark-Casey (justincc)1-1/+1
synchronously. Handling these synchronously kills the inbound packet loop if many requests are made for remote land and those requests are handled slowly or timeout (timeout is 10s) This can happen if a user searches for "land for sale" and then clicks many of the parcels in the list (or just presses down arrow to move through every entry).
2011-04-05Make the "All Estates" option work from the client (this makes chosen ↵Justin Clark-Casey (justincc)1-4/+20
changes to all the estates that the user owns). This applies to adding/removing estate users, groups, managers and bans. This is the application of the AllEstates_0.5.patch from http://opensimulator.org/mantis/view.php?id=5420 Thanks very much, Snoopy!
2011-04-04Implements adaptive queue management and fair queueing forMic Bowman1-118/+235
improved networking performance. Reprioritization algorithms need to be ported still. One is in place.