Commit Graph

932 Commits (c6e6614a447b541d9d985c2a3dd3bb50a89f9b07)

Author SHA1 Message Date
Melanie be4c8c4931 Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/ScriptEngine/XEngine/XEngine.cs
2013-01-24 00:25:08 +00:00
Justin Clark-Casey (justincc) 55c6753b13 Merge branch 'master' into cooptermination 2013-01-24 00:03:44 +00:00
Melanie fc1c77b42d Merge branch 'avination' into careminster 2013-01-23 19:31:27 +00:00
Melanie cc4cfd9fa8 Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
	OpenSim/Region/Physics/BulletSNPlugin/BSShapeCollection.cs
2013-01-23 02:38:59 +00:00
Justin Clark-Casey (justincc) cf168194e5 If ScriptStopStrategy hasn't been set to co-op in [XEngine] config, then continue to generate C# that is functionality identical to historical generation
This is to eliminate disruption until co-op termination has been well-tested.
In non co-op mode, XEngine will continue to load DLLs of the existing Script class and the new XEngineScript class.
Moving to co-op mode still requires existing script DLL deletion to force recompilation, either manually or by setting DeleteScriptsOnStartup = true for one run.
This change also means that scripts which fail to initialize do not still show up as running scripts.
2013-01-23 02:36:43 +00:00
Melanie b7b3063849 Implement HTTP Request froma thread pool to avoid packet congestion 2013-01-20 18:38:00 +01:00
teravus 2c517d792f This updates prebuild to remove BulletSimN, implements the BulletSim API in BulletSPlugin using the BulletXNA Bullet physics engine. It also updates the BulletXNA library to be compatible with the changes. OpenSimDefaults has been updated to describe how to switch engines and terrain implementations. 2013-01-20 08:18:16 -05:00
teravus 10de5d8169 * Allow unsafe code with BulletSim 2013-01-20 08:03:17 -05:00
Justin Clark-Casey (justincc) c8afc8523b Implement non-wait co-operative termination of scripts for XEngine in addition to termination on wait.
This involves inserting opensim_reserved_CheckForCoopTermination() calls in lsl -> c# translation at any place where the script could be in a loop with no wait calls.
These places are for, while, do-while, label, user function call and manual event function call.
Call goes through to an XEngineScriptBase which extends ScriptBase.
IEngine is extended to supply necessary engine-specific parent class references and constructor parameters to Compiler.
Unfortunately, since XEngineScriptBase has to be passed WaitHandle in its constructor, older compiled scripts will fail to load with an error on the OpenSim console.
Such scripts will need to be recompiled, either by removing all *.dll files from the bin/ScriptEngines/<region-id> or by setting DeleteScriptsOnStartup = true in [XEngine] for one run.
Automatic recompilation may be implemented in a later commit.
This feature should not yet be used, default remains termination with Thread.Abort() which will work as normal once scripts are recompiled.
2013-01-17 23:39:09 +00:00
Melanie 818254916c JustinCC's core re-merge 2013-01-16 15:47:55 +00:00
Justin Clark-Casey (justincc) 0963ece25b Implement co-operative script termination if termination comes during a script wait event (llSleep(), etc.)
This makes use of EventWaitHandles since various web references indicate that Thread.Interrupt() can also cause runtime instability.
If co-op termination is enabled, then termination sets the wait handle instead of waiting for a timeout before possibly aborting the thread.
This allows the script to cleanly terminate if it's in a llSleep/LL function delay or the next time it enters such a wait without any timeout period.
Co-op termination is not yet testable since checking for termination request within loops that never trigger a wait is not yet implemented.
This commit, unlike 1b5c41c, passes the wait handle as an extra parameter through IScript.Initialize() instead of passing IScriptInstance itself.
2013-01-16 02:07:43 +00:00
Justin Clark-Casey (justincc) b8949024bc Revert "Implement co-operative script termination if termination comes during a script wait event (llSleep(), etc.)"
Doing this as a favour to Melanie.  This will be back with passing the wait handles directly to the api.

