| Commit message (Collapse) | Author | Age | Files | Lines |
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| | |
an UploadAsset request could throw an exception because m_asset did not yet exist.
This was accidentally introduced in 4fc0cfb
This commit also consistently removes the AssetXferUploader when the transaction completes, no matter if it completed on asset upload or item operation.
The amount of data being retained was small, since this was clothing/bodypart metadata in the asset rather than textures themselves.
|
| |
| |
| |
| |
| | |
This was only used if none of new item, update item or update task item had been set.
But since all transactions go through these paths this old code is redundant.
|
| |
| |
| |
| |
| |
| |
| | |
UploadAsset() to prevent item creation failure when NewInventoryItem thread reachs the object first.
This was preventing the previous race condition fix in 4fc0cfb from actually working.
This commit also removes some of the pointless transaction id checks - these conditions are already being enforced in AgentAssetsTransactions.
|
| |
| |
| |
| |
| |
| |
| | |
user item and update user item mechanisms
This is done for consistency and to allow removal or some access methods that increase code complexity.
However, this path has not been used for a long time, not even by LL 1.23 - viewers use caps http upload for this instead
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
in the viewer or updating existing assets.
On creating these items, the viewer sends a UDP AssetUploadRequest followed by a CreateInventoryItem.
It was possible for the CreateInventoryItem/UpdateInventoryItem to occasionally outrace the AssetUploadRequest and fail to find an initialized Xfer object, at which point the item create would fail.
So instead we always set up a Xfer object on either the asset or inventory item update request.
This does not introduce a new race because code already exists to delay the item operation until the asset is uploaded if necessary (but this only worked if the xfer object already existed)
|
| | |
|
| | |
|
|/ |
|
| |
|
| |
|
|
|
|
| |
Also, further improvements on HGUuidGatherer: if the assets are already in this grid don't fetch them again.
|
|
|
|
| |
No need to keep 2 separate files.
|
|
|
|
| |
downloads the assets, so we don't need to do it again...
|
|
|
|
| |
section.
|
|\ |
|
| |
| |
| |
| | |
been instantiated with an assetServerURL then call down to overriden UuidGatherer.GetAsset() instead of calling m_assetService.GetAsset() itself - these two codepaths are now identical.
|
| | |
|
|/ |
|
|
|
|
| |
types. The policies are given in the config. This is only half of the story. The other half, pertaining to exports/imports made by the sim, will be done next.
|
|
|
|
|
|
| |
GridConnectorsTests and ArchiverTests.
Remove unrelated compile warning from AttachmentsModuleTests.
|
| |
|
| |
|
|\ |
|
| |
| |
| |
| |
| |
| |
| | |
temporary assets.
Make AssetServiceConnector return more useful data on failure, such as what DLL it was trying to load
Allow LocalAssetServiceConnector.GetData() to work without a cache present, as works for the other lasc Get* methods.
|
| |
| |
| |
| |
| |
| |
| |
| | |
before looking for files to expire.
This is to resolve a problem where an asset marked as local but not temporary but still used in the scene would be removed.
The timed expiry scan no longer tries to refetch assets from the scene that are not currently in the cache - this is not helpful since it just drags a lot of data into the cache that may never be referenced.
This removes the DeepScanBeforePurge option since setting this to false will introduce the above problem. This previously had a default of true.
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
multi-OAR patch there is now only one class that handles this operation.
Adapation of 0004-Renamed-ArchiveWriteRequestPreparation-to-ArchiveWri.patch in http://opensimulator.org/mantis/view.php?id=6105
since that did not directly apply
|
| |
| |
| |
| | |
Merged ArchiveWriteRequestPreparation.cs and ArchiveWriteRequestExecution.cs. This simplifies the code, and it's faster to write each scene to the archive as it's found rather than all at once at the end.
|
|/
|
|
| |
avies use to visit other grids. Not as good as I wanted, but good enough. Unfortunately we can't switch the appearance from under the avie without getting into a lot of weirdnesses because appearance is viewer-controlled. So instead, when this control is on, I'm disallowing HG-TP unless the user is wearing an allowed HG appearance -- the user gets a warning and needs to switch appearance. WARNING: I'm still not committing the config vars because this is still not ready for ppl to test.
|
|\ |
|
| |
| |
| |
| |
| |
| | |
containing invalid xml
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
|
|/
|
|
| |
outside world to retrieve appearance items. Not ACLed yet.
|
| |
|
|
|
|
| |
Place FloatsamCache in the same namespace as our other core asset caches
|
|
|
|
|
|
| |
This reverts commit 2ec34580ce3807cede97539488237040e1a8a6cc.
Moving the attributes for mono addins back to the source file - this also fixes http://opensimulator.org/mantis/view.php?id=6278.
|
|
|
|
| |
Move the addin information from attributes in the source file to the CoreModulePlugin.xml, which is the standard. This will help us automate addin version dependency information when we make new OpenSim releases.
|
|
|
|
|
|
|
|
| |
commit 5eb2526
Manually calling GC.Collect() really shouldnt' be necessary and is generally regarded as a bad idea.
A GC should occur anyway pretty shortly afterwards.
However, can leave this in development code for now to see if it does actually make a significant difference rather than simply doing a GC a little earlier.
|
| |
|
|
|
|
|
|
|
|
|
| |
fall below current viewer discard level 2 thresholds.
Viewer LL 3.3.4 and before sometimes fail to properly redisplay dynamic textures that have a small data length compared to pixel size when pulled from cache.
This appears to happen when the data length is smaller than the estimate discard level 2 size the viewer uses when making this GetTexture request.
This commit works around this by always regenerating dynamic textures that fall below this threshold rather than reusing them if ReuseDynamicTextures = true
This can be controlled by the [Textures] ReuseDynamicLowDataTextures config setting which defaults to false.
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
that of an otherwise valid asset, return HTTP PartialContent rather than RequestedRangeNotSatisfiable.
This is because recent viewers (3.2.1, 3.3.4) and probably earlier ones using the http GetTexture capability will sometimes make such invalid range requests.
This appears to happen if the viewer's estimate of texture sizes at discard levels > 0 (chiefly 2) exceeds the total texture size.
I believe this does not normally happen but can occur for dynamic textures with are large but mainly blank.
If this happens, returning a RequestedRangeNotSatisfiable will cause the viewer to not render the texture at the final resolution.
However, returning a PartialContent (or OK) even with 0 data will allow the viewer to render the final texture.
|
|/
|
|
| |
Thanks Hiro Lecker for a patch to reduce memory useage with Warp3D map module
|
|
|
|
|
|
|
|
|
|
| |
Default is false, as before.
If true, this setting reuses dynamically generated textures (i.e. created through osSetDynamicTextureData() and similar OSSL functions) where possible rather than always regenerating them.
This results in much quicker updates viewer-side but may bloat the asset cache (though this is fixable).
Also, sometimes issue have been seen where dynamic textures do not transfer to the viewer properly (permanently blurry).
If this happens and that flag is set then they are not regenerated, the viewer has to clear cache or wait for 24 hours before all cached uuids are invalidated.
CUrrently experimental. Default is false, as before.
|
|
|
|
| |
metadata still exists for any reused asset in case some other process has removed it from the cache.
|
|
|
|
|
|
|
|
| |
type for an HTTP request. Since the "official" LSL function limits
the use of the response type, it is implemented as osSetContentType
with a string for the content mime type and a threat level of high.
With this function you should be able to implement rather functional
media-on-a-prim application with much less difficulty.
|
|
|
|
|
|
|
|
|
|
|
| |
folders with asset type of 'Folder' and 'Unknown' were accidentally treated as system folders.
This prevented more than one additional ordinary folder from being created in the base "My Inventory" user folder.
Added regression test for this case.
Switched tests to use XInventoryService with mostly implemented TestXInventoryDataPlugin rather than InventoryService
Disabled TestLoadIarV0_1SameNameCreator() since this has not been working for a very long time (ever since XInventoryService) started being used
since it doesnt' preserve creator data in the same way as InventoryService did and so effectively lost the OSPAs.
However, nobody noticed/complained about this issue and OSPAs have been superseded by HG like creator information via the --home save oar/iar switch.
|
|
|
|
|
|
|
|
|
|
|
| |
configurable on compile.
Disabled (status quo) by default.
This flag makes the dynamic texture module reuse cache previously dynamically generated textures given the same input commands and extra params for 24 hours.
This occurs as long as those commands would always generate the same texture (e.g. they do not contain commands to fetch data from the web).
This makes texture changing faster as a viewer-cached texture uuid is sent and may reduce simulator load in regions with generation of lots of dynamic textures.
A downside is that this stops expiry of old temporary dynamic textures from the cache,
Another downside is that a jpeg2000 generation that partially failed is currently not regenerated until restart or after 24 hours.
|
|
|
|
| |
Remove mismatching ConvertStream() where there is no AsyncConvertStream and neither IDynamicTextureManager implementer implements this method.
|
| |
|