aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs (unfollow)
Commit message (Collapse)AuthorFilesLines
2012-05-03Reinsert a 2000ms delay before closing a no longer required agent on the ↵Justin Clark-Casey (justincc)1-2/+7
source region after teleport to resolve Imprudence teleport problems. Viewers 1 and 3 are fine with doing this immediately. However, Imprudence has a small delay (<200ms, >500ms) after receiving the AgentCompleteMovement reply packet on the destination region before regarding that region as the currnet region. If Imprudence receives a DisableSimulator in this period, it quits. We are not restoring the full 5000ms delay since this brings back a bug where teleports permanently fail if an avatar tries to teleport back too quickly. This commit also sends the AgentCompleteMovement packet to the client before telling the source region to release its old agent, in order to further cut down any possibility of the DisableSimulator being recieved before the AgentMovementComplete.
2012-05-03minor: resolve some mono compiler warningsJustin Clark-Casey (justincc)1-6/+1
2012-05-01Comment out the five second sleep in etm.DoTeleport() if the old agent needs ↵Justin Clark-Casey (justincc)1-1/+1
to be closed because it is no longer in the child's view distance. This sleep appears unnecessary since a sleep has already occurred in WaitForCallback() whilst waiting for the destination region to notify of teleport success. There are no async operations between this sleep and the WaitForCallback() If this sleep is present, then teleporting back to the source region within 5 seconds results in a disconnection. If this sleep is commented out then teleporting quickly back and forth between two simulators appears to work without issue. Tested on standalone, local grid and distributed grid. Please revert if there's something that I've missed.
2012-05-01Remove some test code that accidentally crept in with 9d2e1c67Justin Clark-Casey (justincc)1-3/+0
2012-05-01Add regression test for teleporting between neighbouring regions on the same ↵Justin Clark-Casey (justincc)1-4/+26
simulator This adds a non-advertised wait_for_callback option in [EntityTransfer]. Default is always true. Teleport tests disable the wait for callback from the destination region in order to run within a single thread.
2012-05-01Move max teleport distance check down into etm.DoTeleport() since this ↵Justin Clark-Casey (justincc)1-40/+41
should apply to all teleport calls, not just those through Teleport()
2012-05-01refactor: Split most of EntityTransferModule.Teleport() into its same region ↵Justin Clark-Casey (justincc)1-115/+151
and different region teleport components. DoTeleport() now retrives IEventQueue itself rather than requiring it to be passed in.
2012-04-27If a Grid God teleports then include the Godlike teleport flag. This can ↵Oren Hurvitz1-0/+6
affect the starting position in the destination region.
2012-04-27Add regression test for teleporting an agent between separated regions on ↵Justin Clark-Casey (justincc)1-1/+2
the same simulator. This involves a large amount of change in test scene setup code to allow test scenes to share shared modules SetupScene is now an instance method that requires an instantiation of SceneHelpers, though other SceneHelpers methods are still static May split these out into separate classes in the future.
2012-04-26Tweak log messages on local region to region teleport path to help with ↵Justin Clark-Casey (justincc)1-17/+34
problem resolution.
2012-04-24HG: Moved User-level code down to the HGEntityTransferModule where it belongs.Diva Canto1-14/+1
2012-04-25zero out SP velocity before calling SP.Teleport(), as the client expects ↵Justin Clark-Casey (justincc)1-0/+1
(though this is also effectively done by physics at the moment)
2012-04-25Add regression test TestSameRegionTeleport()Justin Clark-Casey (justincc)1-1/+1
2012-04-25Improve teleport log debug and error messages to tell us who is teleporting.Justin Clark-Casey (justincc)1-3/+14
2012-04-06Moved the inventory manipulation from HGEntityTransferModule to ↵Diva Canto1-1/+7
HGInventoryAccessModule where it belongs. They need to exchange some events, so added those to EventManager. Those events (TeleportStart and TeleportFail) are nice to have anyway.
2012-04-03Eliminate race condition where many callers would check SOP.PhysicsActor != ↵Justin Clark-Casey (justincc)1-4/+4
null then assume it was still not null in later code. Another thread could come and turn off physics for a part (null PhysicsActor) at any point. Had to turn off localCopy on warp3D CoreModules section in prebuild.xml since on current nant this copies all DLLs in bin/ which can be a very large number with compiled DLLs No obvious reason for doing that copy - nothing else does it.
2012-03-27User level based restrictions for HyperGrid teleports, asset uploads, group ↵Snoopy Pfeffer1-0/+15
creations and getting contacted from other grids. Incoming HyperGrid teleports can also be restricted to local users.
2012-03-27HG: beginning of a more restrictive inventory access procedure (optional). ↵Diva Canto1-3/+3
Experimental: we'll try switching the root folder from under the viewer.
2012-03-13Teleports: bounce off repeated requests of teleporting the same agent. Some ↵Diva Canto1-0/+13
scripts do that, and that fails the whole thing.
2012-02-23Add a position parameter to region crossing of objects. This avoids theMelanie1-5/+4
potential bad update that places an object at the opposite side of the origin sim for a moment before actually crossing it. Especially important in grids like OSG where lag between sims is high.
2012-02-19One more tweak related to the previous 2 commits.Diva Canto1-1/+3
2012-02-19A few more tweaks on position updates and create child agents. Mono hates ↵Diva Canto1-4/+8
concurrent uses of the same TCP connection, and even of the connections to the same server. So let's stop doing it. This patch makes movement much smoother when there are lots of neighbours.
2012-01-28Send CHANGED_TELEPORT during local TP again - partially revert ↵Bo Iwu1-2/+1
cf73afec356eed30e169be3ce71edad89b4fdb37 Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2011-12-23remove the old region crossing handlerMic Bowman1-10/+0
2011-12-22Fixes some problems with objects that attempt to cross a region boundaryMic Bowman1-0/+24
into a region that does not exist. This is particularly problematic for physical objects where the velocity continues to move them out of the region causing an infinite number of failed region crossings. The patch forces an object that fails a crossing to be non-physical and moves it back into the starting region.
2011-12-22Region crossings redone: (1) removed WaitForCallback. Now that we are ↵Diva Canto1-39/+32
passing the entire agent with attachs in one big message we don't necessarily need to wait for confirmation. The callback sometimes is problematic and it adds delay to the process. (2) Z velocity sent to the viewer = 0. This is an heuristic; the Z velocity usually is negative, and it makes the viewer move the avie down. This only matters while the agent is in transit and therefore not being physically simulated by neither region. As soon as the receiving region receives CompleteMovement from the viewer, the position and velocity get corrected.
2011-12-16Sends the consistent child agent position upon creation of the child agent ↵Diva Canto1-1/+12
in other regions, as opposed to <128, 128, 70>
2011-12-03Add beginning of ScenePresenceAgentTests.TestCreateChildScenePresence()Justin Clark-Casey (justincc)1-1/+0
This required an option to be added to NullRegionData via ConnectionString for it to act as a non-static instance, so that regression tests (which only load this class once) don't get hopeless confused and complex to compensate. Normal standalone operation unaffected.
2011-12-02Stop some places where we're trying to reset animations in child agents ↵Justin Clark-Casey (justincc)1-100/+110
where such requests are ignored.
2011-11-06Convert SendKillObject to take a list of uint rather than sending oneMelanie1-1/+1
packet per prim. More to come as we change to make use of this.
2011-11-02Changes UpdateFlag in SOP to an enumeration of NONE, TERSE and FULL.Dan Lake1-1/+1
UpdateFlag is now referenced/used only within SOP and SOG. Outsiders are using ScheduleFullUpdate, ScheduleTerseUpdate or ClearUpdateSchedule on SOP consistently now. Also started working toward eliminating those calls to ScheduleFullUpdate, ScheduleTerseUpdate or ClearUpdateSchedule from outside SOP in favor of just setting properties on SOP and let SOP decide if an update should be scheduled. This consolidates the update policy within SOP and the client rather than everywhere that makes changes to SOP. Some places forget to call update while others call it multiple times, "just to be sure". UpdateFlag and Schedule*Update will both be made private shortly. UpdateFlag is intended to be transient and internal to SOP so it has been removed from XML serializer for SOPs.
2011-10-28set grp.RootPart.GroupPosition for code consistency (and readability) rather ↵Justin Clark-Casey (justincc)1-2/+2
than calling SOP.OffsetForNewRegion
2011-10-06Refactored "known child region" in ScenePresence. There were 4 differentDan Lake1-1/+1
ways to access the list/dictionary of child regions and locking was inconsistent. There are now public properties which enforce locks. Callers are no longer required to create new copies of lists.
2011-10-06Simplified IsInTransit property on ScenePresence and removed InTransit() ↵Dan Lake1-6/+6
which called IsInTransit=true which called m_inTransit=true. Also removed NotInTransit().
2011-09-10Add extra log information when attachments fail validationJustin Clark-Casey (justincc)1-5/+11
2011-09-10reinstate the validation logging on teleport. A 'fail' of validation still ↵Justin Clark-Casey (justincc)1-0/+2
doesn't prevent the actual teleport.
2011-09-05Try disabling the inconsistent attachment state check to see if this ↵Justin Clark-Casey (justincc)1-13/+18
actually has an impact. The code in question is over three years old and just be catching an inconsistency rather than being wholly necessary. This commit still carries out the check and prints all the previous log warnings but a 'failure' no longer prevents avatar region crossing or teleport, and it doesn't give the client the error message. This will have some kind of impact on http://opensimulator.org/mantis/view.php?id=5672
2011-09-02Comment out Scene.CleanDroppedAttachments() and calls.Justin Clark-Casey (justincc)1-1/+1
This method wasn't actually doing anything since dropped attachments retain a PCode of 9. Also, behaviour of dropped attachments in other places appears to be that they persist after avatar logout rather than get deleted.
2011-09-01Eliminate pointless checks of SOG.RootPart != nullJustin Clark-Casey (justincc)1-1/+1
It's never possible for SOG to have no RootPart, except in the first few picosends of the big bang when it's pulled from region persistence or deserialized
2011-08-31move common code into AttachmentsModule.DeleteAttachmentsFromScene()Justin Clark-Casey (justincc)1-5/+1
2011-08-31Make SP.Attachments available as sp.GetAttachments() instead.Justin Clark-Casey (justincc)1-29/+32
The approach here, as in other parts of OpenSim, is to return a copy of the list rather than the attachments list itself This prevents callers from forgetting to lock the list when they read it, as was happening in various parts of the codebase. It also improves liveness. This might improve attachment anomolies when performing region crossings.
2011-08-27refactor: move SOP.IsAttachment and AttachmentPoint up into SOG to avoid ↵Justin Clark-Casey (justincc)1-1/+1
pointless duplication of identical values
2011-08-09When an NPC is created, stop telling neighbouring regions to expect a child ↵Justin Clark-Casey (justincc)1-1/+5
agent
2011-07-07Ensure that the max transfer distance is initialized correctly.Mic Bowman1-1/+7
2011-06-24Tell hypergridders when their teleports fail because of the 4096 limit ↵Justin Clark-Casey (justincc)1-7/+45
rather than just saying "destination not found" Instead of performing the 4096 check when the region is linked (and subsequently removing the link), leave the link in place and perform the check in the entity transfer module This allows us to explicitly tell the hypergridder why the teleport failed (region out of range). It also allows people on regions that are within range (on a large source grid) to teleport. The Check4096 config parameter in the [GridService] section is replaced by a max_distance paramter in a new [EntityTransfer] section in OpenSimDefaults.ini Since the parameter is in OpenSimDefaults.ini no action needs to be taken unless you want to increase this limit. It could also be decreased. The check is being made in the base entity transfer module, since I believe the viewer problem occurs both on extremely large grids and while hypergridding.
2011-06-03HG Landmarks now working.Diva Canto1-1/+28
2011-05-27HG lures working! Friends can offer friends HG teleports via the profile. ↵Diva Canto1-1/+1
WARNING: additional configuration for HG inis -- see *Common.ini.example
2011-05-08Remove a spammy debug I left in. Disable TP cancel button at the pointMelanie1-1/+2
of no return.
2011-05-08Enable compressed (gzip) fatpack transfers.Melanie1-0/+1
2011-05-08Mantis #5472Diva Canto1-6/+15