Commit Graph

707 Commits (1c0df5e40f7452a85e32be47b08a7da691f034a3)

Author SHA1 Message Date
Justin Clarke Casey 9052c43319 * Drop InvType from the assets table since it is no longer used
* Migration should be automatic on sqlite and mysql
* Migration is not automatic on mssql, you will need to drop the invType column manually
* Migration should be fine, but as for any db change, I would recommend making sure you have backups before moving past this revision
2008-07-02 16:20:54 +00:00
Sean Dague 721988adcd add the ability to cherry pick expire something from the asset
cache.  Bandaid until we rethink the caches a bit more.
2008-06-30 15:05:30 +00:00
Jeff Ames 2dfaa3c5e4 Update svn properties. 2008-06-30 12:41:32 +00:00
MW b0330a0bb5 disabled the multiple inventory server support in login service again.
And reverted CachedUserInfo back to revision 5262. 
I don't think most of the inventory problems that people are reporting are due to these, but its easier to deal with one set of potential problems at a time, and I'm not going to get any time in the week to work on this anyway.
2008-06-29 20:39:34 +00:00
MW f3f31744ab patch and files from mantis #1630, Thanks Melanie 2008-06-29 11:48:58 +00:00
MW 68bec3f69f couple of small fixes to try to fix support for multiple inventory servers in the loginservice 2008-06-29 10:27:22 +00:00
MW 031b3d5314 small change to see if that helps with the inventory problems. 2008-06-28 23:05:08 +00:00
MW 85f893f0b3 more disabling multiple inventory server support in LoginService 2008-06-28 22:19:48 +00:00
Charles Krinke 1091f78e04 Mantis#1626. Thank you kindly, Melanie for a patch that:
Fixes IAvatarService for grid and standalone modes
2008-06-28 19:04:28 +00:00
MW 5cfc468d95 more work on the support for multiple inventory servers.
The Login service should now read/create new inventory on the inventory server that is set in a users profile.
Also added "Add-InventoryHost" console command to add a support for a new server to a region.
So it would be good if someone could test this. Set up the grid as normal, but then also run extra inventory server on a different computer (well actually it just has to be on a different network hostname, so one using "http://localhost:8004" and one using "http://127.0.0.1:8005" should work) then you need to manually edit the user profile database to set the new servers url in a user's "userInventoryURI" field. 
Then on a region server, use the Add-InventoryHost to add the new server url (always include the full url, including http, but don't add a final /)
Login with that account and see if the inventory works.
Of course these needs to be made more user friendly.
2008-06-28 17:52:06 +00:00
MW a9347b6ceb Extracted the Avatar appearance functions out of the IUserService interface and moved them into a IAvatarService
Although "out of the box", there is no actual functional change to behavior
2008-06-28 17:43:20 +00:00
MW 86defd0a69 plumbing for multiple inventory servers. Mostly done on the region server side.
TODO next is to make the login server read/write a users inventory from the correct server (the inventory url set in a userprofile)
On the region side, although not tested with multiple servers it should work if that inventory url was set, and the inventory servers urls have been added to the CommunicationsManager, using CommunicationsManager.AddInventoryService(string hostUrl)
2008-06-28 15:13:17 +00:00
Dr Scofield feb30217de dr scofield's warning safari:
* commented out [Obsolete(....)] attributes where no replacement feature
  was available: if we want to attribute code that we think needs to be 
  reworked, we should define a new attribute and use that instead 
  (together with a little tool to retrieve all the attributed code then)
* commenting out unused variables
2008-06-27 16:58:21 +00:00
Dr Scofield cea6e03ae0 dr scofield's warning safari: hunting down those little buggers 2008-06-27 16:18:56 +00:00
Charles Krinke 1cd6b71b60 Mantis#1594. Thank you, Melanie for a patch that:
Fixes:
- Wearable icon and name sreset to default on copy/paste
- Cache is not updated when renaming/moving folders
- Partial refactor to make inventory less dependen on AssetBase having a "Name" field
- Add llGiveInventoryList() function
2008-06-26 02:46:29 +00:00
Teravus Ovares cb29926e3c * Refactors call to OutPacket out of AssetCache and into LLClientView 2008-06-18 23:04:15 +00:00
Justin Clarke Casey 4c2171ec82 * Allow archiver to save and load objects within other objects to arbitrary levels
* This currently has various bugs which are more to do with the way its been hacked together than the feature itself (e.g. on save-oar, ghost prims will appear of the saved 
contained items).  These will be found and eliminated in subsequent patches.
* Not yet ready for use
2008-06-16 21:59:39 +00:00
Justin Clarke Casey 4af6286512 * Start recording asset request failures
* This includes problems such as connection failures and timeouts.  It does not include 'asset not found' replies from the asset service.
2008-06-14 17:47:25 +00:00
Sean Dague b47dd07932 save_assets_to_file path shouldn't always assume uploaded
content are images and use .jp2 for the file extension.
2008-06-13 19:41:13 +00:00
Justin Clarke Casey d6519924ba * refactor: catch asset service request exceptions at the AssetServerBase level rather than in the GridAssetClient
* this is to enable logging of asset request exceptions soon
2008-06-13 18:04:01 +00:00
Justin Clarke Casey 520da0d9ff * minor: comment out confusing DefaultTimeout field in RestClient, which is currently not actually used 2008-06-13 16:23:31 +00:00
Teravus Ovares 5219eb7420 * Split the World Map code into a module.
* Implemented a hack so regions beyond the 10,000m range will show the map without having to click on the map before they'll start to show.   The hack shows regions around the one you're in, but it won't show the one you're in..  you still need to click on the map to get that (not sure why yet).   Additionally, the map still only shows pictures for regions that are hosted on the same instance (no change).
2008-06-12 20:19:42 +00:00
Charles Krinke 7821cca2f5 Mantis#1514. Thank you kindly, Boscata for an InventoryServer patch
to allow the InventoryServer to work with MSSQL..
2008-06-11 14:02:16 +00:00
Justin Clarke Casey 3794f25ebd * minor: Properly clear the pushed asset cache statistics where the clear-assets command is used on the region console
* stop waiting for garbage collection when GC total memory used is requested, in case the periodic request of this lags the sim
2008-06-10 23:35:04 +00:00
Jeff Ames fbd37c420f Minor formatting cleanup. 2008-06-06 01:19:15 +00:00
Dr Scofield caee0288fb * adding XmppPresenceStanza and deserialization/reification support
having reached the intermediate level of .NET's XmlSudoku, i've
  now figured out how to do deserialization using different 
  XmlSerializers (this stuff begins to grow on me, sigh).

  [still not used code, work-in-progress]

* adding convenience property on OSHttpRequest.cs (from awebb)
2008-06-04 18:09:55 +00:00
Dr Scofield 67dee6410d * fleshing out XMPP entities, adding XmppWriter and XmppSerializer
having spent the last couple of days wrestling with .NET XmlSerializer
  and trying to get it to do what is required by XMPP (RFC 3920 & 3921)
  this is the preliminary result of that wrestling (you should see the
  other guy!): XmppSerializer allows us to serialize Xmpp stanza (and
  theoretically deserialize [or reify] them), XmppWriter helps avoiding
  various gratuitous crap added in by off-the-shelf XmlSerializer.

  this is currently not used anywhere but the plan is to use it for 
  at least an XMPPBridgeModule.
2008-06-04 13:06:24 +00:00
Sean Dague 5f6b26d9ba provide slightly more sane defaults in the file based asset loader 2008-06-02 20:28:26 +00:00
Teravus Ovares d20cae2d03 * Committing more unfinished stuff. Nothing significant at the moment. IM related. 2008-06-01 10:05:22 +00:00
Teravus Ovares febe78d062 * Implements UserServer logoff in a few situations
* User tries to log-in but is already logged in.  Userserver will send message to simulator user was in to log the user out there.
* From the UserServer, admin types 'logoff-user firstname lastname message'.
* Some regions may not get the message because they're not updated yet.
2008-05-31 12:18:29 +00:00
Jeff Ames 0462510956 Update svn properties. Formatting cleanup. 2008-05-30 08:35:57 +00:00
Teravus Ovares 9cefda83d6 * Caches UUIDName requests
* Looks up UUIDNames for script time and colliders in a separate thread.
* Hopefully this'll allow you to look at top scripts on a region that has a lot of scripts without crashing your client thread.
2008-05-29 23:36:37 +00:00
Jeff Ames 5752c1f5c2 Formatting cleanup. 2008-05-28 03:44:49 +00:00
Charles Krinke 2cea74181a Thank you very much, Xantor for a patch that:
If a request is made for an asset which is not in the cache yet, 
but has already been requested by something else, queue up the 
callbacks on that requester instead of swamping the asset server 
with multiple requests for the same asset.
2008-05-27 13:40:00 +00:00
Jeff Ames 5d77625e9a Update svn properties. Formatting cleanup. 2008-05-25 23:27:38 +00:00
Justin Clarke Casey 61bba6375c * Fix mantis 1325. This is a minor issue where 'show assets' would not work fully in the region console 2008-05-22 00:49:17 +00:00
Justin Clarke Casey 1f57fd4bec * Minor: Tidy ups and logging tweaks. 2008-05-22 00:41:03 +00:00
Dr Scofield a53cea6b7e i'm extending the RestStreamHandler.Handler(...) signature to actually
provide OSHttpRequest and OSHttpResponse to our REST handler. 

also, this adds proper RestPlugin.IsGod() checking against the X-OpenSim-Godkey
HTTP request header.

last, i added XML doc comments to RestPlugin.cs
2008-05-20 16:51:45 +00:00
Jeff Ames 535d64b66b Add copyright notices.
Fix spelling typo (Thanks ChrisDown for pointing this out)
2008-05-20 15:38:49 +00:00
Charles Krinke 01b5425a2d Thank you kindly, Melanie for a patch that avoids a null
ref in inventory give and also now causes items to appear
in the correct folders now, no longer in the root folder.
2008-05-19 20:05:10 +00:00
Sean Dague 9808f39b6f i can haz pantz?
You sure can.  This change set restores pants (and the rest of the
default appearance) in grid mode.  The 
root issue had to do with serializing multi-faced textures to the 
grid server.  This also restores the lookup path through the avatar
factory module, as that seems the reasonable place to have it live.
Some clean up patches are coming later as well, plus testing on 
standalone, but this should be in a good kicking around state for 
grid users.
2008-05-19 19:08:59 +00:00
Dr Scofield d725d1208b adding OSHttpRequest and OSHttpResponse which wrap HttpListenerRequest and HttpListenerResponse respectively.
enhancing IStreamHandler and IStreamedHandler interfaces so that OSHttp{Request,Response} get passed in, 
allowing RestHandlers to set response status code, redirections, etc.
2008-05-19 11:38:35 +00:00
Justin Clarke Casey f6add412d6 * Refactor: Eliminate empty if clause from AssetCache.GetAsset() 2008-05-18 19:56:25 +00:00
Teravus Ovares a510033df5 * Applying patch in mantis 0001293: [PATCH] Fix a bug that corrupts uploaded assets on disk write from Melane. Thanks Melanie! 2008-05-16 22:50:37 +00:00
Justin Clarke Casey 63ddbfb979 * Eliminate occurences of "Got a texture uuid ... with no sender object to handle it..." by properly dealing with the situation where a client still has queued texture requests when it logs out 2008-05-16 18:10:04 +00:00
Justin Clarke Casey c2581c9577 * Cache knowledge in the region server that the asset service has reported an asset to be missing
* This prevents repeated requests for the same missing asset to the asset server, hopefully reducing the load a little
2008-05-16 17:47:34 +00:00
Justin Clarke Casey 772f88d2e5 * Removing unnecessary LLUUID.Zero check from AssetCache
* This revision also includes a very temporary fix for the fact that NREs are received because of a missing avatar apperance in grid mode
2008-05-16 16:37:31 +00:00
Jeff Ames 65c5efe43b Formatting cleanup. 2008-05-16 01:22:11 +00:00
Sean Dague 4ff4475d02 remove my UserAppearance object, switch all code to use
AvatarAppearance instead.
2008-05-15 18:42:27 +00:00
Justin Clarke Casey 1ef37b196c * Minor: Fussy little wording change on inventory service failure 2008-05-14 22:30:43 +00:00
Justin Clarke Casey 8fe9943293 From: Dr Schofield <hud@zurich.ibm.com>
Rename SearializableRegionInfo to SerializableRegionInfo (class was already named correctly)
2008-05-14 17:03:25 +00:00
Jeff Ames c995d60d37 Formatting cleanup. 2008-05-14 05:11:23 +00:00
Justin Clarke Casey 550018f02d * As part of the region registration process, the grid service now requests the status of the region using the region http uri just passed in
* If the status cannot be retrieved, then the region startup will terminate.
* The aim of this is for earlier detection of situations where the region can send messages out but cannot accept incoming requests (often due to firewall issues)
* This is currently an extremely simplistic check which completely trusts whatever http uri is given by the region
* This contact may be problematic, though since the user service needs to be able to contact the region http uri, it doesn't seem unreasonable for the grid to have to be able to do so too at this stage
* This change will require a prebuild
2008-05-13 13:36:21 +00:00
Justin Clarke Casey d3fb6039ca * If a region running in grid mode fails to login to the grid service, startup will now terminate instead of carrying on (and thus burying the error message) 2008-05-12 16:57:56 +00:00
Teravus Ovares e8478dadc8 * Experiment in Zerocoding. 2008-05-10 10:28:49 +00:00
Justin Clarke Casey 57fea65c82 * Revert caps fetch inventory service back to UDP for now
* Linden client 1.19.1.4 appears to be happy using UDP for this request again, and Linden's own servers (1.21) don't appear to be supplying the CAPS version currently
* This should for now fix the bug where texture selection in the edit window both shows only already open textures, and later stops subsequent inventory requests from working.
2008-05-09 21:50:22 +00:00
Justin Clarke Casey 3f345bf685 * Removing polling delay for non-CAPS inventory fetch if the client has not yet received data from the inventory service
* Replaced instead with the system now used by other requests where the fetch request is placed on a queue and service when the data comes in
2008-05-09 21:33:19 +00:00
Justin Clarke Casey d9dffc4a9a From: Michael Osias <mosias@us.ibm.com>
Stop .net generating ambiguous operator errors when two integers are compared for equality in LSL
2008-05-09 17:23:27 +00:00
Justin Clarke Casey 6e2c7da018 * Minor: Insert utility function to format raw xml strings into indented xml for debugging purposes 2008-05-09 15:51:02 +00:00
Justin Clarke Casey fe8f9a4b25 * Restoring some initial inventory lookup polling delays in order to deal with situations seen on osgrid 2008-05-09 13:36:08 +00:00
Adam Frisby 4fa0cbdfbb * You can haz more spring cleaning.
* Eventually this codebase will be clean. >_>
2008-05-08 05:35:01 +00:00
Adam Frisby ba8ff761c0 * Reduced sleep durations in a number of files. 2008-05-08 04:47:38 +00:00
Justin Clarke Casey e35e83312d * Increase number of poll attempts an inventory items request will make under CAPS 2008-05-07 15:53:27 +00:00
Justin Clarke Casey 5ab392d0ee * Refactor: A final root folder special case removal, this time in HandleFetchInventoryDescendents[CAPS] 2008-05-04 01:14:21 +00:00
Justin Clarke Casey 6c62985fd5 * Refactor: Do the root case removal thing again, this time in ItemReceive() 2008-05-04 01:04:49 +00:00
Justin Clarke Casey 9646258fdf * Refactor: Simplify CachedUserInfo.FolderReceive() by removing root folder special case 2008-05-04 00:53:01 +00:00
Justin Clarke Casey 0f716e3ac4 * Simplify CreateFolder() by folding previous special root case into FindFolder() 2008-05-04 00:06:34 +00:00
Justin Clarke Casey 27a7391d6b * Add ability to defer item actions for AddItem() and DeleteItem(). This won't be useful until we let the client cache (again?) 2008-05-03 23:33:20 +00:00
Justin Clarke Casey 56827894e9 * Refactor RemoveItem() 2008-05-03 23:23:46 +00:00
Justin Clarke Casey 688940e810 * Refactor: Renaming item and folder tree search methods to have Find*() prefixes 2008-05-03 22:39:33 +00:00
Justin Clarke Casey 068163b14b * Refactor: Move MoveFolder() and PurgeFolder() into CachedUserInfo (which arguably should be split) 2008-05-03 19:50:49 +00:00
Justin Clarke Casey 45430a5403 * Refactor: move UpdateFolder into CachedUserInfo 2008-05-03 19:27:34 +00:00
Justin Clarke Casey 45a71bb045 * Make user profile cache service complain if the caller assumes a profile exists when in fact it does not 2008-05-03 19:12:17 +00:00
Justin Clarke Casey 1087542705 * Refactor: Move bulk of CreateFolder from UserProfileCacheService into CachedUserInfo
* Remove unused/superseded methods from GridInventoryService
2008-05-03 18:57:02 +00:00
Justin Clarke Casey a5dfca8958 * Refactor: remove redundant userId parameter from UpdateItem() and DeleteItem()
* Put warning in remove folder method about non implementation (not that this is used anyway - may be legacy)
2008-05-03 18:13:32 +00:00
Justin Clarke Casey f5609ba452 * Refactor: remove pointless agentId parameter from CachedUserInfo.AddItem()
* Remove old framework asset transactions files which were region modularized
2008-05-03 18:01:38 +00:00
Teravus Ovares e8acb49fef * For your fragging desire, damage enabled land works, but watch out!, life does not regenerate until you're dead! 2008-05-03 15:39:40 +00:00
Sean Dague 1b7f1c956c plumb in connection string to the user database paths. mysql and mssql
just ignore this for now, but it lets us get connect strings to sqlite
and nhibernate.
2008-05-02 18:59:12 +00:00
Sean Dague 4a8f432441 minor refactoring. Change getName and GetVersion methods (yes the had different casings)
to Name and Version properties for the User stores.
2008-05-02 12:35:24 +00:00
Jeff Ames 058191e6cc Update svn properties. 2008-05-02 03:34:06 +00:00
Justin Clarke Casey a81edef2b9 * Refactor: Remove redundant userID from further up the inventory request chain 2008-05-01 21:22:03 +00:00
Justin Clarke Casey 1de6cffa28 * Refactor: Remove the unused userID parameter that was being passed into almost every inventory method
* This allows lots of redundant inventory methods with only slightly different names to be eliminated.
2008-05-01 20:47:33 +00:00
Sean Dague e41232bac5 create pass through of UserManagerBase to plugin calls 2008-05-01 20:36:43 +00:00
Sean Dague cc5351ec1b remove the db4o asset server 2008-05-01 20:33:43 +00:00
Sean Dague 70f7672dad added in IUserService functions. These don't do anything yet,
but the set all compiles together fine, and it provides people
an idea of where we are heading.
2008-05-01 18:36:43 +00:00
Adam Frisby 01f31fd933 * Breaking all the code, breaking all the code..!
* Made a bunch more members static, removed some dead code, general cleaning.
2008-05-01 16:23:53 +00:00
Adam Frisby 5da028f6ef * Removing duplicate files that somehow got undeleted from TortoiseSVN. Fixed. 2008-05-01 15:46:46 +00:00
Adam Frisby a1c8aa4050 * Cleaned namespaces of entire solution. OpenSim directories now correspond with namespaces. 2008-05-01 15:36:39 +00:00
Adam Frisby 4692e92312 * Assorted spring cleanings. 2008-05-01 14:45:56 +00:00
Adam Frisby 25a49ac4de * Spring cleaned a bunch of '//TODO: unused' marked functions. 2008-04-30 23:11:07 +00:00
Justin Clarke Casey 3508298ddf * Refactor: Rename InventoryFolderImpl.HasSubFolder() to GetDescendentFolder() 2008-04-30 20:04:06 +00:00
Justin Clarke Casey 3984a7fda1 * Resolve mantis 1068, 1095
* The resolution takes the form of not crashing the session if the folder the user is attempting to add already exists (e.g. there is one already with the same UUID).
* Printing out warnings instead
2008-04-30 19:55:45 +00:00
Justin Clarke Casey 9817363b93 * Completely inconsequential inventory odds and ends (actual impact - only one log message changed) 2008-04-30 19:08:48 +00:00
Teravus Ovares a9cc76e0ef * Long awaited patch from A_Biondi Mantis 923. Kept alive by Melanie. Thanks A_Biondi and Melanie!
* This builds but might not work.   JustinCC will examine..   it may work out of the box.
2008-04-30 16:08:24 +00:00
Sean Dague dd96158afe move IUserService into the OpenSim.Framework.Communications assembly
because all the other I***Service interfaces are there.
2008-04-30 15:03:37 +00:00
Teravus Ovares 911e63765c * Single Attachments now work from inventory. You can attach from inventory and detach from inventory.
* Detaching from right clicking in world, detaches to your inventory.
* If you go up to a prim and attach it from in world, it appears in your inventory.
* Attachment placement is saved when you detach them. 
* Choosing wear remembers your last attachment point from inventory.
* Wrote a method to update an inventory item's asset and sends the updated inventory item to the Client
* Wrote a recursive method to find the folder of a known existing inventory item.
* Removed a block on physics object position on creation.  This might crash a region or two, let us know via Mantis if your region crashes because of a physics out of bounds error.
* Drop doesn't work.  The menu item doesn't even come up.  Don't know why :P.
2008-04-27 20:10:28 +00:00
Justin Clarke Casey accd89b3f1 * First draft implementation of copying prim inventory items back to agent inventory
* Now, if you own an item in a prim, you should be able to successfully drag it back into your inventory
* Temporarily, users which are not owners of the item cannot copy it, even if 'everyone can copy' is set
* This is pending fixes/implementation of upstream permission implementation
2008-04-26 20:31:01 +00:00
Justin Clarke Casey 40176c12f9 * Implement full grid mode Trash empty
* Now, emptying the trash should remove folders and the items they contain as well as items which were not in a subfolder.
* This will only work once both the region and grid servers have reached this revision.
* You may also need to clear your cache before this will work
* Refactoring to follow.
2008-04-23 22:13:57 +00:00
Sean Dague 3dd98a112f allow for Inventory database source to be specified in main
configs.  This works with sqlite and nhibernate backends, and
stays with default seperate ini files for mysql and mssql until
someone writes those.
2008-04-23 20:48:23 +00:00
Sean Dague a1cc0e436f changes to allow asset_source to be specified in the opensim.ini
this will work for sqlite and nhibernate, but will be ignored for
mysql and mssql (reverting to their ini files) until someone writes
that bit.
2008-04-23 19:13:06 +00:00
Justin Clarke Casey 4db839c3b8 * Implement proper emptying of trashcan on standalone
* On standalone, folders (and their items) should now be persistently deleted on trash emptying, as well as immediate child items
* An implementation for grid mode will follow.
2008-04-23 17:04:15 +00:00
Adam Frisby 2b886ab9f0 * Fix for mantis #1025 - Region always reports that location is unavailable. Thanks Lulurun. 2008-04-23 12:00:23 +00:00
Justin Clarke Casey 41f9bbc26d * Fix mantis #842 - folders which are created but left named "New Folder" in places other than directly under "My Inventory" should now be stored 2008-04-23 11:14:19 +00:00
Justin Clarke Casey cd29f90418 * Add folders and items locking in external manipulations of InventoryFolderImpl carried out by CachedUserInfo
* These will do temporarily pending refactoring
2008-04-22 20:59:08 +00:00
Justin Clarke Casey 8d8b4a314f * Add DeleteAllContents() method to InventoryFolderImpl - not yet used but will be soon
* Add locking to InventoryFolderImpl class - need more though.
2008-04-22 20:47:54 +00:00
Justin Clarke Casey fc6e23371f * Extend functionality to better handle delayed inventory service transfers to create folder, move folder and purge folder.
* Old 1.18 get folder functionality requires a little more consideration
2008-04-22 20:24:48 +00:00
Justin Clarke Casey 68c6b6ece3 * Replace previous specific inventory callback code with generic alternative 2008-04-22 18:58:09 +00:00
Justin Clarke Casey 269a2e4b88 * Allow folder renaming to complete after an agent inventory has been received by a region from the inventory service
* This replaces the old behaviour of failing straight away, which could cause lost updates if the inventory service was slow in responding
* This is the first baby step to making all inventory requests behave this way, to reduce inventory lossage
2008-04-22 17:24:13 +00:00
Sean Dague bf1580fba4 From: Dr Scofield <hud@zurich.ibm.com>
the attached patch set is centered around RemoteAdminPlugin and focuses
mainly on making it more robust (i.e. more parameter checking and better
error reporting) but also we've re-implemented the LoadTerrain stuff that
got disabled during the terrain code reworking:

   * missing PostInitialize() calls on region modules that were loaded
     for regions created via RemoteAdmin's CreateRegion XmlRpc call
   * re-implements RemoteAdmin's LoadTerrain XmlRpc call (probably lost
     during the TerrainModule rework)
   * adds lots more parameter checking and error reporting to RemoteAdmin
   * adds a read-only property to RegionApplicationBase so that we can
     access the CommsManager
   * adds Exceptions to TerrainModule so that we get better error case
     feedback (and can report more meaningful errors in turn)
   * adds a CheckForTerrainUpdate() call to
     TerrainModule.LoadFromFile() to make terrain changes effective
   * adds TryGetCurrentScene(LLUUID) to SceneManager so that we can
     retrieve Scenes not only by name but also by LLUUID


   cheers,
   dr scofield
