Teravus Ovares (Dan Olivares)
968b7310f4
* Moved 13 more packet type handlers to PacketHandler Delegates.. and out of of that giant 5000 line switch, ProcessInPacket.
2009-11-22 03:48:56 -05:00
Teravus Ovares (Dan Olivares)
2c8fbc15e8
* Comment out some example code for later.
2009-11-21 21:59:31 -05:00
Teravus Ovares (Dan Olivares)
079691b98f
* Move a few of the ProcessInPacket switch case blocks into packet handler delegates
2009-11-21 21:58:11 -05:00
Teravus Ovares (Dan Olivares)
f7916d10f3
* This fixes landing on Prim and removes the hack from yesterday. Landing on prim should work fine again.
2009-11-21 19:38:38 -05:00
Teravus Ovares (Dan Olivares)
247fc00ce7
* Hack to get avatar to land on prim. This is a big nasty hack that tricks the client into thinking you're landing on the terrain. There are some visual artifacts when you land. It's only temporary until we figure out how this broke.
2009-11-21 06:39:28 -05:00
Teravus Ovares (Dan Olivares)
7760da1a4c
* Fixes the second of two terse update issues. Physical objects should react normally again.
2009-11-21 04:39:41 -05:00
Teravus Ovares (Dan Olivares)
0ffda7128e
* Fixes one of two terse update issues. There's still one left, but this one fixes the situation where the object on the server is moving but no updates are being sent.
2009-11-21 04:33:34 -05:00
Justin Clark-Casey (justincc)
8f0db68424
Fix http://opensimulator.org/mantis/view.php?id=3874 - parenthesis in for statements cause script compile failures
...
This fixes a problem in OpenSim where statements of the form
for ((i = 0); (i < 10); (++i)) { ... }
do not compile even though they are valid lsl.
2009-11-20 18:39:39 +00:00
Justin Clark-Casey (justincc)
622003ab09
minor: tweak log message to say which region is being enabled for logins
2009-11-18 20:27:37 +00:00
Justin Clark-Casey (justincc)
4baac71a5e
refactor: Eliminate redundant CreateSceneViewer call on ScenePresence constructors since this is also done on other called constructors
2009-11-17 18:44:57 +00:00
Justin Clark-Casey (justincc)
710a2afd12
Add scene animator set up to apparantly uncalled no-arg ScenePresence constructor
2009-11-17 16:40:59 +00:00
Justin Clark-Casey (justincc)
da255be05a
refactor: move AvatarAnimations, BinBVHAnimation
2009-11-17 16:25:52 +00:00
Justin Clark-Casey (justincc)
de054bc583
minor: remove mono compiler warning due to unreachable code in GroupsModule
2009-11-17 15:21:29 +00:00
Justin Clark-Casey (justincc)
61c76d1810
refactor: move AnimationSet
2009-11-17 15:20:02 +00:00
Justin Clark-Casey (justincc)
1324082b90
refactor: move most animation methods from ScenePresence into a new ScenePresenceAnimator class
2009-11-17 15:05:40 +00:00
Justin Clark-Casey (justincc)
2606bf4a53
minor: very minor formatting change
2009-11-16 19:16:24 +00:00
Diva Canto
d5c18f6149
Make GroupRootUpdate be a terse update. This method is not used by opensim (it should), but it's used by external modules.
2009-11-14 14:14:08 -08:00
dahlia
2e24415077
undo previous changes
...
add a GetGroupByPrim() method to Scene.cs
delete a redundant method
2009-11-13 22:13:40 -08:00
dahlia
e7d0aa75ba
expose SceneGraph.GetGroupByPrim(UUID)
2009-11-13 20:52:03 -08:00
Justin Clark-Casey (justincc)
96be5e5a88
minor: A further minor tweak to reduce iar load logging verbosity
2009-11-13 20:24:45 +00:00
Justin Clark-Casey (justincc)
fe82471c2b
Apply patch http://opensimulator.org/mantis/view.php?id=4369
...
Adds osGetMapTexture() and osGetRegionMapTexture() methods to retrieve region map texture uuids
2009-11-12 19:42:35 +00:00
Justin Clark-Casey (justincc)
e2b1fb8ff9
refactor: extract another test asset helper method
2009-11-12 19:15:08 +00:00
Justin Clark-Casey (justincc)
ed1089d892
refactor some test asset creation into a helper class
...
remove mono compiler warning
2009-11-12 19:08:00 +00:00
Justin Clark-Casey (justincc)
2f092d271e
Rename test services to mock services, since this is a more accurate description
...
remove duplicate mock inventory service
2009-11-12 18:44:03 +00:00
Justin Clark-Casey (justincc)
d21fc1cefb
minor: for now stop iar tests spewing log messages when running testsuite
2009-11-12 18:33:40 +00:00
Justin Clark-Casey (justincc)
bb92ba97c6
Stop iar save failing on corrupt assets
...
Not ideal since one will still have to watch out for big 'corrupt asset' messages in the log, but better than an outright fail
2009-11-12 18:26:22 +00:00
Justin Clark-Casey (justincc)
cbe1cc1bc8
minor: refactor common setup in uuid gatherer test
2009-11-12 17:50:09 +00:00
Justin Clark-Casey (justincc)
55a40694e7
minor: remove mono compiler warning
2009-11-12 17:42:26 +00:00
Adam Frisby
cedd827f7f
* Added some new syntax options for the Monitor Module's HTTP poll.
2009-11-12 11:17:04 +11:00
dahlia
8ae3df22a2
clean up some cruft
2009-11-11 11:10:42 -08:00
Justin Clark-Casey (justincc)
6d88c96e01
minor: remove mono compiler warning
2009-11-11 18:49:05 +00:00
Justin Clark-Casey (justincc)
00102e73a6
Add basic new uuid gatherer tests to check behaviour when the gather seed is a missing asset
2009-11-11 18:46:04 +00:00
Teravus Ovares (Dan Olivares)
4a2d82e14b
* Thanks to a little help from jhurliman, jradford, diva, mono's brajkovic, miguel, and the fabulous bug reports by our community members.. The workaround fix for the "ERROR:metadata.c:3211:mono_metadata_token_from_dor: code should not be reached" bug in the RegionCombinerModule.
2009-11-11 02:47:17 -05:00
Teravus Ovares (Dan Olivares)
c8268a270f
* Fix resources file mapping
2009-11-11 00:00:21 -05:00
Teravus Ovares (Dan Olivares)
1bb510ab17
* Update namespace in the regioncombinermodule.
2009-11-10 23:43:18 -05:00
Teravus Ovares (Dan Olivares)
2e514bfb1b
* Move RegionCombinerModule to it's own project
...
* Moves the mono_metadata_token_from_dor message to a different module on loading.
2009-11-10 22:40:08 -05:00
Diva Canto
05f7fa1543
Broke the monster RegionLoaded method in RegionCombinerModule into 4 smaller methods. Let's see if this avoids a mono bug that is making megaregions not work in mono. Long shot, but worth a try.
2009-11-10 10:39:16 -08:00
Diva Canto
3294714099
Updated HGUserServices with AuthenticateUserByPassword, so that iar works.
2009-11-10 07:57:54 -08:00
Adam Frisby
90b15aa440
* Added HTTP polling for Statistics Monitor Module (access via http://sim.com:httpport/monitorstats/regionUUID/ )
...
* Returns simple formatted XML document containing statistical data on the current sim.
* Example:
<data>
<AgentCountMonitor>5.0000</AgentCountMonitor>
...
</data>
2009-11-11 00:22:06 +11:00
Mic Bowman
167c15db9d
Fixed XMLRPC return params
...
Signed-off-by: Melanie <melanie@t-data.com>
2009-11-10 04:14:41 +00:00
Melanie
ba99081bbe
Add IScriptModuleComms interface and region module to handle dispatch of
...
script messages to region modules and sending back replies.
Hook IScriptModuleComms.OnScriptCommand to see commands and use
DispatchReply to reply to the script. It is recommended to pass the "id"
parameter from the event as the "k" parameter of the reply.
The script will receive the reply as a link message from link -1.
2009-11-10 03:36:43 +00:00
dahlia
af9b0dcc20
Merge branch 'master' of ssh://dahlia@myConnection01/var/git/opensim
2009-11-09 18:49:13 -08:00
dahlia
3e22bb24f5
add an overload to _SculptMesh for meshing from a list of coordinates
...
add conditional compilation for System.Drawing dependency
2009-11-09 18:44:03 -08:00
Melanie
7df7e6a0bb
Add modSendCommand function (note, this is a new API module, using the API
...
extension mechanism, it's not a osFunction!
2009-11-10 01:22:14 +00:00
John Hurliman
5145dfa53c
* Removing the redundant SendPrimitiveTerseData.State field, it duplicates AttachPoint
...
* LLClientView.CreateImprovedTerseBlock() now uses AttachPoint and does the proper high-low swap (this should fix disappearing attachment pieces)
2009-11-09 17:13:56 -08:00
Justin Clark-Casey (justincc)
a88a463b50
Following various discussions on irc and in the OpenSim dev OSGrid meeting last week, change av_capsule_tilted to false by default
...
This appears to now give better ODE physics response (less sinking into the ground, etc.)
Please change it back if this is actually a bad idea for some reason
2009-11-09 19:26:42 +00:00
Justin Clark-Casey (justincc)
3274bc39c8
minor: remove some mono compiler warnings
2009-11-09 17:43:32 +00:00
Justin Clark-Casey (justincc)
7f5d0a6735
Merge branch 'master' of ssh://justincc@opensimulator.org/var/git/opensim
2009-11-09 17:36:28 +00:00
Justin Clark-Casey (justincc)
716f70cd31
refactor out iar escaping
2009-11-09 17:34:07 +00:00
Justin Clark-Casey (justincc)
1ded7edde2
minor: correct slightly over-enthusiastic load iar logging message
2009-11-09 17:24:06 +00:00
Justin Clark-Casey (justincc)
7c5dc94cc8
fix load iar regression accidentally introduced in last commit
2009-11-09 17:22:18 +00:00
Justin Clark-Casey (justincc)
3c1f50127c
minor: tweak load iar messages to be slightly less verbose
2009-11-09 17:20:30 +00:00
Justin Clark-Casey (justincc)
fbcf6ffc18
minor: provide updates on number of assets loaded while executing "load iar"
2009-11-09 17:17:25 +00:00
Justin Clark-Casey (justincc)
1afe5a528c
minor: remove some mono compiler warnings
2009-11-09 17:09:56 +00:00
Justin Clark-Casey (justincc)
ae92bbcb95
refactor: break actual item load in iar into separate method
2009-11-09 17:04:05 +00:00
Justin Clark-Casey (justincc)
a0c1836fde
minor: remove some old commented out load iar code
2009-11-09 16:43:35 +00:00
Justin Clark-Casey (justincc)
678a74e4f7
Tell the user when a 'save iar' has failed because the inventory path could not be found
2009-11-09 16:42:17 +00:00
Justin Clark-Casey (justincc)
a3105a34ca
Implement human / escaping for inventory folders as well as items
2009-11-09 16:12:13 +00:00
Justin Clark-Casey (justincc)
6820cc93ec
refactor path delimiter in iar utils
2009-11-09 16:08:17 +00:00
Justin Clark-Casey (justincc)
a7af92d5d0
minor: remove some mono compiler warnings
2009-11-09 16:03:15 +00:00
Justin Clark-Casey (justincc)
9b2592a960
refactor: make human iar escape char a constant rather than a magic char
2009-11-09 15:54:43 +00:00
Justin Clark-Casey (justincc)
668850b974
* for iars, allow item names/folders including "/" to be escaped using "\/"
...
* also, "\" has to be escaped as "\\"
* add item name unit test for escaped characters
2009-11-09 15:49:09 +00:00
Melanie
f8bcbe5492
remove the debug stuff
2009-11-08 22:39:00 +00:00
Melanie
aff5fe10b0
test commit with debug output per folder fetch. NOT FOR PRODUCTION, SPEWY
2009-11-08 22:29:36 +00:00
Melanie
81c439bcaa
Patch from Snoopy2. Fixes Mantis #4342
...
fixes problems when group owned land was abandoned by the land owner or reclaimed by the estate manager or by god.
Beside that this new patch makes it possible, that users can buy land directly for a group, if the buyer has the required permissions.
2009-11-08 20:36:00 +00:00
John Hurliman
1cddc85078
Fixing the build break
2009-11-06 00:06:49 -08:00
John Hurliman
dfe4dc735a
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
2009-11-05 23:50:42 -08:00
John Hurliman
6ed57814c1
* Clamp the CoarseLocationUpdate packet at a maximum of 60 positions per 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)
2009-11-05 23:50:17 -08:00
John Hurliman
afef1ac191
Changing the AssetBase constructors to avoid initializing assets with an unknown asset type, and log an error if it ever does happen
2009-11-05 13:10:58 -08:00
John Hurliman
e6d7303b29
Applying #4332 , optional packet statistics logging
2009-11-05 12:01:40 -08:00
Justin Clark-Casey (justincc)
f8f1e94cf8
add unit test for iar & escaping
2009-11-05 19:32:24 +00:00
Justin Clark-Casey (justincc)
6f4a588397
minor test var name tweak
2009-11-05 19:09:32 +00:00
Justin Clark-Casey (justincc)
bae03dfcbd
Merge branch 'master' of ssh://justincc@opensimulator.org/var/git/opensim
2009-11-05 18:53:57 +00:00
Justin Clark-Casey (justincc)
345ddcd0d8
* Escape / character when saving items and folders in an iar so that the loader doesn't barf
2009-11-05 18:53:25 +00:00
Melanie
ec0d5b408a
Change the permissions module to use the friend list cache already in the
...
friends module instead of requesting the entire friends list over the
network each time a prim is touched.
2009-11-05 17:29:52 +00:00
Melanie
b098572525
Remove a spammy debug message from friends list check in the perms module.
...
Replace the integer compares with proper bitflags checking from libOMV.
Friends rights are now functional.
2009-11-05 16:46:39 +00:00
Melanie
83b4b4440b
Patch by revolution, thank you. Mantis #1789 . Implement friends permissions.
...
Applied with major changes. Core functionality commented pending review
for possible rights escalation. No user functionality yet.
2009-11-05 02:09:07 +00:00
Melanie
30a2411e58
Separate folder and item limit for UDP inventory packets. Folder limit is
...
now 6, as before, item limit is 5. This should avoid most, if not
all, oversized packets.
2009-11-04 23:54:19 +00:00
Melanie
a431f346e7
Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim
2009-11-04 23:29:42 +00:00
John Hurliman
a13e25ebbe
Initialize SceneObjectPart.RotationOffset to Quaternion.Identity
2009-11-04 16:19:56 -08:00
John Hurliman
f57a646638
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
2009-11-04 16:08:23 -08:00
John Hurliman
ec2ebf2598
Removing EntityBase.Rotation
2009-11-04 16:08:10 -08:00
Melanie
b6ea7c26ac
Refine oversized packet handling as per jhurliman. Reallocate the buffer to
...
actual packet size only for oversized packets.
2009-11-04 23:12:56 +00:00
Melanie
58be90d2b1
Add some length to the backet buffer for packet sending so oversize
...
inventory packets don't make us barf
2009-11-04 22:47:40 +00:00
Justin Clark-Casey (justincc)
9dd5d63495
minor: remove some mono compiler warnings
2009-11-04 19:44:28 +00:00
Melanie
535f4597c1
Add an overload to OutPacket as per jhurliman. Switch hacky workaround
...
for InventoryDescendents to the proper way
2009-11-04 04:36:19 +00:00
Melanie
cfcb5faa4e
Bounce the pacjet items limit back up to 6
2009-11-04 04:09:46 +00:00
Melanie
5bcc02c97b
Prevent autosplitting of inventory descendents packets. Also reduces the
...
number of items per packet to 5 to prevent asserts
2009-11-04 03:56:31 +00:00
Melanie
4d2ecd1236
Correctly set the totall number of descendents in inventory retrieval
2009-11-04 03:07:21 +00:00
Melanie
c72f78215b
Backport the fixes to WebFetchInventoryDescendents to the UDP
...
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.
2009-11-04 01:56:19 +00:00
Melanie
00130841db
Remove parallel loading from XEngine, but retain the new design where
...
all scripts are loaded from the same thread, rather than launching a
new one for each script. This is only marginally slower, but avoids the
race condition that led to script engine failure.
2009-11-03 20:23:50 +00:00
Justin Clark-Casey (justincc)
af0e5d0974
Merge branch 'master' of ssh://justincc@opensimulator.org/var/git/opensim
2009-11-03 19:11:09 +00:00
Justin Clark-Casey (justincc)
1d737b010c
minor: remove some mono compiler warnings
2009-11-03 18:52:20 +00:00
Diva Canto
9e6f01321e
Fixed a couple of NREs in corner cases.
2009-11-03 10:24:02 -08:00
dahlia
82554e9a89
Delete depricated extrusion methods and redirect to universal extrude method.
...
Sync with PrimMesher.cs r47 on forge.
2009-11-02 22:24:58 -08:00
John Hurliman
1927945053
Another race condition fix in SceneObjectGroup
2009-11-02 15:09:07 -08:00
John Hurliman
0e8b5c7ffa
Fixing race conditions in the SceneObjectPart properties
2009-11-02 11:40:57 -08:00
John Hurliman
67ac9881fa
Removing duplicate SceneObjectPart.RotationalVelocity property
2009-11-02 11:28:35 -08:00
Adam Frisby
3c0881c83c
* Committing missing file from last commit.
2009-11-02 00:20:41 +11:00
Adam Frisby
838bc80ab9
* Implemented some tweaks to monitoring module.
...
* Output is prettier & more useful.
* Added 'Alerts' to allow rules to be constructed using Monitors to detect for events such as deadlocks. This will be translated to SNMP Traps when I get SNMP implemented.
2009-11-02 00:05:49 +11:00
Adam Frisby
711dde34e4
* Implements new 'Monitoring' system for reporting performance.
...
* Mostly the same set as the StatsMonitor used for Viewer notification, but exposes some new frametimes - including EventMS, PhysicsUpdateMS, LandUpdateMS; new memory monitoring - both GC.TotalMemory and Process.PrivateWorkingMemory64; also exposes ThreadCount (using System.Diagnostics.Process)
* Type 'monitor report' on the console to see output.
* SNMP Implementation forthcoming.
2009-11-01 19:37:40 +11:00
Diva Canto
58c260140c
Patch + minor formatting fixes.
2009-10-31 19:10:33 -07:00
Douglas R. Miles
7f4d646aea
http://opensimulator.org/mantis/view.php?id=4337
2009-10-31 19:05:02 -07:00
Melanie
c6246050d9
Make the default and max RTO configurable int he linden client stack
2009-10-30 22:07:56 +00:00
Melanie
92f4835ba6
Convert the AvatarGroupsReply message to the event queue.
2009-10-30 19:54:56 +00:00
Melanie
39f95e8cf0
Add a using for OSD to the client view
2009-10-30 19:44:01 +00:00
John Hurliman
cb1492aaf0
Fixed a regression in SendAvatarGroupsReply()
2009-10-30 13:18:18 -07:00
John Hurliman
5d5d0e699a
* Disables automatic packet splitting on AvatarGroupsReply packets. This 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
2009-10-30 11:12:32 -07:00
John Hurliman
8a73dc0f8a
* Fix for a potential race condition in ScenePresence.AbsolutePosition
...
* 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
2009-10-30 03:01:15 -07:00
John Hurliman
7965b6eb61
* Moving parcel media and avatar update packets from the unthrottled 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
2009-10-30 00:43:46 -07:00
John Hurliman
a05c67bebb
* Fixes issue #4329 "llDialog fails silently" by updating OpenMetaverse.dll
...
* Prints a warning for any future packet splitting failures
2009-10-30 00:08:41 -07:00
John Hurliman
aecaa51063
* Fixed a NullReferenceException in GetMovementAnimation() and added more protection against NREs in AddNewMovement()
...
* Removed the three second limit on ImprovedTerseObjectUpdate. With the latest fixes I don't think this is necessary, and it generates a lot of unnecessary updates in a crowded sim
2009-10-29 16:31:48 -07:00
John Hurliman
2913c24c8a
* Commented out two noisy debug lines in the LLUDP server
...
* Misc. cleanup in ScenePresence.HandleAgentUpdate()
2009-10-29 15:24:31 -07:00
John Hurliman
ec7fd8b1f8
More performance improvements to XEngine script loading
2009-10-29 06:42:40 -07:00
John Hurliman
dd13fa361b
* Misc. formatting cleanup for the previous patch
...
* Added the new AppDomainLoading variable to the [XEngine] section in the example config
2009-10-29 05:56:37 -07:00
Dan Lake
33448e4ba8
Optimizations
2009-10-29 05:39:18 -07:00
John Hurliman
5c894dac8b
* Implemented foot collision plane for avatars
...
* Fixed a NullReferenceException regression
2009-10-29 05:34:40 -07:00
John Hurliman
3f2d6fe470
Ported the Simian avatar animation system to OpenSim. Landing is currently not working
2009-10-29 04:13:51 -07:00
John Hurliman
fd2c99f184
Fixing NullReferenceException regression in the previous commit
2009-10-29 02:10:48 -07:00
John Hurliman
7132877075
* Log progress messages when loading OAR files with a lot of assets
...
* Change the PhysicsCollision callback for objects to send full contact point information. This will be used to calculate the collision plane for avatars
* Send the physics engine velocity in terse updates, not the current force being applied to the avatar. This should fix several issues including crouching through the floor and walking through walls
2009-10-29 01:46:58 -07:00
John Hurliman
59eb378d16
Small performance tweaks to code called by the heartbeat loop
2009-10-28 23:10:16 -07:00
John Hurliman
1c9696a9d2
Always send a time dilation of 1.0 while we debug rubberbanding issues
2009-10-28 15:11:01 -07:00
John Hurliman
a069a1ee68
Limit physics time dilation to 1.0
2009-10-28 14:44:05 -07:00
John Hurliman
b81c829576
* Standalone logins will now go through the sequence of "requested region, default region, any region" before giving up
...
* Hip offset should have been added not subtracted (it's a negative offset). This puts avatar feet closer to the ground
* Improved duplicate checking for terse updates. This should reduce bandwidth and walking through walls
2009-10-28 14:13:17 -07:00
John Hurliman
c003f49432
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
2009-10-28 12:45:56 -07:00
John Hurliman
a65c8cdc38
* Reduce the velocity tolerance on sending terse updates to avoid slowly drifting prims/avatars
...
* Added contacts_per_collision to the ODE config section. This allows you to reduce the maximum number of contact points ODE will generate per collision and reduce the size of the array that stores contact structures
2009-10-28 12:45:40 -07:00
John Hurliman
ee0f7e10c8
Fixed a bad check on velocity in the ODE near() callback (it was only checking for velocity in certain directions, and was calling the get_Velocity() function three times)
2009-10-28 12:20:34 -07:00
Melanie
184e85cdec
Merge branch 'master' of ssh://melanie@opensimulator.org/var/git/opensim
2009-10-28 18:26:31 +00:00
Melanie
c17359fea5
Adding changes to previous patch to make it fit into core better
2009-10-28 18:25:37 +00:00
Fredo Chaplin
bff0d75e0f
patch kill by UUID
...
Signed-off-by: Melanie <melanie@t-data.com>
2009-10-28 18:09:50 +00:00
John Hurliman
cdbeb8b83b
Track timestamps when terse updates were last sent for a prim or avatar to avoid floating away forever until a key is pressed (deviates from SL behavior in a hopefully good way)
2009-10-28 03:21:53 -07:00
John Hurliman
587c35f6b6
Marking ImprovedTerseObjectUpdate packets for avatars as unthrottled to test
2009-10-28 02:30:16 -07:00
John Hurliman
2d470f8bde
Switching sculpty from CSJ2K back to OpenJPEG for now until more kinks are ironed out
2009-10-28 01:48:53 -07:00
John Hurliman
e31024f08b
Print the exception message when CSJ2K decoding fails for sculpty textures
2009-10-28 01:30:39 -07:00
Mikko Pallari
8254256fe9
Modified visibilities of properties and methods. This is so that SL client based clients can use UDP server that is inherited from LLUDPServer.
2009-10-28 00:41:13 -07:00
Diva Canto
6a6a8df1ba
Make map search work also for hyperlinked regions.
2009-10-27 20:32:48 -07:00
John Hurliman
0c466b28bb
Move the calculation of time dilation from the scene to the physics engine. The scene is still the one reporting dilation so this does not break the API or remove flexibility, but it gets the calculation happening in the right place for the normal OpenSim usage. The actual calculation of physics time dilation probably needs tweaking
2009-10-27 16:24:43 -07:00
John Hurliman
f89c2cac0f
Experimental test to rate limit the incoming packet handler and try to always leave a worker thread available for other tasks
2009-10-27 14:16:01 -07:00
John Hurliman
2525810e2a
Removed the DotNetEngine scripting engine. You will need to create a fresh checkout or clean out all *DotNet*.dll assemblies from the bin/ directory to run OpenSim moving forward
2009-10-27 13:31:04 -07:00
John Hurliman
fefe767476
Lowering the position tolerance of terse updates for ScenePresences to mitigate some of the rubberbanding issues while we are sending incorrect time dilation values
2009-10-27 13:16:58 -07:00
John Hurliman
a718d7d56a
Making the defaults for interest management variables match whether you have the [InterestManagement] section in your config or not
2009-10-27 10:17:20 -07:00
John Hurliman
bcd7593dfb
Forgot a line in the previous commit
2009-10-27 10:07:35 -07:00
John Hurliman
3a1ee79ee4
Finally hunted down the Parallel deadlock. Packets were being handled asynchronously (filling up the threadpool with handlers), which would turn around and try to do parallel operations on the starved threadpool. The solution for now is to disable Parallel.cs operations until we can gracefully handle parallel operations with a potentially starved threadpool
2009-10-27 02:36:57 -07:00
John Hurliman
c75d415648
* Converts ClientManager.ForEach() (and as a result, Scene.ForEachClient()) to use a non-blocking parallel method when operating in async mode
...
* Minor code readability cleanup
2009-10-27 00:26:56 -07:00
John Hurliman
f5cad91578
* Switched from OpenJPEG to CSJ2K in Meshmerizer
...
* Tested the previous patch and found no regressions
2009-10-26 19:03:55 -07:00
John Hurliman
d199767e69
Experimental change of PhysicsVector to Vector3. Untested
2009-10-26 18:23:43 -07:00
John Hurliman
b6651ce790
* Double the priority on avatar bake texture requests to get avatars rezzing in faster than the surrounding scene
...
* Adds duplicate tracking for SceneObjectParts and ScenePresences to avoid sending out duplicate ImprovedTerseObjectUpdate packets
2009-10-26 18:22:32 -07:00
John Hurliman
0b1726b524
Removing the ClientManager reference from IScene and hiding it entirely 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
2009-10-26 16:48:43 -07:00
John Hurliman
4847e62e9f
* Switched all operations on the list of clients that could be either sync 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
2009-10-26 16:33:04 -07:00
John Hurliman
119cf80e13
Added calls to GC.AddMemoryPressure() when unmanaged memory is allocated for ODE (helps the GC make better scheduling choices), and a call to GC.Collect() right before logins are enabled for a region. Although this doesn't change actual memory usage, it improves the reported usage from OpenSim and the operating system
2009-10-26 15:52:59 -07:00
Dan Lake
428bd7a74b
No need to create dupe TriMeshData for ODE. A previous patch created a dictionary to store unique meshes in Meshmerizer based on creation params. This patch contains a dictionary to map each of those unique meshes to its ODE TriMeshData. This eliminated hundreds of megabytes of memory consumption in the unmanaged heap when there are lots of the same prim (roof tiles, bricks, siding, decks, chairs, etc). The objects do not need to be physical to benefit from this patch.
2009-10-26 15:14:19 -07:00
Dan Lake
ad624f703d
ParcelObjectOwnersReplyPacket has null DataBlock when a client requests a list of their prims in the region and none exist. Instead of leaving pack.Data null, this patch sets a new DataBlock[0];
2009-10-26 15:14:13 -07:00
John Hurliman
ff4b45a1e3
Do case-insensitive comparisons on region names in LLStandaloneLoginModule
2009-10-26 15:12:43 -07:00
John Hurliman
ac7ccdf7d7
* Changed the watchdog timer to improve the speed of UpdateThread(), only track threads once the first call to UpdateThread() has been made, and allow re-tracking of threads that timed out but revived later
...
* Added a commented out call to Watchdog.UpdateThread() in OdeScene. If it turns out that loading a large OAR file or some other operation is timing out the heartbeat thread, we'll need to uncomment it
2009-10-26 14:41:27 -07:00
John Hurliman
c04775bf68
Changed UseCircuitCode handling to be synchronous or asynchronous depending on the async_packet_handling config option, and added a debug log message when a UseCircuitCode packet is handled
2009-10-26 13:38:07 -07:00
John Hurliman
ff65b50236
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
2009-10-26 11:28:43 -07:00
John Hurliman
2222172afa
Removed an unnecessary lock in LLUDPClient.UpdateRTO() and LLUDPClient.BackoffRTO()
2009-10-26 11:28:02 -07:00
Melanie
1209db6dcd
Thank you, RemedyTomm, for an update to your previous patch. Garbage-collect
...
the transfers that never happen.
2009-10-26 15:51:28 +00:00
Melanie
7df54d4ad2
Thank you, RemedyTomm, for a patch to handle Xfer requests being dropped
...
before the file data to be transfered is ready.
2009-10-26 04:52:11 +00:00
John Hurliman
de25dcfb7b
Minor tweaks to get OpenSim compiling against both the current libomv and the upcoming 0.8.0
2009-10-25 01:10:02 -07:00
John Hurliman
730930955a
Changing Scene.ForEachClient to use the synchronous for loop instead of 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
2009-10-25 00:40:21 -07:00
John Hurliman
2c34619aea
* Changed various modules to not initialize timers unless the module is initialized. Ideally, the timers would not initialize unless the module was actually enabled, but Melanie's work on configuring module loading from a config file should make that unnecessary
...
* Wrapped the Bitmap class used to generate the world map tile in a using statement to dispose of it after the JPEG2000 data is created
2009-10-23 14:22:21 -07:00
John Hurliman
a41cd1d069
* Unregister Mono.Addins event handlers in PluginLoader.Dispose() and always 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
2009-10-23 13:14:29 -07:00
John Hurliman
c749cf0061
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
2009-10-23 10:37:01 -07:00
John Hurliman
4c45b5fd3c
Cleaning up OpenSim.ini.example for LLUDP. The [LLClient] section has been removed and several new parameters have been added to [ClientStack.LindenUDP]
2009-10-23 10:35:47 -07:00
dslake
8ba3afb59b
Patch from dslake http://opensimulator.org/mantis/view.php?id=4291 0004291: Inconsistent locking of ODE tainted prims
2009-10-23 12:14:05 -04:00
unknown
71c929137f
Inconsistent locking of SenseRepeaters in Script Engine.
...
When I attempt to 'save oar' on a region with thousands of scripts with timers, I get a NullReferenceException every time. The problem comes from inconsistent locking in SensorRepeat.cs of the SenseRepeaters List. It is iterated and modified in many places and these places are all wrapped in a lock except in the GetSerializationData(). This is the function throwing the exception because an item in the list becomes null during iteration.
The attached patch locks SenseRepeatListLock in GetSerializationData()
2009-10-23 11:25:06 +01:00
John Hurliman
62f1a5e36d
Implemented a "FrontBack" prioritizer, using distance plus the plane equation to give double weight to prims/avatars in front of you
2009-10-23 02:38:59 -07:00
John Hurliman
37f7277378
Uncommented the resend log line so the previous commit can be seen in action
2009-10-23 01:33:43 -07:00
John Hurliman
ac0acb0296
* Changed the max RTO value to 60 seconds to comply with RFC 2988
...
* Implemented section 5.5, exponential backoff of the RTO after a resend
2009-10-23 01:33:05 -07:00
John Hurliman
53bf479bab
Commented out noisy debugging about resent packets (normal) and agents setting throttles (normal)
2009-10-23 01:11:40 -07:00
John Hurliman
588361e2a2
Experimental change to use an immutable array for iterating ScenePresences, avoiding locking and copying the list each time it is accessed
2009-10-23 01:02:36 -07:00
Teravus Ovares (Dan Olivares)
f34e8adffb
* Moved Copyrights above the comments in ODEPrim and ODEDynamics so they're consistent with the rest (and so chi11ken's auto copyright adding script doesn't duplicate the copyright.
2009-10-22 18:28:42 -04:00
John Hurliman
ba2972eaf6
* Send out m_bodyRot everywhere instead of m_rotation. Still have no clue which is right
...
* Fix WorldMapModule.process() to not trip the watchdog timer
2009-10-22 14:33:54 -07:00
John Hurliman
4ba3842d71
Forgot to hit save in the last commit
2009-10-22 13:24:24 -07:00
John Hurliman
167d8e39fa
* Sending (position - hipoffset) instead of position
...
* Sending m_rotation instead of m_bodyRot in full updates to match terse updates (no idea which one is right!)
2009-10-22 13:14:41 -07:00
John Hurliman
a16c3bf446
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
2009-10-22 12:34:47 -07:00
John Hurliman
b2ed348aa2
Implemented a Watchdog class. Do not manually create Thread objects anymore, 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
2009-10-22 12:33:23 -07:00
KittoFlora
227c832d3b
Commented out instrumentation in ODEPrim.cs
2009-10-22 19:15:35 +01:00
Melanie
fc4ff09181
Merge branch 'vehicles'
2009-10-22 17:39:19 +01:00
Snowcrash
84ac0f56f5
Fixing the patch to the patch
2009-10-22 17:36:52 +01:00
Snowcrash
47d8b6c5f5
Fix rounding error in PRIM_SIZE portion of llSetPrimitiveParams
2009-10-22 17:36:49 +01:00
Jeff Ames
d756fa01ae
Add copyright header. Formatting cleanup.
2009-10-22 18:57:24 +09:00
John Hurliman
5d07e18980
A synchronous call to the messaging server was blocking the process of promoting an agent to a root agent (logins and teleports). Changed to an async method
2009-10-22 02:27:06 -07:00
John Hurliman
2f394b7e7e
* Allow SmartThreadPool to be initialized without setting max stack size (like the original implementation)
...
* Only initialize Util's SmartThreadPool if it is actually being used
* No longer initializing Util's SmartThreadPool with a custom max stack size. From MSDN: "Avoid using this constructor overload. The default stack size used by the Thread(ThreadStart) constructor overload is the recommended stack size for threads."
2009-10-22 01:30:12 -07:00
Melanie
c4969d47d9
Merge branch 'master' into vehicles
2009-10-22 07:12:10 +01:00
Melanie
b35fbe1f98
Merge branch 'melanie_test' into prioritization
...
This makes SmartThreadPool configurable and also makes it the default, since
the regular thread pool simply stinks.
2009-10-22 07:02:21 +01:00
John Hurliman
32ccd5bb40
* Changed the misc. methods calling ThreadPool.UnsafeQueueUserWorkItem() to 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
2009-10-21 23:03:18 -07:00
Melanie
624af66c35
Make the LSL scripting delays take full effect. To tune, tweat the
...
ScriptDelayFactor in config
2009-10-22 05:42:34 +01:00
Melanie
8ce4fd7234
Reduce the default pool threads to 15 (from 30) and the minimum from 5 to 2
2009-10-22 04:02:26 +01:00
Melanie
8a336c6860
Add MaxPoolThreads in startup to limit the size of the thread pool used
...
for FireAndForget. This lets us limit concurrency to make OpenSim play nice
2009-10-22 02:28:53 +01:00
John Hurliman
6492640e72
* Change the OnQueueEmpty signature to send the flags of the queues that are 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)
2009-10-21 18:03:41 -07:00
John Hurliman
4e04f6b3a5
* Clarified what FireQueueEmpty is doing with a MIN_CALLBACK_MS constant and 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()
2009-10-21 17:02:55 -07:00
John Hurliman
2b39ff0a39
Merged master into prioritization
2009-10-21 16:24:17 -07:00
John Hurliman
b06f258319
* FireQueueEmpty now checks if a measurable amount of time has passed, and 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
2009-10-21 16:21:08 -07:00
John Hurliman
2752a3525c
* Changed the timing calculations for sending resends/acks/pings from per-client back to per-scene
...
* Testing a fix from Jim to make the cpu usage fix cleaner
2009-10-21 15:22:23 -07:00
John Hurliman
62f1bfd136
Testing out a hack to identify the source of the high cpu usage
2009-10-21 14:25:22 -07:00
John Hurliman
bb4da417ad
Removing the Sleep(0) call from the OutgoingPacketHandler
2009-10-21 14:03:49 -07:00
John Hurliman
7ee422a344
* Handle UseCircuitCode packets asynchronously. Adding an agent to a scene can take several seconds, and was blocking up packet handling in the meantime
...
* Clamp retransmission timeout values between three and 10 seconds
* Log outgoing time for a packet right after it is sent instead of well before
* Loop through the entire UnackedPacketCollection when looking for expired packets
2009-10-21 13:47:16 -07:00
Melanie
d88bb83136
Fix llParticleSystem to accept LSL variables and LSL constants in place
...
of the named constants for the rule selector.
Information provided by Snowcrash
2009-10-21 20:47:24 +01:00