Commit Graph

2136 Commits (a6928a479eb84b14e949c5f589b9ce753edf457a)

Author SHA1 Message Date
Melanie 51fd5bac5e Merge commit '96ff2c63ed47e29a92cc79b6e8753d21e54da061' into bigmerge
Conflicts:
	OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
2011-10-25 02:54:24 +01:00
Melanie 2895789bd0 Merge commit 'aa19ccf65c9cd235e0ba941e9832c5240df4412c' into bigmerge 2011-10-25 01:51:24 +01:00
Melanie 747786aac0 Merge commit '20da04fd0c909a00c0cdc2585f242e95c868801a' into bigmerge 2011-10-25 01:43:05 +01:00
Melanie 9ceb98344a Merge commit '631d5e16ef8c5340b6283b1a9ed9cc95aea3e3a1' into bigmerge 2011-10-25 01:37:11 +01:00
Melanie 13d635d1d7 Merge commit 'f5f7ca47ea7a27fb7f82367cc7a4e04e11cb5155' into bigmerge 2011-10-25 01:37:01 +01:00
Melanie 0b833c458a Merge commit 'c5826d589ab2f33a71105bc2d3015ffbb7dd2973' into bigmerge 2011-10-25 01:35:51 +01:00
Melanie 080a41e9f9 Merge commit 'f9ffd2538f3bf300e8f751258a6129fb780b5b0a' into bigmerge 2011-10-25 01:35:30 +01:00
Justin Clark-Casey (justincc) 9ec672c70b Fix bugs in EventQueueGetModule.ClientClosed() and BaseHttpServer.RemovePollServerHTTPHandler() that stopped existing code in ClientClosed() from actually tearing down the poll handler
Actually doing the tear down appear to have no ill effects with region crossing and teleport.
2011-10-24 23:16:03 +01:00
Justin Clark-Casey (justincc) 79d5bc9beb separate out future common setup code from EventQueueTests.AddForClient() 2011-10-24 22:29:13 +01:00
Justin Clark-Casey (justincc) e28e2d24c7 Add new EventQueueTests with basic test to check that adding a client registers an http poll 2011-10-24 22:23:41 +01:00
Justin Clark-Casey (justincc) 120114e96b refactor: Make IClientAPI.DebugPacketFormat a property rather than a setter without a getter 2011-10-17 20:50:29 +01:00
Justin Clark-Casey (justincc) 96ff2c63ed Add avatar names to debug packet output 2011-10-17 20:37:01 +01:00
Justin Clark-Casey (justincc) aa19ccf65c refactor: rename IClientAPI.SendPrimUpdate() to SendEntityUpdate() since it sends entity updates (including presence ones), not just prims. 2011-10-14 01:45:46 +01:00
Justin Clark-Casey (justincc) 20da04fd0c More method doc and formatting changes. Makes DestroyOdeStructures() private 2011-10-13 21:42:24 +01:00
Justin Clark-Casey (justincc) 631d5e16ef Get rid of some traces of the old pre-ROBUST grid architecture config 2011-10-12 21:51:34 +01:00
Justin Clark-Casey (justincc) f5f7ca47ea Bring LindenUDP.Tests back from the dead. No tests are running.
Code drift means that most of this stuff doesn't compile but the structure is still useful.
2011-10-12 21:31:22 +01:00
Justin Clark-Casey (justincc) c5826d589a minor: insert some commented out log lines which are a blunt but useful instrument to see packet expiry and received acks 2011-10-12 19:35:40 +01:00
Justin Clark-Casey (justincc) f9ffd2538f Improve some method doc for LLUDPClient, LLUDPServer and UnackedPacketCollection 2011-10-12 19:22:30 +01:00
Melanie f4de1a6d9b HACK: Remove advanced property resending until it is fixed properly in core. 2011-10-12 06:48:40 +02:00
Melanie 1b3ea64fe9 Merge commit '37ae6451f9ddb2e07402a5e79a9ab58668781104' into bigmerge
Conflicts:
	OpenSim/Region/Framework/Scenes/Scene.cs
2011-10-11 23:21:36 +01:00
Melanie ef9a811ea6 Merge commit 'e77c919290e166f19e77f3ef040418dd39f2f5bd' into bigmerge
Conflicts:
	OpenSim/Region/Framework/Interfaces/IAttachmentsModule.cs
2011-10-11 23:17:47 +01:00
Melanie 308b6937ad Merge commit '839c1cdcc4e9ce410636becb5b81190463dec5bf' into bigmerge 2011-10-11 22:53:53 +01:00
Melanie 652c59c0a9 Merge commit 'd358125cac4e01194dae4b1f0bc9afc87e463f76' into bigmerge 2011-10-11 22:42:18 +01:00
Melanie cc1fe354d0 Merge commit 'de19dc3024e5359f594d0a32c593d905163c24ea' into bigmerge
Conflicts:
	OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
	OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
	OpenSim/Region/Framework/Scenes/SceneObjectPartInventory.cs
