aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ClientStack (follow)
Commit message (Collapse)AuthorAgeFilesLines
* * Removing the redundant SendPrimitiveTerseData.State field, it duplicates ↵John Hurliman2009-11-091-3/+3
| | | | | | AttachPoint * LLClientView.CreateImprovedTerseBlock() now uses AttachPoint and does the proper high-low swap (this should fix disappearing attachment pieces)
* Merge branch 'master' of ssh://justincc@opensimulator.org/var/git/opensimJustin Clark-Casey (justincc)2009-11-093-11/+127
|\
| * remove the debug stuffMelanie2009-11-081-1/+0
| |
| * test commit with debug output per folder fetch. NOT FOR PRODUCTION, SPEWYMelanie2009-11-081-0/+1
| |
| * * Clamp the CoarseLocationUpdate packet at a maximum of 60 positions per ↵John Hurliman2009-11-051-7/+11
| | | | | | | | | | | | packet. This is a limitation of LLUDP, nothing we can really do about it * Marking CoarseLocationUpdate as *not* zerocoded. Zerocoding can only save space when a packet contains three or more contiguous zeroes, and will use more space if it contains single zeroes randomly scattered through the packet (which is what you see when you send a long list of UUIDs)
| * Changing the AssetBase constructors to avoid initializing assets with an ↵John Hurliman2009-11-051-4/+1
| | | | | | | | unknown asset type, and log an error if it ever does happen
| * Applying #4332, optional packet statistics loggingJohn Hurliman2009-11-052-0/+115
| |
* | minor: remove some mono compiler warningsJustin Clark-Casey (justincc)2009-11-091-2/+2
|/
* Patch by revolution, thank you. Mantis #1789 . Implement friends permissions.Melanie2009-11-051-1/+21
| | | | | Applied with major changes. Core functionality commented pending review for possible rights escalation. No user functionality yet.
* Separate folder and item limit for UDP inventory packets. Folder limit isMelanie2009-11-041-4/+5
| | | | | now 6, as before, item limit is 5. This should avoid most, if not all, oversized packets.
* Refine oversized packet handling as per jhurliman. Reallocate the buffer toMelanie2009-11-041-4/+7
| | | | actual packet size only for oversized packets.
* Add some length to the backet buffer for packet sending so oversizeMelanie2009-11-041-1/+1
| | | | inventory packets don't make us barf
* Add an overload to OutPacket as per jhurliman. Switch hacky workaroundMelanie2009-11-041-5/+15
| | | | for InventoryDescendents to the proper way
* Bounce the pacjet items limit back up to 6Melanie2009-11-041-1/+1
|
* Prevent autosplitting of inventory descendents packets. Also reduces theMelanie2009-11-041-1/+4
| | | | number of items per packet to 5 to prevent asserts
* Correctly set the totall number of descendents in inventory retrievalMelanie2009-11-041-3/+4
|
* Backport the fixes to WebFetchInventoryDescendents to the UDPMelanie2009-11-041-152/+94
| | | | | | | InventoryDescendents packet. Testing has shown that UDP inventory now works flawlessly and, unlike CAPS inventory, doesn't download the entire agent inventory on start. Neither does it incessantly re-request folder NULL_KEY. Therefore, I have disabled CAPS inventory.
* Make the default and max RTO configurable int he linden client stackMelanie2009-10-302-5/+19
|
* Convert the AvatarGroupsReply message to the event queue.Melanie2009-10-301-26/+39
|
* Add a using for OSD to the client viewMelanie2009-10-301-0/+1
|
* Fixed a regression in SendAvatarGroupsReply()John Hurliman2009-10-301-2/+2
|
* * Disables automatic packet splitting on AvatarGroupsReply packets. This ↵John Hurliman2009-10-302-14/+16
| | | | | | packet is a mess and shouldn't be used at all (in favor of the event queue message) * Clean up the way we send AvatarGroupsReply packets, including clamping the group name and group title
* * Fix for a potential race condition in ScenePresence.AbsolutePositionJohn Hurliman2009-10-301-2/+0
| | | | | | | * Unified the way region handles are stored and used in ScenePresence * Fixed camera position for child agents * CheckForSignificantMovement now checks avatar and camera position (both are important for scene prioritization) * Removing debug code from the previous commit
* * Moving parcel media and avatar update packets from the unthrottled ↵John Hurliman2009-10-304-22/+25
| | | | | | | category to task * Fixing a bug where the max burst rate for the state category was being set as unlimited, causing connections to child agents to saturate bandwidth * Upped the example default drip rates to 1000 bytes/sec, the minimum granularity for the token buckets
* * Fixes issue #4329 "llDialog fails silently" by updating OpenMetaverse.dllJohn Hurliman2009-10-302-10/+10
| | | | * Prints a warning for any future packet splitting failures
* * Commented out two noisy debug lines in the LLUDP serverJohn Hurliman2009-10-291-2/+2
| | | | * Misc. cleanup in ScenePresence.HandleAgentUpdate()
* Always send a time dilation of 1.0 while we debug rubberbanding issuesJohn Hurliman2009-10-281-101/+0
|
* Marking ImprovedTerseObjectUpdate packets for avatars as unthrottled to testJohn Hurliman2009-10-281-1/+1
|
* Modified visibilities of properties and methods. This is so that SL client ↵Mikko Pallari2009-10-282-12/+12
| | | | based clients can use UDP server that is inherited from LLUDPServer.
* Experimental test to rate limit the incoming packet handler and try to ↵John Hurliman2009-10-271-0/+8
| | | | always leave a worker thread available for other tasks
* * Converts ClientManager.ForEach() (and as a result, Scene.ForEachClient()) ↵John Hurliman2009-10-272-4/+6
| | | | | | to use a non-blocking parallel method when operating in async mode * Minor code readability cleanup
* * Double the priority on avatar bake texture requests to get avatars rezzing ↵John Hurliman2009-10-261-4/+14
| | | | | | in faster than the surrounding scene * Adds duplicate tracking for SceneObjectParts and ScenePresences to avoid sending out duplicate ImprovedTerseObjectUpdate packets
* Removing the ClientManager reference from IScene and hiding it entirely ↵John Hurliman2009-10-261-7/+7
| | | | inside Scene as an implementation detail. This will reduce programming error and make it easier to refactor the avatar vs client vs presence mess later on
* * Switched all operations on the list of clients that could be either sync ↵John Hurliman2009-10-261-2/+2
| | | | | | | | or async to use Scene.ForEachClient() instead of referencing ClientManager directly * Added a new [Startup] config option called use_async_when_possible to signal how to run operations that could be either sync or async * Changed Scene.ForEachClient to respect use_async_when_possible * Fixing a potential deadlock in Parallel.ForEach by locking on a temporary object instead of the enumerator (which may be shared across multiple invocations on ForEach). Thank you diva
* ParcelObjectOwnersReplyPacket has null DataBlock when a client requests a ↵Dan Lake2009-10-261-0/+4
| | | | list of their prims in the region and none exist. Instead of leaving pack.Data null, this patch sets a new DataBlock[0];
* Changed UseCircuitCode handling to be synchronous or asynchronous depending ↵John Hurliman2009-10-261-10/+21
| | | | on the async_packet_handling config option, and added a debug log message when a UseCircuitCode packet is handled
* Removed an unnecessary lock in LLUDPClient.UpdateRTO() and ↵John Hurliman2009-10-261-30/+21
| | | | LLUDPClient.BackoffRTO()
* Changing Scene.ForEachClient to use the synchronous for loop instead of ↵John Hurliman2009-10-252-16/+42
| | | | | | | | | | Parallel. This is quite possibly the source of some deadlocking, and at the very least the synchronous version gives better stack traces * Lock the LLUDPClient RTO math * Add a helper function for backing off the RTO, and follow the optional advice in RFC 2988 to clear existing SRTT and RTTVAR values during a backoff * Removing the unused PrimitiveBaseShape.SculptImage parameter * Improved performance of SceneObjectPart instantiation * ZeroMesher now drops SculptData bytes like Meshmerizer, to allow the texture data to be GCed * Improved typecasting speed in MySQLLegacyRegionData.BuildShape() * Improved the instantiation of PrimitiveBaseShape
* * Unregister Mono.Addins event handlers in PluginLoader.Dispose() and always ↵John Hurliman2009-10-231-1/+5
| | | | | | | handle PluginLoader with the using pattern. This freed up 121,634,796 bytes on my system * Avoid allocating an Action<IClientAPI> object every round of the OutgoingPacketHandler * Removed unnecessary semi-colon endings from OpenSim.ini.example [InterestManagement] section
* Cleaning up OpenSim.ini.example for LLUDP. The [LLClient] section has been ↵John Hurliman2009-10-232-13/+28
| | | | removed and several new parameters have been added to [ClientStack.LindenUDP]
* Uncommented the resend log line so the previous commit can be seen in actionJohn Hurliman2009-10-231-1/+1
|
* * Changed the max RTO value to 60 seconds to comply with RFC 2988John Hurliman2009-10-232-1/+4
| | | | * Implemented section 5.5, exponential backoff of the RTO after a resend
* Commented out noisy debugging about resent packets (normal) and agents ↵John Hurliman2009-10-232-3/+3
| | | | setting throttles (normal)
* Experimental change to use an immutable array for iterating ScenePresences, ↵John Hurliman2009-10-231-71/+70
| | | | avoiding locking and copying the list each time it is accessed
* Implemented a Watchdog class. Do not manually create Thread objects anymore, ↵John Hurliman2009-10-221-8/+11
| | | | use Watchdog.StartThread(). While your thread is running call Watchdog.UpdateThread(). When it is shutting down call Watchdog.RemoveThread(). Most of the threads in OpenSim have been updated
* Add copyright header. Formatting cleanup.Jeff Ames2009-10-221-1/+1
|
* * Changed the misc. methods calling ThreadPool.UnsafeQueueUserWorkItem() to ↵John Hurliman2009-10-211-3/+3
| | | | | | Util.FireAndForget() * Changed Util.FireAndForget() to use any of five different methods set with async_call_method in the [Startup] section of OpenSim.ini. Look at the example config for possible values
* * Change the OnQueueEmpty signature to send the flags of the queues that are ↵John Hurliman2009-10-214-61/+108
| | | | | | | empty instead of firing once per empty queue * Change the OnQueueEmpty firing to use a minimum time until next fire instead of a sleep * Set OutgoingPacket.TickCount = 0 earlier to avoid extra resends when things are running slowly (inside a profiler, for example)
* * Clarified what FireQueueEmpty is doing with a MIN_CALLBACK_MS constant and ↵John Hurliman2009-10-214-18/+8
| | | | | | | upped it to 30ms * Removed the unused PacketSent() function * Switched UnackedPacketCollection from a SortedDictionary to a Dictionary now that the sorting is no longer needed. Big performance improvement for ResendUnacked()
* * FireQueueEmpty now checks if a measurable amount of time has passed, and ↵John Hurliman2009-10-213-38/+16
| | | | | | if not it sleeps for a small amount of time. This throttles OnQueueEmpty calls where there is no callback or the callback is doing very little work * Changed HandleQueueEmpty()'s Monitor.TryEnter() calls to locks. We want to take our time in this function and do all the work necessary, since returning too fast will induce a sleep anyways