2008-04-21 12:42:56 +00:00
Adam Frisby fef3b36894 * Optimised using statements and namespace references across entire project (this took a while to run). 2008-04-21 07:09:17 +00:00
Justin Clarke Casey 3d3eec436a * Remove user profile from cache when they log out from a region.
* A much more significant fix is required to clean up the cache when a user moves out of a region, but really better handling of delayed inventory cache updates needs to be 
written first, and possibly better affinity to cut down agent inventory requests when the move is between two regions hosted on the same server.
2008-04-20 20:36:06 +00:00
Justin Clarke Casey 8b177bf4a8 * Tweak inventory login failure message to point to the region owner as first point of call rather than the grid owner 2008-04-20 19:39:24 +00:00
Justin Clarke Casey e755727a0f * Change lazy user inventory creation on first login to synchronous rather than async.
* Add more error checking so that we don't proceed if there has been a problem with inventory retrieval
2008-04-20 18:45:03 +00:00
Justin Clarke Casey d3cd2b0ae4 * On grid mode, if the inventory service is responding but returning an empty response to a whole agent inventory request, then post an inventory login failure message.
IMO, this is better than allowing the agent to login with an apparantly blank inventory.
2008-04-20 18:19:34 +00:00
Teravus Ovares dd4deebbcb * Re-Fixed caps
* This fixes chi11ken's/OpenViewer's libsl cap issue.
2008-04-17 19:42:54 +00:00
Jeff Ames fe3265f491 Update svn properties. Add copyright info to some source files. 2008-04-17 12:16:19 +00:00
Teravus Ovares e777f88028 * A tweak of the caps system so that new caps have random paths instead of a fixed path
* This allows caps requests to be routed to regions where the agent is currently a root agent instead of the region that they logged into as it did previously.   
* This fixes a wide variety of bugs related to 'can't do X once i've crossed a border'.
* The first seed cap request fails, the second one works.  (this generates an error message on the console)
* Experimental.
2008-04-15 23:10:12 +00:00
Justin Clarke Casey 379ac9c92a * Make it easier to follow logins on the user server by changing and tidying up log messages 2008-04-15 22:41:34 +00:00
Justin Clarke Casey 39165f3de4 * Send a meaningful response to both the user server console and the client if a login fails because the inventory service has failed. 2008-04-15 18:10:42 +00:00
Sean Dague 6f8ff32630 From: Dr Scofield <hud@zurich.ibm.com>
ansgar and i have been working on an asterisk voice module that will allow
   us to couple opensim with an asterisk VoIP gateway.

   the patch below consists of
     * AsteriskVoiceModule region module: alternative to the plain-vanilla
       VoiceModule, will make XmlRpc calls out to an asterisk-opensim
       frontend
     * asterisk-opensim.py frontend, living in share/python/asterisk, takes
       XmlRpc calls from the AsteriskVoiceModule
          * account_update: to update/create a new SIP account (on
            ProvisionVoiceAccountRequest)
          * region_update: to update/create a new "region" conference call
            (on ParcelVoiceInfo)
     * a asterisk-opensim test client, living in share/python/asterisk, to
       exercise astersik-opensim.py
   this still does not give us voice in OpenSim, but it's another step on
   this path...
