aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ClientStack (unfollow)
Commit message (Collapse)AuthorFilesLines
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-05-05Adding ssl supportBlueWall1-0/+16
Adding ssl support for "Out of Band" applications such as the remote admin module or Robust services
2011-05-04Test m_Enabled on RemoveRegion.Diva Canto3-0/+9
2011-05-02Fixed: EventQueueGet and other caps were being wrongly deregistered. Also ↵Diva Canto2-5/+3
CapabilitiesModule was being instantiated twice (damn Mono.Addins).
2011-05-02WebFetchInventoryDescendents working. Tested with robust.Diva Canto2-279/+137
2011-05-02Refactored the GetMesh module into a handler and a module, to be the same as ↵Diva Canto2-113/+40
GetTexture.
2011-05-02Works!Diva Canto4-10/+34
2011-05-01Start to drill down on GetTexture. Read the config and do different things.Diva Canto1-4/+12
2011-05-01Broke down Caps.cs into a generic Caps object that simply ↵Diva Canto4-3/+1300
registers/unregisters capabilities and a specific bunch of capability implementations in Linden space called BunchOfCaps. Renamed a few methods that were misnomers. Compiles but doesn't work.
2011-05-01Change GetTextureModule.cs to conform to the new IRegion module interface. ↵Diva Canto1-6/+21
NOTHING OF THIS WORKS. Compiles.
2011-05-01Move CapabilitiesModule back to CoreModules. This one belongs there.Diva Canto1-257/+0
2011-05-01Added OpenSim.Capabilities.Handlers. For the moment it has only the ↵Diva Canto1-311/+4
GetTexture handler. The region module in Linden space uses it. WARNING: nothing of this works yet, it just compiles.
2011-04-30Nope, that didn't feel right. Moving all those modules to Linden space.Diva Canto7-0/+1893
2011-04-30First stab at cleaning up Caps. Compiles. Untested.Diva Canto19-0/+1128
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-25Removed debug message in the token bucket codeMic Bowman1-1/+1
2011-04-25Fix the totals shown by show throttleMic Bowman1-1/+1
2011-04-25Fixed the transmission of throttles from root agent to childMic Bowman2-16/+26
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-25Cleaned up various configuration options. Removed the category throttleMic Bowman3-78/+34
limits because the only ones used now are the defaults (which are overwritten by the client throttles anyway). Updated the default rates to correspond to about 350kbps. Also added a configuration to disable adaptive throttle. The default is the previous behavior (no adaptation).
2011-04-22Set the initial rate for the adaptive throttle to 160KpbsMic Bowman1-4/+6
or about 15 packets per second.
2011-04-22Various clean ups. Removed some debugging code. Added a new "show pqueues"Mic Bowman2-23/+6
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-21Add some locking on the child list for the token bucketMic Bowman1-15/+22
hiearchy. A few other cosmetic changes.
2011-04-21Refactor UnackedPacketCollection so ProcessQueues will handle Adds, Acks, ↵Dan Lake2-26/+34
and Removes in that order.
2011-04-21Added ability to remove unacked packet from UnackedPacketCollection without ↵Dan Lake2-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.
2011-04-20bug fix. Now when an unacked update packet is handled through ↵Dan Lake3-16/+25
ResendPrimUpdates, it is removed from the UnackedPacketCollection.
2011-04-20Added an "immediate" queue to the priority queue. This isMic Bowman1-245/+0
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.
2011-04-20Adds the first pass at an adaptive throttle to slow start newMic Bowman4-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.
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 Lake3-54/+112
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 Lake3-54/+112
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-15Remove the call to remove tokens from the parent. Under heavy loadMic Bowman2-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.
2011-04-13remove packet monitoring debugging codeMic Bowman1-116/+2
2011-04-13Fixed the update of items in the priority queue to enable bothMic Bowman2-7/+16
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 Bowman2-143/+220
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 Bowman4-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.
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 Bowman2-7/+16
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 Bowman2-143/+220
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 Bowman4-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.
2011-04-12remove packet monitoring debugging codeMic Bowman1-116/+2
2011-04-12Fixed the update of items in the priority queue to enable bothMic Bowman2-7/+16
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 Bowman2-143/+220
to the entity update queue. The number of property packets can become significant when selecting/deselecting large numbers of objects. This is experimental code.