2011-10-11 21:21:44 +01:00
Justin Clark-Casey (justincc) 34026887fe Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-10-03 23:26:52 +01:00
Justin Clark-Casey (justincc) 37ae6451f9 Remove vestigal RegionStatus.SlaveScene.
This appears to be code clutter since the code that uses this has long gone.
2011-10-03 23:25:09 +01:00
Dan Lake e77c919290 Remove usage of Linden packet types from inside Attachments Module and interface 2011-10-03 11:55:54 -07:00
Justin Clark-Casey (justincc) 839c1cdcc4 Improve locking when access queue in EventQueueGetModule 2011-09-24 01:10:23 +01:00
Justin Clark-Casey (justincc) d358125cac Reinstate option to land an npc when it reaches a target.
This is moved into ScenePresence for now as a general facility
2011-09-22 00:16:05 +01:00
Justin Clark-Casey (justincc) de19dc3024 refactor: rename SOG/SOP.GetProperties() to SendPropertiesToClient() to reflect what it actually does
This also makes it consistent with some other methods that send data to the client.
2011-09-15 18:58:58 +01:00
Tom 03f6734f43 First set of merge fixes 2011-09-07 09:42:18 -07:00
Tom 66dec3b874 Resolve merge commits, stage 1 2011-09-04 07:06:36 -07:00
Justin Clark-Casey (justincc) 7eca929686 Eliminate pointless checks of SOG.RootPart != null
It's never possible for SOG to have no RootPart, except in the first few picosends of the big bang when it's pulled from region persistence or deserialized
2011-09-01 02:11:00 +01:00
Justin Clark-Casey (justincc) 095b3e5756 Remove pointless cluttering SOP.ParentGroup != null checks.
The only times when ParentGroup might be null is during regression tests (which might not be a valid thing) and when scene objects are being constructed from the database.
At all other times it's not possible for a SOP not to have a SOG parent.
2011-09-01 01:22:28 +01:00
Justin Clark-Casey (justincc) 083ba72b28 Fix a bug where the non-root parts of rezzed objects that had previously been attachments were sending their old attachment values to the client.
The root part state is the canonical value, so always send that instead.
Sending conflicting attachments states for non-root parts of a rezzed object is enough to crash the client.
Fixes http://opensimulator.org/mantis/view.php?id=5664.
Many thanks to mewtwo0641 for some fantastic qa work on this one.
2011-08-31 23:33:01 +01:00
Justin Clark-Casey (justincc) be357f8fee Fix bug in persisting saved appearances for npcs
Assets have to be marked non-local as well as non-temporary to persist.  This is now done.
Hopefully addresses http://opensimulator.org/mantis/view.php?id=5660
2011-08-30 01:58:32 +01:00
Justin Clark-Casey (justincc) 33a894f3d2 refactor: move SOP.IsAttachment and AttachmentPoint up into SOG to avoid pointless duplication of identical values 2011-08-27 00:15:21 +01:00
Justin Clark-Casey (justincc) 4b4c5e69e5 Remove forcing of phantom on ground attached objects - attachments can be both non-phantom and flagged as physical.
As per Melanie
2011-08-24 22:45:51 +01:00
Justin Clark-Casey (justincc) 940a248c3d minor: comment out simulator features log line 2011-08-22 22:44:49 +01:00
Justin Clark-Casey (justincc) 7cf4bb5256 Add ISimulatorFeaturesModule so that other modules can register features in addition to the hardcoded ones. 2011-08-22 22:13:07 +01:00
Justin Clark-Casey (justincc) c1a34cd8da Don't try to save changed attachment states when an NPC with attachments is removed from the scene.
This is done by introducing a PresenceType enum into ScenePresence which currently has two values, User and Npc.
This seems better than a SaveAttachments flag in terms of code comprehension, though I'm still slightly uneasy about introducing these semantics to core objects
2011-08-18 00:53:05 +01:00
Justin Clark-Casey (justincc) 8d866ae8c3 minor: remove some mono compiler warnings 2011-08-16 21:45:01 +01:00
Justin Clark-Casey (justincc) cace6eaa8a comment out some of the currently less useful debug log messages 2011-08-11 02:06:32 +01:00
Justin Clark-Casey (justincc) 5d6c9644fa early code to allow scripts to force npcs not to fly when moving to target
this is to allow walking on prims.  it will be up to the script writer to be sure that there is a continuous path.
currently implemented in osNpcMoveToTarget(), but none of this is final.
2011-08-10 01:47:37 +01:00
Justin Clark-Casey (justincc) 4cb8d6379d Stop trying to deregister caps or close child agents when an NPC is removed 2011-08-10 00:59:31 +01:00
Justin Clark-Casey (justincc) 92e96d394a When an NPC is created, stop telling neighbouring regions to expect a child agent 2011-08-09 23:11:07 +01:00
Melanie 0e9dda91cb Guard against a bad login leaving us with a null queue 2011-08-09 20:55:06 +02:00
Justin Clark-Casey (justincc) f999acd095 minor: remove some mono compiler warnings 2011-08-04 01:46:34 +01:00
Justin Clark-Casey (justincc) 2964467708 get rid of vestigal move to parameters 2011-08-03 22:11:05 +01:00
Justin Clark-Casey (justincc) c122489e09 Partially fix autopilot/go here
This now works again except that it requires a click or avatar mvmt to get going
This is because the ScenePresence.HandleAgentUpdate() method doesn't trigger until the client does something significant, at which point autopilot takes over.
Even clicking is enough to trigger.
This will be improved presently.
2011-08-02 23:41:12 +01:00
Justin Clark-Casey (justincc) 9fc59e2bf2 minor: remove some mono compiler warnings 2011-07-30 03:19:00 +01:00
Melanie c4ffcd4b7d Ensure that packet headers get parsed correctly 2011-07-27 09:12:00 +01:00
Melanie 04eaca2af8 Ensure that packet headers get parsed correctly 2011-07-27 08:35:19 +02:00
Melanie 4cdc8806fb Fix LLTextBox to work with the updated libOMV 2011-07-23 11:40:38 +01:00
Melanie 96174595da Fix LLTextBox to work with the updated libOMV 2011-07-23 11:39:32 +01:00
Justin Clark-Casey (justincc) 62325829ec comment out all kinds of debugging guff 2011-07-19 05:14:58 +01:00
Justin Clark-Casey (justincc) 7c468cda36 Stop undo of just the root prim position in the linkset from shifting the 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-19 03:38:22 +01:00
Justin Clark-Casey (justincc) c94dc95844 fix undo when resizing of non-root individual prims in a linkset
undo resize, rotation and position still needs fixing when only editing root prim of a linkset
2011-07-19 03:27:16 +01:00
Justin Clark-Casey (justincc) 430a4aeba8 Fix undo for resizing linksets
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-19 03:01:54 +01:00
Justin Clark-Casey (justincc) 6fc74b36d1 Make various tweaks to undo code in an effort to get things working better.
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-18 04:54:21 +01:00
Justin Clark-Casey (justincc) df2a59d31b refactor: make SceneObjectGroup.GroupScale() a property rather than a mehod 2011-07-16 03:30:14 +01:00
Justin Clark-Casey (justincc) a9ba9d4a9e change async parameter name in AddLocalPacketHandler since it becomes a reserved keyword in .net 5
Also adds some method doc.
2011-07-15 23:51:55 +01:00
Justin Clark-Casey (justincc) 3e5b2d52ff minor: method doc for baked texture uploading 2011-07-15 22:58:29 +01:00
Justin Clark-Casey (justincc) dbd954d701 Fix permissions problem where newly uploaded meshes rezzed from inventory could not be copied by owner. 2011-07-11 22:56:14 +01:00
root c920ff9d1d Merge branch 'master' into careminster-presence-refactor 2011-07-09 01:06:46 +01:00
Justin Clark-Casey (justincc) 5e8900dfd0 minor: code tidy and inserted log lines for future use.
Unable to get to the bottom of why resizing a mesh fails to properly reset the physics proxy, when toggling phantom does
After a mesh is generated, the existing sculptdata is set to zero in PrimitiveBaseShape to save memory
When phantom is toggled, the sculptdata is regenerated before remeshing.
But on resize, the sculptdata is not regenerated.
So clearly, resetting sculptdata is possible, but haven't quite been able to pin down how this is being done when phantom is toggled.
2011-07-09 00:35:30 +01:00
Justin Clark-Casey (justincc) 5700c582ba refactor: rename bool returning GetAgentInventoryItem() to CanGetAgentInventoryItem() to improve code readability 2011-07-08 22:28:17 +01:00
Justin Clark-Casey (justincc) 3bda7711b3 Switch the MeshUploadFlag CAP module on and off with the existing config AllowMeshUpload flag in [Mesh] (in OpenSimDefaults.ini)
Default is on.
2011-07-07 23:49:19 +01:00
Justin Clark-Casey (justincc) 2fbc98fa5c Make MeshUploadFlagModule non-shared rather than shared (since each scene needs its own cap) 2011-07-07 23:37:23 +01:00
Michael Cerquoni aka Nebadon Izumi 281e80ccf3 add MeshUploadFlag capability fixed mesh upload with latest mesh viewer thank you dahlia and lkalif for helping to make this happen! 2011-07-07 03:30:37 -07:00
Melanie 06d5989f4d Fix parcel prim count and max reporting. Viewer already multiplies. 2011-07-06 09:59:05 +02:00
root 5f927dc104 Merge branch 'master' into careminster-presence-refactor 2011-06-30 00:26:03 +01:00
Justin Clark-Casey (justincc) 1a0a9d2290 Implement the latest mesh mechanism so that rezzing the uploaded mesh now works again.
Many thanks to the aurora project for pioneering this.
This code is almost certainly not bug free, but it does at least appear to handle simple meshes (except when the viewer crashes - but it is beta!).
2011-06-24 21:54:01 +01:00
Justin Clark-Casey (justincc) 37a7c16734 minor: method documentation 2011-06-24 21:01:48 +01:00
Melanie 6ae73aea49 Merge branch 'master' into careminster-presence-refactor 2011-06-20 03:11:34 +01:00
Diva Canto 822b9e085f Added SimulatorFeatures capability. Thanks Aurora devs for the bootstrap on the contents of the response.
Changed the experimental capability introduced a couple of commits ago: now sending that extra information as part of the response in the SimulatorFeatures cap.
2011-06-13 10:21:29 -07:00
Diva Canto ab11835aeb Same processing of the "/" in the MapImageService Cap as the one in the login service. 2011-06-13 07:59:28 -07:00
Diva Canto 0e4db3ca39 Added experimental new capability URL called MapImageService meant to work with Kokua viewer if devs are willing to do it. 2011-06-13 07:56:52 -07:00
Melanie a1c16a4200 Merge branch 'master' into careminster-presence-refactor 2011-06-11 12:08:02 +01:00
Justin Clark-Casey (justincc) b5518dc906 minor: Add some commented out destructor logging messages for potential future use.
At the moment, client and scene objects are being garbage collected as expected, at least in simple scenarios.
2011-06-10 20:40:14 +01:00
Melanie 326c46ba70 Merge branch 'master' into careminster-presence-refactor 2011-06-09 02:05:04 +01:00
Diva Canto 623706d988 HG Landmarks bug fix: pull landmark asset data from user's asset server when user is traveling. 2011-06-03 11:33:44 -07:00
Diva Canto e33cedfd42 HG Landmarks now working. 2011-06-03 10:26:58 -07:00
Justin Clark-Casey (justincc) c67fa72d56 When sending an LLUDP MoneyBalanceReply message, fill out the transaction 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-31 19:57:08 +01:00
Justin Clark-Casey (justincc) 8129e64e2a Fill in the new OwnerData field in the LLUDP ScriptDialog message.
If we don't do this then viewer 2.8 crashes.
Resolves http://opensimulator.org/mantis/view.php?id=5510
2011-05-31 19:25:01 +01:00
Melanie 6bac16fd88 Fix up handling of the estate dialog to prevent duplication of ban list names.
Allow more than 61 names in ban list without crashing the viewer.
2011-05-15 14:55:36 +02:00
Melanie 75d4956ee5 Merge branch 'master' into careminster-presence-refactor 2011-05-13 12:05:46 +01:00
Justin Clark-Casey (justincc) 5f9edd195c Fix broken inventory links on viewer 2.
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-13 03:24:19 +01:00
Melanie 1bd949614a Merge branch 'master' into careminster-presence-refactor 2011-05-09 18:37:35 +01:00
Diva Canto 8a5f6dc7a5 Fixes gray tiles on map search for viewers 1. 2011-05-09 10:25:42 -07:00
Diva Canto c0a69bfaab The map is seriously broken. This doesn't fix it, but at least provides one more piece of data that seems to be required -- agent flags, which seem to be different in Viewer 2. WARNING: changes IClientAPI. 2011-05-08 22:50:04 -07:00
Melanie b451cc1ebb Merge branch 'master' into careminster-presence-refactor 2011-05-08 20:23:06 +01:00
Diva Canto 74e981e796 One more bug fix concerning library items that weren't being copied to user's inventory. Also commented verbose debug message. 2011-05-06 09:56:27 -07:00
BlueWall 8ca7938753 Adding ssl support
Adding ssl support for "Out of Band" applications such as the remote
	admin module or Robust services