This reverts commit 1b5c41c14a.
2013-01-16 01:45:09 +00:00
Justin Clark-Casey (justincc) 1b5c41c14a Implement co-operative script termination if termination comes during a script wait event (llSleep(), etc.)
This makes use of EventWaitHandles since various web references indicate that Thread.Interrupt() can also cause runtime instability.
If co-op termination is enabled, then termination sets the wait handle instead of waiting for a timeout before possibly aborting the thread.
This allows the script to cleanly terminate if it's in a llSleep/LL function delay or the next time it enters such a wait without any timeout period.
Co-op termination is not yet testable since checking for termination request within loops that never trigger a wait is not yet implemented.
2013-01-16 00:12:40 +00:00
Justin Clark-Casey (justincc) fccb03227e Instead of passing separate engine, part and item components to script APIs, pass down IScriptInstance instead.
This is to allow the future co-operative script thread terminate feature to detect and act upon termination requests.
This splits the assembly and state loading out from the ScriptInstance() constructor to a separate Load() method
in order to facilititate continued script logic regression testing.
2013-01-15 21:13:22 +00:00
Melanie 7943c8d11c Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
2013-01-02 11:52:37 +00:00
Robert Adams 48f718f39f BulletSim: first round of conversion from direct BulletSimAPI interfacing by BulletSim core to using the BulletSimAPITemplate. Physical object creation and destruction first. 2012-12-31 19:57:21 -08:00
Melanie 258588d5b5 Merge branch 'master' into careminster 2012-12-26 01:16:08 +00:00
teravus 92e4f9f412 * Initial commit of BulletSimN (BulletSNPlugin). Purely C# implementation of BulletSim. This is designed to be /as close as possible/ to the BulletSim plugin while still being entirely in the managed space to make keeping it up to date easy as possible (no thinking work). This implementation is /slower/ then the c++ version just because it's fully managed, so it's not appropriate for huge sims, but it will run small ones OK. At the moment, it supports all known features of BulletSim. Think of it like.. POS but everything works. To use this plugin, set the physics plugin to BulletSimN. 2012-12-23 15:21:25 -05:00
Melanie f30d519bcc Merge branch 'master' into careminster 2012-12-09 21:27:32 +00:00
BlueWall 063f37cf73 One more time...
needed one more "../" in the path (copy paste): Thanks BrucePatton for catching that one
2012-12-07 20:03:15 -05:00
BlueWall a6e5a2f4df Prebuild fix
Had moved the class to a different namespace but failed to add the reference
2012-12-07 19:41:07 -05:00
BlueWall 0b455d2882 Merge branch 'master' into connector_plugin 2012-12-07 15:36:43 -05:00
Melanie 2cb824d3fc Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/CoreModules/Avatar/InstantMessage/MessageTransferModule.cs
	OpenSim/Region/Framework/Scenes/Scene.cs
2012-12-07 03:49:04 +00:00
Justin Clark-Casey (justincc) 7fdc251774 Add path references for Mono.Addins where they were missing for DataSnapshot and UserStatistics.
Should address http://opensimulator.org/mantis/view.php?id=6444
Appears that nant doesn't need these paths but building directly in monodevelop does.
2012-12-04 22:24:51 +00:00
BlueWall c754003944 Merge branch 'master' into connector_plugin
Conflicts:
	OpenSim/Server/Base/ServicesServerBase.cs
2012-11-25 17:03:14 -05:00
Melanie fd7a83f439 Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs
	OpenSim/Region/CoreModules/World/Land/LandManagementModule.cs
