aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ClientStack (follow)
Commit message (Collapse)AuthorAgeFilesLines
* streamlining m_NeedAck logicDr Scofield2009-06-251-31/+29
|
* streamling m_PendingAcks logic to get rid of gratuitous List<...>Dr Scofield2009-06-251-20/+20
| | | | | instantiations and object copies.
* commenting out expensive bits (who in the world even uses SetClientInfo()?)Dr Scofield2009-06-251-29/+29
|
* changing DropSend()'s foreach loop so that it does not copy theDr Scofield2009-06-251-5/+11
| | | | | LLQueItem m_NeedAck queue each time.
* commenting out rather expensive bits of GetClientInfo() --- the onlyDr Scofield2009-06-251-13/+20
| | | | | | | | bit of GetClientInfo that is actually used seems to be userEP as part of the OSSL osGetAgentIP() script function. Now commented are the parts where we serialize and copy out the *entire* packet queue of the client (locking the packet handler in the process).
* more efficient way of checking for already seen packets:Dr Scofield2009-06-251-29/+47
| | | | | | | | | | | - uses Environment.TickCount for all timestamps (instead of more costly Util.UnixTimeSinceEpoch() - takes care of Environment.TickCount overflow (which will happens after 24.8 days of system uptime) - avoids instantiating List copies for each check - gets rid of one lock() invocation - moves calculation of loop invariant variable out of the loop itself
* adding logging statement for receive buffer sizeDr Scofield2009-06-251-0/+2
|
* - adds the possibility of setting the socket receive buffer sizeDr Scofield2009-06-251-35/+51
| | | | | | | | | | | | option for LLUDPServer. On windows .NET the default socket receive buffer size is 8192 bytes, on recent linux systems it's about 111K. both value can be a bit small for an OpenSim instance serving many clients. The socket receive buffer size can be configured via an OpenSim.ini config option - adds a general catch clause to LLUDPServer.OnReceivedData() to prevent it submerging when an unexpected Exception occurs.
* From: Alan Webb <alan_webb@us.ibm.com>Dr Scofield2009-06-253-75/+166
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change moves texture send processing out of the main packet processing loop and moves it to a timer based processing cycle. Texture packets are sent to the client consistently over time. The timer is discontinued whenever there are no textures to transmit. The behavior of the texture sending mechanism is controlled by three variables in the LLCLient section of the config file: [1] TextureRequestRate (mS) determines how many times per second texture send processing will occur. The default is 100mS. [2] TextureSendLimit determines how many different textures will be considered on each cycle. Textures are selected by priority. The old mechanism specified a value of 10 for this parameter and this is the default [3] TextureDataLimit determines how many packets will be sent for each of the selected textures. The old mechanism specified a value of 5, so this is the default. So the net effect is that TextureSendLimit*TextureDataLimit packets will be sent every TextureRequestRate mS. Once we have gotten a reasonable feeling for how these parameters affect overall processing, it would be nice to autonmically manage these values using information about the current status of the region and network. Note that this also resolves the pathologcal problem that previously existed which was that a seated avatar generated very few in-bound packets (theoretically) and would therefore be the least able to retrieve the images being displayed by a projector script.
* Also fix group role membership packet sizes to stay safely below MTUMelanie Thielker2009-06-231-29/+41
|
* Can I be this dumb?Melanie Thielker2009-06-231-1/+0
|
* Fix an error in group membership sending when the memebr count exceeds 60Melanie Thielker2009-06-231-2/+6
| | | | | | Also reduce limit to 40 to allow for last logon dates and titles
* Allow the member list of groups with more than 70 members to be viewedMelanie Thielker2009-06-231-36/+42
| | | | | | without crashing
* Commenting out the jhurliman fix, since our libOMV doesnt' have those fieldsMelanie Thielker2009-06-231-5/+5
| | | | | | yet.
* Correct an uninitialized field in a packet. Thanks, jhurliman.Melanie Thielker2009-06-231-0/+8
| | | | | | Fixes Mantis #3831
* Correct the behaviro of group deeding and llGetOwner() within deeded objectsMelanie Thielker2009-06-211-2/+8
|
* From: Chris Yeoh <yeohc@au1.ibm.com>Sean Dague2009-06-191-3/+18
| | | | | | This patch ensures that the touch positions are set during touch_end events (currently only working for touch_start and touch events).
* Thanks Michelle Argus for Mantis #0003742: Terrain editor - Flatten tool ↵Dahlia Trimble2009-06-181-1/+0
| | | | lowers Land
* Fix an uninitialized data block. Thanks, jhurlimanMelanie Thielker2009-06-171-0/+1
|
* Formatting cleanup.Jeff Ames2009-06-101-2/+2
|
* Minor: Change OpenSim to OpenSimulator in older copyright headers and ↵Jeff Ames2009-06-0123-23/+23
| | | | LICENSE.txt.
* This may bring the missing texture back.diva2009-05-281-1/+5
|
* Add copyright headers, formatting cleanup.Jeff Ames2009-05-202-6/+6
|
* trying to fix exception with in LLPacketQueue probably caused byDr Scofield2009-05-191-5/+5
| | | | | missing locks where the queue was modified.
* From: Chris Yeoh <yeohc@au1.ibm.com>Dr Scofield2009-05-181-1/+2
| | | | | | | | | | | | | | | | | We've encountered problems with textures never fully downloading and objects not moving or being deleted (from the client's point of view) even when the bandwidth settings on the client have been set very low. This can happen over reasonably lossy links (eg you're on the other side of the world from the server) as the server retries 3 times and then gives up. Whilst its possible to set ReliableIsImportant, this forces the server to keep retrying no matter what which potentially could lead to problems. This patch allows for the setting of MaxReliableResends explicitly (is set to 3 normally) in OpenSim.ini so if you know you will have clients connecting with poor connections you can set it a bit higher (10-15 works quite well even for very poor connections).
* Removing a superfluous message, just to make bamboo run again.diva2009-05-171-1/+0
|
* Send the owner name, not the client name on SendDialog.Homer Horwitz2009-05-161-3/+4
| | | | | | This modifies IClientAPI.SendDialog slightly. Fixes Mantis #3661.
* Heart surgery on asset service code bits. Affects OpenSim.ini configuration ↵diva2009-05-158-20/+124
| | | | | | | | | | | | -- please see the example. Affects region servers only. This may break a lot of things, but it needs to go in. It was tested in standalone and the UCI grid, but it needs a lot more testing. Known problems: * HG asset transfers are borked for now * missing texture is missing * 3 unit tests commented out for now
* Add more group notify glueMelanie Thielker2009-05-121-0/+2
|
* Paving the way for syncing group permissions across a gridMelanie Thielker2009-05-121-1/+1
|
* * Implements IP and DNS based ban facilities to OpenSim. Adam Frisby2009-05-111-1/+33
| | | | | | | | | | * User interface is ... primitive at best right now. * Loads bans from bans.txt and region ban DB on startup, bans.txt is in the format of one per line. The following explains how they are read; DNS bans are in the form "somewhere.com" will block ANY matching domain (including "betasomewhere.com", "beta.somewhere.com", "somewhere.com.beta") - make sure to be reasonably specific in DNS bans. IP address bans match on first characters, so, "127.0.0.1" will ban only that address, "127.0.1" will ban "127.0.10.0" but "127.0.1." will ban only the "127.0.1.*" network
* * Further testing against core packet issue.Adam Frisby2009-05-101-2/+3
|
* * Attempting to diagnose a core packet issue on Windows/.NET. Adding ↵Adam Frisby2009-05-101-2/+5
| | | | additional locks to see if it fixes the problem.
* Fox a boo-boo in ExtraParams - a packet with no data blocks could crashMelanie Thielker2009-05-091-3/+6
| | | | | | the session. Also allow multiple data blocks.
* instrument most of the tests with a new InMethod function that may help us ↵Sean Dague2009-05-072-0/+11
| | | | | | | figure out where that pesky deadlock is during test runs.
* Change avatar updates to be processed the same way object updates are, e.g.Melanie Thielker2009-05-071-27/+51
| | | | | | packet length check. More changes to come
* Add copyright header. Formatting cleanup. Ignore some generated files.Jeff Ames2009-05-052-25/+13
|
* Intermediate commit. WILL NOT COMPILE!Melanie Thielker2009-05-041-0/+1
|
* * minor: remove some mono compiler warnings, minor cleanupJustin Clarke Casey2009-05-041-16/+9
|
* Add a method to flush the prim update buffers once a frame, since the timerMelanie Thielker2009-05-041-0/+12
| | | | | | | appear to be too slow to be useful, or fail too fire. I may remove the timers as a consequence if this.
* Add a parameter that limits the max size of the outbound packet. DefaultedMelanie Thielker2009-05-041-6/+41
| | | | | | at 1400 since the headers get added to that (32 bytes plus UDP headers)
* Make a race condition in packet resending smallerMelanie Thielker2009-05-031-0/+1
|
* * Reversing experimental change in previous rev.Adam Frisby2009-05-021-1/+1
|
* * Experimental: Speeds maximum resend per second from 80 packets to 400. ↵Adam Frisby2009-05-021-1/+1
| | | | (From maximum 117kbit to 585kbit)
* If a packet pooling blows up, fail gracefully instead of disconnectingMelanie Thielker2009-05-021-20/+32
| | | | | | the user
* Handle resends betterMelanie Thielker2009-05-022-1/+6
|
* * Makes ObjectUpdate compressing tweakable in OpenSim.ini - introduces:Adam Frisby2009-05-021-2/+13
| | | | | | | | TerseUpdatesPerPacket=10 FullUpdatesPerPacket=14 TerseUpdateRate=10 FullUpdateRate=14
* Plumb conifg into the client views. Add config option to configure packetMelanie Thielker2009-05-021-0/+12
| | | | | | dropping.
* Move a lock to attempt to cut down packet lossMelanie Thielker2009-05-021-4/+4
|
* Numerous packet improvements.Melanie Thielker2009-05-024-9/+40
| | | | | | | | | | | | | 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.