2011-05-05 19:56:54 -04:00
Melanie 4beb0c9b9b Merge branch 'master' into careminster-presence-refactor 2011-05-05 09:49:10 +01:00
Diva Canto e8944d6c31 Test m_Enabled on RemoveRegion. 2011-05-04 20:40:25 -07:00
Diva Canto ac9697edbe Fixed: EventQueueGet and other caps were being wrongly deregistered. Also CapabilitiesModule was being instantiated twice (damn Mono.Addins). 2011-05-02 19:45:47 -07:00
Diva Canto 883f21dd02 WebFetchInventoryDescendents working. Tested with robust. 2011-05-02 14:33:34 -07:00
Diva Canto aba9ffdbd0 Refactored the GetMesh module into a handler and a module, to be the same as GetTexture. 2011-05-02 11:56:40 -07:00
Diva Canto 10180760b7 Works! 2011-05-02 08:48:55 -07:00
Diva Canto 2d21052fa3 Start to drill down on GetTexture. Read the config and do different things. 2011-05-01 19:09:08 -07:00
Diva Canto f79400e94c Broke down Caps.cs into a generic Caps object that simply 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-01 18:22:53 -07:00
Diva Canto 275046cf02 Change GetTextureModule.cs to conform to the new IRegion module interface. NOTHING OF THIS WORKS. Compiles. 2011-05-01 12:03:00 -07:00
Diva Canto 126d2adeba Move CapabilitiesModule back to CoreModules. This one belongs there. 2011-05-01 12:02:07 -07:00
Diva Canto 6b2b036387 Added OpenSim.Capabilities.Handlers. For the moment it has only the GetTexture handler. The region module in Linden space uses it. WARNING: nothing of this works yet, it just compiles. 2011-05-01 09:08:18 -07:00
Diva Canto e3c27d8527 Nope, that didn't feel right. Moving all those modules to Linden space. 2011-04-30 13:24:25 -07:00
Diva Canto d8ee0cbe1c First stab at cleaning up Caps. Compiles. Untested. 2011-04-30 09:24:15 -07:00
Melanie d1cf1fe3d7 Merge branch 'master' into careminster-presence-refactor 2011-04-30 14:37:37 +01:00
Diva Canto 549dc5aeb9 Eliminated sAgentCircuitData, a data structure that has been obsolete for quite some time. 2011-04-28 08:58:04 -07:00
Mic Bowman 36fef21e52 Merge branch 'master' into queuetest 2011-04-26 08:42:21 -07:00
dahlia 037373b825 recover from unhandled exception from bad rotation data while processing entity updates in LLClientView.cs 2011-04-25 17:11:54 -07:00
Mic Bowman b9bca893ef Removed debug message in the token bucket code 2011-04-25 16:13:16 -07:00
Mic Bowman 13f141a4d5 Fix the totals shown by show throttle 2011-04-25 15:36:59 -07:00
Melanie a6c53b1ba2 Merge branch 'queuetest' into careminster-presence-refactor 2011-04-25 23:26:37 +01:00
Mic Bowman 77ab7ce084 Fixed the transmission of throttles from root agent to child
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-25 15:11:29 -07:00
Mic Bowman 024c12abc3 Cleaned up various configuration options. Removed the category throttle
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-25 10:44:41 -07:00
Mic Bowman 08e58e7ca6 Set the initial rate for the adaptive throttle to 160Kpbs
or about 15 packets per second.
2011-04-22 14:02:34 -07:00
Mic Bowman 3534f4492a Various clean ups. Removed some debugging code. Added a new "show pqueues"
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-22 14:01:12 -07:00
Mic Bowman 0897647709 Merge branch 'queuetest' of ssh://opensimulator.org/var/git/opensim into queuetest 2011-04-21 15:41:15 -07:00
Mic Bowman c5159ad8d0 Add some locking on the child list for the token bucket
hiearchy. A few other cosmetic changes.
2011-04-21 15:40:38 -07:00
Dan Lake 7f28dd4b31 Refactor UnackedPacketCollection so ProcessQueues will handle Adds, Acks, and Removes in that order. 2011-04-21 15:40:32 -07:00
Melanie 204b8b7b7e Merge branch 'queuetest' into careminster-presence-refactor 2011-04-21 16:51:39 +01:00
Dan Lake 3640d0204f Added ability to remove unacked packet from UnackedPacketCollection without 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-21 01:51:08 -07:00
Dan Lake b5ab33b5e1 bug fix. Now when an unacked update packet is handled through ResendPrimUpdates, it is removed from the UnackedPacketCollection. 2011-04-20 23:08:51 -07:00
Mic Bowman 7759bda833 Added an "immediate" queue to the priority queue. This is
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-20 21:58:49 -07:00
Mic Bowman 2b737c9cc2 Adds the first pass at an adaptive throttle to slow start new
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-20 16:23:33 -07:00
Mic Bowman 82de87ce99 Converted the property request queue to use the same retransmission
mechanism as the entity update queues.
2011-04-19 11:22:04 -07:00
Dan Lake 08d8a3e580 Requeue unacknowledged entity updates rather than resend then "as is".
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-19 08:10:01 -07:00
Melanie d1913f2429 Merge branch 'master' into careminster-presence-refactor 2011-04-18 20:17:29 +01:00
Melanie ec0aa7a90b Fix up client implementations 2011-04-17 23:17:05 +02:00
Melanie dbf52b8cd1 Correct the delegate for classified deletes 2011-04-17 22:54:23 +01:00
Melanie c02e0e930d Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2011-04-17 18:42:06 +02:00
Melanie 474910c9d6 Merge branch 'master' into careminster-presence-refactor 2011-04-17 18:48:53 +01:00
Melanie 5db8dcb563 Fix agent animation updates 2011-04-17 17:11:33 +02:00
Mic Bowman 3e0e1057ac Remove the call to remove tokens from the parent. Under heavy load
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-15 16:44:53 -07:00
Mic Bowman 590d20903c Merge branch 'testmerge' into queuetest
Conflicts:
	OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
