aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/CoreModules/ServiceConnectorsOut (follow)
Commit message (Collapse)AuthorAgeFilesLines
* refactor: Move methods to start a monitored thread, start work in its own ↵Justin Clark-Casey (justincc)2014-11-251-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
* Label all threadpool calls being made in core OpenSimulator. This is to add ↵Justin Clark-Casey (justincc)2014-11-252-3/+5
| | | | | | problem diagnosis. "show threadpool calls" now also returns named (labelled), anonymous (unlabelled) and total call stats.
* Add an IConfigSource constructor to HGAssetBroker so that it can be ↵Justin Clark-Casey (justincc)2014-11-251-0/+7
| | | | instantiated directly for potentially handling some capabilities directly in services with HG active
* minor: remove warnings from unused fields in LocalGridServicesConnectorJustin Clark-Casey (justincc)2014-11-251-2/+2
|
* Make "generate map" console command also trigger upload to maptiles as well ↵Justin Clark-Casey (justincc)2014-09-261-40/+47
| | | | as asset generation without performing tile generation twice.
* For monitoring purposes, start non-timeout tasks (which do not currently use ↵Justin Clark-Casey (justincc)2014-09-051-2/+3
| | | | | | | 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).
* Move the inventory request lock introduced in git master a58152bd to ↵Justin Clark-Casey (justincc)2014-08-091-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
* OpenSimExtrasBlueWall2014-08-062-0/+17
| | | | 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.
* Allow the "debug scene set physics false|true" command to work when ↵Justin Clark-Casey (justincc)2014-07-291-4/+4
| | | | | | 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.
* Fix recent regression in 3c6becd5 where login or hg login to variable sized ↵Justin Clark-Casey (justincc)2014-07-221-15/+12
| | | | | | | | | 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
* On login and first HG entrance to a foreign grid, perform query access ↵Justin Clark-Casey (justincc)2014-07-211-11/+15
| | | | checks before proceeding.
* Eliminated common but un-useful log messagesOren Hurvitz2014-07-211-1/+3
|
* In grid mode, add SuppressConsoleCommands flag to [GridService] so that we ↵Justin Clark-Casey (justincc)2014-07-181-4/+3
| | | | | | 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
* Manual change as per patch in mantis #7212. (the patch failed to apply, but ↵Diva Canto2014-06-151-1/+1
| | | | the fix was good) Thanks FreakyTech.
* Added simulation version compatibility check so that agents coming from ↵Diva Canto2014-06-062-6/+26
| | | | 0.7.6 to a varregion running in 0.8 and above will be denied teleport, rather than be allowed and crash the viewer.
* Modifications to debugging printouts. No functional changes.Robert Adams2014-05-311-2/+8
|
* Don't report NPC presences.Diva Canto2014-05-261-1/+2
|
* Tell QueryAccess explicitly whether the user is coming in via Teleport or ↵Oren Hurvitz2014-05-192-5/+5
| | | | | | 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-13/+21
| | | | due to permissions (in QueryAccess and IsAuthorizedForRegion)
* Removed GetUserInventory(). It wasn't being used, and was creating warnings ↵Oren Hurvitz2014-04-234-51/+1
| | | | because it's Obsolete.
* Better error-handling when storing assets: recognize that 'null' is an error ↵Oren Hurvitz2014-04-201-11/+8
| | | | value
* In teleports, pass the source region to the destination (similar to an HTTP ↵Oren Hurvitz2014-04-092-5/+5
| | | | referrer)
* Allow invalidating the users cacheOren Hurvitz2014-04-082-2/+15
|
* When sending QueryAccess to a region, also send the user's Home URIOren Hurvitz2014-04-072-5/+5
|
* Added assets service method AssetsExist(), which returns whether the given ↵Oren Hurvitz2014-04-022-0/+22
| | | | | | 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.
* Run slow operations in a separate thread, instead of using FireAndForget ↵Oren Hurvitz2014-03-251-2/+2
| | | | | | (which has a 1-minute timeout) Resolves http://opensimulator.org/mantis/view.php?id=6945
* Enable MapImageServiceModule with no refreshDev Random2014-03-111-12/+22
|
* Non-functional changes of numbers into symbolic references and a fewRobert Adams2014-02-151-2/+2
| | | | comments on what variables really mean.
* Merge branch 'master' into varregionRobert Adams2014-01-192-4/+4
|\
| * Remove old IInterRegionComms and references. This hasn't been used since ↵Justin Clark-Casey (justincc)2014-01-162-4/+4
| | | | | | | | 2009 and was superseded by ISimulationService
* | varregion: Update Warp3D to properly handle varregions.Robert Adams2014-01-191-5/+3
| | | | | | | | | | | | | | 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
* | varregion: split up generated maptile images for storage in map. ThisRobert Adams2014-01-191-21/+67
| | | | | | | | makes maps for varregions show up properly.
* | varregion: Debug messages for region crossing debugging.Robert Adams2014-01-111-7/+17
| |
* | varregion: many more updates removing the constant RegionSize and replacingRobert Adams2013-12-263-3/+3
| | | | | | | | with a passed region size. This time in the map code and grid services code.
* | varregion: rename 'LegacyRegionLocX' back to 'RegionLocX' and same for Y and Z.Robert Adams2013-12-141-2/+2
| | | | | | | | | | | | 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.
* | varregion: Add MaxRegionSize constant and enforce in RegionInfo.Robert Adams2013-11-301-0/+3
| | | | | | | | | | Intermediate checkin of changing border cross computation from checking boundry limits to requests to GridService. Not totally functional.
* | varregion: many replacements of in-place arithmetic with calls toRobert Adams2013-11-284-2/+15
| | | | | | | | | | the Util functions for converting world addresses to region addresses and converting region handles to locations.
* | Merge branch 'master' into varregionRobert Adams2013-11-151-1/+1
|\ \ | |/
| * refactor: replace verbose checks with String.IsNullOrEmpty where applicable.Justin Clark-Casey (justincc)2013-11-151-1/+1
| | | | | | | | Thanks to Kira for this patch from http://opensimulator.org/mantis/view.php?id=6845
* | varregion: elimination of Constants.RegionSize from all over OpenSimulator.Robert Adams2013-11-082-3/+3
| | | | | | | | | | | | | | 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.
* | VarRegion: change RegionInfo storage of region coordinates from regionRobert Adams2013-09-281-2/+2
|/ | | | | | | | 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.
* refactor: rename Scene.IncomingCloseAgent() to CloseAgent() in order to make ↵Justin Clark-Casey (justincc)2013-09-271-1/+1
| | | | | | 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()
* minor: correct spelling of Initialized in LSC connector version messageJustin Clark-Casey (justincc)2013-09-251-1/+1
|
* refactor: rename *ChildAgentDataUpdate() methods to *UpdateChildAgent()Justin Clark-Casey (justincc)2013-09-181-3/+3
| | | | verb-noun is consistent with other similar methods
* Allow one to specify a DefaultHGRegion flag in [GridService] in order to ↵Justin Clark-Casey (justincc)2013-09-022-0/+25
| | | | | | | | | | 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.
* Amend Justin's last commit regarding the new config var ServiceVersion. The ↵Diva Canto2013-08-021-1/+2
| | | | section may not exist at all.
* Allow older teleport ConnectorProtocolVersion of "SIMULATION/0.1" to be ↵Justin Clark-Casey (justincc)2013-08-022-27/+27
| | | | | | | | 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.
* Fix regression from 056a6ee7 because the RemoteSimulationConnector uses a ↵Justin Clark-Casey (justincc)2013-07-261-2/+5
| | | | copy of the LocalSimulationConnector but never initializes it (hence ServiceVersion was never set)
* Fix regression tests relating to agent transfer by making simulator use last ↵Justin Clark-Casey (justincc)2013-07-261-4/+9
| | | | week's SIMULATOR/0.1 protocol for now.
* New Teleport protocol (V2), still compatible with V1 and older. (version of ↵Diva Canto2013-07-241-1/+1
| | | | | | | | 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...