| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
RecordAssetUuids() to AddForInspection() as this properly describes what both of these methods do.
|
|
|
|
| |
like UUIDGatherer, so we can deal with future cases where the dictionary may already be pre-populated.
|
|
|
|
| |
ETM.CrossAgentIntoNewRegionMain() since this has already been performed by SP.CheckForBorderCrossing()
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
creator data
|
|
|
|
| |
reflect its location (UMM not Scene) and add the user name and ID.
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
on any teleport within a foreign grid after the first.
Bug was introduced in ghosts branch commit 69abade
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
(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.
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
problem diagnosis.
"show threadpool calls" now also returns named (labelled), anonymous (unlabelled) and total call stats.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
HGAssetMapper.Post() object asset rewriting,
|
| |
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
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.
|
|
|
|
| |
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.
|
|
|
|
| |
constructor (3rd party modules use it), change order of new parameters to make it more consistent.
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
thanks Ai Austin for pointing this out.
|
|\ |
|
| |
| |
| |
| |
| |
| |
| | |
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
|
|/
|
|
| |
for users with different asset servers
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
0.7.6 to a varregion running in 0.8 and above will be denied teleport, rather than be allowed and crash the viewer.
|
|
|
|
| |
Still has problems with child avatars.
|
|
|
|
| |
permissions according to the permissions of the items in the object
|
|\ |
|
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| | |
due to permissions (in QueryAccess and IsAuthorizedForRegion)
|
| |
| |
| |
| | |
error messages.
|
|/
|
|
| |
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.
|
|
|
|
| |
like copy-paste items in inventory.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
This commit also contains other changes, but they're all just for clarity. The only actual behavior change is to avoid Posting local assets.
|
|
|
|
| |
because it's Obsolete.
|
| |
|
|
|
|
| |
value
|
|
|
|
| |
Gatekeeper URI (which is used with Regions); not the Home URI (which is used with Users)
|