| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
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).
|
|
|
|
|
|
| |
the module code still sets up even if we're using one directly instantiated from the RemoteGridServiceConnector.
Also improves log messages to indicate which regions are sending/receiving various neighbour protocol messages.
|
|
|
|
|
| |
It appears this was never actually used since attachments were rezzed in other code.
This was never available on remote simulator comms, only local.
|
|
|
|
|
|
|
| |
rather than scanning all scene for the presence with the right id
Stop checking IsLoggingOut on these listeners, if called with a root agent then we always want to perform these actions.
This covers cases where the client is closed due to manual kick, simulator shutdown, etc.
|
|
|
|
| |
available on IClientAPI.SceneAgent rather than retrieving it again by scanning all scenes.
|