2011-04-13 15:41:17 -07:00
Mic Bowman bf91d1b077 remove packet monitoring debugging code 2011-04-13 15:37:25 -07:00
Mic Bowman b33aac737a Fixed the update of items in the priority queue to enable both
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-13 15:37:25 -07:00
Mic Bowman 5e7aba4f88 fixed a couple bugs with the property queues 2011-04-13 15:37:25 -07:00
Mic Bowman 3fe22126ca First pass at moving object property requests into a queue similar
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-13 15:37:25 -07:00
Mic Bowman 5b89c66c97 New tokenbucket algorithm. This one provides fair sharing of the queues
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-13 15:37:25 -07:00
Justin Clark-Casey (justincc) 6613daa82a Add a regression test for rezzing a single object into a scene from user inventory 2011-04-13 17:46:36 +01:00
Mic Bowman b84ad81740 remove packet monitoring debugging code 2011-04-12 15:58:57 -07:00
Mic Bowman 78c04d61ca Fixed the update of items in the priority queue to enable both
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-12 15:58:57 -07:00
Mic Bowman 1a0f107012 fixed a couple bugs with the property queues 2011-04-12 15:58:57 -07:00
Mic Bowman 69d014e1dc First pass at moving object property requests into a queue similar
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-12 15:58:57 -07:00
Mic Bowman 2f43687589 New tokenbucket algorithm. This one provides fair sharing of the queues
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-12 15:58:57 -07:00
Melanie 42b96a8be0 Merge branch 'master' into careminster-presence-refactor 2011-04-12 00:27:39 +01:00
Mic Bowman 72a24cf023 Merge branch 'queuetest' of ssh://opensimulator.org/var/git/opensim into queuetest
Conflicts:
	OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
	OpenSim/Region/Framework/Scenes/Prioritizer.cs
