Commit Graph

179 Commits

Author SHA1 Message Date
Melanie
64393a7ca8 Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/Framework/Scenes/Scene.cs
2012-07-13 02:27:16 +01:00
Justin Clark-Casey (justincc)
884d603cac Rather than instantiating a UTF8 encoding everywhere when we want to supress the BOM, use a single Util.UTF8NoBomEncoding.
This class is thread-safe (as evidenced by the provision of the system-wide Encoding.UTF8 which does not suppress BOM on output).
2012-07-13 01:03:28 +01:00
Melanie
d632fd7124 Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs
	OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
	OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
	OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs
2012-07-12 08:55:16 +01:00
Justin Clark-Casey (justincc)
916e3bf886 Where possible, use the system Encoding.ASCII and Encoding.UTF8 rather than constructing fresh copies.
The encodings are thread-safe and already used in such a manner in other places.
This isn't done where Byte Order Mark output is suppressed, since Encoding.UTF8 is constructed to output the BOM.
2012-07-11 22:54:22 +01:00
Melanie
ee9210f656 Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs
2012-03-21 00:26:02 +00:00
Melanie
7a0d7be44c Refix the fixed fix! 2012-03-21 00:17:58 +00:00
Diva Canto
f7c61790b7 Fixed borkness with previous merge. 2012-03-20 17:25:52 -07:00
Diva Canto
841b4232f6 Line endings 2012-03-20 17:19:55 -07:00
Diva Canto
3fa51f66ec Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
Conflicts:
	OpenSim/Framework/Util.cs
2012-03-20 17:19:14 -07:00
Diva Canto
d08ad6459a HG Friends: allow the establishment of HG friendships without requiring co-presence in the same sim. Using avatar picker, users can now search for names such as "first.last@grid.com:9000", find them, and request friendship. Friendship requests are stored if target user is offline. TESTED ON STANDALONE ONLY. 2012-03-20 17:14:19 -07:00
Melanie
35c3124c3b Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/Framework/Scenes/Scene.cs
2012-03-20 23:39:02 +00:00
Justin Clark-Casey (justincc)
30b2a8c778 Move frame loop entirely within Scene.Update() for better future performance analysis and stat accuracy.
Update() now accepts a frames parameter which can control the number of frames updated.
-1 will update until shutdown.
The watchdog updating moves above the maintc recalculation for any required sleep since it should be accounted for within the frame.
2012-03-20 23:12:21 +00:00
Melanie
c7e302864a Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs
	OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs
	OpenSim/Region/Framework/Scenes/Scene.cs
2012-03-18 20:44:56 +00:00
Justin Clark-Casey (justincc)
6e8f80f1ab Improve threadpool reporting to "show threads" console command (also gets printed out periodically) 2012-03-16 03:26:47 +00:00
Justin Clark-Casey (justincc)
421b562a04 Add process working memory to "show stats" memory statistics.
This shows the actual amount of RAM being taken up by OpenSimulator (objects + vm overhead)
2012-03-16 02:43:33 +00:00
Melanie
03e7bc1526 Merge branch 'master' into careminster
Conflicts:
2012-02-21 10:20:56 +00:00
Justin Clark-Casey (justincc)
68a4ef5ef6 Add 64 bit Windows sqlite3.dll and use this if running a 64-bit windows process. 2012-02-21 02:52:20 +00:00
Melanie
985526b662 Merge branch 'master' into careminster
Conflicts:
	OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
	OpenSim/Region/Framework/Scenes/Serialization/SceneObjectSerializer.cs