2012-11-25 14:13:50 +00:00
Justin Clark-Casey (justincc) 22d4c52ffc Consistenly make NUnit test cases inherit from OpenSimTestCase which automatically turns off any logging enabled between tests 2012-11-24 03:15:24 +00:00
Justin Clark-Casey (justincc) 82690e1384 Fix bug where loading an OAR with a deeded parcel would always set the parcel owner ID to the estate owner even if the group UUID was present.
Aims to address http://opensimulator.org/mantis/view.php?id=6355
As part of this work, an incomplete IXGroupsData was added which currently only allows store/fetch/delete of group records
(i.e. no membership data etc)
This is subject to change and currently only an in-memory storage implementation exists for regression test purposes.
2012-11-24 02:43:31 +00:00
Melanie c2e89334b8 Merge branch 'master' into careminster 2012-11-23 01:44:35 +00:00
justincc 7133b6bb4f Fix recent windows build break.
Add missing OpenSim.Framework.Servers reference
2012-11-23 01:43:11 +00:00
Melanie 3c1a58c67a Merge branch 'master' into careminster 2012-11-22 13:37:27 +00:00
Justin Clark-Casey (justincc) 45d1e6ab09 Make "show info" command available across all servers
This helpfully lists version information, startup location and console log level
2012-11-22 04:45:53 +00:00
Melanie c4c6121752 Merge branch 'master' into careminster 2012-11-22 03:17:33 +00:00
Justin Clark-Casey (justincc) bac8ac32da Add regression test for a good request made to the asset service post handler.
Adds new OpenSim.Server.Handlers.Tests.dll to test suite
2012-11-21 23:42:34 +00:00
Melanie e4659a83f1 Merge branch 'master' into careminster 2012-11-17 02:03:24 +00:00
Justin Clark-Casey (justincc) e25c51330a Add basic XInventoryServicesTests.TestAddItem() regression test. 2012-11-17 00:12:25 +00:00
Melanie 5895c4cc6f Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs
2012-11-15 03:46:10 +00:00
Justin Clark-Casey (justincc) 0c4efdc6a8 Fix build break from 1aa0271 by adding System.Core to prebuild.xml 2012-11-15 03:32:03 +00:00
BlueWall 07f1d44174 Merge branch 'master' into connector_plugin 2012-10-20 05:25:58 -04:00
BlueWall 99bb6c9304 Move PluginManager
Move PluginManager out to OpenSimFramework for general use
2012-10-19 07:38:36 -04:00
Melanie 6ce93b22d1 Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
	OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs
	OpenSim/Region/Framework/Scenes/Scene.cs
2012-10-12 19:05:06 +01:00
Justin Clark-Casey (justincc) 1e86c58822 Remove now unnecessary OpenSim.Framework.Console reference from Monitoring.
Properly resolve circular reference which no longer appeared in Mono build as there were no using statements for it.
2012-10-12 01:58:46 +01:00
Justin Clark-Casey (justincc) 387ce8ef35 Fix build break by moving OpenSim.Framework.Console back below HttpServer in the build order.
Luckily, it turns out Framework.Monitoring doesn't need to reference Console directly.
2012-10-12 00:10:51 +01:00
Justin Clark-Casey (justincc) 1f2472d0fc Extend "show stats" command to "show stats [list|all|<category name>]"
This allows different categories of stats to be shown, with options to list categories or show all stats.
Currently categories are scene and simulator and only a very few stats are currently registered via this mechanism.
This commit also adds percentage stats for packets and blocks reused from the packet pool.
2012-10-11 23:28:53 +01:00
BlueWall 08f6c8065e Add System.Core to references 2012-10-10 09:32:31 -04:00
BlueWall 252af020b0 Merge branch 'master' into connector_plugin
Conflicts:
	OpenSim/Server/ServerMain.cs
2012-10-09 06:44:14 -04:00
Melanie f7df68d922 Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/CoreModules/Avatar/Lure/LureModule.cs
	OpenSim/Region/Framework/Scenes/Scene.cs
	OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
	OpenSim/Services/Connectors/Asset/AssetServicesConnector.cs
2012-10-07 02:48:28 +01:00
BlueWall 440726250c Added parts to manage repositories and plugin management
This is working - more testing to follow, then soem documentation
2012-10-06 11:48:21 -04:00
Justin Clark-Casey (justincc) d87813a194 Finally fix build break by allowing UserManagementModule (which constructs a packet directly) to reference OpenSim.Region.ClientStack.LindenUDP.
This time I actually properly did a clean build
2012-10-05 02:02:19 +01:00
Melanie 001ec0e2e6 Merge branch 'avination' into careminster
Conflicts:
	OpenSim/Region/CoreModules/Agent/AssetTransaction/AgentAssetsTransactions.cs
	OpenSim/Region/Framework/Scenes/Scene.cs
2012-09-27 17:29:44 +01:00