aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Framework/IClientAPI.cs (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Update the money framework to allow sending the new style linden "serverside ↵Melanie2013-05-251-3/+2
| | | | | | is now viewerside" messages regarding currency This will require all money modules to be refactored!
* This is an experimental patch that adds support for comparing textureMic Bowman2013-05-241-1/+1
| | | | | | | | | | hashes for the purpose of accurately responding to AgentTextureCached packets. There is a change to IClientAPI to report the wearbles hashes that come in through the SetAppearance packet. Added storage of the texture hashes in the appearance. While these are added to the Pack/Unpack (with support for missing values) routines (which means Simian will store them properly), they are not currently persisted in Robust.
* remove pointless region handle paramter from IClientAPI.SendKillObject()Justin Clark-Casey (justincc)2013-05-091-2/+1
|
* Adds an event and a method so that handling of the CachedTextureMic Bowman2013-05-081-0/+5
| | | | | | | | | | | | packet can be pulled out of LLClientView and moved to AvatarFactory. The first pass at reusing textures (turned off by default) is included. When reusing textures, if the baked textures from a previous login are still in the asset service (which generally means that they are in the simulator's cache) then the avatar will not need to rebake. This is both a performance improvement (specifically that an avatars baked textures do not need to be sent to other users who have the old textures cached) and a resource improvement (don't have to deal with duplicate bakes in the asset service cache).
* Change EconomyDataRequest signature to use an IClientAPI rather than UUID. ↵Melanie2013-04-251-1/+1
| | | | | | This is needed because recent LL viewer codebases call this earlier in login when the client is not yet established in the sim and can't be found by UUID. Sending the reply requires having the IClientAPI.
* Allow callers to set the invoice parameter for GenericMessageMelanie2013-04-221-2/+2
|
* Plumb the path from the client to the extra physics params and backMelanie2013-02-071-1/+3
|
* Fix script error messages not showing up in viewer 3 and associated viewers.Justin Clark-Casey (justincc)2012-10-251-2/+14
| | | | | | | Viewer 3 will discard such a message if the chat message owner does not match the avatar. We were filling the ownerID with the primID, so this never matched, hence viewer 3 did not see any script error messages. This commit fills the ownerID in with the prim ownerID so the script owner will receive script error messages. This does not affect viewer 1 and associated viewers which continue to process script errors as normal.
* minor: move recent OnAgentUpdate/OnPreAgentUpdate event doc up into ↵Justin Clark-Casey (justincc)2012-10-181-0/+15
| | | | IClientAPI from LLClientView
* Add --force flag to "kick user" console command to allow bypassing of recent ↵Justin Clark-Casey (justincc)2012-08-201-0/+14
| | | | | | | | | 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.
* Remove IClientAPI.GetClientEP() in favour of existing identical ↵Justin Clark-Casey (justincc)2012-07-121-1/+0
| | | | IClientAPI.RemoteEndpoint.
* Remove long obsolete and unused IClientAPI.KillEndDone()Justin Clark-Casey (justincc)2012-06-131-2/+0
|
* Set IClientAPI.IsActive = false early on client removal due to ack timeout ↵Justin Clark-Casey (justincc)2012-06-121-6/+3
| | | | | | | | rather than using IsLoggingOut flag. IsActive is more appropriate since unack timeout is not due to voluntary logout. This is in line with operations such as manual kick that do not set the IsLoggingOut flag. It's also slightly better race-wise since it reduces the chance of this operation clashing with another reason for client deactivation (e.g. manual kick).
* In PresenceDetector.OnConnectionClose(), use the IsChildAgent check already ↵Justin Clark-Casey (justincc)2012-06-121-6/+16
| | | | available on IClientAPI.SceneAgent rather than retrieving it again by scanning all scenes.
* refactor: Stop passing both IClientAPI and agentID to friend event ↵Justin Clark-Casey (justincc)2012-03-291-3/+3
| | | | listeners, these are redundant. Replace a few magic numbers with FriendRights enum already used elsewhere.
* Add back parts of reverted changes that were not concerned with child agent ↵Justin Clark-Casey (justincc)2012-03-291-1/+1
| | | | | | | caching. This adds ScenePresence to IClientAPI.SceneAgent earlier on in the add client process so that its information is available to EventManager.OnNewClient() and OnClientLogin() Also add a code comment as to why we're caching friend information for child agents.
* Revert "Simplify friends caching by only doing this for root agents - no ↵Justin Clark-Casey (justincc)2012-03-291-1/+1
| | | | | | | | functions require caching for child agents." We need to cache child agents so that friends object edit/delete permissions will work across boarders on regions hosted by different simulators. This reverts commit d9f7b8549b3cb9699eb8bd54242d31aac0f8241a.
* Simplify friends caching by only doing this for root agents - no functions ↵Justin Clark-Casey (justincc)2012-03-281-1/+1
| | | | | | | | require caching for child agents. This allows us to avoid unnecessary multiple calls to the friends service. All friends functions originate from the root agent and only go to other root agents in existing code. This also allows us to eliminate complex ref counting.
* Instead of loading default avatar animations in both SLUtil and ↵Justin Clark-Casey (justincc)2012-03-211-2/+1
| | | | | | | | AvatarAnimations, load just in AvatarAnimations instead. This lets us remove the dependency of OpenSim.Framework.dll on data/avataranimations.xml, which is not necessary for ROBUST. This commit also takes care of the odd situation where animations are stored and used internally with uppercase names (e.g. "STAND") but scripts refer to them with lowercase names (e.g. "sit").
* Fix: Covenant changed time not set ↵PixelTomsen2012-02-031-1/+1
| | | | | | http://opensimulator.org/mantis/view.php?id=5869 Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
* Replace ParcelAccessEntry with a new struct, LandAccessEntry, which moreMelanie2012-02-021-2/+2
| | | | | | accurately reflects the data sent by the viewer. Add times bans and the expiration of timed bans. Warning: Contains a Migration (and nuts)
* Telehub Support:BlueWall2012-01-201-0/+5
| | | | Support for viewer side of telehub management. Can manupulate Telehubs and SpawnPoints from the viewer estate managemnt tools. This is a work in progress and does not yet persist or affect teleport routing.
* Remove monocov and other obsolete nant build targets.Justin Clark-Casey (justincc)2012-01-161-0/+8
| | | | | monocov was a code coverage attempt 3 years ago which no longer works. other removed targets have been commented out or unused for a very long time
* Implement handler for TeleportCancel inbound packetMelanie2011-12-101-0/+3
|
* On a new client circuit, send the initial reply ack to let the client know ↵Justin Clark-Casey (justincc)2011-12-081-0/+6
| | | | | | | | | it's live before sending other data. This means that avatar/appearance data of other avatars and scene objects for a client will be sent after the ack rather than possibly before. This may stop some avatars appearing grey on login. This introduces a new OpenSim.Framework.ISceneAgent to accompany the existing OpenSim.Framework.ISceneObject and ISceneEntity This allows IClientAPI to handle this as it can't reference OpenSim.Region.Framework.Interfaces
* Convert SendKillObject to take a list of uint rather than sending oneMelanie2011-11-061-1/+1
| | | | packet per prim. More to come as we change to make use of this.
* refactor: Make IClientAPI.DebugPacketFormat a property rather than a setter ↵Justin Clark-Casey (justincc)2011-10-171-2/+2
| | | | without a getter
* refactor: rename IClientAPI.SendPrimUpdate() to SendEntityUpdate() since it ↵Justin Clark-Casey (justincc)2011-10-141-1/+8
| | | | sends entity updates (including presence ones), not just prims.
* Remove usage of Linden packet types from inside Attachments Module and interfaceDan Lake2011-10-031-2/+1
|
* Reinstate option to land an npc when it reaches a target.Justin Clark-Casey (justincc)2011-09-221-1/+1
| | | | This is moved into ScenePresence for now as a general facility
* refactor: migrate DropObject handling fully into AttachmentsModule from SceneJustin Clark-Casey (justincc)2011-08-301-1/+1
|
* early code to allow scripts to force npcs not to fly when moving to targetJustin Clark-Casey (justincc)2011-08-101-1/+1
| | | | | this is to allow walking on prims. it will be up to the script writer to be sure that there is a continuous path. currently implemented in osNpcMoveToTarget(), but none of this is final.
* When an NPC is created, stop telling neighbouring regions to expect a child ↵Justin Clark-Casey (justincc)2011-08-091-1/+1
| | | | agent
* get rid of vestigal move to parametersJustin Clark-Casey (justincc)2011-08-031-1/+1
|
* Fix LLTextBox to work with the updated libOMVMelanie2011-07-231-1/+1
|
* Add an async inventory details sender to respond to FetchInventory packets.Justin Clark-Casey (justincc)2011-07-011-1/+1
| | | | | | | If a user with a very large inventory right-clicks on their "My Inventory" folder, viewer 1 code will send a massive number of Fetchinventory requests. Even though each is handled asynchronously via a pool thread, the sheer frequency of requests overwhelms the pool and freezes inbound packet handling. This change makes the first Fetchinventory thread also handle subsequent requests, freeing up the other threads. Further efficiencies could be made by handling all the items in a particular FetchInventory request together, rather than separately.
* HG Landmarks now working.Diva Canto2011-06-031-1/+1
|
* Fill in the new OwnerData field in the LLUDP ScriptDialog message.Justin Clark-Casey (justincc)2011-05-311-1/+13
| | | | | If we don't do this then viewer 2.8 crashes. Resolves http://opensimulator.org/mantis/view.php?id=5510
* The map is seriously broken. This doesn't fix it, but at least provides one ↵Diva Canto2011-05-081-1/+1
| | | | more piece of data that seems to be required -- agent flags, which seem to be different in Viewer 2. WARNING: changes IClientAPI.
* Requeue unacknowledged entity updates rather than resend then "as is".Dan Lake2011-04-191-12/+47
| | | | | | | | | | | | | | | | | | | | | | | | Often, by the time the UDPServer realizes that an entity update packet has not been acknowledged, there is a newer update for the same entity already queued up or there is a higher priority update that should be sent first. This patch eliminates 1:1 packet resends for unacked entity update packets. Insteawd, unacked update packets are decomposed into the original entity updates and those updates are placed back into the priority queues based on their new priority but the original update timestamp. This will generally place them at the head of the line to be put back on the wire as a new outgoing packet but prevents the resend queue from filling up with multiple stale updates for the same entity. This new approach takes advantage of the UDP nature of the Linden protocol in that the intent of a reliable update packet is that if it goes unacknowledge, SOMETHING has to happen to get the update to the client. We are simply making sure that we are resending current object state rather than stale object state. Additionally, this patch includes a generalized callback mechanism so that any caller can specify their own method to call when a packet expires without being acknowledged. We use this mechanism to requeue update packets and otherwise use the UDPServer default method of just putting expired packets in the resend queue.
* Fixed the update of items in the priority queue to enable bothMic Bowman2011-04-121-0/+5
| | | | | | types of property updates to be specified. Not sure if one form of property update should supercede another. But for now the old OpenSim behavior is preserved by sending both.
* First pass at moving object property requests into a queue similarMic Bowman2011-04-121-18/+21
| | | | | | | | to the entity update queue. The number of property packets can become significant when selecting/deselecting large numbers of objects. This is experimental code.
* Start using IPrimCounts populated by PrimCountModule instead of LandData ↵Justin Clark-Casey (justincc)2011-03-251-1/+11
| | | | | | | counts populated by LandManagementModule. In order to pass ILandObject into IClientAPI.SendLandProperties(), had to push ILandObject and IPrimCounts into OpenSim.Framework from OpenSim.Region.Framework.Interfaces, in order to avoid ci Counts are showing odd behaviour at the moment, this will be addressed shortly.
* Implement SendPlacesReplyMelanie2010-12-301-0/+19
|
* * Re-Adding Scene TimeDilation to Object Update Packets.Teravus Ovares (Dan Olivares)2010-12-231-1/+3
| | | | | | * Added Calculating Time Dilation in the OdePlubin * When multiple object updates are stuffed into one packet, average the time dilation between them as a compromise. * Time Dilation on the update is calculated when the EntityUpdate object is created. The pre-calc-ed TD is stored in the Entity update and used when it goes out on the wire. Previously, it was 1.0 all the time. The time dilation is tied to when the update is created, not when the update is sent.
* * Adds AbortXfer to the ClientAPI mixTeravus Ovares (Dan Olivares)2010-12-211-0/+2
| | | | | | * Adds an item that checks to see if the top request has been there for longer then 30 seconds without an update and sends an AbortXfer if it encounters one. This allows the client to cancel the Xfer on it's side so you can re-select the prim and get the inventory when it fails the first time. * Some interesting locking... Using NewFiles to lock the rest of them. We'll see how that goes. * The goal of this is to ensure that Xfers are restartable when they fail. The client will not do that on it's own.
* Revamp the viewer -> banlist packet processing so fix a number of bugs.Melanie2010-12-131-3/+4
| | | | | | | Remove the too coarse CanEditParcel method in favor of a CanEditParcelProperties method that takes a GroupPowers argument to specify what action is to be taken. Also, make the method to set parcel data much more granular. Permissions in a deeded setting should now work.
* Major refactoring of appearance handling.Master ScienceSim2010-10-201-3/+3
| | | | | | | | | | | | | | | | | | | 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.
* Added SendTeleportProgress to IClientAPI. Ya know what that means... 8 files ↵Diva Canto2010-08-161-0/+2
| | | | affected.
* Work on TeleportStart: renamed method from TeleportLocationStart to ↵Diva Canto2010-08-161-1/+1
| | | | TeleportStart, and now sending this upon all teleports, not just some, and in the right place (EntityTransferModule).