2012-02-18 22:21:10 +00:00
Justin Clark-Casey (justincc)
b817c337dc On Windows automatically load the correct native ODE library depending on whether the process is 32-bit or 64-bit
In theory, this means that a 64-bit Windows OS user can now run OpenSim.exe with ODE and use more than 2 (or 3) GB of memory.
However, this is completely untested since I don't currently own a 64-bit Windows box.  Feedback appreciated.
Using OpenSim.32BitLaunch.exe should continue to work.  Other platforms are unaffected.
This will currently not work with sqlite - I will add that too if this works.
2012-02-18 00:33:52 +00:00
Melanie
acfe7e555e Merge branch 'master' into careminster 2012-02-10 23:59:10 +00:00
Justin Clark-Casey (justincc)
d80422eba7 Add line numbers to Util.PrintCallStack() 2012-02-10 23:39:32 +00:00
Melanie
d913303875 Merge branch 'master' into bigmerge 2011-12-09 08:13:57 +00:00
Justin Clark-Casey (justincc)
bc13855e64 Reactivate BasicCircuitTests.TestAddClient()
This checks that the initial UseCircuitCode packet is handled correctly for a normal client login.
2011-12-08 20:52:34 +00:00
Melanie
02f0aa592d Merge commit 'ffdf59a57c936189e3b161b79b4a76a3a9b260bb' into bigmerge 2011-10-25 03:19:10 +01:00
Justin Clark-Casey (justincc)
ffdf59a57c Get UUIDGatherer to scan notecards in the graph for asset uuids.
This is to support npc baked texture saving in oars and iars.
May address http://opensimulator.org/mantis/view.php?id=5743
2011-10-22 02:16:46 +01:00
Tom
5484c9b585 Bring us up to date. 2011-09-14 19:11:32 -07:00
Justin Clark-Casey (justincc)
306af9934a In an object return message, send a null-terminated empty string in binary bucket to prevent a viewer 3 crash.
This is the message sent to the client when the object is returned.
We were sending byte[0] in the binary bucket.  This didn't kill viewer 1 but did terminate viewer 3 (don't know about viewer 2).
So sending "\0" instead.
This is to address http://opensimulator.org/mantis/view.php?id=5683
2011-09-13 17:13:42 +01:00
Tom
66dec3b874 Resolve merge commits, stage 1 2011-09-04 07:06:36 -07:00
Justin Clark-Casey (justincc)
3aa86d22d1 If a FireAndForget thread terminates with an exception, then catch and log rather than letting it terminate the simulator.
Exceptions don't appear to do this with the SmartThreadPool but they do with UnsafeQueueUserWorkItem (and maybe others)
2011-08-31 17:38:32 +01:00
Justin Clark-Casey (justincc)
57e54d84d6 Add new FireAndForgetMethod.None.
This executes the callback on the same thread that made the request.  Designed for use only by regression tests that rely on a predicable event ordering.
2011-08-16 23:05:08 +01:00
Justin Clark-Casey (justincc)
9a5e0ede7c For all Util.FireAndForget invocations, set thread to en_US before continuing wtih the invocation.
This is to avoid bugs where the locale is not manually set on the thread and bad data values get sent to the database or over the wire.
Lots of code does this manually but as we've seen, a subtle change can hit code which has forgotton to do this.
Since en_US show be used throughout the server at present, setting it at FireAndForget seems reasonable.
Arguably, it would be better to do this where data is sent, but doing it here is much easier.
All the manual BeginInvokes() remaining in the code should probably call FireAndForget instead.
2011-07-29 23:21:57 +01:00
root
c920ff9d1d Merge branch 'master' into careminster-presence-refactor 2011-07-09 01:06:46 +01:00
Justin Clark-Casey (justincc)
c3d82bdcb1 When loading library asset set, only store an asset if it's different from an existing one with the same id.
We compare existing and loaded asset by doing an SHA1 on both, so that a changed library asset will still update the store.
This cuts asset library load time from 10 seconds to <1 sec.
Note, a fix on the previous commit revealed a bug where a library script cannot be copied except on the first login after a cache clear.
This is unrelated to this commit and needs to be fixed at some subsequent time.
2011-07-08 22:53:19 +01:00
Justin Clark-Casey (justincc)
b18ef976ff Fix interpretation of physics mesh proxies from mesh data
As per http://wiki.secondlife.com/wiki/Mesh/Mesh_Asset_Format, some submesh blocks may just have the flag "NoGeometry" to signal that they provide no mesh data.
If a block contains this, ignore it for meshing purposes rather than suffer a ClassCastException
This fixes physics proxy meshing, so you can now walk through mesh doorways, properly stand on the trailer of mesh trucks, etc.
To get mesh physics proxy, the UseMeshiesPhysicsMesh must be true in a [Mesh] config section in OpenSim.ini (example in OpenSimDefaults.ini).
Convex hull physics not currently supported.
2011-07-08 19:43:22 +01:00
Melanie
326c46ba70 Merge branch 'master' into careminster-presence-refactor 2011-06-09 02:05:04 +01:00
Diva Canto
336665e035 More on HG Friends. Added Delete(string, string) across the board. Added security to friendship identifiers so that they can safely be deleted across worlds. Had to change Get(string) to use LIKE because the secret in the identifier is not always known -- affects only HG visitors. BOTTOM LINE SO FAR: HG friendships established and deleted safely across grids, local rights working but not (yet?) being transmitted back. 2011-05-22 16:51:03 -07:00
Diva Canto
d21e9c755f HG Friends working to some extent: friendships offered and accepted correctly handled. Friends list showing correct foreign names. TODO: GrantRights. 2011-05-19 16:54:46 -07:00
Melanie
204b8b7b7e Merge branch 'queuetest' into careminster-presence-refactor 2011-04-21 16:51:39 +01: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
9be1d2aef1 Merge branch 'master' into careminster-presence-refactor 2011-02-24 02:37:21 +00:00
Mic Bowman
5a16fa882c Parameterizes the view distance used to compute and manage
child agents in neighbor regions. This means you can extend
the view on a simulator beyond the default 3x3 regions.

