aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region (unfollow)
Commit message (Collapse)AuthorFilesLines
2014-08-30As per the LL grid, if an avatar is sitting then return it's velocity ↵Justin Clark-Casey (justincc)1-0/+5
relative to the region rather than relative to its seat. Resolves http://opensimulator.org/mantis/view.php?id=7175
2014-08-30As per the LL grid, for attachments make llGetObjectDetails() ↵Justin Clark-Casey (justincc)1-1/+15
OBJECT_VELOCITY return the avatar's velocity and not always Vector3.Zero. This completes http://opensimulator.org/mantis/view.php?id=7177
2014-08-30minor: fix wrong indentation in previous commit 0cc3cdJustin Clark-Casey (justincc)1-1/+1
2014-08-30As per the LL grid, for attachments make llGetObjectDetails() OBJECT_ROT ↵Justin Clark-Casey (justincc)1-4/+13
return the avatar's rotation. This is already the behaviour of OBJECT_POS. Partially satisfies http://opensimulator.org/mantis/view.php?id=7177
2014-08-30Fix issue where moving a seated avatar would not adjust their subsequent ↵Justin Clark-Casey (justincc)1-1/+1
stand position. Addresses http://opensimulator.org/mantis/view.php?id=7299
2014-08-29Implement STATUS_BLOCK_GRAB_OBJECT in llSetStatus()/llGetStatus() and ↵Justin Clark-Casey (justincc)5-30/+26
correct effect of STATUS_BLOCK_GRAB As per http://wiki.secondlife.com/wiki/LlSetStatus Setting STATUS_BLOCK_GRAB_OBJECT prevents or allows move of a physical linkset by grab on any prim. Setting STATUS_BLOCK_GRAB prevents or allows move of a physical linkset by grab on a particular prim. Previously, setting STATUS_BLOCK_GRAB would prevent drag via all prims of the linkset.
2014-08-29Ignore whitespace when reading serialized XML objects.Justin Clark-Casey (justincc)5-205/+193
This was previously effectively being done by XmlDocument in the multiple passes through the XML. This change tells XmlReader to ignore whitespace. This also means changing arguments to use XmlReader instead of XmlTextReader (a descendent of XmlReader) directly. XmlReader.Create() has been the recommend way to create XML readers since .NET 2.0 as per MS SDK and is the only way to specific ignore whitespace settings.
2014-08-29Fix recent regression test TestDeserializeXmlObjectWithOtherParts() which ↵Justin Clark-Casey (justincc)1-1/+1
was not meant to indent the input xml
2014-08-29Add regression test for deserializing xml objects with more than one ↵Justin Clark-Casey (justincc)1-127/+406
non-root part.
2014-08-28minor: Eliminate more unnecessary code copying individual parameters for ↵Justin Clark-Casey (justincc)1-17/+19
Vector3 copying in Scene - this is not necessary as Vector3 is a value type
2014-08-28On code section that rezzes single objects and attachments, reduce CPU use ↵Justin Clark-Casey (justincc)5-71/+128
by reading asset XML a single time with a stream reader rather than multiple times. Reading large XML documents (e.g. complex attachments) is CPU expensive - this must be done as few times as possible (preferably just once). Reading these documents into XmlDocument is also more resource intensive than using XmlTextReader, as per Microsoft's own publication "Improve .NET Application Performance and Scalability" Optimization of other cases will follow if this change is successful.
2014-08-26Don't allow update timer to invoke another scene update if the previous is ↵Justin Clark-Casey (justincc)1-1/+10
still active.
2014-08-26Remove race conditions from where SP.AbsolutePosition could change between ↵Justin Clark-Casey (justincc)1-7/+4
the various property checks.
2014-08-26Fix frame times when updating scene on timer.Justin Clark-Casey (justincc)1-15/+17
2014-08-26Implement experimental non-default mechanism to update scene via a timer ↵Justin Clark-Casey (justincc)4-67/+113
rather than a persistent thread with sleep. This is to see if an inaccuracy in sleep times under load is responsible for increase in frame times even when there is spare time still available. Can currently only be activated by setting "debug scene set update-on-timer true". Can be switched between timer and thread with sleep updates whilst the scene is running.
2014-08-21BulletSim: add new Bullet 2.82 constraint type codes and rename theRobert Adams2-7/+9
BulletSim fixed constraint to not be confused with the native version.
2014-08-19Extend drop command to "debug lludp drop <in|out>..." to allow drop of ↵Justin Clark-Casey (justincc)2-8/+44
inbound packets. For test/debug purposes.
2014-08-19Add "debug lludp drop out <add|remove> <packet-name>" console command for ↵Justin Clark-Casey (justincc)2-0/+76
debug/test purposes. This drops all outbound packets that match a given packet name. Can currently only be applied to all connections in a scene.
2014-08-19Add clientstack.<scene>.OQRERequestsWaiting statJustin Clark-Casey (justincc)1-0/+19
Only present if OQRE is enabled
2014-08-19Add experimental OutgoingQueueRefillEngine to handle queue refill processing ↵Justin Clark-Casey (justincc)3-5/+288
on a controlled number of threads rather than the threadpool. Disabled by default. Currently can only be enabled with console "debug lludp oqre start" command, though this can be started and stopped whilst simulator is running. When a connection requires packet queue refill processing (used to populate queues with entity updates, entity prop updates and image queue updates), this is done via Threadpool requests. However, with a very high number of connections (e.g. 100 root + 300 child) a very large number of simultaneous requests may be causing performance issues. This commit adds an experimental engine for processing these requests from a queue with a persistent thread instead. Unlike inbound processing, there are no network requests in this processing that might hold the thread up for a long time. Early implementation - currently only one thread which may (or may not) get overloaded with requests. Added for testing purposes.
2014-08-19Make LLUDPServer.Scene publicly gettable/privately settable instead of ↵Justin Clark-Casey (justincc)3-49/+55
protected so that other logging code in the clientstack can record more useful information Adds some commented out logging for use again in the future. No functional change.
2014-08-18Prevent exception if inventory item in llGiveInventory() call doesn't exist.Kevin Cozens1-0/+1
2014-08-15If a user moves back in sight of a child region before the agent has been ↵Justin Clark-Casey (justincc)2-7/+4
closed on teleport, don't unnecessarily resend all avatar and object data about that region.
2014-08-15On teleport to a region that already has a child agent established (e.g. a ↵Justin Clark-Casey (justincc)5-37/+48
neighbour) don't resend all the initial avatar and object data again. This is unnecessary since it has been received (and data continues to be received) in the existing child connection.
2014-08-14Added RestrictEmail to make llEmail only send to avatars email address if true.Kevin Cozens1-0/+34
2014-08-14Make RootTerseUpdatePeriod and ChildTerseUpdatePeriod configurable in ↵Justin Clark-Casey (justincc)1-0/+3
[InterestManagement] in OpenSim.ini for experimental purposes. If n > 1 for RootTerseUpdatePeriod only every n terse update is actually sent to observers on same region, unless velocity is effectively zero (to stop av drift). If n > 1 for ChildTerseUpdatePeriod only every n terse update is sent to observers in other regions, unless velocity is effectively zero. Defaults are same as before (all packets are sent). Tradeoff is reduction of UDP traffic vs fidelity of observed av mvmt. Increasing n > 1 leads to jerky observed mvmt immediateley for root, though not on child, where experimentally have gone to n = 4 before jerkiness is noticeable.
2014-08-14Make some existing reprioritization values changeable outside the scene for ↵Justin Clark-Casey (justincc)1-15/+18
test purposes, and use more consise property syntax. No functional change.
2014-08-13On entity transfer of scene presence, replace polling sleep in ↵Justin Clark-Casey (justincc)1-14/+13
SP.WaitForUpdateAgent() with a triggered event instead. Rapid polls are more expensive than triggered events (several polls vs one trigger) and may be problematic on heavily loaded simulators where many threads are vying for processor time. A triggered event is also slightly quicker as there is no maximum 200ms wait between polls.
2014-08-13Remove redundant origin region lock in SP.CompleteMovement()Justin Clark-Casey (justincc)1-6/+1
This is already going to be correctly set by WaitForUpdateAgent() earlier on in that method, which is always called where a callback to the originating region is required.
2014-08-13Only set up the UnackedMethod for an outgoing message if that message is ↵Justin Clark-Casey (justincc)1-1/+3
actually meant to get an ack (because it's reliable).
2014-08-12Avination's Dynamic Floater Module. This works with Singularity viewer only.Melanie Thielker2-0/+290
It's WIP in that a dialog builder is on it's way. For now, the XML needs to be handmade.
2014-08-09Move the inventory request lock introduced in git master a58152bd to ↵Justin Clark-Casey (justincc)1-20/+43
HGInventoryBroker to preserve that behaviour there but allow 2 simultaneous inv requests (chiefly WebFetch) rather than 1 This lock serialized all requests and made the inventory throttling in WebFetch redundant. By moving this lock, two simultaneous requests may now take place which may help with http://opensimulator.org/mantis/view.php?id=7054
2014-08-08Change RootRotationUpdateTolerance from 0.01 to 0.1 in code as well.Justin Clark-Casey (justincc)1-1/+1
2014-08-08Change MaxPoolThreads default in code as well from 15 to 300Justin Clark-Casey (justincc)1-1/+1
2014-08-06Fix short help string for show region command.BlueWall1-1/+1
2014-08-06OpenSimExtrasBlueWall4-179/+41
Move the experimental extra features functionality into the GridService. This sends default values for map, search and destination guide, plus ExportSupported control to the region on startup. Please watch http://opensimulator.org/wiki/SimulatorFeatures_Extras for changes and documentation.
2014-08-06Fixed crash when using Allowed/Denied Viewers, and the viewer's name is ↵Oren Hurvitz1-2/+2
shorter than one of the test strings This fixes http://opensimulator.org/mantis/view.php?id=7294
2014-08-06Add RootPositionUpdateTolerance, RootRotationUpdateTolerance, and ↵Justin Clark-Casey (justincc)1-0/+7
RootVelocityUpdateTolerance parameters to [InterestManagement] in OpenSimDefaults.ini These govern when AgentUpdates are sent to observers on position, rotation and velocity changes to an avatar (including the avatar themselves). Higher values reduce AgentUpdate traffic but at a certain level will degrade smoothness of avatar and perceived avatar movement.
2014-08-06refactor: Rename recent new Client*UpdateTolerance to Root*UpdateTolerance ↵Justin Clark-Casey (justincc)3-19/+19
for better accuracy and consistency with other similar parameters
2014-08-05Fixed premature closing of the connection in DataSnapshotManagerOren Hurvitz1-14/+14
2014-08-05Make currently unfiltered EventQueue log messages only appear now at ↵Justin Clark-Casey (justincc)1-16/+24
DebugLevel 1 This covers event queue setup messages and some outgoing messages (e.g. EnableSimulator) In my experience these messages are only useful if you really know what they mean and you're looking for them Otherwise, they're quite spammy. Event queue DebugLevel 1 is enabled with the "debug eq 1" console command
2014-08-02Fix typo in log messageBlueWall1-1/+1
2014-08-01Fix regression in SimulatorFeatures module that would stop OpenSimulator ↵Justin Clark-Casey (justincc)1-12/+20
from starting if no [SimulatorFeatures] section was present in config.
2014-07-31Add region-side extra feature setting for destination guideBlueWall1-0/+4
2014-07-30BulletSim: thread safe handling of list of avatars.Robert Adams1-3/+18
Fix for 7284 which is an enumeration exception when starting up a region.
2014-07-30Simulator Extra Features ServiceBlueWall2-9/+194
Provide a means for regions to fetch extra features supported by modern viewers from a central location .
2014-07-29In TerrainModule, lock m_perClientPatchUpdates when removing entries.Justin Clark-Casey (justincc)1-3/+2
This may have been the trigger CheckSendingPatchesToClients() dictionary out of sync exceptions in today's load test. Don't need to check ContainsKey() since Remove() returns false on a request to remove a key that it doesn't have
2014-07-29Implement "scene debug set root-upd-per" for dropping 1 in N root agent ↵Justin Clark-Casey (justincc)3-7/+41
updates except to originator For experimental purposes. Also corrects a previous bug where each terse update sent was counted rather than each set of terse updates to agents.
2014-07-29Add debug mechanism for only sending 1 in N AgentUpdate packets to child agents.Justin Clark-Casey (justincc)3-1/+30
Allows experiments in manually reducing updates under heavy load. Activated by "debug scene set client-upd-per" console command. In a simple test, can send as few as every 4th update before observed movement starts becoming disturbingly rubber-banded.
2014-07-29Add "debug scene set appear-refresh true|false" to control whether periodic ↵Justin Clark-Casey (justincc)1-0/+12
appearance refresh is active. Corresponds to ResendAppearnceUpdates setting in [Appearance] in OpenSim.ini This was originally implemented to alleviate cloud appearance problems but could be too expensive with large numbers of avatars.