aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Framework/ChildAgentDataUpdate.cs (unfollow)
Commit message (Collapse)AuthorFilesLines
2013-08-07minor: add some method doc to ScenePresence fields used for entity transfer, ↵Justin Clark-Casey (justincc)1-0/+6
add minor details to some log messages, rename a misleading local variable name. No functional changes.
2013-07-24New Teleport protocol (V2), still compatible with V1 and older. (version of ↵Diva Canto1-5/+6
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...
2013-07-14Authenticate ChildAgentUpdate too.Diva Canto1-1/+2
2012-10-30Add AnimState to CADUMelanie1-0/+36
2011-12-16Commented a couple of verbose debug messages.Diva Canto1-1/+1
2011-12-09Comment out ChildAgentDataUpdate.Pack() "Pack data" message for now.Justin Clark-Casey (justincc)1-1/+1
2011-09-10lock attachments when enumerating through them in ScenePresence.CopyTo().Justin Clark-Casey (justincc)1-1/+0
May have some effect on http://opensimulator.org/mantis/view.php?id=5644
2011-09-06In SetAttachment, if the existing attachment has no asset id then carry on ↵Justin Clark-Casey (justincc)1-0/+1
rather than abort. When a user logs in, the attachment item ids are pulled from persistence in the Avatars table. However, the asset ids are not saved. When the avatar enters a simulator the attachments are set again. If we simply perform an item check then the asset ids (which are now present) are never set, and NPC attachments later fail unless the attachment is detached and reattached. Hopefully resolves part of http://opensimulator.org/mantis/view.php?id=5653
2011-08-02Get rid of AvatarAppearance.Owner to simplify the code.Justin Clark-Casey (justincc)1-2/+2
This is not used for anything - appearances are always properties of objects with ids (ScenePresence, AgentCircuitData) and just has the potential to get out of sync when the appearance is cloned.
2011-05-06minor: remove mono compiler warningsJustin Clark-Casey (justincc)1-1/+1
2011-04-30Removed XXX Debug. Increased ReadWriteTimeout on ServiceOSDRequest, because ↵Diva Canto1-1/+0
it was _way_ too low and is probably making writes abort in the middle.
2011-04-30XXX DEBUGGING!Diva Canto1-1/+2
2011-04-28Fatpack message on agent transfers: 1 message only (UpdateAgent) containing ↵Diva Canto1-5/+52
the agent and all attachments. Preserves backwards compatibility -- older sims get passed attachments one by one. Meaning that I finally introduced versioning in the simulation service.
2010-11-27Refactor appearance and avatar data sending code. Paritioning the routines ↵Mic Bowman1-8/+2
into "one-to-many" and "many-to-one" makes it possible to call the right function on presence creation (both child and root) and when a child agent is promoted to root. This brings the total number of appearance sends down to one or two on login. Cleaned up the avatar update calls in the groups code. Cleaned up some commented and debugging code, and a few formating fixes.
2010-11-08Formatting cleanup.Jeff Ames1-3/+3
2010-10-30READ CAREFULLY!!! This is a BROKEN commit. It is UNTESTED and INCOMPLETE.Melanie1-6/+4
It contains a major interface version bump and will NOT work with earlier grid services. This is preliminary work that will lead to layers support. Rest appearance services are commented out completely, they will have to be adapted by someone who actually uses them. Remote admin is working, but has no layers support. There is no layers support in the database. Login likely won't work. You have been warned.
2010-10-26Small cleanup and add more debugging informationMaster ScienceSim1-6/+21
2010-10-25Half of the compatibility is working. Login into a new region withMaster ScienceSim1-11/+22
old data works. Teleport out of a new region with old data works. Teleport into a new region with old data does not trigger the necessary rebake.
2010-10-25Intermediate commit for backward compatability; does not compile yetMic Bowman1-29/+41
2010-10-20Major refactoring of appearance handling.Master ScienceSim1-49/+21
AvatarService -- add two new methods, GetAppearance and SetAppearance to get around the lossy encoding in AvatarData. Preseve the old functions to avoid changing the behavior for ROBUST services. AvatarAppearance -- major refactor, moved the various encoding methods used by AgentCircuitData, ClientAgentUpdate and ScenePresence into one location. Changed initialization. AvatarAttachments -- added a class specifically to handle attachments in preparation for additional functionality that will be needed for viewer 2. AvatarFactory -- removed a number of unused or methods duplicated in other locations. Moved in all appearance event handling from ScenePresence. Required a change to IClientAPI that propogated throughout all the IClientAPI implementations.
2010-09-17* Fixed and re-enabled CacheTestsTeravus Ovares (Dan Olivares)1-2/+2
* Added MundaneFrameworkTests.cs for the really mundane tests like testing properties,constructors, etc in OpenSim.Framework. * Fixed LeftAxis and UpAxis unpacking from OSD to AgentPosition (copy and paste error caught while writing mundane test) (Good thing nobody uses the camera frustum from remote regions yet)
2010-07-11Add scripted controllers into agent intersim messagingMelanie Thielker1-0/+65
2010-03-03Removing the sLLVector3 dinosaurJohn Hurliman1-7/+6
2010-01-12Fixed more appearance woes that showed up using remote connectors. ↵Diva Canto1-1/+6
Appearance is now being passed with AgentCircuitData, as it should be.
2010-01-07* Finished SimulationServiceConnectorDiva Canto1-5/+5
* Started rerouting calls to UserService. * Compiles. May run.
2009-08-16Making attachments work again. Tons of debug more. This needs more testing ↵Diva Canto1-1/+63
and a lot of cleaning.
2009-06-01Minor: Change OpenSim to OpenSimulator in older copyright headers and ↵Jeff Ames1-1/+1
LICENSE.txt.
2009-04-01Refactoring, no functional changes. Moved ChildAgentDataUpdate data ↵diva1-125/+68
structures from OpenSim.Region.Framework.Scenes back to OpenSim.Framework, so they can be referenced more broadly. This involved having to move the small Animation data structure to OpenSim.Framework too.
2009-02-22Mantis#3218. Thank you kindly, TLaukkan (Tommil) for a patch that:Charles Krinke1-4/+4
* Added log4net dependency to physxplugin in prebuild.xml. * Added missing m_log fields to classes. * Replaced Console.WriteLine with appropriate m_log.Xxxx * Tested that nant test target runs succesfully. * Tested that local opensim sandbox starts up without errors.
2009-02-18Adds support for preserving animations on region crossings and TPs. diva1-28/+30
Known issue: after TP, the self client doesn't see the animations going, but others can see them. So there's a bug there (TPs only, crossings seem to be all fine). Untested: did not test animation overriders; only tested playing animations from the viewer.
2009-02-12* optimized usings.lbsa711-11/+7
2009-01-03Split agent updates into two messages: full update and position+camera ↵diva1-5/+23
update. They're both sent over HTTP PUT. The full update is sent on TPs, for now; later it will also be sent on region crossings.
2009-01-03Some plumbing for additional agent update messages. Not used yet. Removed ↵diva1-14/+236
the compilation warnings on this file, and completed the packing/unpacking of AgentData (VisualParams, Anims and Groups).
2009-01-01Major changes in interregion communications. This breaks compatibility with ↵diva1-0/+7
older versions, and may result is all sorts of weirdnesses when interacting with sims in older versions. Changes: - Introducing synchronous Teleports. Now the receiving region calls back the sending region after the client has been made a root agent there, that is, after client sends CompleteMovement to the destination. - SendCloseAgent moved from OGS1 Remoting to RESTComms.
2008-12-30Removing unnecessary null checks on structs in AgentsData pack/unpack.diva1-43/+21
2008-12-29Merged the InterregionData that Melanie had placed there onto the existing ↵diva1-0/+312
ChildAgentDataUpdate. This commit involves a change in prebuild.xml, because ChildAgentDataUpdate uses OpenMetaverse.StructuredData. Still no use of this data structure, though. Crossing my fingers that this partial commit will compile ok...
2008-11-08* Added IClientIM to IClientCore interfacesAdam Frisby1-1/+0
* Changed SendInstantMessage, dropped fromAgentSession and imSessionID as security precaution, see http://opensimulator.org/wiki/OpenSim_0.6_IClientAPI#Porting_Guide for details on porting. * Removed unused usings from Framework.*
2008-09-06* This changes gridcomms types back to our home grown wholy controlled types. Teravus Ovares1-4/+4
* These are different types then the OMV types because changing them causes just about all grid comms to break. If these were the libOMV types, then libOMV couldn't change them ever again after that.. or we'd have a breakage whenever they changed them. * This might introduce a map issue. Still checking it out.
2008-09-06* This is the fabled LibOMV update with all of the libOMV types from JHurlimanTeravus Ovares1-4/+5
* This is a HUGE OMG update and will definitely have unknown side effects.. so this is really only for the strong hearted at this point. Regular people should let the dust settle. * This has been tested to work with most basic functions. However.. make sure you back up 'everything' before using this. It's that big! * Essentially we're back at square 1 in the testing phase.. so lets identify things that broke.
2008-04-29* Spring cleaning.Adam Frisby1-14/+14
* Added new generic "Location" class to handle 2D integer locations. Going to use it to replace all RegionHandle and X,Y coordinate references throughout the entire project. You have been warned.
2008-03-18Formatting cleanup.Jeff Ames1-27/+26
2008-01-22* Enabled dead region tracking for ChildAgentDataUpdates Teravus Ovares1-0/+3
** If the region fails 3 times, then ChildAgentDataUpdates no longer get sent to that region * Enabled Child_Get_Tasks in grid mode. * When Child_Get_Tasks is enabled on neighbor regions, the neighbor region uses the client's draw distance to send out prim. This is a lot less likely to flood the client now since the ChildAgentDataUpdate contains both the throttle settings and the draw distance. This means that with this enabled, you can see prim in other regions in grid mode. Very experimental.
2007-12-27* Optimized usingslbsa711-5/+3
* shortened references * Removed redundant 'this' * Normalized EOF
2007-12-11added copyright noticesJeff Ames1-0/+28
2007-12-09* Added more info to ChildAgentDataUpdate Teravus Ovares1-0/+1
* Added (at sdauge's suggestion) byte[] GetThrottlesPacked(float multiplier)
2007-12-09* Added some inter-region comms glue for allowing sims to chat amongst ↵Teravus Ovares1-0/+23
themsevles about an agent behind the agent's back. * Will be using this glue Tomorrow/today to tell other regions what the agent's draw distance is and what region they're actually in so the region can make decisions on what prim to send, if any.