This uses a region default draw distance and should be
replaced at some point by the avatar specified draw distance.
That will require more careful, dynamic recomputation of child
agents every time the draw distance changes.

WARNING: this is experimental and has known instabilities. specifically
all regions "within site" should be running the same default draw distance
or agents will not be closed correctly.
2011-02-22 13:23:54 -08: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
Justin Clark-Casey (justincc)
722f0ba18c Put something in the ImprovedInstantMessage.BinaryBucket for llInstantMessage() to stop this crashing viewer 2.4.0 (1.23.5 was fine with this).
We're putting in a string of format "<region name><x pos floor int><y pos floor int><z pos floor int> which appears to be the expected value.
This resolves http://opensimulator.org/mantis/view.php?id=5356
2011-02-04 23:07:47 +00:00
Tom
04c62c4959 Revert my previous SHA1 commit in favour of a better implementation 2011-01-26 12:54:12 -08:00
Tom
63dcd44e87 Provide an SL compatible llMD5String function across all platforms 2011-01-26 12:47:43 -08:00
Melanie
3fc5b6a8ec Merge branch 'master' into careminster-presence-refactor 2011-01-13 19:53:44 +00:00
BlueWall
69c8cc787f Make FireAndForgetWrapper a singleton class
Made FireAndForgetWrapper a singleton class to allow us to drop
	dependancy on the BclExtras35 library. BclExtras is broken in
	Mono 2.8.2 and we used the library in only one function.
2011-01-13 19:52:34 +00: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
Diva Canto
f86c438653 Preservation of creator information now also working in IARs. Cleaned up usage help. Moved Osp around, deleted unnecessary OspInventoryWrapperPlugin, added manipulation of SOP's xml representation in a generic ExternalRepresentationUtils function. 2010-11-29 08:43:33 -08:00
Diva Canto
ca8d015733 Changed the parser for InventoryItem deserialization. Moved some utility functions around. 2010-11-27 11:40:54 -08:00