2011-04-11 08:41:36 -07:00
Mic Bowman f778056c7a Removed some priority queue debugging code 2011-04-11 08:37:43 -07:00
Mic Bowman 19c6d1d569 Split the priority queue class into a seperate file. LLClientView
is big enough.
2011-04-10 16:57:02 -07:00
Mic Bowman 83dc2470f2 Fix a bug in the computation of the RTO. Basically... the RTO (the
time to wait to retransmit packets) always maxed out (no retransmissions
for 24 or 48 seconds.

Note that this is going to cause faster (and more) retransmissions. Fix
for dynamic throttling needs to go with this.
2011-04-10 16:57:02 -07:00
Mic Bowman 77cf9405de Implements adaptive queue management and fair queueing for
improved networking performance.

Reprioritization algorithms need to be ported still. One is
in place.
2011-04-10 16:57:02 -07:00
Melanie 407c2b1823 Merge branch 'master' into careminster-presence-refactor 2011-04-06 09:22:55 +01:00
Justin Clark-Casey (justincc) c1dec225ab Handle the client's parcel info requests asynchronously rather than 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-05 17:47:11 +01:00
Justin Clark-Casey (justincc) f58941e89f Make the "All Estates" option work from the client (this makes chosen 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-05 01:30:13 +01:00
Mic Bowman 8b134f37f2 Fix a bug in the computation of the RTO. Basically... the RTO (the
time to wait to retransmit packets) always maxed out (no retransmissions
for 24 or 48 seconds.

Note that this is going to cause faster (and more) retransmissions. Fix
for dynamic throttling needs to go with this.
2011-04-04 14:18:26 -07:00
Mic Bowman 6885b7220c Implements adaptive queue management and fair queueing for
improved networking performance.

Reprioritization algorithms need to be ported still. One is
in place.
2011-04-04 11:41:07 -07:00
Melanie 329fa73695 Merge branch 'master' into careminster-presence-refactor 2011-04-01 07:44:43 +01:00
Justin Clark-Casey (justincc) 39c610c165 Log which address and port the UDP listener is configured for. This will match that given for InternalAddress in the config (e.g. 0.0.0.0)
Can't obtain actually bound address until the UDP socket is used for the first time.
2011-04-01 00:41:52 +01:00
Justin Clark-Casey (justincc) 8b16f7d976 (re)implement selected prim count.
This does not currently count objects that are sat upon (which the viewer ui implies should be included in this count)
2011-03-30 00:13:07 +01:00
Justin Clark-Casey (justincc) fe258753a0 disable prim count debug logging temporarily 2011-03-29 23:07:01 +01:00
Justin Clark-Casey (justincc) b11e3d33f1 add save of LLClientView I forgot from last commit 2011-03-26 02:20:16 +00:00
Justin Clark-Casey (justincc) cc8897fceb Add test for PCM taint. This currently fails due to unexpected behaviour of SceneGraph.ForEachSOG(). This will be corrected soon.
Also adds lots of temproarily debug logging
2011-03-26 00:34:49 +00:00
Justin Clark-Casey (justincc) 6ae04448f7 Start using IPrimCounts populated by PrimCountModule instead of LandData counts populated by LandManagementModule.
In order to pass ILandObject into IClientAPI.SendLandProperties(), had to push ILandObject and IPrimCounts into OpenSim.Framework from OpenSim.Region.Framework.Interfaces, in order to avoid ci
Counts are showing odd behaviour at the moment, this will be addressed shortly.
2011-03-25 23:05:51 +00:00
Melanie bbbcb45398 Fudge the group join permissions for god user in god mode. Allows to join
every group without an invite.
2011-03-23 00:05:27 +01:00
Melanie 4834b47679 Merge branch 'master' into careminster-presence-refactor 2011-02-19 01:59:49 +00:00
Justin Clark-Casey (justincc) 5c92f62941 minor: remove mono compiler warning 2011-02-18 23:10:46 +00:00
Melanie e2762a68b3 Merge branch 'master' into careminster-presence-refactor 2011-02-12 00:42:10 +00:00
Diva Canto 45382e6f82 Reinstated a couple of null checks related to the previous revert. 2011-02-10 06:26:26 -08:00
Diva Canto 89bb5c0941 Revert "Hunting down mantis #5365"
This reverts commit ebeef02fef.
2011-02-10 06:09:04 -08:00
Diva Canto 21715396fa Put the Ack of UseCircuitCode back to where it used to be. Some ppl are reporting login issues. 2011-02-09 17:45:19 -08:00
Diva Canto f33e51e2ff Comment instrumentation out. Not needed anymore. Left in comments, in case it is needed again. Mantis #5365 2011-02-09 09:50:26 -08:00
Diva Canto 1cd951e5ae Fix the negative number problem in TokenBucket. mantis #5365 2011-02-09 09:39:53 -08:00
Diva Canto 830fee145d Revert "Brute-force debug -- mantis #5365"
This reverts commit 585473aade.
2011-02-09 08:35:36 -08:00
Diva Canto 1bba9c6300 Revert "Don't build strings unless we're in emergency debugging."
This reverts commit ba202ea9b0.
2011-02-09 08:35:21 -08:00
Diva Canto 477a869fb2 More detection of negatives. 2011-02-09 08:08:57 -08:00
Diva Canto 473fac4dc7 Detect negative dripAmounts in TokenBuckets. These negatives result from overflown integer operations. Also added Total to the scene throttles in show throttles. 2011-02-09 08:06:20 -08:00
Diva Canto ba202ea9b0 Don't build strings unless we're in emergency debugging. 2011-02-08 21:09:10 -08:00
Diva Canto 585473aade Brute-force debug -- mantis #5365 2011-02-08 20:12:33 -08:00
Diva Canto 117462cba1 Avoid potential race conditions on UseCircuitCode. I artificially made the race condition happen, and got very similar results to those described in mantis #5365 -- no prims/avie sent back. 2011-02-08 17:53:01 -08:00
Diva Canto f431bd20ec Minor addition to the previous commit 2011-02-08 14:49:50 -08:00
Diva Canto 82846afe4b Minor improvement to previous commit. 2011-02-08 12:37:37 -08:00
Diva Canto ac7bc78555 Added emergency monitoring of UDP Outgoing packets thread. Just type "emergency-monitoring on/off" 2011-02-08 12:06:14 -08:00
Melanie 076f2ac8db Merge branch 'master' into careminster-presence-refactor 2011-02-07 23:07:36 +00:00
Melanie 3889e68c54 Merge branch 'master' into careminster-presence-refactor
Conflicts:
	OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/InventoryArchiverModule.cs
	OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
	OpenSim/Server/Handlers/Simulation/AgentHandlers.cs
	OpenSim/Services/Connectors/SimianGrid/SimianGridMaptileModule.cs
	OpenSim/Services/GridService/HypergridLinker.cs
2011-02-07 22:08:53 +00:00
Diva Canto ebeef02fef Hunting down mantis #5365
Revert "refactor: remove redundant null checks"

This reverts commit 6e58996b4d.
2011-02-07 07:45:03 -08:00
Justin Clark-Casey (justincc) 2413e9eb3f Record number of resent packets in LindenUDP stack and display in stats report 2011-02-02 20:00:50 +00:00
Justin Clark-Casey (justincc) 2344150b6e Stop double counting dequeued packets for packets sent number
This is already being incremented in LLUDPServer.SendPacketFinal for every packet
2011-02-02 19:39:33 +00:00
Melanie 5a0cb7d37e Thank you, Goetz, for a patch to fix prim count display in cut regions. 2011-01-28 02:34:07 +00:00
Melanie 3f200da878 Merge branch 'master' into careminster-presence-refactor 2011-01-28 02:36:20 +00:00
Melanie 105deab601 Merge branch 'master' into careminster-presence-refactor 2011-01-23 23:29:25 +00:00
Justin Clark-Casey (justincc) c383dbd06d implement "show throttles" command for showing current agent throttles and the server settings.
This is in a very crude state, currently.
The LindenUDPModule was renamed LindenUDPInfoModule and moved to OptionalModules
OptionalModules was given a direct reference to OpenSim.Region.ClientStack.LindenUDP so that it can inspect specific LindenUDP settings without having to generalize those to all client views (some of which may have no concept of the settings involved).
This might be ess messy if OpenSim.Region.ClientStack.LindenUDP were a region module instead, like MXP, IRC and NPC
2011-01-21 00:38:16 +00:00
Justin Clark-Casey (justincc) 7f000ea88e Correct "show queues" to show queued packet numbers for each client instead of bytes.
Byte amounts aren't actually available - this was a misunderstanding of TokenBucket.Content.  But raw packet numbers are.
2011-01-19 00:33:25 +00:00
Melanie 6306578fcf Merge branch 'master' into careminster-presence-refactor 2011-01-18 01:28:50 +00:00
dahlia 624bf23abb force objectId to UUID.Zero for non-overridden animations in AvatarAnimation packet 2011-01-17 16:39:53 -08:00
Justin Clark-Casey (justincc) c544f0d0c5 Prune some of the excess logging for client logins.
Didn't touch the appearance related stuff.
2011-01-18 00:25:24 +00:00
Justin Clark-Casey (justincc) 6e58996b4d refactor: remove redundant null checks 2011-01-17 23:57:50 +00:00
Justin Clark-Casey (justincc) 81552099d6 Fix UnackedBytes client stack statistic as seen in "show queues"
Bytes were being wrongly added again on a resend
2011-01-17 23:45:25 +00:00
dahlia aecaadd3bd objectId in AvatarAnimation packet should be UUID.Zero for non-overridden animations 2011-01-17 13:10:09 -08:00
Melanie de4eaab584 Merge branch 'master' into careminster-presence-refactor 2011-01-06 19:08:15 +00:00
Diva Canto 0c165bc421 Commented a verbose Debug message in LLUDPServer that got uncommented at some point. 2011-01-05 07:14:09 -08:00
Melanie a32f80b9e3 Implement SendPlacesReply 2010-12-30 01:36:09 +00:00
Melanie 2cb2bff9b2 Implement SendPlacesReply 2010-12-30 00:31:59 +01:00
Melanie 42d44c00f3 Change the mute list parts of the client interface so that all data is provided
to the module
2010-12-24 03:46:57 +01:00
Diva Canto bc67bc0d94 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2010-12-23 10:05:45 -08:00
Diva Canto 54418c5e69 Removed unused code -- this was the previous version of UDP texture sending, which now lives entirely in LindenUDP space. 2010-12-23 10:05:08 -08:00
Melanie 70bb542727 Merge branch 'master' into careminster-presence-refactor 2010-12-23 17:20:45 +00:00
Melanie 2cc07de0ba Merge branch 'master' into careminster-presence-refactor 2010-12-23 12:08:38 +00:00
Teravus Ovares (Dan Olivares) 46db73b62b * Re-Adding Scene TimeDilation to Object Update Packets.
* Added Calculating Time Dilation in the OdePlubin
* When multiple object updates are stuffed into one packet, average the time dilation between them as a compromise.
* Time Dilation on the update is calculated when the EntityUpdate object is created.  The pre-calc-ed TD is stored in the Entity update and used when it goes out on the wire.  Previously, it was 1.0 all the time. The time dilation is tied to when the update is created, not when the update is sent.
2010-12-23 03:30:09 -05:00
Teravus Ovares (Dan Olivares) 25ecd62b1f * Adds AbortXfer to the ClientAPI mix
* Adds an item that checks to see if the top request has been there for longer then 30 seconds without an update and sends an AbortXfer if it encounters one.   This allows the client to cancel the Xfer on it's side so you can re-select the prim and get the inventory when it fails the first time.
* Some interesting locking...    Using NewFiles to lock the rest of them.   We'll see how that goes.
* The goal of this is to ensure that Xfers are restartable when they fail.  The client will not do that on it's own.
2010-12-21 19:15:44 -05:00
Melanie e9382c2939 Merge branch 'master' into careminster-presence-refactor 2010-12-21 23:09:12 +00:00
Melanie a82112a47c Merge branch 'master' into careminster-presence-refactor 2010-12-17 22:50:25 +00:00
Justin Clark-Casey (justincc) 0913d43c50 minor: 'debug packet' console command level <= 50 then don't log ImprovedTerseObjectUpdate messages 2010-12-17 22:29:43 +00:00
Melanie 835e4dbc2c Add locks on m_killRecord without breaking things like justin did 2010-12-16 20:49:40 +01:00
Melanie 4719e925b8 Revert the locking changes in LLCLientView 2010-12-16 20:11:26 +01:00
Justin Clark-Casey (justincc) 0745d65344 Put in locks on m_killRecord to replace changed locks on m_entityUpdates.SyncRoot
These locks are necessary to avoid a delete/update race condition for scene objects.
However, since we're now locking on m_killRecord this shouldn't cause delays to m_entityUpdates reprioritization
2010-12-15 23:11:42 +00:00
Melanie d457b4c4b1 Merge branch 'master' into careminster-presence-refactor 2010-12-15 22:59:52 +00:00
Diva Canto a4309578e2 Another stab at #LoginLag. Looking forward to hear the feedback! This makes updates for self movement as absolute top priority, going in to the unthrottled category. Self only, not other avies. 2010-12-14 16:04:28 -08:00
Melanie 354f568508 Merge branch 'master' into careminster-presence-refactor 2010-12-14 23:58:45 +00:00
Diva Canto ff8ff773e7 Relax a highly constraining lock on m_entityUpdates that may be preventing reprioritizations from actually happening. #LoginLag 2010-12-14 12:58:32 -08:00
Melanie 9bd7f3b03a Revamp the viewer -> banlist packet processing so fix a number of bugs.
Remove the too coarse CanEditParcel method in favor of a CanEditParcelProperties
method that takes a GroupPowers argument to specify what action is to be
taken. Also, make the method to set parcel data much more granular. Permissions
in a deeded setting should now work.
2010-12-13 20:35:56 +00:00
Diva Canto 6b8d01d8c4 It turns out that the 1/2 sec burst for prims download is not a bug, but a feature of the client. The client sets the throttles in such a way that makes the server behave like that. The same happens in the Linden Grid.
Revert "This may have been the biggest, baddest bug in OpenSim ever... confusion between bytes per second and bytes per millisecond."

This reverts commit 870bbcfc6c.
2010-12-13 11:45:17 -08:00
Melanie 6b374fa547 Revamp the viewer -> banlist packet processing so fix a number of bugs.
Remove the too coarse CanEditParcel method in favor of a CanEditParcelProperties
method that takes a GroupPowers argument to specify what action is to be
taken. Also, make the method to set parcel data much more granular. Permissions
in a deeded setting should now work.
2010-12-13 20:19:52 +01:00
Diva Canto 870bbcfc6c This may have been the biggest, baddest bug in OpenSim ever... confusion between bytes per second and bytes per millisecond. 2010-12-13 09:42:27 -08:00
Diva Canto c42876df67 Revert "Another stab at mantis #5256"
This reverts commit ccb4f958c0.
2010-12-10 23:32:50 -08:00
Diva Canto ccb4f958c0 Another stab at mantis #5256 2010-12-10 23:16:26 -08:00
Diva Canto d8fd917076 Revert "A stab at mantis #5256. Separate ScenePresence updates from SceneObject updates, and place them in different queues."
This reverts commit f84905e294.
2010-12-10 12:40:12 -08:00
Diva Canto f84905e294 A stab at mantis #5256. Separate ScenePresence updates from SceneObject updates, and place them in different queues. 2010-12-10 11:32:46 -08:00
Melanie 80b84e4bad Prevent sending of attachment data to any client if the attachment
is not actually attached to any avatar. Another stab ad fixing "HUD hair"
2010-12-08 00:08:14 +01:00
Melanie b9f54fca5d Allow TPing multiple people in the friends list in one go. 2010-12-07 23:01:42 +01:00
Melanie 45314c6622 Merge branch 'master' into careminster-presence-refactor 2010-12-06 02:54:51 +00:00
Jonathan Freedman 45cd2e3ef9 Merge branch 'master-core' into mantis5110 2010-12-05 11:49:15 -08:00
Melanie 4b979362e9 Add some safeguards: DOn't send someone else's HUDs, don't send deleted prims
Removed some unneccessarily wordy core comments
2010-12-04 14:41:57 +01:00
Melanie 342dc532ec Merge branch 'master' into careminster-presence-refactor
Also prevent god takes from ending up in Lost and Found
2010-12-03 02:36:13 +00:00
Justin Clark-Casey (justincc) 5246d98b8d Stop LLUDPServer sending updates after object deletes by always queueing deletes
If an LL 1.23.5 client (and possibly earlier and later) receives an object update after a kill object packet, it leaves the deleted prim in the scene until client relog
This is possible in LLUDPServer if an object update packet is queued but a kill packet sent immediately.
Beyond invasive tracking of kill sending, most expedient solution is to always queue kills, so that they always arrive after updates.
In tests, this doesn't appear to affect performance.
There is probably still an issue present where an update packet might not be acked and then resent after the kill packet.
2010-12-02 02:01:01 +00:00
Justin Clark-Casey (justincc) 26569a7cd0 minor: add some method doc 2010-12-02 02:01:01 +00:00
Melanie 2bee150aac Implement health monitoring of the packet receiving and sending threads 2010-11-28 20:45:03 +01:00
Melanie 4765fd9cd0 Remove hard limit on prim owners. The new LibOMV autosplits packets to
prevent overflow
2010-11-27 19:31:18 +01:00
Jonathan Freedman b7f5e82843 Merge branch 'master-core' into mantis5110 2010-11-21 20:01:48 -08:00
Jonathan Freedman 562147475c Merge https://github.com/opensim/opensim into mantis5110
Conflicts:
	OpenSim/Region/Framework/Scenes/Scene.cs
2010-11-21 19:51:23 -08:00
Melanie 164007dd00 Merge branch 'master' into careminster-presence-refactor 2010-11-18 19:06:09 +00:00
Justin Clark-Casey (justincc) c4f3175e17 add "Unacked bytes" column to "show queues"
This should show the number of bytes sent to the client that it has not yet acknowledged.
2010-11-17 22:55:19 +00:00
Justin Clark-Casey (justincc) 2a17c39dfe Fix "show queues" console command
For each agent, this command shows how many packets have been sent/received and how many bytes remain in each of the send queues (resend, land, texture, etc.)
Sometimes useful for diagnostics
2010-11-17 22:55:19 +00:00
Melanie 43c270b536 Fix gesture and viewer preview sounds not playing 2010-11-17 18:20:24 +00:00
Melanie 2e5ae1b013 Fix gesture and viewer preview sounds not playing 2010-11-17 17:54:32 +01:00
Melanie c4eb430ad2 Merge branch 'master' into careminster-presence-refactor 2010-11-16 21:15:15 +00:00
Justin Clark-Casey (justincc) 1e7334d985 provide avatar name in log if an exception ends up at the top of an async packet processing stack 2010-11-12 23:20:07 +00:00
Melanie ee85a530f6 Merge branch 'master' into careminster-presence-refactor 2010-11-09 22:16:48 +00:00
Jeff Ames ae9c4a4d11 Formatting cleanup. 2010-11-08 07:48:35 -05:00
Melanie 7844872067 Fix merge artefacts 2010-11-05 14:46:13 +01:00
Melanie ddd3c6824a Revert "Spin the AddNewClient process off into a new thread to avoid locking up the LLUDPServer (and therefore the entire scene)"
This reverts commit 40e05f4109.

Conflicts:

	OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs
2010-11-05 14:27:53 +01:00
Melanie f985775962 Revert "Fix for hanging on "Connecting to region".. caused by packets being processed before the presence has bound to receive events. Fixed this by adding packets to a queue and then processing them when the presence is ready."
This reverts commit 91b1d17e5b.

Conflicts:

	OpenSim/Client/Sirikata/ClientStack/SirikataClientView.cs
	OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
	OpenSim/Region/Framework/Scenes/ScenePresence.cs
2010-11-05 14:27:14 +01:00
Melanie 26f12f479f Merge branch 'master' into careminster-presence-refactor 2010-11-02 22:58:33 +00:00
Jonathan Freedman 95a0ea78f9 Merge branch 'master' into mantis5110 2010-10-30 18:28:07 -04:00
Jonathan Freedman e371d3208c Merge branch 'master' into mantis5110
Conflicts:
	OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
	OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs
2010-10-30 14:10:13 -04:00
Melanie e98d8d500f Fix logins and avatar appearance. Contains a Migration. May contain nuts.
This will cause visual params to be persisted along with worn items. With
this, alpha and tattoo laters will be saved. Multiple layers MAY work, but
not tested because I don't use Viewer 2.
2010-10-30 19:06:47 +01:00
Jonathan Freedman 9e7d3e0f25 Merge branch 'master' into mantis5110 2010-10-29 23:59:16 -04:00
Jonathan Freedman d219317074 Merge branch 'master' into mantis5110
Conflicts:
	OpenSim/Region/Framework/Scenes/ScenePresence.cs
2010-10-29 23:12:51 -04:00
Melanie 46362cd1c0 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-10-30 00:56:58 +01:00
Justin Clark-Casey (justincc) 343c894658 Set async_packet_handling = true by default
Setting this to true avoids a 500ms or so client freeze when the LLUDP server thread is taken up with processing a UseCircuitCode packet synchronously.
Extensive testing on Wright Plaza appeared to show no bad effects and this seems to reduce login lag considerably.
Of course, a lot of login lag is still coming from other sources.
2010-10-30 01:35:12 +01:00
Melanie 7503c4ad61 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-10-30 00:56:42 +01:00
Melanie 818ed2032a READ CAREFULLY!!! This is a BROKEN commit. It is UNTESTED and INCOMPLETE.
It contains a major interface version bump and will NOT work with earlier grid
services. This is preliminary work that will lead to layers support.
Rest appearance services are commented out completely, they will have to be
adapted by someone who actually uses them. Remote admin is working, but has
no layers support. There is no layers support in the database. Login likely
won't work. You have been warned.
2010-10-30 00:41:36 +01:00
Justin Clark-Casey (justincc) abcde41c0d Merge branch 'justincc-dev' 2010-10-29 23:15:35 +01:00
Justin Clark-Casey (justincc) f19816aeb9 Add number of ms it takes to complete UseCircuitCode packet handling to log for diagnostics 2010-10-29 21:38:26 +01:00
Melanie 05d2302c62 Merge branch 'dev-appearance' 2010-10-29 20:24:14 +01:00
Melanie 9331898c32 Merge branch 'master' into careminster-presence-refactor 2010-10-29 20:40:48 +01:00
Master ScienceSim f2c1d0e34f Merge branch 'opensim-master' into dev-appearance 2010-10-28 09:09:42 -07:00
Justin Clark-Casey (justincc) fe8d3d5a2b Revert "Merge remote branch 'otakup0pe/mantis5110'"
This reverts commit 21187f459e, reversing
changes made to 8f34e46d74.
2010-10-22 23:52:07 +01:00
Justin Clark-Casey (justincc) 21187f459e Merge remote branch 'otakup0pe/mantis5110' 2010-10-22 23:35:07 +01:00
Jonathan Freedman d4144bedb8 * change the data exchanged within hypergrid transactions 2010-10-21 23:22:15 -04:00
Melanie 28c4dd7931 Merge branch 'master' into careminster-presence-refactor 2010-10-21 20:26:29 +01:00
Diva Canto fe99f194ad Deleted a verbose and unneeded log message. 2010-10-21 12:00:30 -07:00
Master ScienceSim b1c8d05888 Major refactoring of appearance handling.
AvatarService -- add two new methods, GetAppearance and SetAppearance
to get around the lossy encoding in AvatarData. Preseve the old
functions to avoid changing the behavior for ROBUST services.

AvatarAppearance -- major refactor, moved the various encoding
methods used by AgentCircuitData, ClientAgentUpdate and
ScenePresence into one location. Changed initialization.

AvatarAttachments -- added a class specifically to handle
attachments in preparation for additional functionality
that will be needed for viewer 2.

AvatarFactory -- removed a number of unused or methods duplicated
in other locations. Moved in all appearance event handling from
ScenePresence. Required a change to IClientAPI that propogated
throughout all the IClientAPI implementations.
2010-10-20 16:17:54 -07:00
Melanie 52dd547863 Make SendKillObject send multiple localIDs in one packet. This avoids the
halting visual behavior of large group deletes and eliminates the packet flood
2010-10-08 11:31:52 +02:00
Melanie f89dd85f68 Fix a comment marker 2010-10-04 00:17:48 +01:00
Melanie 766ce9a141 Add linden prim renderer and update libOMV 2010-10-04 00:10:08 +01:00
Melanie 90f9b7b7c4 Fix line endings 2010-10-04 00:37:18 +02:00
Melanie 50b03d08a8 Add linden prim renderer and update libOMV 2010-10-04 00:04:42 +02:00
Melanie e32855d080 Merge branch 'master' into careminster-presence-refactor 2010-09-17 03:57:15 +01:00
Melanie 256c8cb62d Send kill packets for avatars, too 2010-09-17 03:56:31 +01:00
Melanie 7df4383235 Merge branch 'master' into careminster-presence-refactor
Integrate the next large patch.
Don't use this version, it has a ghost avatar issue. Next push
will fix it.
2010-09-17 03:49:30 +01:00
Justin Clark-Casey (justincc) 5072429263 Send KillPackets on the Task queue rather than the State queue
Object updates are sent on the task queue.  It's possible for an object update to be placed on the client queue before a kill packet comes along.
The kill packet would then be placed on the state queue and possibly get sent before the update
If the update gets sent afterwards then client get undeletable no owner objects until relog
Placing the kills in the task queue should mean that they are received after updates.  The kill record prevents subsequent updates getting on the queue

Comments state that updates are sent via the state queue but this isn't true.  If this was the case this problem might not exist.
2010-09-17 01:16:21 +01:00
Melanie 58b1ee8e2c Merge branch 'master' into careminster-presence-refactor 2010-09-16 18:04:50 +01:00
Justin Clark-Casey (justincc) 7383173d3d extend m_entityUpdates.SyncRoot lock in LLClientView.ProcessEntityUpdates() to reduce scope for kill/update race conditions
This is necessary because it was still possible for an entity update packet to be constructed, the thread to pause, a kill to be sent on another thread, and then the original thread to resume and send the update
This would result in an update being received after a kill, which results in undeletable ghost objects until the viewer is relogged
Extending the lock looks okay since its only taken by kill, update and reprioritize, and both kill and update do not take further locks
However, evidence suggests that there is still a kill/update race somewhere
2010-09-15 23:06:38 +01:00
Melanie 1212cb0c74 Merge branch 'master' into careminster-presence-refactor 2010-09-14 22:03:42 +01:00
Justin Clark-Casey (justincc) fbe72e30eb Improve generic message exception logging. Quieten down complaints about unhandled GenericMessages 2010-09-13 21:52:36 +01:00
Justin Clark-Casey (justincc) e4858b0eeb Add client name to packet resend log messages to make them a bit more informative 2010-09-13 21:29:04 +01:00
Melanie 6a1ce17cdb Merge branch 'master' into careminster-presence-refactor
The modules will need to be updated for this to compile and run again. Please
don't use until I do the companion commit to modules later on.
2010-09-13 16:17:38 +01:00
John Hurliman c03b24cbfd Merged 2010-09-12 14:21:51 -07:00
John Hurliman 0db1ed0b5a * Added ISimulationDataService and IEstateDataService
* Removed StorageManager
* CONFIG CHANGE: There are no more database settings in OpenSim.ini. Check the config-include configuration files for region store and estate store database settings
2010-09-12 14:20:26 -07:00
Jeff Ames f1f0bc23f4 Formatting cleanup. 2010-09-12 13:43:49 -04:00
Melanie 47a5e2633c Prevent child agents from being blacklisted in the kill record. 2010-09-11 20:24:14 +01:00
Melanie 5e5260ad1b Prevent child agents from being blacklisted in the kill record. 2010-09-11 20:22:10 +01:00
John Hurliman 0bebe94231 Rolling back the recent libomv update but keeping the ExpiringCache cleanups (as much as is possible). There was a report of non-finite avatar positions after the update 2010-09-07 15:45:33 -07:00
John Hurliman 9be1c0ff44 * Cache null account responses in the SimianUserAccountServiceConnector to avoid repeated requests for missing avatar IDs
* Updated to OpenMetaverse r3442 to fix a timezone issue with ExpiringCache
2010-09-07 14:41:13 -07:00
Melanie Thielker 6a0a878f7c Remove "Dwell" support from core and replace it with calls to methods
on IDwellModule
2010-09-05 14:28:33 +01:00
Melanie Thielker e593607171 Remove "Dwell" support from core and replace it with calls to methods
on IDwellModule
2010-09-05 14:16:42 +02:00
Melanie 4e0d6e8e41 Merge branch 'master' into careminster-presence-refactor 2010-09-03 03:37:18 +01:00
Melanie Thielker ed72396d9b Show when appearance is sent to an avatar to help track down failure
\to display avatars
2010-09-02 19:59:12 +01:00
Melanie Thielker 713c666827 Show when appearance is sent to an avatar to help track down failure
\to display avatars
2010-09-02 19:49:42 +02:00
Justin Clark-Casey (justincc) b8c58e5f9f reinsert functionality to debug log more levels of incoming and outgoing client protocol packets
These levels correspond to packets that one isn't usually interested in when debugging (e.g. regular outgoing SimStats packets)
This is equivalent to what we had a year ago before it was removed.  It's extremely crude since it doesn't allow one to pick individual clients or packets.  However, it can still be useful when debugging packet race conditions.
2010-08-31 18:27:10 +01:00
Melanie 79bfa275da Merge branch 'master' into careminster-presence-refactor 2010-08-30 02:30:28 +01:00
Jonathan Freedman 0a83fde85c Implements parcel media setting persistence and packet / CAPS handling
properly for the new media settings.

Signed-off-by: Melanie <melanie@t-data.com>
2010-08-30 02:07:55 +01:00
Justin Clark-Casey (justincc) 374807d194 Replace hardcoded 0 with KickFlags provided by the client.
This finally completes http://opensimulator.org/mantis/view.php?id=4356 where this change had been accidentally removed.  Thanks Revolution.
2010-08-28 02:45:28 +01:00
Melanie 1f1d72eba5 Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2010-08-26 23:39:20 +01:00
Melanie 5b4e0b72bc Send a null result search packet when no results are passsed in 2010-08-26 23:38:35 +01:00
Justin Clark-Casey (justincc) d99c60164d Reinstate kill record check that prevents an entity update being sent to a client after it has been told that the entity has been deleted.
On Linden Lab clients and some derivatives, receiving an entity update after an entity deletion notice results in an undeleteable prim that disappears upon client relog.
This check was dropped in 0.7 for unknown reasons but renewed testing demonstrates that queued updates can still be present after a scene object has been deleted.
2010-08-26 16:06:34 +01:00
Melanie 483fc88b07 Merge branch 'master' into careminster-presence-refactor 2010-08-24 17:37:11 +01:00
Melanie de85aabcbe Plumb the region type through to the ProductName field in estate messages 2010-08-24 12:41:21 +01:00
Melanie 1bfec00a88 Merge branch 'master' into careminster-presence-refactor 2010-08-23 23:55:15 +01:00
Justin Clark-Casey (justincc) 74e5fe5aa9 Remove various warnings and improve logging messages. No functional changes. 2010-08-23 22:24:23 +01:00
Melanie Thielker 954329ec85 Don't allow oversized search reply packets 2010-08-21 17:30:41 +01:00
Melanie Thielker 8613336674 Don't allow oversized search reply packets 2010-08-21 17:48:49 +02:00
Melanie e74809ff4c Merge branch 'master' into careminster-presence-refactor 2010-08-18 00:59:20 +01:00
John Hurliman a8c0b131f9 * Changed a few OSD.FromBinary() calls to the more accurate OSD.FromULong() to fix the build 2010-08-17 13:50:04 -07:00
Diva Canto 77de28965a Work on TeleportStart: renamed method from TeleportLocationStart to TeleportStart, and now sending this upon all teleports, not just some, and in the right place (EntityTransferModule). 2010-08-16 11:33:59 -07:00
randomhuman 8eeb3f2fd2 Updated the create_region command in the RemoteAdmin plugin to properly support estates without seeking further input on the console. 2010-08-13 23:29:01 +01:00
Justin Clark-Casey (justincc) c64bef146b minor: remove mono compiler warnings 2010-08-13 23:18:05 +01:00
Melanie Thielker a5a60df687 Change chat packets to bypass the throttles. This should alleviate chat lag 2010-08-11 02:52:52 +02:00
Justin Clark-Casey (justincc) 2a1c11fda9 On shift-copy of an object, set up a new physics actor (as appropriate) for every copied prim, not just the root
This addresses http://opensimulator.org/mantis/view.php?id=4295
2010-08-10 20:15:44 +01:00
Melanie c2e5d1d203 Merge branch 'master' into careminster-presence-refactor 2010-08-10 19:49:35 +01:00
Justin Clark-Casey (justincc) a5dab074a0 Handle incoming ObjectImage (TextureEntry) updates synchronously rather than asynchronously
At least on stock Linden clients, updating the texture on all faces of the prim will actually send an ObjectImage packet for each update.
There is a race condition if these are handled async, meaning that occasionally not all of the faces are correctly updated.
2010-08-10 16:00:35 +01:00
Melanie 321e1148da Merge branch 'master' into careminster-presence-refactor 2010-08-08 18:24:33 +01:00
Melanie cd2c7b9ac9 In my crusade against facelights, I am striking the killing blow. Add a
DisableFacelights option to OpenSim.ini to finally kill those immersion-
breaking, silly vanity lights that destroy nighttime RP. Girls, you look
just fine without them. Guys, you too. Thank you. Melanie has left the building.
2010-08-08 01:57:02 +01:00
Melanie Thielker 50ac61e17f In my crusade against facelights, I am striking the killing blow. Add a
DisableFacelights option to OpenSim.ini to finally kill those immersion-
breaking, silly vanity lights that destroy nighttime RP. Girls, you look
just fine without them. Guys, you too. Thank you. Melanie has left the building.
2010-08-08 02:01:24 +02:00
meta7 b017d985ab Add some nullref checks to the UnackedPacketCollection. 2010-08-07 08:06:41 -07:00
Melanie Thielker 00fd2e0446 Correct display of landmark about info. Also correct region maturity rating
in LM info. Maturity is NOT the parcel's setting, that is only for the
image and text. Parcel maturity is governed by region maturity.
2010-08-07 05:33:49 +01:00
Melanie Thielker c554de7501 Correct display of landmark about info. Also correct region maturity rating
in LM info. Maturity is NOT the parcel's setting, that is only for the
image and text. Parcel maturity is governed by region maturity.
2010-08-07 05:45:52 +02:00
Tom f9f776e407 Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/careminster into careminster-presence-refactor 2010-08-06 11:44:57 -07:00
Tom 330343505c Implement CreateNewOutfitAttachments. This addresses mantis #199. 2010-08-06 11:39:10 -07:00
Melanie 26387252f5 Merge branch 'master' into careminster-presence-refactor 2010-08-06 18:08:40 +01:00
Justin Clark-Casey (justincc) 1270727c96 Merge branch 'moap' 2010-08-06 18:29:30 +01:00
Melanie Thielker 8bdbcda2b7 We already have a record of killed prims. It just wasn't used by the new
JHurlicane code anymore. Use it to prevent sending updates after kills.
2010-08-05 18:50:17 +02:00
Melanie Thielker 4a33210771 Send attachment updates only to the owner if it's a HUD 2010-08-04 18:12:31 +02:00
Melanie 3302e8ddc4 Merge branch 'master' into careminster-presence-refactor 2010-07-31 00:57:50 +01:00
Justin Clark-Casey (justincc) 315b065bce Remove unused LLFileTransfer 2010-07-30 19:58:29 +01:00
Justin Clark-Casey (justincc) b1eb83ed6c start sending media url in object full updates 2010-07-26 23:34:18 +01:00
Tom Grimshaw fabe2206db Ensure that packets do NOT get delivered to a client before the modules that can deal with the client's response have finished loading. 2010-07-17 15:08:59 -07:00
Tom Grimshaw 17412389f3 Revert 233c872.. "* Call client.Start() sunchronously. Calling thos async avoids some stuttering", pending fix for the core issue 2010-07-17 14:34:35 -07:00
Melanie e1ea82b329 Major attachments cleanup. Remove unused AttachObject ClientView method
Clean up use of AttachObject throughout, reduce number of overloads
and number of parameters
2010-07-14 19:51:12 +01:00
Melanie Thielker a7b5fe6a88 Remove useless quaternion parameter from AttachObject sig 2010-07-14 19:49:54 +01:00
Melanie Thielker bebbe407ee Major attachments cleanup. Remove unused AttachObject ClientView method
Clean up use of AttachObject throughout, reduce number of overloads
and number of parameters
2010-07-14 19:58:23 +02:00
Melanie Thielker 0c445239a6 Remove useless quaternion parameter from AttachObject sig 2010-07-14 19:21:01 +02:00
Melanie 05b35eb57c Correct a merge artefact 2010-07-08 18:17:02 +01:00
Melanie 5f400a50be Merge branch 'master' into careminster-presence-refactor 2010-07-08 17:32:57 +01:00
Diva Canto 657056a73f Fixes mantis #4845 2010-07-05 08:48:02 -07:00
Diva Canto b84f72df0b Got rid of all hyperassets references. Also fixed accessing textures in user's inventory in foreign grids. 2010-07-04 14:59:15 -07:00
Diva Canto 02a15bc787 Started to clean up the mess with HyperAssets in LLClientView. Fixed HG access to Notecards in user's inventory. 2010-07-04 13:56:03 -07:00
Tom Grimshaw 4cd5e64231 Use SendTransferAbort in a more sensible place 2010-07-03 09:22:58 -07:00