2008-04-15 14:24:15 +00:00
Justin Clarke Casey b7ae8701ce * Working towards notifying the client if the inventory service has failed, rather than simply returning 0 items.
* This is very early support which would only be triggered in a rather unlikely case (if the user server correctly received an inventory skeleton, but later on failed to return the whole inventory in a timely manner.  Also, this only applies to the 1.19.1.4 client onwards
* Code cleanup and support for other failure cases (failure of inventory caching on region crossing, failure to actually add a folder/item, etc, should follow.
2008-04-14 18:43:23 +00:00
Teravus Ovares e21886eea0 * Fixed a few warnings.
* Added license info to a few files it was missing from.
* Fleshed out the landbuy interfaces
* If you add '-helperuri http://127.0.0.1:9000/' to your list of parameters you tell the client to use when you start it up you can transfer ownership of parcels now in standalone.  Structured gridmode requires a lot more work, see the documentation in the example money module.   The example money module is not secure especially in standalone mode.
2008-04-14 17:13:38 +00:00
Justin Clarke Casey 665c5d89f8 * Correct comment from previous patch - I'm not reversing mantis #912 at all, which was in an entirely different location 2008-04-13 23:48:46 +00:00
Justin Clarke Casey eacba916ec * Reverse mantis #912 since it was causing inventory to disappear from the root folder on 1.19.1.4 non-cache clear relog.
* The folder version numbers probably do need to be non-zero, but there is a further subtlety of the protocol to understand first
2008-04-13 23:38:51 +00:00
Justin Clarke Casey 451a5bbf30 * Put in crude poll waiting for 60 seconds for delayed user inventory delivery from the inventory service
* This will reduce failures where the inventory server is simply slow
* Still need to properly inform the user if the inventory service has failed altogether
2008-04-13 22:09:07 +00:00
Justin Clarke Casey 7bfd7e6f08 * Remove the worst excesses of my inventory debugging code 2008-04-11 18:58:09 +00:00
Justin Clarke Casey 7ac7f79f88 * Eliminate a class of errors where an inventory request could be made before the region had completely received the inventory for the user.
* A much larger race condition where the inventory request could be made before the region gets any data at all will also be fixed in the near future.
* This change also fixes a regression from two patches ago where items stopped appearing in standalone inventory
2008-04-11 18:46:54 +00:00
Justin Clarke Casey 649f304e76 * Minor inventory code cleanup following on from last patch 2008-04-11 18:19:21 +00:00
Justin Clarke Casey a5176c2e2c * Change inventory async response deliver to deliver all items and folders at once, rather than each individual
* This is required in order to work towards eliminating some inventory race conditions and to better deal with situations where a grid inventory server is slow or not responding.
2008-04-11 18:13:10 +00:00
Justin Clarke Casey e26d4fc085 * minor: replace test of CachedUserInfo.RootFolder != null with something more readable, and make RootFolder get only 2008-04-11 17:02:20 +00:00
Justin Clarke Casey 205b95f2e8 * minor documenting, cleanup, renaming in user profile cache service 2008-04-11 16:49:20 +00:00
Justin Clarke Casey 576db5b72a * documenting and minor refactoring in UserProfileCacheService 2008-04-11 16:30:58 +00:00
Justin Clarke Casey 9a7717743b refactor: eliminate method in UserProfileCacheService 2008-04-11 16:13:33 +00:00
Justin Clarke Casey b41abbd50e * Minor: really just comment and subsequent indentation adjustment. Preparation for handling inventory problems where the inventory server receives a request and never responds, or is late in responding 2008-04-10 17:44:19 +00:00
Justin Clarke Casey 5ad4c79a4e * Refactor GetUsersInventory() 2008-04-10 16:04:19 +00:00
Charles Krinke 4bdb4a2646 Thank you kindly, A_Biondi for a patch that:
Handles the CreateItem cap request for all wearables, 
setting the proper value in inType and assType.
2008-04-10 15:32:09 +00:00
Justin Clarke Casey ba132f3a0b * Minor: get CreateNewUserInventory() to return true on success 2008-04-10 15:28:52 +00:00
Justin Clarke Casey ded704ef1f * Minor inventory message cleanup and documentation 2008-04-10 15:22:01 +00:00
Sean Dague 55ac1c6dce renaming of attributes in UserAgentData for readability 2008-04-10 14:50:52 +00:00
Sean Dague ef7dfae41c changing UserAgentData to use properties. This caused more
grief than expected, as monodevelop doesn't like to refactor 
properties of properties.
2008-04-10 14:37:17 +00:00
Sean Dague 25fea01b92 further renaming of properties for clarity 2008-04-10 14:09:30 +00:00
Sean Dague c176caeb05 moved fields to properties for UserDataProfile, which was
actually a little more work than I expected given the copious
use of out params.
2008-04-10 13:53:06 +00:00
Sean Dague a6d27e0929 further refactor and rename of InventoryFolderBase properties
to reflect what they really are.
2008-04-08 23:26:31 +00:00
Justin Clarke Casey 8eab365e21 * Adjust some inventory lookup failure messages to reduce confusion as to what just went wrong 2008-04-08 20:31:36 +00:00
Justin Clarke Casey 90422db35a * Update code to use patched libsecondlife.dll which removes the problem where the AssetType enum was 'Primitive' rather than 'Object'
* The libsecondlife patch was also applied to libsecondlife itself in r1714
* Many, many thanks to Dr Schofield (IBM) for his help on this :)
2008-04-08 14:39:29 +00:00
Sean Dague 5ee75998ce more refactoring, this time on InventoryFolderBase
* wrap attributes in properties
 * clean up names a little bit
 * clean up name styles
2008-04-07 23:27:05 +00:00
Sean Dague f436815107 Refactor InventoryItemBase to do the following:
* wrap fields as Properties
 * rename some fields/properties to more sensible names
 * set style to PropName to match more standard C# approach
2008-04-07 23:15:35 +00:00
Justin Clarke Casey 57afbdbdbd From: Kurt Taylor <krtaylor@us.ibm.com>
Patch to remove commented NotImpemented calls from within implemented script functions
2008-04-04 19:09:56 +00:00
Justin Clarke Casey f5ed635750 * Make objects appear in 1.19.1.4 inventory again
* You will probably need to clear your client's cache before this will take effect
* The problem was that the underlying libsecondlife.AssetType was returning "primitive" rather than "object".  This fix is in lieu of correcting/updating our libsecondlife.dll
2008-04-04 17:43:29 +00:00
Teravus Ovares 27876795f4 * Fixed up some documentation regarding the inventory descendants method XML. Cleaned up an error report. Noted at the top, why the two unused caps path variables must stay. 2008-04-04 08:33:29 +00:00
Teravus Ovares 42e4284277 * Fixes CAPS InventoryDescendants and the notorious 'LLSDParseException:expected </llsd>' error.
* Objects folder still exhibits strange behavior.
2008-04-04 08:07:49 +00:00
Teravus Ovares 75b192a2a0 * Fixing permissions on items returned via CAPS based inventory 2008-04-04 05:50:46 +00:00
Jeff Ames 4f174fbf57 Update svn properties. 2008-04-03 18:25:01 +00:00
Justin Clarke Casey 042cd57e94 * From: Dr Scofield <hud@zurich.ibm.com>
* This patch removes voice code into a region module.  This required the implementation of events and other code to allow region modules to register their own caps handlers, and should allow different voice module implementations.
* CAVEAT: This does not provide complete voice support, it merely provides the hooks so that it can be plugged in.
2008-04-03 15:44:20 +00:00
Justin Clarke Casey 5fe4a39927 * Adding request time limiting strategy for texture requests, though this isn't useable yet 2008-04-03 15:28:50 +00:00
Justin Clarke Casey f27f861072 * Attempt to resolve mantis 873 by placing caps removal operations in a critical section 2008-04-02 16:46:58 +00:00
Teravus Ovares b790a16e98 * Updating the version of the ODE library. (big update). The Mac library needs to be updated still.
* Adding some XMPP stuff that's incomplete.
2008-04-02 01:03:31 +00:00
Teravus Ovares a0a0229fdf * Set Svn Properties eol-style: |337 2008-03-31 23:54:49 +00:00
Justin Clarke Casey 106fd2f616 * From: Dr Scofield <hud@zurich.ibm.com>
* (and Ansgar/Ansi)
* Fleshes out the voice stubs to better interact with the viewer CAPS requests - no actual voice support yet!
* In his own words
"the attached patch enhances the existing voice support by returning a proper voice account user and password and is preparing the config file so that we can specify a SIP server (not yet working). currently the SIP is hardcoded. the next step is to refactor voice support into a region module. working on that. "
2008-03-31 18:41:24 +00:00
Justin Clarke Casey 93303072dd * Minor: If a user exists but has no inventory in standalone, automatically create new inventory folders
* This mirrors the grid behaviour
2008-03-31 18:29:08 +00:00
Justin Clarke Casey 48fc4ee059 * Log exceptions which make it up to the top of the http request frame, rather than having them disappear off into the ether 2008-03-31 17:34:32 +00:00
Justin Clarke Casey af3118eccd * Fix problem where inventory code throws a swallowed exception on grid mode if the avatar has never logged in before 2008-03-31 17:08:58 +00:00
Justin Clarke Casey d53dd8a7cc * Minor change on region grid asset client to change two store log messages to one 2008-03-31 14:19:40 +00:00
Teravus Ovares fd2caf5f16 This update has good news and bad news, first the bad.
* This update breaks inter-region communications, sorry.
* You will need to run prebuild.
Next, the good;
* This update solves the unexpected binary element when Linux simulators inform windows simulators and vice versa.  So Linux Simulators and Windows simulators are 100% compatible again.
* This update introduces an Integer in the prim crossing method to tell the receiving simulator which XML method to use to load the prim that crossed the border.   If the receiving prim doesn't support the method, the prim crossing fails and no prims are lost.
That being said, it's best to update all your simulators to this revision at once.
2008-03-30 08:01:47 +00:00
Justin Clarke Casey 2fddd775f4 * Stop the grid inventory service sending all folder and item details twice
* This change will have no functional impact - we were already filtering out the dupes on the other end.
2008-03-30 00:45:04 +00:00
Justin Clarke Casey a6999f8a5d * Refactor: Remove unused inventory methods, some of which weren't properly implemented anyway. 2008-03-29 23:07:48 +00:00
Justin Clarke Casey 875211b262 * Various 1.19.0.5 grid inventory request fixes. These will only take affect once the region and the grid servers have upgraded to this revision
* You may also need to clear your cache before seeing any effect.
* These fixes may or may not affect inventory on the RC client.
* These fixes should make non-root folders work better, stop inventory failure on first login, allow trash to be emptied and make texture picker in object edit view work properly
* Fixes are 1) make initial root folder request wait for async inventory delivery, 2) deliver all folders in the initial login skeleton, not just the root child ones and 3) deal 
with situations where we receive child folders from the inventory service before their parent is received.
2008-03-29 22:18:44 +00:00
MW 7fcffa3a3a Re-enabled terrain texture generation for the world map. Adam can clean up/ sort it out when he gets time.
Most likely doesn't really work in grid mode as the generated textures are marked as temporary and I don't think they are updated to the asset server. We have to either live with these textures being sent to the asset server, and manually clean them out from time to time or wait until there is some asset management system in place. 
Also currently the texture is only generated at region startup, it is not updated after terraforming.
2008-03-29 17:18:47 +00:00
Justin Clarke Casey 0a47a75b88 * Send full inventory folder skeleton to standalone client logins rather than just the root child folders
* This may resolve some current problems with non root child folders on standalone installations.
* A fix for the same problem in grid mode will come soon.
2008-03-28 19:35:01 +00:00
Justin Clarke Casey 35dec2e53a * Refactor: Eliminate RequestUsersRoot() redundant method 2008-03-28 17:37:55 +00:00
Justin Clarke Casey c8f79eb9b4 * Refactor: Rename CreateInventoryData() to GetInventorySkeleton()
* Replace the unused default GetInventorySkeleton() impleemntation with an abstract declaration - less confusing this way imho
* Add some comments
2008-03-28 16:39:38 +00:00
Justin Clarke Casey 512e52be4c * Remove pointless boolean on AgentInventory.CreateRootFolder() 2008-03-28 16:27:29 +00:00
MW 830626999c Applied patch from mantis# 825, thanks A_Biondi 2008-03-28 14:47:51 +00:00
Justin Clarke Casey 0609970f2e * Correct asset type of Lost and Found folder - this might stop it appearing twice
* Other minor corrections to initial inventory contents
* These will only take affect for new users
2008-03-27 18:26:01 +00:00
Justin Clarke Casey 2517fe7acd * Remove old CAPS http listeners when a client logs out from a scene
* Not yet removing listeners when a client leaves a region without logging out
2008-03-25 17:08:20 +00:00
Teravus Ovares 3d1b4f8578 * On Ray casting. Now returning the face normal of the collision face. 2008-03-25 16:09:43 +00:00
Teravus Ovares 301c25950d * Committing some voice related caps with hard coded responses so more debugging can occur. 2008-03-25 05:56:27 +00:00
Jeff Ames 9d1b42c39a Comment out unused private methods. 2008-03-25 03:49:08 +00:00
Jeff Ames a8d9a58dd2 Fix a couple more warnings. 2008-03-25 03:43:24 +00:00
Justin Clarke Casey ca7c954a61 * Fix build break in last revision. Thanks to paulieFemto for pointing it out. 2008-03-24 18:45:21 +00:00
Justin Clarke Casey 185dbb06af * Picky comment change 2008-03-24 18:26:43 +00:00
Justin Clarke Casey 1a970d8f2d * Create null limit strategy 2008-03-24 18:25:50 +00:00
Justin Clarke Casey 8c0955321a * Refactor: Genericise request limit strategies and move to OpenSim.Framework.Communications.Limit 2008-03-24 18:21:06 +00:00
Justin Clarke Casey ca6e557075 * minor: check in the rest of a comment I forgot to finish off in the last revision 2008-03-23 21:32:30 +00:00
Justin Clarke Casey da531fa9e1 * Start passing around a region server's http port in RegionInfo.
* This means that caps methods (editing scripts, poss map functions, etc) on non-home regions should now work with servers which are listening for http ports on a non default 
(9000) port.  
* If you are running a region server, this may only work properly once your grid server upgrades to this revision
* PLEASE NOTE: This shouldn't cause inter-region problems if one end of the connection hasn't upgraded to this revision.  However if it does, the instability will persist until 
the grid and region (and possibly all the region's neighbours) have upgraded to this revision.
* This revision also adds extra login related messages, both for success and failure conditions
2008-03-23 21:21:39 +00:00
Justin Clarke Casey 61ae75f364 * Catch the occasional resolution exception that comes out of SceneCommunicationService.EnableChildAgents so we can see what hostname is failing 2008-03-22 20:44:15 +00:00
Justin Clarke Casey 45ea156804 * If a client session requests the same texture more than n times (currently n=5), we now drop the subsequent requests
* This may improve region memory usage
* This is a short-term response to a problem whereby some clients keep requesting the same texture even after we've sent it
* This treats the symptom rather than the cause.
* n can be adjusted by changing the constant at the top of UserTextureDownloadService if necessary
2008-03-21 19:16:29 +00:00
Adam Frisby 7286bd60b0 * Converted a large number of ASCII encodings to UTF8.
* We should not be using ASCII anywhere except for legacy compatibility reasons.
* A large number of UTF8 Encoders are being used in places where we should be using Util.StringToField instead. These have been tagged with // ENCODING FAULT
* This should fix Mantis#799 - Japanese Profile Text does not work.
2008-03-21 02:26:00 +00:00
Justin Clarke Casey c1beb85315 * First draft resolution of mantis 777, 734, 389 - scripts do not save in non-home regions
* Should work in multi-region standalone and grid modes
* This should also solve other non-home region caps issues (map requests, RC client inventory requests, etc)
* We now pass CAPS information on to the destination region on region crossing, and set up a CAPS object when an agent becomes a master
* Current limitation is that this will only work if your http_listener_port is 9000
* This is a very early code cut (lots of bad practice, hard coding and inefficiency).  However, I wanted to get this out there for feedback and my own sanity.  Next few patches will clean up the mess.
2008-03-20 20:04:45 +00:00
MW f61ea1998e Added back a fix that lbsa71 did aqes ago to fix a buffer overflow in the packetpool, which somewhere through time got lost/reverted 2008-03-20 15:33:08 +00:00
Justin Clarke Casey 20473af892 Another poxy patch which consists mainly of logging changes (some already commented out) to find out what CAPS is doing 2008-03-20 13:03:26 +00:00
Jeff Ames a0e1be3280 Fixed some comparisons of LLUUIDs to null.
Thanks to DrSchofld for pointing this out.
2008-03-19 09:36:13 +00:00
Justin Clarke Casey 18f9f1410d * Just inserting some exploratory comments into inventory code 2008-03-18 18:19:44 +00:00
Jeff Ames bf8b5844f2 Formatting cleanup. Minor refactoring. 2008-03-18 14:51:42 +00:00
Teravus Ovares 443c66b432 Since we don't yet have a reliable way to release the lock that prevents a user from logging in a second time if they're already registered as logged in;
* If a user logs in and they are noted as agentOnline.  Set agentOnline = false and send a 'you're already logged in' message to the user asking them to wait 5 minutes.  These 5 minutes are not enforced (because there's no foolproof interlock release yet without the grid operator getting a support call for every little sim crash).  When the user gets the message, they can log-in immediately after it, but the user can expect weird results if they don't wait 5 minutes and log-in to the region they were in previously.
2008-03-18 06:03:50 +00:00
Teravus Ovares 42857fe4e9 * Added the ability to type the partial name of a region in the start location box and go to that region if it's there. If no close match was found, it sends you home. This is tested on mySQL. There's untested code on grids that are based on sqlite and MSSQL. The SQL statements *should* be right, but your results may very.
* Ex, if you want to go to Wright Plaza, you simply need to type Wright Plaza in the start location in the client when you log-in.
2008-03-18 05:44:25 +00:00
Jeff Ames 47180080f0 Formatting cleanup. 2008-03-18 05:16:43 +00:00
Jeff Ames 175dc285ff Added copyright messages. Set svn:eol-style. Minor cleanup. 2008-03-18 03:51:59 +00:00
Jeff Ames 9f7639fd6d Formatting cleanup. 2008-03-18 03:41:05 +00:00
Teravus Ovares 4e30f862af Building on Joha's update...
* Server now listens to the client's start location request for 'home' or 'last' and sends the user to the home location or the last location.
2008-03-18 03:09:38 +00:00
Johan Berntsson 040a887b9c Last position will be stored in the DB on logout, and the avatar can continue from the same position in the next login (only with MySQL at the moment) 2008-03-18 01:38:07 +00:00
Jeff Ames 825c89e7ac Replaced some Console.WriteLine calls with writes to log. 2008-03-17 17:10:53 +00:00
MW c04899b60a Part 2 of fixing inventory for client 1.19.1 (RC), inventory items should now show up.
Most likely still some problems and most like needs some more work (and still a couple of things to finish off).
2008-03-15 12:53:03 +00:00
MW 70e55205a1 Part 1 of making inventory work again in the 1.19.1 (RC) client. Implemented the FetchInventoryDescendents CAPS handler. But currently returning empty folder details.
So this commit doesn't actually fix inventory in that client, it just stops the "loading" message being displayed forever next to a folder, and instead shows empty folders.
Next part will be to fill in the details of the items in the folders.
2008-03-15 11:48:27 +00:00
Sean Dague 01faa86c1a Fix Mantis 636 2008-03-14 18:09:20 +00:00
Justin Clarke Casey 429ecb8508 Just a few comments 2008-03-13 18:31:05 +00:00
Justin Clarke Casey 42123770de * Add comments and slight corrections to ClientView.AgentTextureCached
* Reduce 'asset not found' console debug spam
2008-03-12 17:02:08 +00:00
MW 2fea38a5f2 Applied patch from mantis #610, fixed invalid filenames with dump_assets_to_file set to true. thanks tyre. 2008-03-12 15:45:56 +00:00
Justin Clarke Casey 956f7cb4f9 * Very minor error message change in GridAssetClient 2008-03-11 17:55:49 +00:00
Teravus Ovares fe49c96ee0 * Applying Ahzz's profile patch. Thanks Ahzz!
* Fixed a few bugs in the patch that are sim crashers.
* There's still a bug in mySQL mode/ grid mode where the main userprofile text doesn't save.
2008-03-03 08:30:36 +00:00
Charles Krinke 7794fc3766 Change handler001 through handler009 to more
appropriate names consisten with their use.
All done with all 94 handlers from handler001
through handler094. Hopefully we can move 
forward without numbered handlers.
2008-03-02 22:28:48 +00:00
MW 70ad5604cd disabled AssetDownloadModule and re-enabled the asset download code in the asset cache, until it can be seen if the module was the cause of some new problems that seem like they might be related to assets. I'll look into this more tomorrow. 2008-02-27 22:47:33 +00:00
MW 2c65c2da90 small fix in the showstate data in AssetCache to reflect that now some functions are no longer in AssetCache 2008-02-27 21:32:01 +00:00
MW e978d00914 After seeing sdague do his happy dance over trunk working "the best he has ever seen". I'm not sure I should be doing this commit, but oh well.
So anyway, it moves the Asset downloading (packet sending) to a module (AssetDownloadModule). 
So now at last, AssetCache should be just dealing with fetching assets from the asset server and caching them.
2008-02-27 21:11:01 +00:00
MW aac7c1dda5 another attempt at fixing asset lockups 2008-02-27 16:20:45 +00:00
MW a9ae5ab840 Hopefully fixed the bug that was causing a lot of the freezing. Which was happening due to locks in the AssetCache and Texturedownload module. Where the thread from the Asset thread would be take a lock on a list in the asset cache and then try to call the Callback into the texturedownload module and hit a lock in there which was held by a ClientView thread- which at the same time would be trying to request another texture from the cache and be hitting the lock in there held by the IClientAPI. The result each thread waiting for the other one to release a lock. And as one of those was the ClientView process packet thread. No more packets from that client could be processed. For now I've made a copy of the list in AssetCache so that it can release the lock. I'm doing more work on assets (moving the client asset downloading to a module ), so will hopefully change this into a better method once I've cleaned over things up a bit. 2008-02-27 14:40:30 +00:00
Justin Clarke Casey 65862aacea * Start sending "ImageNotFound" packet back to the client if we can't find an image
* This might stop some client's constant requests for unfound textures, which is a candidate for the memory leak
* If a texture is not found then the "Image not found" texture will now be displayed clientside
* If it works, this should resolve mantis 676
* Non texture image requests do not receive this packet yet
* This will require a prebuild
2008-02-25 23:26:35 +00:00
Justin Clarke Casey f95ad65189 * Improve alignment of packet queue stats headigns
* Correct asset cache stats table heading
* Correct spelling mistake in AssetCache (thanks ChrisD!)
2008-02-22 23:15:00 +00:00
Justin Clarke Casey fed46ba6a7 * Winnow the debug and info messages associated with stat fetching
* As such, only a request for a non cached asset, the response and failures show up now.
* I know lbsa71 only put these in not long ago, so if they are really still required, I think we should think whether we can move the default log4net level off 'Debug'
2008-02-22 22:54:50 +00:00
Teravus Ovares 582964800c * Moved all events except gridcomms and regioncomms over to Event Delegate instances to prevent event race conditions 2008-02-22 19:44:46 +00:00
Tedd Hansen 7102ac7769 "threads" command now works. I've added manual tracking of threads (only if compiled in DEBUG mode)... Its ugly and even requires a separate thread to track the treads, but it will be very valuable in debugging. 2008-02-21 10:43:24 +00:00
Justin Clarke Casey b0c5ef0b68 * Eliminate AssetCache.CopyAsset()
* Resolve a bad logic bug in AssetCache.GetAsset()
* This may make some asset related things work better (possibly getting main map images will now be improved).
2008-02-20 23:21:51 +00:00
Justin Clarke Casey 7d7ad4dff2 * Only count download requests for assets which are not already waiting for data from the asset server
* This should stop the constant increase in the download requests statistics
* If you see stat numbers for download requests which are far from what you'd expect, please report
2008-02-20 20:23:03 +00:00
Justin Clarke Casey f3190810d3 * Properly guard removal of asset request lists on AssetCache.AssetNotFound (my own bug) 2008-02-20 19:13:59 +00:00
Justin Clarke Casey 53d5aeec24 * Remove unused texture dictionaries from AssetCache
* Add documentation to AssetCache
2008-02-20 19:02:04 +00:00
Jeff Ames a8cfbbe963 Minor cleanup. 2008-02-20 18:38:20 +00:00
Justin Clarke Casey c66b5a9e71 Report command string on ConsoleBase.RunCommand exception 2008-02-20 17:54:14 +00:00
Justin Clarke Casey 877713999c * Report 'asset not found' situations back to UserTextureDownloadService
* This fixes some of the 'runaway downloads' problem but not all of it
* Also fix up logging messages so texture requests are reported as such rather than as assets
2008-02-20 17:34:10 +00:00
lbsa71 4c6e5a5090 * re-enabled AssetNotFound code
* turned script asset fetching asynchronous
2008-02-20 13:11:19 +00:00
lbsa71 9be5f9d6cc * Fixed xml loading bug (the xml was scheduled for update before added to a scene)
* Fixed ClickAction situation on the same note (properties shouldn't cause big changes)
* Added some more debug output to AssetCache
2008-02-20 09:38:45 +00:00
Tedd Hansen 47c909ca0a Playing "Name that thread". Adding names and isbackground=true to all threads so it will be easier to debug. 2008-02-19 12:02:53 +00:00
Justin Clarke Casey 500d259c25 * Do not allow a user to be created if one with the same name already exists 2008-02-18 15:50:18 +00:00
MW b618802e53 Moved the AgentAssetTransactionsManager (and AgentAssetTransactions) out of CommsManager and into a module (AgentAgentTransactionModule), still needs cleaning up though.
But its one more thing out of the CommsManager. One day we will kill the CommsManager!
2008-02-16 13:01:42 +00:00
Sean Dague 3a208a3a4f Fix a casting subtlety in moving to constants. Logins should work
again.
2008-02-14 13:28:35 +00:00
Adam Frisby f3afa68a2a * Made new Framework.Constants class, added RegionSize member.
* Converted all instances of "256" spotted to use RegionSize instead. Some approximations used for border crossings (ie 255.9f) are still using that value, but should be updated to use something based on RegionSize.
* Moving Terrain to a RegionModule, implemented ITerrainChannel and TerrainModule - nonfunctional, but will be soon.
2008-02-14 12:16:33 +00:00
MW 49a5a00b80 Added a method to access a named folder in a users inventory, to the inventory Database interfaces. This could be useful for adding a item to a users inventory from say a web front end application or some other third party application. [note the method is only currently implemented in the sqlite provider] 2008-02-13 14:45:13 +00:00
Jeff Ames 001ce95e4c Clean up more unnecessary String.Format calls 2008-02-13 03:38:18 +00:00
Justin Clarke Casey a1a206cb05 * Clean up LIBRARY INVENTORY messages 2008-02-13 02:43:41 +00:00
Justin Clarke Casey 45638cc141 Commenting and a spelling correction 2008-02-13 01:04:27 +00:00
Justin Clarke Casey 1677bde480 * Clean up the agent's asset transactions when it is removed from the scene
* This may or may not help with the memory leak, need to assess
2008-02-13 00:52:49 +00:00
Justin Clarke Casey 365cf8e455 * Refactor: Move last commit's refactor back to AgentAssetTransactionsManager
* Push asset update (invoked when clothing is altered) down into AgentAssetTransactions from Scene.Inventory.cs to join others
* I've tested that clothing creation and update still works, but please let me know if it suddently breaks for you.
* Add/correct comments
2008-02-13 00:30:51 +00:00
Justin Clarke Casey 2018cf312b Refactor: factor a method out of AgentAssetTransactionsManager 2008-02-12 22:41:57 +00:00
Justin Clarke Casey c0211c1ca2 * Add missing locking to mysql inventory plugin
* Should resolve mantis 542
2008-02-12 22:24:12 +00:00
Justin Clarke Casey 6a3455a98c * Refactoring: Rename AssetTransactions.cs and AssetTransactionsManager and align classes with file names
* Small amount of ndoc
* This will probably require a prebuild and nant clean
2008-02-12 18:15:54 +00:00
MW 7bbb9a08cb Re-enabled Inventory creation of body parts 2008-02-11 20:54:46 +00:00
Justin Clarke Casey c80c6e9774 Documenting and minor tweaks 2008-02-11 20:10:44 +00:00
Jeff Ames e207284fef Clean up logging calls using String.Format explicitly 2008-02-10 01:57:59 +00:00
lbsa71 e9eaf8e949 * fixed typo. thanks, nebadon! 2008-02-09 22:26:28 +00:00
lbsa71 7486762aa0 * Refactored some asset code and in the process uncovered a bug; now, I think first transfer of asset should start faster. 2008-02-09 22:23:36 +00:00
lbsa71 0b0bb28fd5 * added count of texture data bytes and asset bytes 2008-02-09 21:50:45 +00:00