| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
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...
|
|
|
|
|
|
| |
15sec before closing the agent. This seems to be working fairly well. The viewer seems to have an 8 sec delay between UseCircuitCode and CompleteMovement.
Also added back the position on UpdateAgent, because it's needed for TPing between neighboring regions.
|
| |
|
| |
|
|
|
|
| |
test.
|
|
|
|
| |
messy inventories and esp. related to kokua
|
| |
|
| |
|
| |
|
|
|
|
| |
affecting UpdateAgent and CloseAgent in cases where the foreign region is on the same coordinates as *some* local region.
|
| |
|
|
|
|
| |
isn't needed since it's thread safe but r/w of contained dictionaries isn't thread-safe
|
|
|
|
| |
TestAddTemporaryAsset() and TestAddTemporaryLocalAsset()
|
|
|
|
| |
is there but commented out.
|
|
|
|
|
|
| |
differentiates between local & grid storage. The Temporary property just
says that which service handles the it, the asset can be safely removed
in the future.
|
| |
|
|
|
|
| |
UserProfiles for Robust and Standalone. Includes service and connectors for Robust and standalone opensim plus matching region module.
|
|
|
|
|
|
|
| |
CloseChildAgent() above the LocalSimulationConnector level.
This is so that other callers (such as SceneCommunicationService.SendCloseChildAgentConnections() can perform all closes asynchronously without pointlessly firing another thread for local closes).
No functional change apart from elimination of unnecessary chaining of new threads.
|
|
|
|
| |
after startup.
|
|
|
|
| |
This is currently disabled pending an improvement in the test code to properly add avatars when an event queue module is present.
|
|
|
|
| |
tile has been set. Do more informative warn instead.
|
|
|
|
| |
overriding OpenSimTestCase.SetUp()
|
|
|
|
| |
automatically turns off any logging enabled between tests
|
|
|
|
|
|
|
| |
a useless potentially network call on the scene presence service connector.
This also eliminates the "[PRESENCE HANDLER]: GetAgents called without required uuids argument"
which has started to pop up in the logs when a call is made with an empty uuid array as occasionally happens.
|
| |
|
| |
|
| |
|
|
|
|
| |
grepping for remaining uses
|
| |
|
| |
|
|
|
|
| |
section.
|
| |
|
|
|
|
|
|
| |
GridConnectorsTests and ArchiverTests.
Remove unrelated compile warning from AttachmentsModuleTests.
|
|
|
|
|
|
|
| |
temporary assets.
Make AssetServiceConnector return more useful data on failure, such as what DLL it was trying to load
Allow LocalAssetServiceConnector.GetData() to work without a cache present, as works for the other lasc Get* methods.
|
|
|
|
|
|
|
|
|
| |
fall below current viewer discard level 2 thresholds.
Viewer LL 3.3.4 and before sometimes fail to properly redisplay dynamic textures that have a small data length compared to pixel size when pulled from cache.
This appears to happen when the data length is smaller than the estimate discard level 2 size the viewer uses when making this GetTexture request.
This commit works around this by always regenerating dynamic textures that fall below this threshold rather than reusing them if ReuseDynamicTextures = true
This can be controlled by the [Textures] ReuseDynamicLowDataTextures config setting which defaults to false.
|
|
|
|
|
|
|
|
|
| |
race condition checks.
This is to allow a second attempt to remove an avatar even if "show connections" shows them as already inactive (i.e. close has already been attempted once).
You should only attempt --force if a normal kick fails.
This is partly for diagnostics as we have seen some connections occasionally remain on lbsa plaza even if they are registered as inactive.
This is not a permanent solution and may not work anyway - the ultimate solution is to stop this problem from happening in the first place.
|
|
|
|
| |
This better reflects the long-term purpose of that project and matches Monitoring modules.
|
|
|
|
|
| |
This is fired when all regions are ready or when at least one region becomes not ready.
Recently added EventManager.OnRegionReady becomes OnRegionReadyStatusChange to match OnLoginsEnabledStatusChange
|
|
|
|
|
|
| |
once when the region is ready.
Switch MapImageServiceModule to use this.
|
|
|
|
|
|
| |
region name.
This saves listeners from having to re-retrieve the scene from their own lists, which won't work anyway if multiple regions with the same name have been allowed
|
| |
|
|
|
|
|
|
| |
the BOM, use a single Util.UTF8NoBomEncoding.
This class is thread-safe (as evidenced by the provision of the system-wide Encoding.UTF8 which does not suppress BOM on output).
|