| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
problem diagnosis.
"show threadpool calls" now also returns named (labelled), anonymous (unlabelled) and total call stats.
|
|
|
|
| |
instantiated directly for potentially handling some capabilities directly in services with HG active
|
| |
|
|
|
|
| |
as asset generation without performing tile generation twice.
|
|
|
|
|
|
|
| |
a threadpool) via Watchdog.RunInThread() rather than Util.RunThreadNoTimeout()
The functionality is the same but this allow us to monitor such tasks via "show threads" and abort them for test purposes, etc.
Also extends thread names to provide more info (e.g. SendInitialDataToClient says what client the task is for).
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
| |
regions failed with outdated simulator message.
I forgot that a null 'their version' would not be passed over the wire and ends up as an empty string instead (like older simulators).
So instead pass through the correct simulator protcol version instead (SIMULATOR/0.3) when querying from login or hg login.
Also removes a debug console write for agent limit accidentally left in for the same commit.
Relates to mantis 7276
|
|
|
|
| |
checks before proceeding.
|
| |
|
|
|
|
|
|
| |
can stop misleading grid service only console commands from registering.
We need to do this because the simulator initializes and internal copy of the GridService in grid mode for internal purposes
|
|
|
|
| |
the fix was good) Thanks FreakyTech.
|
|
|
|
| |
0.7.6 to a varregion running in 0.8 and above will be denied teleport, rather than be allowed and crash the viewer.
|
| |
|
| |
|
|
|
|
|
|
| |
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)
|
|
|
|
| |
because it's Obsolete.
|
|
|
|
| |
value
|
|
|
|
| |
referrer)
|
| |
|
| |
|
|
|
|
|
|
| |
list of assets exist.
This method is used to optimize sending assets with embedded assets: e.g., when a Hypergrid visitor takes an item into the inventory.
|
|
|
|
|
|
| |
(which has a 1-minute timeout)
Resolves http://opensimulator.org/mantis/view.php?id=6945
|
| |
|
|
|
|
| |
comments on what variables really mean.
|
|\ |
|
| |
| |
| |
| | |
2009 and was superseded by ISimulationService
|
| |
| |
| |
| |
| |
| |
| | |
This includes additions to Warp3D:
Optional rendering of mesh and scupltie prims (INI parameter. Off by default)
Texturing of large prims (INI parameter. On by default)
Better garbage collection
|
| |
| |
| |
| | |
makes maps for varregions show up properly.
|
| | |
|
| |
| |
| |
| | |
with a passed region size. This time in the map code and grid services code.
|
| |
| |
| |
| |
| |
| | |
Rename 'RegionWorldLocX' to 'WorldLocX' and same for Y and Z.
This keeps the downward compatibility and follows the scheme of 'region'
and 'world' location naming that is happening in the Util module.
|
| |
| |
| |
| |
| | |
Intermediate checkin of changing border cross computation from checking
boundry limits to requests to GridService. Not totally functional.
|
| |
| |
| |
| |
| | |
the Util functions for converting world addresses to region addresses
and converting region handles to locations.
|
|\ \
| |/ |
|
| |
| |
| |
| | |
Thanks to Kira for this patch from http://opensimulator.org/mantis/view.php?id=6845
|
| |
| |
| |
| |
| |
| |
| | |
Routines in Util to compute region world coordinates from region coordinates
as well as the conversion to and from region handles. These routines have
replaced a lot of math scattered throughout the simulator.
Should be no functional changes.
|
|/
|
|
|
|
|
|
| |
count number to integer world coordinates.
Added new methods RegionWorldLoc[XY].
Refactored name of 'RegionLoc*' to 'LegacyRegionLoc*' throughout OpenSim.
Kept old 'RegionLoc*' entrypoint to RegionInfo for downward compatability
of external region management packages.
|
|
|
|
|
|
| |
it clear that all non-clientstack callers should be using this rather than RemoveClient() in order to step through the ScenePresence state machine properly.
Adds IScene.CloseAgent() to replace RemoveClient()
|
| |
|
|
|
|
| |
verb-noun is consistent with other similar methods
|
|
|
|
|
|
|
|
|
|
| |
allow different default regions for HG and direct grid logins.
This requires a new GridService.GetDefaultHypergridRegions() so ROBUST services require updating but not simulators.
This method still returns regions flagged with just DefaultRegion after any DefaultHGRegions, so if no DefaultHGRegions are specified
then existing configured defaults will still work.
Immediate use is for conference where we need to be able to specify different defaults
However, this is also generally useful to send experienced HG users to one default location and local users whose specified region fails (e.g. no "home" or "last") to another.
|
|
|
|
| |
section may not exist at all.
|
|
|
|
|
|
|
|
| |
manually forced in a new [SimulationService] config setting.
This is for testing and debugging purposes to help determine whether a particular issue may be teleport related or not
"SIMULATION/0.2" (the newer teleport protocol) remains the default. If the source simulator only implements "SIMULATION/0.1" this will correctly allow fallback to the older protocol.
Specifying "SIMULATION/0.1" will force the older, less efficient protocol to always be used.
|
|
|
|
| |
copy of the LocalSimulationConnector but never initializes it (hence ServiceVersion was never set)
|
|
|
|
| |
week's SIMULATOR/0.1 protocol for now.
|
|
|
|
|
|
|
|
| |
the destination is being checked)
In this new protocol, and as committed before, the viewer is not sent EnableSimulator/EstablishChildCommunication for the destination. Instead, it is sent TeleportFinish directly. TeleportFinish, in turn, makes the viewer send a UserCircuitCode packet followed by CompleteMovementIntoRegion packet. These 2 packets tend to occur one after the other almost immediately to the point that when CMIR arrives the client is not even connected yet and that packet is ignored (there might have been some race conditions here before); then the viewer sends CMIR again within 5-8 secs. But the delay between them may be higher in busier regions, which may lead to race conditions.
This commit improves the process so there are are no race conditions at the destination. CompleteMovement (triggered by the viewer) waits until Update has been sent from the origin. Update, in turn, waits until there is a *root* scene presence -- so making sure CompleteMovement has run MakeRoot. In other words, there are two threadlets at the destination, one from the viewer and one from the origin region, waiting for each other to do the right thing. That makes it safe to close the agent at the origin upon return of the Update call without having to wait for callback, because we are absolutely sure that the viewer knows it is in th new region.
Note also that in the V1 protocol, the destination was getting UseCircuitCode from the viewer twice -- once on EstablishAgentCommunication and then again on TeleportFinish. The second UCC was being ignored, but it shows how we were not following the expected steps...
|