aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/CoreModules/Framework (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Add command to reset region's user cacheBlueWall2014-12-161-0/+15
|
* refactor: rename IteratingUuidGather.AddAssetUuidToInspect() and ↵Justin Clark-Casey (justincc)2014-12-051-1/+1
| | | | RecordAssetUuids() to AddForInspection() as this properly describes what both of these methods do.
* refactor: Make IteratingUUIDGatherer take a dictionary in its constructor ↵Justin Clark-Casey (justincc)2014-12-041-3/+3
| | | | like UUIDGatherer, so we can deal with future cases where the dictionary may already be pre-populated.
* When performing region cross, don't add the velocity to the new position in ↵Justin Clark-Casey (justincc)2014-11-291-1/+2
| | | | ETM.CrossAgentIntoNewRegionMain() since this has already been performed by SP.CheckForBorderCrossing()
* Avoid repeated lag-generating continuous attempts to retrieve HG service ↵Justin Clark-Casey (justincc)2014-11-281-7/+11
| | | | | | | | Urls in UMM if the initial request fails, possibly due to the home URL not being present Instead, the failure information is effectively added to the memory cache (so no persistence over simualtor sessions). A future improvement may be to invalidate negative cache results after some time has passed in case the failure was transient. Looks to resolve http://opensimulator.org/mantis/view.php?id=7382
* Be more explicit again in UMM bad HomeURL message by logging the original ↵Justin Clark-Casey (justincc)2014-11-271-2/+2
| | | | creator data
* Make UMM.AddUser(UUID, string) log message when bad creatorData is given to ↵Justin Clark-Casey (justincc)2014-11-271-4/+8
| | | | reflect its location (UMM not Scene) and add the user name and ID.
* refactor: Move methods to start a monitored thread, start work in its own ↵Justin Clark-Casey (justincc)2014-11-252-2/+2
| | | | | | | | thread and run work in the jobengine from Watchdog to a WorkManager class. This is to achieve a clean separation of concerns - the watchdog is an inappropriate place for work management. Also adds a WorkManager.RunInThreadPool() class which feeds through to Util.FireAndForget. Also switches around the name and obj arguments to the new RunInThread() and RunJob() methods so that the callback obj comes after the callback as seen in the SDK and elsewhere
* Fix bug in HG attachment throttling code where attachments were never rezzed ↵Justin Clark-Casey (justincc)2014-11-251-55/+63
| | | | | | on any teleport within a foreign grid after the first. Bug was introduced in ghosts branch commit 69abade
* When processing incoming attachments via HG, if a request for uuid gathering ↵Justin Clark-Casey (justincc)2014-11-252-25/+102
| | | | | | | or final asset import takes too long remove remaining requests from same user to prevent hold up of other user's incoming attachments. This improves upon the earlier naive simply queueing immplementation. Threshold is 30 seconds. If this happens to a user they can relog and fetch will be reattempted.
* Introduce an IteratingUuidGatherer where each fetch from the asset service ↵Justin Clark-Casey (justincc)2014-11-251-3/+16
| | | | | | | (iteration) can be controlled by the caller. This is to enable an imminent change where incoming HG scene object fetching can assess the time taken by each request rather than being forced to perform all requests in one call. Soon, this will replace the existing UuidGatherer since it is both simpler and more flexible.
* Add incoming packet async handling engine to queue some inbound udp async ↵Justin Clark-Casey (justincc)2014-11-251-1/+1
| | | | | | | requests. This is to reduce the potential for overload of the threadpool if there are many simultaneous requets in high concurrency situations. Currently only applied to AvatarProperties and GenericMessage requests.
* Add missing class from recent commit 69abadeJustin Clark-Casey (justincc)2014-11-251-0/+327
|
* Add "show threadpool calls active" console debug command.Justin Clark-Casey (justincc)2014-11-251-2/+6
| | | | | This shows named threadpool calls (excluding timer and network calls) that are currently queued or running. Also shows total of labelled and any anonymous calls.
* Add naive implementation of controlled incoming HG attachments to manage load.Justin Clark-Casey (justincc)2014-11-252-27/+117
| | | | | | | Instead of processing all incoming attachment scene object concurrently, process them consecutively to eliminate potential overload from this source. This is a naive implementation because it does not currently account for slow foreign asset services. Although it may take longer, this approach may also improve attachment visibility for HG avatars since the scene object is now always added to the scene after receiving assets from the foreign service and not before.
* Label all threadpool calls being made in core OpenSimulator. This is to add ↵Justin Clark-Casey (justincc)2014-11-251-1/+1
| | | | | | problem diagnosis. "show threadpool calls" now also returns named (labelled), anonymous (unlabelled) and total call stats.
* When inserting missing CreatorData in the HGAssetMapper, do the rewrite on a ↵Justin Clark-Casey (justincc)2014-11-252-31/+185
| | | | | | | | streaming xml basis rather than loading it all into memory via XmlDocument. This is because objects with lots of parts can have a lot of xml to load into memory, and this has been seen to have a noticeable performance impact. Whereas streaming has been seen to reduce the impact in normal serialization. Implmentation is messy but I couldn't see a better way of doing it when you can't assume that you know the exact structure of the input XML.
* Add regression test TestPostAssetRewrite() to check results of ↵Justin Clark-Casey (justincc)2014-11-251-0/+84
| | | | HGAssetMapper.Post() object asset rewriting,
* minor: Remove unused field from EntityTransferModuleJustin Clark-Casey (justincc)2014-11-251-2/+0
|
* refactor: consistently put all test classes in the OpenSim.Tests.Common ↵Justin Clark-Casey (justincc)2014-11-252-2/+0
| | | | | | package rather than some in OpenSim.Tests.Common.Mock the separate mock package was not useful and was just another using line to always add
* Use Scene or IEntityTransferModule directly in HGEntityTransferModule ↵Justin Clark-Casey (justincc)2014-10-081-8/+7
| | | | | | | instead of casting or re-obtaining module. This code originates from when IEntityTransferModule was shared rather than one per region. Now it's one per region we know that callers are always in the same scene as the module.
* HG Restricted appearance checking code is only called when HG teleporting ↵AliciaRaven2014-10-081-0/+8
| | | | via the map but bypassed completely when teleporting via landmarks. This fixes this by including a call when acting on landmarks. Does not affect local grid teleports as flags are checked.
* Do not add attachments to the region scene object backup list.Justin Clark-Casey (justincc)2014-10-021-1/+1
| | | | Attachment persistence is not handled in this way and this just results in a load of busy work until a check in each SOG terminates a backup check for attachments anyway.
* Improve on the last commit to InventoryArchiver: put back the original ↵Diva Canto2014-09-281-2/+2
| | | | constructor (3rd party modules use it), change order of new parameters to make it more consistent.
* Add an event callback for loading IAR files. The callback for creating them ↵AliciaRaven2014-09-231-2/+2
| | | | already existed but not for loading. This is of interest for use by region modules. Also includes reporting numbers of items saved and items filtered to the completed log printout.
* On code section that rezzes single objects and attachments, reduce CPU use ↵Justin Clark-Casey (justincc)2014-08-282-2/+5
| | | | | | | | 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.
* On teleport to a region that already has a child agent established (e.g. a ↵Justin Clark-Casey (justincc)2014-08-151-2/+2
| | | | | | 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.
* Allow the "debug scene set physics false|true" command to work when ↵Justin Clark-Casey (justincc)2014-07-291-1/+1
| | | | | | bulletsim physics is running in a separate thread. This will also allow the "disable physics" setting in the region debug viewer dialog to work in this circumstance.
* Allow reading the BulletSim detail log while the sim is runningOren Hurvitz2014-07-211-2/+2
|
* fix all instances of "non-existant" to "non-existent" (spelling mistakes) ↵Michael Cerquoni2014-07-171-1/+1
| | | | thanks Ai Austin for pointing this out.
* Merge branch 'master' of ssh://opensimulator.org/var/git/opensimDiva Canto2014-07-041-2/+8
|\
| * Still log (but this time with warning rather than an exception) if we ↵Justin Clark-Casey (justincc)2014-07-041-2/+8
| | | | | | | | | | | | | | regenerate a new child caps seed for a region where we already have one. I think it's still useful to know this to show up any errors early, but it's reasonable to still carry on rather than throw an exception. Follow on from Diva's commit 9643792
* | Instrument the UDP path of creating assets so that it triggers an asset post ↵Diva Canto2014-07-041-5/+5
|/ | | | for users with different asset servers
* It turns out that child agent management has had a bug for a while: there ↵Diva Canto2014-07-041-3/+9
| | | | was an inconsistency in the scope between opening and closing child agents in neighboring regions. For opening (in EnableChildAgents), the region's DrawDistance was being used; for closing (in IsOUtsideView) , the viewer's (SP) DrawDistance was being used. This fixes this inconsistency, therefore eliminating bugs observed in TPs between, at least, neighboring varregions.
* Avoid an exception in creating child agents some times.Diva Canto2014-07-031-0/+2
|
* Added simulation version compatibility check so that agents coming from ↵Diva Canto2014-06-061-4/+6
| | | | 0.7.6 to a varregion running in 0.8 and above will be denied teleport, rather than be allowed and crash the viewer.
* varregion: More tweeking to only sending patches within avatar draw distance.Robert Adams2014-05-311-6/+7
| | | | Still has problems with child avatars.
* When taking an object into inventory, set the inventory item's "Next Owner" ↵Oren Hurvitz2014-05-251-0/+10
| | | | permissions according to the permissions of the items in the object
* Merge branch 'master' of ssh://opensimulator.org/var/git/opensimDiva Canto2014-05-223-6/+5
|\
| * Tell QueryAccess explicitly whether the user is coming in via Teleport or ↵Oren Hurvitz2014-05-191-2/+2
| | | | | | | | | | | | Cross, because the permission checks are different. Previously we used a heuristic of checking if the entry position is 0 to differentiate between Teleport and Cross, but that doesn't work anymore since we've started providing the precise entry position for cross, too. That's required in order to ensure that the user is allowed to enter the parcel that he's walking into.
| * Return more specific error messages if an attempt to enter a region fails ↵Oren Hurvitz2014-05-191-1/+1
| | | | | | | | due to permissions (in QueryAccess and IsAuthorizedForRegion)
| * When can't rez, show only one error message; not two. And show more specific ↵Oren Hurvitz2014-05-192-3/+2
| | | | | | | | error messages.
* | Fixed a problem with detaching attachments in situations where the user's ↵Diva Canto2014-05-222-1/+39
|/ | | | asset server is not the same as the simulator's asset server. Unfortunately this still continues to be wasteful -- new assets are created every time an attachment is detached, but the process of storing the new asset goes through the InventoryAccess module, which does all sorts of checks regarding the users' inventory.
* Don't fetch assets from the server when doing simple inventory operations ↵Diva Canto2014-05-181-1/+1
| | | | like copy-paste items in inventory.
* Makes it possible to support grids in which all the simulators share all ↵Diva Canto2014-05-041-18/+82
| | | | | | | | central services of a Robust server EXCEPT assets. In other words, grids where the simulators' assets are kept in one DB and the users' inventory assets are kept on another. When users rez items from inventory or take objects from world, an HG-like asset copy takes place between the 2 servers, the world asset server and the user's asset server. This makes the simulators independent of the central asset server. Note that this an advanced configuration and requires some security strengthening coming up.
* Hypergrid: don't send Local assets to other gridsOren Hurvitz2014-04-231-35/+34
| | | | This commit also contains other changes, but they're all just for clarity. The only actual behavior change is to avoid Posting local assets.
* Removed GetUserInventory(). It wasn't being used, and was creating warnings ↵Oren Hurvitz2014-04-231-16/+0
| | | | because it's Obsolete.
* Eliminated many warningsOren Hurvitz2014-04-233-5/+1
|
* Better error-handling when storing assets: recognize that 'null' is an error ↵Oren Hurvitz2014-04-201-1/+1
| | | | value
* In teleports, when sending the Source region, set its ServerURI to the ↵Oren Hurvitz2014-04-132-2/+7
| | | | Gatekeeper URI (which is used with Regions); not the Home URI (which is used with Users)