UbitUmarov
7991bb08f1
reduce absurd viewers blind retries of GroupProfileRequest
2016-07-02 00:18:29 +01:00
UbitUmarov
3af437c8bc
cleanup a bit
2016-07-01 19:20:04 +01:00
UbitUmarov
7b7483ec7e
save one call to grid to get agent groups powers (xmlrpcgoups only for now
2016-07-01 18:38:38 +01:00
UbitUmarov
aa744eecf2
add a few methods to modify clientview group powers
2016-07-01 18:19:09 +01:00
UbitUmarov
1777324a86
cleanup a bit AgentGroupDataUpdate sending
2016-07-01 17:31:31 +01:00
UbitUmarov
9358a6ad29
revert several changes to groups modules (agentGroupData is private). change interregions invite/eject messages, etc
2016-07-01 16:10:45 +01:00
Melanie Thielker
8e40bb6fb7
Make some more modules inheritable
2016-06-21 01:46:38 +02:00
Diva Canto
8d99fe095a
Mantis #7920 : group info was not being updated in many situations. (regression) Putting back the heavy messaging.
2016-06-19 17:35:11 -07:00
Diva Canto
4f3da0a643
AgentGroupData was being sent by both UDP and EQ -- an overkill. Turn off UDP messaging.
2016-06-19 16:28:27 -07:00
Diva Canto
76ab1ed10c
Restored sending group membership data via EventQueue -- this had been a regression. Took the opportunity to refactor that code, so that both Groups V2 and XmlRpcGroups can use the same function.
2016-06-19 16:27:12 -07:00
Diva Canto
12b73603cc
Still related to mantis #7917 , parcel prims info. Now sending the correct numbers for "Simulator primitive usage" related to the parcel owner, not the entire region.
2016-06-19 09:17:04 -07:00
Diva Canto
ce7fa728ef
Mantis #7917 : regression on prim limits module.
2016-06-18 22:07:01 -07:00
Melanie Thielker
cdfbf78d07
Fields should be protected unless private is required
2016-06-14 01:27:48 +02:00
Melanie Thielker
68c73951ef
Make the LLUDPServerShim inheritable. There is absolutely no reason for
...
this to be sealed!
2016-06-14 01:21:47 +02:00
Diva Canto
3ef5e1a24b
Mantis #7923 . EDIT BEAMS ARE BACK!
2016-06-12 22:01:36 -07:00
Diva Canto
42a9afdc43
Mantis #7858 : DeleteSceneObject done slightly differently. ProcessEntities now checks whether the objects have been deleted and, if so, sends an extra kill object packet, in order to compensate for potential race conditions encountered by the first one.
...
Note: I still cannot reproduce this problem, but I was able to emulate it by adding an artificial delay on ProcessEntities, which did, indeed, result in objects not being deleted. This fix fixed my emulated scenario.
2016-06-12 12:23:52 -07:00
Melanie Thielker
d42de53dda
Allow default permissions from the viewer to be applied to uploaded objects.
...
Make inventory items reflect coorect permissions immediately unstead of after relog
2016-04-29 21:23:32 +02:00
Melanie Thielker
995655c445
Make the SimulatorFeaturesModule nonshared as it ought to be from it's code structure.
2016-04-27 00:48:56 +02:00
Melanie Thielker
8e772fde7f
Remove debug spam
2016-03-15 02:36:06 +01:00
Melanie Thielker
1697f3e0c2
Finish plumbing RezRestoreToWorld.
2016-03-09 02:52:45 +01:00
Melanie Thielker
43ca32150c
Plumb RezRestoreToWorld from the client (part done)
2016-03-09 02:45:11 +01:00
Melanie Thielker
57b6398b71
Make mesh upload respect the same parts maximum as what is set for the
...
simulator
2016-03-05 22:30:02 +01:00
Melanie Thielker
110297793c
Fix a couple of typos
2016-03-05 22:22:09 +01:00
Diva Canto
ab12a14279
Pushed AssemblyVersion up to VersionInfo, so that we don't need to do global replace anymore.
2016-02-21 11:14:02 -08:00
UbitUmarov
844266c4d5
change the return list of objects costs, sending a answer if none found
2015-12-20 11:43:27 +00:00
UbitUmarov
bdab95f1d2
dont try to process packets for deleted clients
2015-12-09 22:57:13 +00:00
UbitUmarov
bbe55df6c6
disable useless and totally wrong incoming Pools
2015-12-09 22:32:48 +00:00
UbitUmarov
f7a29ad8b5
minor cleanup
2015-12-09 16:42:24 +00:00
UbitUmarov
8314987474
tick region health a bit faster
2015-12-09 16:27:59 +00:00
UbitUmarov
3ca4b6f319
fix the queue type in use
2015-12-09 16:26:03 +00:00
UbitUmarov
eccec66359
fix the queue type in use
2015-12-09 16:12:21 +00:00
UbitUmarov
ca026ac735
fix the default shape type on upload, it is always convex
2015-11-29 00:19:25 +00:00
Diva Canto
cade717b5f
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
2015-11-27 08:24:39 -08:00
Diva Canto
5b7a585b4f
Sometimes the viewer sends a null string as mapName; this made the client thread throw an exception with unexpected behavior for users (nothing happens). This commit gives it a sane default: it assumes we're looking for a position in the current region.
2015-11-27 08:22:30 -08:00
UbitUmarov
3029080d9b
change threading on GetTexture and getMesh and WebFetch Modules.
2015-11-27 07:38:54 +00:00
UbitUmarov
f16d36627f
change threading on GetTexture and GetMesh NonSharable region modules
2015-11-27 05:00:11 +00:00
UbitUmarov
88b3545ec3
add a missing override
2015-11-21 19:56:57 +00:00
UbitUmarov
156fdd4908
remove some duplicate using statements
2015-11-21 01:49:31 +00:00
UbitUmarov
36426b0db2
remove some compile warnings increasing total number by 2
2015-11-21 00:49:43 +00:00
UbitUmarov
bbfeca4b0c
work around some 'tests' errors: a new event queue has a few null events
2015-11-17 06:19:45 +00:00
Diva Canto
f5799ff445
That didn't actually do anything for Simian, and it broke the locahost
...
case
Revert "Also restoring proper function for Simian external GetTexture functionality."
This reverts commit 366e81b977
.
2015-11-14 08:10:27 -08:00
UbitUmarov
adda0ab7d8
limit llDialog buttons text to 24 bytes (at lludp level)
2015-11-11 05:55:34 +00:00
UbitUmarov
188b2d84c1
increase the number of packets in Land queue that force terrain to delay patchs sending.
2015-11-10 23:50:00 +00:00
UbitUmarov
e096b49dd7
check if a packet can be sent imediatly without accounting it as sent on throttles when it is enqueued for later send.
2015-11-10 23:17:56 +00:00
UbitUmarov
40cb83b555
make m_minimumDripRate a bit larger than mtu. Add a bucket space check that does not consume avaiable space, so reducing bandwidth
2015-11-10 22:50:20 +00:00
UbitUmarov
38aad774f7
change lldialog and llTextBox maximum message lenght to 512 bytes as specification.
2015-11-10 14:47:36 +00:00
UbitUmarov
69fefd1d00
send the estimation of time dilation at packet build time, not the one at unknown past.
2015-11-06 21:27:42 +00:00
Melanie Thielker
69585a4824
More plumbing of the EntityTransferContext (not yet complete)
2015-11-01 19:11:14 +01:00
UbitUmarov
6821ace3c6
add basic SendFindAgent() to lludp. Future use may require a list of pairs (X,Y). For now one pair is good enough.
2015-10-26 21:56:02 +00:00
Diva Canto
59b63b6406
On to 0.8.3!
...
Conflicts:
OpenSim/Region/PhysicsModules/ConvexDecompositionDotNet/Properties/AssemblyInfo.cs
2015-10-18 21:51:49 -07:00
Diva Canto
366e81b977
Also restoring proper function for Simian external GetTexture functionality.
2015-10-14 14:45:21 -07:00
UbitUmarov
6e12836d71
change copyright to opensim
2015-09-28 13:08:46 +01:00
UbitUmarov
04b32e1982
let SendAvatarGroupsReply fall back to UDP if no caps and make use of it
2015-09-27 07:07:40 +01:00
UbitUmarov
18536b4be6
add missing SendAgentGroupDataUpdate to llClientView
2015-09-27 06:38:19 +01:00
UbitUmarov
1e23b3482c
AvatarGroupsReply message does not have ListInProfile fields
2015-09-27 06:21:38 +01:00
UbitUmarov
13b8b17b9a
we still don't have extended wind and cloud neither do viewers
2015-09-24 20:55:39 +01:00
UbitUmarov
a6b8eb7bca
some cleanup on terrain encoder
2015-09-24 19:11:17 +01:00
UbitUmarov
8fde2fb901
slow down terrain sending so other users of LAND queue do have a chance to send things
2015-09-24 00:35:06 +01:00
UbitUmarov
ccfb561e8d
change the encapsulation of compressed land patchs in llUDP packets
2015-09-23 00:01:32 +01:00
UbitUmarov
778793d77f
fix GetPacketsQueuedCount typos in last commit
2015-09-22 19:24:58 +01:00
UbitUmarov
ae70f61a64
let minimum wqburst be a bit larger than MTU
2015-09-22 18:56:03 +01:00
UbitUmarov
a8dc07ff5c
removed a protocol breaking lludp debug option that no one should try, changed terrain send throotle to be by packets in queue, reduced odds of MTU violation on terrain send (still bad). Most UDP protocol implementations may not mind much, but our code still does
2015-09-22 18:39:59 +01:00
UbitUmarov
a81a1865b5
coment out lludp debug things that only fill up the help screen
2015-09-21 12:13:59 +01:00
UbitUmarov
118aff520e
try to better merge avn and os fetchinventory and fetchinvdescendents
2015-09-12 06:10:52 +01:00
UbitUmarov
08187cb599
inventory mess return to the state before divas cache issue
2015-09-11 20:40:10 +01:00
UbitUmarov
7841628313
change to avn fecthinventory and webfecth.. code
2015-09-11 16:25:46 +01:00
UbitUmarov
5b3e2ab9aa
Merge branch 'mbworknew1' into ubitworkvarnew
2015-09-08 15:03:22 +01:00
Robert Adams
e5367d822b
Merge of ubitworkvarnew with opensim/master as of 20150905.
...
This integrates the OpenSim refactoring to make physics, etc into modules.
AVN physics hasn't been moved to new location.
Does not compile yet.
Merge branch 'osmaster' into mbworknew1
2015-09-08 04:54:16 -07:00
UbitUmarov
7276a89ddd
recover opensim m_sendTerrainUpdatesByViewDistance. if false do as opensim (slower since it depended on sending terrain as TASK). if true send by view range and also all terrain at arrival
2015-09-07 11:23:00 +01:00
UbitUmarov
d9fafd9603
fix the missing initialization of the folish ProcessUnackedSends option
2015-09-06 17:12:31 +01:00
Diva Canto
dac8edd5dd
Transformed the LLUDP ad-hoc plugin into a region module. It works.
2015-09-03 15:59:06 -07:00
UbitUmarov
cdaed11387
at last we can login and see objects ( friends is dead and disable in
...
scenepresence)
2015-09-03 18:39:08 +01:00
UbitUmarov
a11edceb00
seems to compile ( tests comented out)
2015-09-02 19:54:53 +01:00
UbitUmarov
371c9dd2af
bad merge?
2015-09-01 14:54:35 +01:00
UbitUmarov
efc062b0cc
send land parcels overlay in cat Land not Task, or avatar freezes
2015-08-28 03:34:28 +01:00
UbitUmarov
f9efa23d5e
remove the rest of #justEditedTerrain, it was sending patchs non
...
conforming to protocol, and no longer in agreement with how patchs are
schedule to send
2015-08-27 21:30:51 +01:00
UbitUmarov
c7ddb790a7
change osd encoding of region size
2015-08-27 04:45:16 +01:00
UbitUmarov
e2cfc73293
NEVER EVER SEND TERRAIN PATCHS AS UNRELIABLE!!!!!!!!!!!!!!!!!!!!!!!!!!
...
this costed me hours :P
2015-08-26 15:20:18 +01:00
UbitUmarov
018d855f28
turn off KeepAlive
2015-08-24 07:38:33 +01:00
UbitUmarov
e3d82ad706
delay terrain sending if land queue is 2 busy
2015-08-22 04:08:30 +01:00
UbitUmarov
9a0040d67c
put back entities remove from updates on SendKillObject.
2015-08-19 20:38:49 +01:00
UbitUmarov
0b105da626
Merge branch 'mbworkvar2' into ubitvar
2015-08-19 08:48:50 +01:00
UbitUmarov
fd82a0a0b7
add a Retry-After response header to the 503 sent when we are 2 busy to do
...
the request. just 503 could mean server down (?)
2015-08-19 00:26:43 +01:00
UbitUmarov
05d72f77ff
do keepalive on mesh and texture GET. Dont use reusecontext any where.
...
setting of keepalive is wrong, it should follow the requested one ( or
always as http1.1) only deny if needed (errors). KeepAlive may increase
stress on number of avaiable file descritors.
2015-08-18 21:32:03 +01:00
Drake Arconis
d70db51466
Only send the requested ObjectPropertiesFamily in the RequestObjectPropertiesFamily reply and not the actual ObjectProperties packet
...
Signed-off-by: Diva Canto <diva@metaverseink.com>
2015-08-14 19:19:49 -07:00
Melanie Thielker
1fb2f0296f
Track selected objects per client
2015-08-15 02:46:41 +02:00
Oren Hurvitz
20af31f18e
Fixed mistakes related to confusion between Environment.TickCount (milliseconds) and TimeSpan.TicksPerXXX (10000 x milliseconds)
2015-08-11 07:35:40 +01:00
Diva Canto
959872315f
WARNING: massive refactor to follow libomv's latest changes regarding inventory folders. The newest version of libomv itself is committed here. Basically, everything that was using the AssetType enum has been combed through; many of those uses were changed to the new FolderType enum.
...
This means that from now on, [new] root folders have code 8 (FolderType.Root), as the viewers expect, as opposed to 9, which was what we had been doing. Normal folders are as they were, -1. Also now sending folder code 100 for Suitcase folders to viewers, with no filter.
All tests pass, but fingers crossed!
2015-08-08 12:12:50 -07:00
Diva Canto
017d2cf417
Bug fix in inventory fetching: sometimes the caps request comes before there is a scene presence, and that's ok.
2015-06-17 15:55:07 -07:00
Diva Canto
f27ce66877
Squooshed a warning that could result in a runtime null pointer exception. It says that code is for debugging, but it was buggy.
2015-06-14 08:18:21 -07:00
Cinder
3853904b80
Quell three new warnings I introduced with AgentPrefsData, return an empty llsd map instead of an empty llsd block when no AgentPrefs service is available to try and appease Firestorm
...
Signed-off-by: Diva Canto <diva@metaverseink.com>
2015-06-14 07:59:25 -07:00
Cinder
044654b5a9
Guard against scenes without an agent prefs service and a copy and paste fix
...
Signed-off-by: Diva Canto <diva@metaverseink.com>
2015-06-13 13:37:08 -07:00
Diva Canto
7f1a73cbda
Fixed indentation
2015-06-13 10:27:48 -07:00
Diva Canto
bcb8a7d7f9
A few bug fixes for Agent Preferences to actually work. Also added missing config for standalone.
2015-06-13 08:36:06 -07:00
Cinder
0fa94f222d
Refactor AgentPreferences so that database operations happen centrally. the opensim way.
...
Signed-off-by: Diva Canto <diva@metaverseink.com>
2015-06-13 07:27:42 -07:00
Cinder
c1ddb7f05e
Relicense AgentPreferences files to BSD and OpenSimulator
...
Signed-off-by: Diva Canto <diva@metaverseink.com>
2015-06-13 07:27:26 -07:00
Cinder
6f71d5c2c6
Support for Linden AgentPreferences capability and friends (UpdateAgentLanguage and UpdateAgentInformation) and Mantis #7157
...
Signed-off-by: Diva Canto <diva@metaverseink.com>
2015-06-13 07:27:01 -07:00
Melanie Thielker
7aa171e49f
Maybe reduce incidence of ghost avatars
2015-06-12 03:16:09 +02:00
Diva Canto
bac53387a9
Mantis #7567 : added an 8-sec expiring item cache to the inventory network connector. This fixed the problem on my local test grid and generally made things faster. This cache has been needed for a while... there are many parts in the code where the sim gets an item multiple times in a short amount of time (rezzing attachs and objects, for example).
...
Other minor changes:
- added the scene as a parameter to the constructor od FetchInvDescHandler, so that I could see in which scene the handler was being called
- brought linked items in linked folders back to being prefetched
2015-06-03 17:42:41 -07:00
dahlia
6a48c87cd2
resolve possible nullref when sending appearance packet. Thanks to zadark for pointing this out.
2015-05-13 15:59:58 -07:00
Diva Canto
c74cef0f42
Major change in the way inventory is downloaded: added a method throughout IIventoryService that fetches sets of folders at once. Also added folder id in the InventoryCollection data structure, so that we don't need to go to inventory server again just for that. This reduces the chatter between sims and inventory server by... a lot. On my tests, this reduces initial inventory download down to 30% of what it currently is.
2015-05-07 19:24:08 -07:00
Diva Canto
8676b017b2
Attempt at fixing mantis #7054 . The two inventory threads are stepping on each other's feet. This needs real-world testing, as I'm not sure of all the consequences of reducing the number of worker threads to 1.
2015-05-05 21:28:27 -07:00
Diva Canto
da32512ea4
Updated all occurrences of AssemblyVersion("0.8.1.*") to AssemblyVersion("0.8.2.*")
2015-04-29 18:47:17 -07:00
BlueWall
38459104eb
Revert "Revert "Fix the click to buy prim dialog not being displayed with alpha viewers after recent changes to viewer code by LL.""
...
This brings back the fix for recent viewer click to buy prim dialog which was reverted after some reports of objects being altered when touched.
2015-04-28 09:36:56 -05:00
BlueWall
d80230adcd
Revert "Fix the click to buy prim dialog not being displayed with alpha viewers after recent changes to viewer code by LL."
...
See: http://opensimulator.org/mantis/view.php?id=7426#c28089
Reverting this commit due to unwanted effects.
2015-04-27 15:46:09 -05:00
AliciaRaven
cde4e7ec86
Fix the click to buy prim dialog not being displayed with alpha viewers after recent changes to viewer code by LL.
...
Recent viewer changes by linden lab now require more information when requesting prim tooltip data. The object properties must now be sent when the viewer requests the object family properties used to display the tool tip. Thanks to Liru for finding the viewer commit that broke this feature in OS.
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2015-04-25 00:06:48 -05:00
Robert Adams
c5a7bf6601
varregion: add varregion and TerrainData use in LLClientView.
...
Add sending multiple parcel patches and sending patches by avatar
view distance.
2015-03-28 08:30:52 -07:00
Robert Adams
08c72a8dc1
varregion: remove use of Constants.RegionSize is various places.
...
More use of the Util routines for conversion of region handles into addresses.
2015-03-28 07:50:04 -07:00
Freaky Tech
4de10a45e9
revised GetMesh to not use intermediate base64 coding scheme
...
it delivers binary and has binary as input.
base64 intermediate coding makes no sense.
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2015-03-05 18:15:42 -05:00
BlueWall
96b87407f1
Revert "removed replacement texture in UDP Texture code. The replacement texture introduces false data into viewer cache. Removing that decreases the necessity for clearing the viewer cache. The viewer knows with ImageNotInDatabase that it is missing and can therefore know what to do about it a lot better than the sim does."
...
This reverts commit 4d749d8c69
.
Re-open mantis 0007474 for further work before final commit.
2015-03-04 14:36:26 -05:00
Freaky Tech
53100b93c7
corrected bug that viewer cannot correctly fetch ItemData when being a HG visitor
...
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2015-03-03 19:09:30 -05:00
Freaky Tech
4d749d8c69
removed replacement texture in UDP Texture code. The replacement texture introduces false data into viewer cache. Removing that decreases the necessity for clearing the viewer cache. The viewer knows with ImageNotInDatabase that it is missing and can therefore know what to do about it a lot better than the sim does.
...
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2015-03-03 16:09:57 -05:00
Freaky Tech
c6731c73fb
increased IPv4 TTL of LLUDP Sockets
...
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2015-03-03 15:34:34 -05:00
BlueWall
cfa4e6642e
Handle kick user from estate management tools
2015-03-01 20:48:51 -05:00
Justin Clark-Casey (justincc)
7a86b01226
Make any exception that gets to LLClientView.ProcessSpecificPacketAsync() tells us the exception type as well as the message and stacktrace details.
2015-02-19 23:09:43 +00:00
Justin Clark-Casey (justincc)
155da5aad2
Add debug ability to ignore reliably sent packets that are not acknowledged.
...
This is controlled via the console command "debug lludp client set process-unacked-sends true [<avatar-first-name> <avatar-last-name>]"
For debug purposes to see if this process for very bad connections is causing general outbound udp processing delays.
Relates to http://opensimulator.org/mantis/view.php?id=7393
2015-01-21 20:31:42 +00:00
Justin Clark-Casey (justincc)
372a7bf78e
minor: Comment out log line for the SimulatorFeatures cap request for now to reduce log verbiage. Please revert if still required.
2015-01-21 00:34:51 +00:00
Diva Canto
8cc590cf80
And finally renamed the classes themselves.
2015-01-13 22:21:50 -08:00
Justin Clark-Casey (justincc)
55e081548c
Fix bug where gathering the clientstack..OutgoingPacketsQueuedCount stat would fail with a casting exception for scenes with NPCs
...
Present since 51eb8fa
(Oct 2 2014)
2015-01-13 19:27:29 +00:00
Justin Clark-Casey (justincc)
8e1e8a0920
Make the performance controlling job processing threads introduced in conference code use a generic JobEngine class rather than 4 slightly different copy/pasted versions.
2015-01-12 20:56:37 +00:00
Diva Canto
2fd252f5a9
SimulatorFeatures: the viewer also takes GridName in OpenSim extras. Added that (plus GridURL, in case viewers want to use it too) to the GridService that gives out that info to simulators.
2015-01-10 10:32:33 -08:00
Diva Canto
e2dd15625f
Added GetDisplayNames capability. For now, we don't actually use display names, and this cap returns the regular name. But this moves the server side into the newer, preferred, protocol used by the viewer for fetching the names of agents in the scene given their UUIDs. (the old protocol is via UDP). This works fine in my limited tests, but could use further testing by others.
2015-01-09 08:31:56 -08:00
Mic Bowman
bc7570e59c
Merge branch 'mb-throttle-test'
...
Merge in the new throttle code.
2014-12-30 16:26:57 -08:00
Diva Canto
2138d5c7f8
Renamed VERSION_NUMBER to VersionNumber
2014-12-30 15:27:28 -08:00
Mic Bowman
5bb73793c7
Comment out the debugging statements added in the last commit. Keeping
...
them in the code for later use rather than just reverting them.
Fixed the throttle tests for the new algorithm used when packets
are marked as expired.
2014-12-30 14:43:42 -08:00
Diva Canto
7466ef0525
This cleans up versioning. Specifically:
...
- It establishes 4 digits for opensim versions
- It uses the same number between opensim releases and mono addins versions
It also eliminates the last addin.xml files that were still there, for consistency.
2014-12-30 12:53:31 -08:00
Mic Bowman
58229a968b
Turn on logging of old acks, this is for debugging only, stats version coming later
2014-12-30 10:50:34 -08:00
Mic Bowman
c06100c31f
Another technique inspired by some of the newer flow control algorithms... rather
...
than drop exponentially to 0 (and then adjust up for the minimum flow), drop on
the delta between current rate and the minimum rate. This should smooth the fallback
to minimum.
2014-12-30 10:39:14 -08:00
Mic Bowman
75df04f0b3
Fix the throttle tests. Remove the hardcoded constant multipliers and
...
compute the expected values without depending on the token bucket code.
2014-12-30 10:03:37 -08:00
Diva Canto
2506728e35
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
2014-12-30 07:59:09 -08:00
Diva Canto
5cf6a6f830
WARNING: BREAKING CHANGES FOR REGION MODULE DEVELOPMENT.
...
This cleans up Opensim's use of mono addins. In particular, the extension points /OpenSim/RegionModules and /OpenSim/WindModule moved from OpenSim.exe to OpenSim.Region.Framework.dll. From here on, developers of region modules should declare their dlls to be dependent on OpenSim.Region.Framework, starting with version 0.8.1
Additional changes:
- Addins version uniformly updated to 0.8.1. These numbers should be compatible with the release numbers or else it becomes very confusing.
- Mono addins directives moved from files addins.xml to embedded directives in the class and assembly declarations, to make it all consistent
2014-12-30 07:58:42 -08:00
Mic Bowman
bda8f2a2c1
Change the effect of successfully acknowledged packets to bump the
...
adaptive throttle by a full MTU. This is consistent with some implementations
of congestion control algorithms and certainly has the effect of opening
the throttle window more quickly after errors. This is especially important
after initial scene load when the number and size of packets is small.
2014-12-29 23:19:10 -08:00
Mic Bowman
041a09ecb9
Enable runtime configuration of the minimum rate for adaptive
...
throttles. Setting adaptive_throttle_min_bps will change the
minimum rate that the adapative throttles will drop to in case
of network packet loss. The current rate default rate is 256kbps.
The viewer can throttle rates under that amount, but the dynamic
adaptation will not.
2014-12-29 18:46:33 -08:00
Justin Clark-Casey (justincc)
5410e4f1f9
minor: correct sent -> set in TokenBucket.RequestedDripRate method doc
2014-12-30 00:53:17 +00:00
Diva Canto
89c1ac4cff
Updated OpenSim-as-addin version from 0.5 to 0.8.1. The addin version number doesn't need to match the release version number, but I think it's a very good idea that they do.
2014-12-29 15:05:44 -08:00
Mic Bowman
e71549a2cb
Add debugging code for simulating packet loss in outgoing UDP packets. The
...
algorithm for dropping packets is a modified two state algorithm for creating
bursts of dropped packets. As configured there is about a 1.5% drop rate.
Invocation of the packet loss code is commented out by default.
2014-12-29 12:02:36 -08:00
Justin Clark-Casey (justincc)
265fe349e0
Somewhat improve avatar region crossings by properly preserving velocity when avatar enters the new region.
...
This commit addresses the following issues were causing velocity to be set to 0 on the new region, disrupting flight in particular
* Full avatar updates contained no velocity information, which does appear to have some effect in testing.
* BulletSim was always setting the velocity to 0 for the new BSCharacter. Now, physics engines take a velocity parameter when setting up characters so we can avoid this.
This patch applies to both Bullet and ODE.
2014-11-29 00:12:11 +00:00
Justin Clark-Casey (justincc)
86367d7219
refactor: Move methods to start a monitored thread, start work in its own thread and run work in the jobengine from Watchdog to a WorkManager class.
...
This is to achieve a clean separation of concerns - the watchdog is an inappropriate place for work management.
Also adds a WorkManager.RunInThreadPool() class which feeds through to Util.FireAndForget.
Also switches around the name and obj arguments to the new RunInThread() and RunJob() methods so that the callback obj comes after the callback as seen in the SDK and elsewhere
2014-11-25 23:56:32 +00:00
Justin Clark-Casey (justincc)
20cede12a9
Fix ghosts copy of SimulatorFeatureModule to enable logging.
2014-11-25 23:28:38 +00:00
Justin Clark-Casey (justincc)
d6c9705a3b
Add incoming packet async handling engine to queue some inbound udp async requests.
...
This is to reduce the potential for overload of the threadpool if there are many simultaneous requets in high concurrency situations.
Currently only applied to AvatarProperties and GenericMessage requests.
2014-11-25 23:23:11 +00:00
Justin Clark-Casey (justincc)
ec8d21c434
Label all threadpool calls being made in core OpenSimulator. This is to add problem diagnosis.
...
"show threadpool calls" now also returns named (labelled), anonymous (unlabelled) and total call stats.
2014-11-25 23:23:10 +00:00
Justin Clark-Casey (justincc)
5d5ea9234f
Stop Mono 3.2.8 from binding a UDP socket to a port already in use.
...
At least on Mono 3.2.8 (but not under Windows), one can bind multiple UDP sockets to the same port by default.
Different simulators cannot demultiplex each other's messages, so a set of confusing non-obvious errors arise if this occurs.
This change prevents such multiple binding.
2014-11-25 23:23:09 +00:00
Justin Clark-Casey (justincc)
5ab5d7fe47
Fix recent regression where adaptive throttles stopped adjusting.
...
Extends regression tests to test response of adaptive throttles to ack'ed and expired packets.
2014-11-25 23:22:20 +00:00
Justin Clark-Casey (justincc)
b2e377f168
Fix setting of max scene throttle so that setting it restricts the child client throttles properly.
...
In "show throttles", also renames 'total' column to 'actual' to reflect that it is not necessarily the throttles requested for/by the client.
Also fills out 'target' in non-adapative mode to the actual throttle requested for/by the client.
2014-11-25 23:22:20 +00:00
Justin Clark-Casey (justincc)
b114f5626e
Add request drip rate to assertions for token bucket regression tests
2014-11-25 23:22:20 +00:00
Justin Clark-Casey (justincc)
8a949f0ee1
Add regression tests for token buckets on their own
2014-11-25 23:22:20 +00:00
Justin Clark-Casey (justincc)
ec3b43d28d
Make regression throttle tests consistently test target and max throttle settings.
...
As part of this also refactors code to put all throttle asserts in a single regression test method
2014-11-25 23:22:20 +00:00
Justin Clark-Casey (justincc)
e6af551007
For now, send all non-full terse updates for ones own avatar directly to the LLUDP client stack rather than queueing internally within LLClientView.
...
When an HG avatar enters a scene, it delays processing of entity updates. Could be crowding out by other updates or something else.
This delay in ones own av mvmt updates results in mvmt lag experienced on the client. Avoiding the internal LLClientView for these packets appears to resolve this issue.
Appears most noticeably for avatars with attachments, though has also been seen on those without sometimes. Hasn't been observed for non-HG avatars in general.
Will be investigating exactly what the problem is, at which point there will be a more permanent solution.
2014-11-25 23:22:20 +00:00
Justin Clark-Casey (justincc)
10095c1a58
Add "debug lludp throttles get/set request" and get current
...
This allows one to set the requested throttle (which normally comes from the client) as opposed to the max.
2014-11-25 23:22:19 +00:00
Justin Clark-Casey (justincc)
61d6bd78b3
Change the word order of some debug lludp settings for readability
...
On server, scene-throttle-max becomes max-scene-throttle and likewise max-new-client-throttle
On clients, throttle-max becomes max
2014-11-25 23:22:19 +00:00
Justin Clark-Casey (justincc)
44dc58cc7f
Add "debug lludp get/set new-client-throttle-max" to allow default new client throttle to be set separately from existing clients.
...
"debug lludp throttles get/set throttle-max" now only gets and sets current max client throttles
2014-11-25 23:22:19 +00:00
Justin Clark-Casey (justincc)
68d0c4d37b
Add "debug lludp get" command which currently just shows scene-throttle-max to mirror "debug lludp set"
...
Information is also available in "show server throttles" but that's more for non-debug info rather than attempting to get and set parameters on the fly for debug purposes.
2014-11-25 23:22:19 +00:00
Justin Clark-Casey (justincc)
16a5e15443
Allow GetMesh capability to be served directly by a server like GetTexture
...
To do this required GetMesh to be converted to a BaseStreamHandler
Unlike GetTexture connector, no redirect URL functionality yet (this wasn't present in the first place).
2014-11-25 23:21:38 +00:00
Justin Clark-Casey (justincc)
d33964222a
Fix an issue where specifying both max client and server outgoing UDP throttles would cause client throttles to be lower than expected when total requests exceeded the scene limit.
...
This was because specifying a max client throttle would always request the max from the parent server throttle, no matter the actual total requests on the client throttle.
This would lead to a lower server multiplier than expected.
This change also adds a 'target' column to the "show throttles" output that shows the target rate (as set by client) if adaptive throttles is active.
This commit also re-adds the functionality lost in recent 5c1a1458
to set a max client throttle when adaptive is active.
This commit also adds TestClientThrottlePerClientAndRegionLimited and TestClientThrottleAdaptiveNoLimit regression tests
2014-11-25 23:21:38 +00:00
Justin Clark-Casey (justincc)
ead32de790
Use automatic properties for Parent and TotalDripRequest in TokenBucket to make code analysis easier. No functional change.
2014-11-25 23:21:37 +00:00
Justin Clark-Casey (justincc)
40314b56f2
Remove the unnecessary intermediate total token bucket.
...
This only had one child, which is the 'adaptive' token bucket.
So from testing and currently analysis, we can use that bucket directly which simplifies the code.
2014-11-25 23:21:37 +00:00
Justin Clark-Casey (justincc)
a98b514184
minor: remove compiler warning from unused field in SimulatorFeaturesModule
2014-11-25 23:21:37 +00:00
Justin Clark-Casey (justincc)
df031fe8be
extend TestClientThrottleRegionLimited for 2 clients after testing 1. Renames to TestSingleClientThrottleRegionLimited()
2014-11-25 23:21:37 +00:00
Justin Clark-Casey (justincc)
dce98acb69
Add regression test TestClientThrottleRegionLimited() for testing simple behaviour of throttles where a region-wide total outbound limit is in place.
2014-11-25 23:21:37 +00:00
Justin Clark-Casey (justincc)
075f718f3f
factor out common throttle setting byte[] array construction in ThrottleTests.
2014-11-25 23:21:37 +00:00
Justin Clark-Casey (justincc)
9cdd38d0cf
Add regression test TestClientThrottleLimited() for throttle behaviour when a max client total limit is enforced server-side
2014-11-25 23:21:37 +00:00
Justin Clark-Casey (justincc)
fc878a33ed
refactor: consistently put all test classes in the OpenSim.Tests.Common package rather than some in OpenSim.Tests.Common.Mock
...
the separate mock package was not useful and was just another using line to always add
2014-11-25 23:21:37 +00:00
Justin Clark-Casey (justincc)
af0a851eba
minor: disable logging in regression test TestClientThrottleSetNoLimit
2014-11-25 23:18:40 +00:00
Justin Clark-Casey (justincc)
9934e2c545
minor: comment out unused method in regression BasicCircuitTests
2014-11-25 23:18:40 +00:00
Justin Clark-Casey (justincc)
746defa094
Add basic regression test ThrottleTests.TestClientThrottleSetNoLimit
2014-11-25 23:18:40 +00:00
Justin Clark-Casey (justincc)
52370ac94d
refactor: Move test clientstack setup code out of BasicCircuitTests into OpenSim.Tests.Common.ClientStackHelpers
2014-11-25 23:18:40 +00:00
Justin Clark-Casey (justincc)
87d5da86a1
Fix recent regression in "debug lludp throttles get" command that stopped it printing any information. Also fix max throttle displayed to be properly kbps
2014-11-25 23:18:40 +00:00
Justin Clark-Casey (justincc)
a13022c296
minor: in "show server throttles", display unset if new client throttle value is not set rather than 0
2014-11-25 23:18:40 +00:00
Justin Clark-Casey (justincc)
44e0a2f906
Add throttle-max option to "debug lludp throttles set" to allow runtime setting of default and existing client throttles.
...
Doesn't yet adjust until clients submit new throttle settings.
2014-11-25 23:18:40 +00:00
Justin Clark-Casey (justincc)
5c13980eb7
Change "debug lludp throttle *" commands to "debug lludp throttles" for consistency (and because I keep typing throttles).
...
This will still work with "debug lludp throttle" anyway.
2014-11-25 23:18:40 +00:00
Justin Clark-Casey (justincc)
d20aeefef2
Fix console set and get of max scene rate. Was performing wrong calculation - throttle buckets are set in bytes, not bits
2014-11-25 23:18:40 +00:00
Justin Clark-Casey (justincc)
10d09e287c
Eliminate 'max' throttle setting from server throttles report since this never applies.
2014-11-25 23:18:40 +00:00
Justin Clark-Casey (justincc)
679eaec22f
Allow "debug lludp throttle *" commands to work without a user name, in which case they apply to all users in the lludp server
2014-11-25 23:18:39 +00:00
Justin Clark-Casey (justincc)
a142edec03
minor: add apparant total to logging when client sets throttles
2014-11-25 23:18:39 +00:00
Justin Clark-Casey (justincc)
c73e62ea3a
minor: fix bug in throttle logging where arguments were mismatched
2014-11-25 23:18:39 +00:00
Justin Clark-Casey (justincc)
1d33a40f59
Add "debug lludp set scene-throttle-max <value>" console command to allow us to potentially set the scene max throttle on the fly.
2014-11-25 23:18:39 +00:00
Justin Clark-Casey (justincc)
a5eabdade3
Move information about "server agent rate" throttles into "show server throttles" command rather than "show throttles"
...
THis allows us to see the rates when no client is connected to the region.
2014-11-25 23:18:39 +00:00
Justin Clark-Casey (justincc)
c8f5add2fc
Add "show server throttles" command for showing server specific information about throttles
...
This is separate from the user-oriented "show throttles" command since one will often only want to know about varying client throttle settings.
Currently displays max scene throttle and adaptive throttles config if set.
2014-11-25 23:18:39 +00:00
Justin Clark-Casey (justincc)
51eb8facd6
Add OutgoingPacketsQueuedCount clientstack stat.
...
This is the total of queued outgoing packets across all connections, as also seen in the "show queues" command.
Gives some early indication of whether the simulator can't send all outgoing packets fast enough.
Though then one would want to check that this isn't due to a few bad client connections.
2014-11-25 23:18:39 +00:00
Justin Clark-Casey (justincc)
4c5fbf8b0a
minor: Remove compiler warnings from unused fields in TokenBucket
2014-11-25 23:18:39 +00:00
Justin Clark-Casey (justincc)
12daa3c3d9
refactor: Move LLUDPServer console commands into their own class.
2014-11-25 23:18:39 +00:00
Justin Clark-Casey (justincc)
f0fd2fa325
refactor: rename "debug lludp throttle status" to "debug lludp throttle get" to match set command
2014-11-25 23:18:38 +00:00
Justin Clark-Casey (justincc)
e144958e03
Add "debug lludp throttle set" command to allow setting of parameters at runtime
...
Can currently only set adaptive true|false, where adaptive = false
2014-11-25 23:18:38 +00:00
Justin Clark-Casey (justincc)
cfc4055991
Make outboudn and packet inbox handling threads highest priority.
...
Will only have any affect under Windows or mono with a patch such as https://gist.github.com/justincc/31e52218d098529b4696 (not recommended) applied.
For assessment purposes.
2014-11-25 23:18:38 +00:00
Diva Canto
0997ce8629
Small improvements to SimulatorFeaturesModule: (1) don't overwrite extras if the grid response is invalid; (2) make the name of the config variable for destination guide consistent with the grid-wide name in LoginService; (3) account for the existence of a [USERID] in the destination guide URL
2014-11-22 20:14:09 -08:00
Melanie Thielker
bec456c2a5
Remove the Invisible stuff and add more baked caching. Refactor selection of textures to save to Bakes module.
2014-11-11 07:09:30 +01:00
Melanie Thielker
64deb6ae6f
Second part of invisible base avatar option
2014-11-10 19:49:58 +01:00
Melanie Thielker
785a2cc729
Remove JustinCCs UDP patch - it is harmful to Avination's grid management
2014-11-10 04:48:36 +01:00
Diva Canto
ac051ef4ab
Added grid information to SimFeatures response, so that the viewer can show it.
2014-11-06 17:49:04 -08:00
UbitUmarov
caddabb5c4
scale ChildAgentThrottles with distance (internal to child server and not
...
root as was done before )
2014-11-06 22:25:16 +00:00
UbitUmarov
ead78764ab
allow drawdistance to change between 32 and MaxDrawDistance, configurable
...
value default to 256, so should have no effect. Next steps needed: reduce
client udp Throttles with distance, update childreen connections with
significat movement and view range changes, Make disconnect be delayed in time, make disconnects be receiving region action not sender on region changes. Allow distance less than 256 to only connect to visible regions, even none. Make this be relative to camera and not agent position or region centers as it is now.
2014-11-06 19:03:25 +00:00
UbitUmarov
5cca6e7d16
don't send updates for deleted agents
2014-11-01 00:01:11 +00:00
UbitUmarov
ba8e1efb43
sadly revert to resend terseUpdates enqueuing them back into entityupdates
...
queue. Viewers fail to handle correctly out of order updates with ugly visible
effects. Make sure these packets don't include acks so they aren't lost.
2014-10-31 23:34:43 +00:00
UbitUmarov
54ab9e7d4d
set udp SocketOptionName.ReuseAddress to false, to not allow two regions
...
to bind to same port, as seems to be possible at least with mono 3.2.8,
same as patch just pushed to core by justin. This is not necessary on
windows, possible a bug on some mono versions.
2014-10-30 21:57:20 +00:00
UbitUmarov
4571e5bc3e
try to make SOG crossings full async. Simplify some borders checking....
2014-10-24 18:10:28 +01:00
Melanie Thielker
12ebc92e55
Revert "*TEST* send udp sync. Stop uncontroled and hidden use of IO threads."
...
This reverts commit 8c41271b33
.
Conflicts:
OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs
2014-10-13 23:52:19 +02:00
UbitUmarov
33ec073320
revert to async send, since past experience showed sync didn't work when
...
on mono
2014-10-13 22:46:58 +01:00
UbitUmarov
8c41271b33
*TEST* send udp sync. Stop uncontroled and hidden use of IO threads.
...
Testing this may require several people.
2014-10-13 13:17:48 +01:00
UbitUmarov
9a3df6445e
move AnimationSet and AvatarSkeleton to OpenSimExtras
2014-10-12 12:52:12 +01:00
UbitUmarov
39cfd82303
add simulator features AvatarSkeleton and AnimationSet report
2014-10-11 22:53:47 +01:00
UbitUmarov
c3e88b7b38
changed skeleton, do parse the mesh on upload to check skeleton. Sooner or
...
later this parsing needs to validate the model cost also.
2014-10-11 22:41:59 +01:00
UbitUmarov
cc71dd9a27
dont let test mesh go to meshes inventory folder that is not displayed by
...
viewers
2014-10-11 11:12:43 +01:00
UbitUmarov
dab2e778d6
bug fix
2014-10-11 10:22:57 +01:00
UbitUmarov
1a6ef2d60e
check for avatar skeleton data on meshs headers on cost estimation. Dont
...
let a model have more than one mesh with skeleton, for testing create a
mesh inventory item, for this meshs. Add also option to read a avatar
collider replacement. This information still needs to be saved somewhere
so it can be checked on attachment, etc, without parsing the mesh asset again.
2014-10-11 10:01:26 +01:00
Justin Clark-Casey (justincc)
c496bd57b4
minor: Comment out received seed caps request logging for now
2014-10-02 22:33:58 +01:00
Justin Clark-Casey (justincc)
43520b3e8b
Add "debug lludp throttle status" command to return status information about a client's throttle (currently just whether adaptive is enabled).
2014-10-02 22:30:44 +01:00
Justin Clark-Casey (justincc)
05508b5c56
Add "debug lludp throttle log <level> <avatar-first-name> <avatar-last-name>" to control extra throttle related debug logging.
2014-10-02 22:30:44 +01:00
UbitUmarov
49bf83ecb8
do global position X and Y with double precision in autopilot, so
...
corrected viewers do work
2014-09-30 23:31:55 +01:00
UbitUmarov
46caea6987
change it again...
2014-09-26 15:03:33 +01:00
UbitUmarov
90cad82405
remove unnecessary argument ref
2014-09-26 14:22:54 +01:00
UbitUmarov
fcad64209c
make c# more happy
2014-09-26 14:17:01 +01:00
UbitUmarov
5f57b55dc9
use central animationset permitions define
2014-09-26 14:08:21 +01:00
Melanie Thielker
3a42ea5279
Extend upload verification to all upload paths
2014-09-25 21:21:20 +02:00
UbitUmarov
57166878b5
fix animation asset name to "animatn", use "animset" for the new
...
animationSet
2014-09-25 16:37:43 +01:00
UbitUmarov
f51779bb05
add also the name animset until its clear the name liru will use
2014-09-25 14:10:44 +01:00
UbitUmarov
18cc33e2c5
add animationset to upload assets, for now no cost
2014-09-25 13:35:30 +01:00
Justin Clark-Casey (justincc)
d3578e2662
Add "debug lludp data out" console command for logging outgoing data just before it's put on the wire.
...
Unlike "debug lludp packet" which logs at the point where OpenSim first asks the clientstack to send a certain outgoing packet, this logs immediately before the actual send.
For low-level debugging purposes.
2014-09-24 23:44:55 +01:00
Melanie Thielker
8014ce7f1a
Fix a nullref in a debug message. If we have no SceneAgent, we can't output data from it.
2014-09-15 23:15:27 +02:00
Melanie Thielker
d43d3df724
Reinstate closing the client if CloseAgen returns false. This was part
...
of the last Ubit patch.
2014-09-14 20:46:22 +02:00
UbitUmarov
3d9f25a19d
revert changes to m_pendingCache and remove client close if there is no
...
SP, as requested
2014-09-14 02:28:42 +01:00
UbitUmarov
908e0e1cef
do not use a blind expire of m_pendingCache. Entries must be valid while
...
respective HandleUseCircuitCode, no matter how long it takes, so a viewer
retry doesnt start a overlapping one. It HandleUseCircuitCode
responsability to always remove entries, even on fails. Remove a client
even if m_scene.CloseAgent fails.
2014-09-13 20:37:20 +01:00
Melanie Thielker
42b2248960
If a client's SceneAgent is null, that client is not fully logged in or
...
crashed while logging out. Don't reuse it, create a new one.
2014-09-13 00:49:32 +02:00
Justin Clark-Casey (justincc)
e4d16e6795
Make LLUDP output queue refill thread active by default, since load tests have shown that this has better scalability.
...
For testing, previous behaviour can be restored with the console command "debug lludp oqre stop" at runtime.
2014-09-04 18:24:59 +01:00
UbitUmarov
0514679b15
reduce MIN_CALLBACK_MS guard time. A value too high introduces a extra
...
throttle and makes more packets to be sent in bursts and not in steady
state flow.
2014-09-02 18:51:49 +01:00
UbitUmarov
6611e75a2b
void time change between gettime calls
2014-09-02 16:11:46 +01:00
UbitUmarov
50433e089b
*needs testing, not that good* change throttles math using floats and not
...
int64, etc. Limite brust bytes to the total rate client requested times a
look ahead estimation time, Avoid queues starvation with updates waiting...
2014-09-02 15:48:59 +01:00
UbitUmarov
18de5c8a2d
make use of it in GetMeshModule, and meshs are Assets not Task itens,
...
reduce MeshModule impact on udp rate
2014-08-29 16:30:49 +01:00
UbitUmarov
7351d92a76
add method to get a category throttle rate
2014-08-29 16:19:30 +01:00
UbitUmarov
fd0a635302
reduce burst
2014-08-29 15:13:46 +01:00
UbitUmarov
438798202f
replace the tick() by a limit on the maximum number of tokens that can be
...
acumulated ( variable named BurtRate, not exactly a rate...)
2014-08-29 13:26:30 +01:00
UbitUmarov
6f590c2f79
disable first drip
2014-08-29 00:05:57 +01:00
UbitUmarov
986863a0cd
try to reduce insane high data rate udp bursts. This needs testing on a
...
region with a lot of contents. Should not affect much average rates.
2014-08-28 22:26:03 +01:00
UbitUmarov
894b5c10c6
remove misplaced comment
2014-08-28 18:54:08 +01:00
UbitUmarov
9839904ebe
try to make sense of throttle rate limits
2014-08-28 18:51:55 +01:00
UbitUmarov
5a2d4fd47f
add some functions for estimation of number of bytes that can be send in a category in specified time
2014-08-28 16:49:32 +01:00
UbitUmarov
ff4df688ba
send all presences terseupdates in same batch
2014-08-28 12:55:31 +01:00
UbitUmarov
ade4bf69b1
if we send wearables with ThrottleOutPacketType.HighPriority, then we
...
should send other avatarinformation with same priority on same Task category ( plus cleanup )
2014-08-28 10:38:31 +01:00
UbitUmarov
1e888d61ca
enqueue also if m_nextPackets[category] is not null. This is really the
...
top element of a category queue, equivalente to using a queue.peek() if
avaiable
2014-08-27 01:33:09 +01:00
Justin Clark-Casey (justincc)
64f640f901
Implement experimental non-default mechanism to update scene via a timer rather than a persistent thread with sleep.
...
This is to see if an inaccuracy in sleep times under load is responsible for increase in frame times even when there is spare time still available.
Can currently only be activated by setting "debug scene set update-on-timer true".
Can be switched between timer and thread with sleep updates whilst the scene is running.
2014-08-26 18:13:38 +01:00
UbitUmarov
92b0b27caf
dont append acks to a resend packet
2014-08-26 17:42:44 +01:00
UbitUmarov
6857afe2a4
*test* back to no sog kills, little retouch on attachment updates,
...
NameValue AttachItemID is a root part thing only
2014-08-25 23:31:04 +01:00
UbitUmarov
75cbe620c0
*test* cleanup the bugs nest
2014-08-25 22:45:31 +01:00
UbitUmarov
c24601bc6a
change enconding of attachment updates NameValue and State fields
2014-08-25 21:49:39 +01:00
UbitUmarov
f4a6be8654
clean sendKill a bit, remove a IsChild that is set too early in a calling
...
path
2014-08-24 00:44:14 +01:00
UbitUmarov
d55041d934
on updates, send rotations using livomv Quaternion.toBytes() again
2014-08-23 21:13:30 +01:00
UbitUmarov
63d1916f51
Remove entities from updates queues on kill. Do it sync so enqueues after
...
the kill work
2014-08-23 20:59:11 +01:00
UbitUmarov
5bf145a397
add a direct sendpartfullUpdate to send a full object update to a part,
...
optionally overriding its parentID. check what it does to attachments
2014-08-21 00:49:10 +01:00
UbitUmarov
ea1c232f92
revert droping udp packet resends after 6 retries, keep resending.
2014-08-21 00:08:43 +01:00
UbitUmarov
542118adf1
remove from use the UpdatesResend on resending udp packets. Just resend
...
the UDP packet. Also just loose packets we tried to send 6 times already
(ll says 3) A viewer may just beeing ignoring them, or then the link is just dead.
2014-08-20 18:55:06 +01:00
Justin Clark-Casey (justincc)
4e03d352c3
Extend drop command to "debug lludp drop <in|out>..." to allow drop of inbound packets.
...
For test/debug purposes.
2014-08-19 18:43:21 +01:00
Justin Clark-Casey (justincc)
298376d5c7
Add "debug lludp drop out <add|remove> <packet-name>" console command for debug/test purposes.
...
This drops all outbound packets that match a given packet name.
Can currently only be applied to all connections in a scene.
2014-08-19 18:34:17 +01:00
UbitUmarov
919aef1573
send zero velocity again on avatar full update or its ugly
2014-08-19 10:03:04 +01:00
UbitUmarov
8f0d35e59a
fix the encoding of rotation in updates, not just using the next field to
...
override w bytes. ( specially having it commented )
2014-08-19 09:04:20 +01:00
UbitUmarov
505cbf9983
still another ...
2014-08-19 03:58:16 +01:00
UbitUmarov
4c46ebdbf5
fix a missed blocking of sending updates the the new attach points above
...
hud indexes
2014-08-19 03:47:26 +01:00
Justin Clark-Casey (justincc)
88b2fc61ff
Add clientstack.<scene>.OQRERequestsWaiting stat
...
Only present if OQRE is enabled
2014-08-19 00:42:19 +01:00
Justin Clark-Casey (justincc)
84cea46c10
Add experimental OutgoingQueueRefillEngine to handle queue refill processing on a controlled number of threads rather than the threadpool.
...
Disabled by default. Currently can only be enabled with console "debug lludp oqre start" command, though this can be started and stopped whilst simulator is running.
When a connection requires packet queue refill processing (used to populate queues with entity updates, entity prop updates and image queue updates), this is done via Threadpool requests.
However, with a very high number of connections (e.g. 100 root + 300 child) a very large number of simultaneous requests may be causing performance issues.
This commit adds an experimental engine for processing these requests from a queue with a persistent thread instead.
Unlike inbound processing, there are no network requests in this processing that might hold the thread up for a long time.
Early implementation - currently only one thread which may (or may not) get overloaded with requests. Added for testing purposes.
2014-08-19 00:17:12 +01:00
Justin Clark-Casey (justincc)
b375f86f11
Make LLUDPServer.Scene publicly gettable/privately settable instead of protected so that other logging code in the clientstack can record more useful information
...
Adds some commented out logging for use again in the future.
No functional change.
2014-08-19 00:17:12 +01:00
UbitUmarov
1edaf29149
NextAnimationSequenceNumber be a udpserver variable with random start
2014-08-16 13:43:26 +01:00
Justin Clark-Casey (justincc)
e0c6bfa81e
If a user moves back in sight of a child region before the agent has been closed on teleport, don't unnecessarily resend all avatar and object data about that region.
2014-08-15 21:47:34 +01:00
Justin Clark-Casey (justincc)
91e1aaa5d4
On teleport to a region that already has a child agent established (e.g. a neighbour) don't resend all the initial avatar and object data again.
...
This is unnecessary since it has been received (and data continues to be received) in the existing child connection.
2014-08-15 21:47:34 +01:00
UbitUmarov
0ae8fed4c2
reduce ping cliping lower limit
2014-08-14 21:18:58 +01:00
UbitUmarov
a46d6004df
reduce ping filter time constant
2014-08-14 21:04:30 +01:00
UbitUmarov
8c657e4837
add a estimator of client ping time, and painfully make it visible in show
...
connections console command
2014-08-14 20:41:36 +01:00
Justin Clark-Casey (justincc)
0db6f3a2bd
Only set up the UnackedMethod for an outgoing message if that message is actually meant to get an ack (because it's reliable).
2014-08-13 22:57:14 +01:00
Melanie Thielker
b96f951a6a
Merge branch 'ubitworkmaster'
2014-08-13 03:05:54 +02:00
Melanie Thielker
ecae45a21e
Revert "make HandlerRegionHandshakeReply processing async and delay it a bit. This"
...
This reverts commit 30f00bfb14
.
Conflicts:
OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
2014-08-13 03:05:25 +02:00
UbitUmarov
cf48b814eb
remove HandleCompleteMovementIntoRegion delay hack from llUDPserver. If we
...
need a delay, we need to do it at end of HandleUseCircuitCode before
feeding pending packets (including that one) into processing queue.
2014-08-13 01:42:16 +01:00
UbitUmarov
0760fa3106
process AgentUpdates in order with rest of packets. Only give higher priority to chat
2014-08-13 00:17:03 +01:00
UbitUmarov
20b3cab5d1
take agentUpdate checks out of llUDPserver (disabling useless debug) and
...
do it only where its supposed to be done..
2014-08-12 23:57:41 +01:00
UbitUmarov
f811efde85
do the significance test invalidation at MoveAgentToRegion
2014-08-12 22:36:17 +01:00
UbitUmarov
b9224a70c4
no need to go from cos into squared sin when just abs of cos is as good
2014-08-12 22:27:50 +01:00
UbitUmarov
dbbfaf3ac3
force AgentUpdate after CompleteAgentMovement to pass by significance test
2014-08-12 22:17:15 +01:00
UbitUmarov
c0378d5430
actually let delay match throttles as original design
2014-08-10 16:36:20 +01:00
UbitUmarov
ebc18a80bf
OutgoingPacketHandler can not be paced by hits on SendPacket()
2014-08-10 14:49:58 +01:00
UbitUmarov
c84a3c3630
also on other case
2014-08-09 16:22:46 +01:00
UbitUmarov
601c50dc1e
return even zero costs ( prims on other regions )
2014-08-09 16:19:07 +01:00
UbitUmarov
2eb1c1c377
move from RegisterInventoryServiceHandlers to
...
RegisterRegionServiceHandlers what belongs there ( readabilitly only )
2014-08-09 15:15:27 +01:00
Melanie Thielker
5628c0bcd6
Reduce delay time on regin handshake reply to speed up terrain sending.
...
Terrain IS more important than avatar!
2014-08-07 23:54:38 +02:00
UbitUmarov
dfa9ba0937
minor clean, dont check for cache if we aren't using it..
2014-08-07 08:47:03 +01:00
UbitUmarov
1408c9eee7
reply to cached checks with same serial number
2014-08-07 07:55:56 +01:00
UbitUmarov
c3f9c99fb3
DANGER... changed bakedtextures caching. Assuming grid baking is cache
...
only, reduced number of accesses to it. TESTING
2014-08-07 05:20:45 +01:00
BlueWall
10a8d2852e
OpenSimExtras
...
Move the experimental extra features functionality into the GridService. This sends default values for map, search and destination guide, plus ExportSupported control to the region on startup. Please watch http://opensimulator.org/wiki/SimulatorFeatures_Extras for changes and documentation.
2014-08-06 17:25:12 -04:00
UbitUmarov
552b4e45e8
bakemodule didnt like last changes
2014-08-06 05:56:10 +01:00
UbitUmarov
66dea8fe05
some debug to remove later
2014-08-06 05:17:30 +01:00
UbitUmarov
bd3d58dd00
try to make the baked textures cache work
2014-08-06 04:54:14 +01:00
Justin Clark-Casey (justincc)
d6890d78ad
Make currently unfiltered EventQueue log messages only appear now at DebugLevel 1
...
This covers event queue setup messages and some outgoing messages (e.g. EnableSimulator)
In my experience these messages are only useful if you really know what they mean and you're looking for them
Otherwise, they're quite spammy.
Event queue DebugLevel 1 is enabled with the "debug eq 1" console command
2014-08-05 00:52:04 +01:00
UbitUmarov
3cca5ec667
check...
2014-08-04 21:52:29 +01:00
UbitUmarov
3d81f25e34
Revert "start sending terrain in scenePresence after well defined avatar. Minor"
...
This reverts commit 05a2feba5d
.
2014-08-04 20:32:11 +01:00
UbitUmarov
05a2feba5d
start sending terrain in scenePresence after well defined avatar. Minor
...
change on significante AgentUpdate check.
2014-08-04 19:57:47 +01:00
UbitUmarov
9f5e19127d
comment out a debug msg. more on gods being Gods
2014-08-03 00:22:21 +01:00
BlueWall
de3421b408
Fix typo in log message
2014-08-02 08:21:25 -04:00
Justin Clark-Casey (justincc)
7cec4997db
Fix regression in SimulatorFeatures module that would stop OpenSimulator from starting if no [SimulatorFeatures] section was present in config.
2014-08-01 20:29:25 +01:00
BlueWall
cac910d401
Add region-side extra feature setting for destination guide
2014-07-31 08:20:06 -04:00
UbitUmarov
30f00bfb14
make HandlerRegionHandshakeReply processing async and delay it a bit. This
...
delays things like terrain height map sending, giving chance to
completemovent to send more priority information. POssible things on this
should be on other event trigger when its more apropriate
really done.
2014-07-30 21:11:11 +01:00
BlueWall
e0d8f42e6b
Simulator Extra Features Service
...
Provide a means for regions to fetch extra features supported by modern viewers from a central location
.
2014-07-30 11:24:39 -04:00
Melanie Thielker
dfa9780c8c
Send new parcel permissions to activate viewer options - done right this time
2014-07-29 04:19:01 +02:00
Melanie Thielker
477b5b5623
Add new fields to parcel update
2014-07-29 03:40:05 +02:00
UbitUmarov
55df2b317c
dont send packets twice
2014-07-27 12:02:59 +01:00
UbitUmarov
70890e211a
add queue transition code needs review/more testing
2014-07-25 17:33:01 +01:00
UbitUmarov
fa59cddc28
remove old and dead code that its only making it hard to understand
2014-07-25 13:03:40 +01:00
UbitUmarov
86a9710e77
change previus code, send a NoEvents response back to http server, even
...
if we know there is no one there, so that the server finishes handling
it.
2014-07-24 23:32:39 +01:00
UbitUmarov
ee951f7a10
EventQueueGetModule: dont reuse queues, we dont know whats there; make
...
pool silently loose requests for unknown avatars, or they will stay active
until timeout after close ( possible not a big problem after not reusing
queues ? )
2014-07-24 17:14:14 +01:00
UbitUmarov
3e73e96bef
fix HUD attachment update filter to allow avatar center etc
2014-07-22 01:49:42 +01:00
Oren Hurvitz
2d034e20c4
XBakes: store the assets only in the sim's local assets cache; not in the main assets server. Also, some cleanup.
2014-07-21 09:27:56 +01:00
Oren Hurvitz
af3498efdb
In "show throttles", show the maximum drip rate. This shows whether a client is being throttled due to past poor performance.
2014-07-21 09:10:50 +01:00
Oren Hurvitz
528704bc04
Added "debug packet --all" option, which changes the packet logging level for both current and future clients
...
The existing "--default" option only changes the logging level for future clients.
2014-07-21 08:31:20 +01:00
Oren Hurvitz
a57b4b81b9
Fixed the logic that decides if a packet was queued (it was reversed)
2014-07-21 08:31:09 +01:00
Oren Hurvitz
9fa8d84598
Eliminated some warnings
2014-07-21 08:30:10 +01:00
UbitUmarov
a5fcc0c0c0
remove avn hack on sitted avatars positions
2014-07-20 14:47:35 +01:00
Melanie Thielker
5000a5c038
Fix coalesced objects not showing up as "piles" of prims (AVN only bug)
2014-07-20 00:17:35 +02:00
Michael Cerquoni
e455374a4b
fix all instances of "non-existant" to "non-existent" (spelling mistakes) thanks Ai Austin for pointing this out.
2014-07-17 09:37:24 -04:00
Justin Clark-Casey (justincc)
4b73268cbd
minor: put standard 'category' in brackets at front of log messages from previous commit 3d70db4a
2014-07-04 23:48:37 +01:00
Latif Khalifa
3d70db4a58
When uploading mesh objects with textures also create inventory items for uploaded textures.
...
This implements:
http://opensimulator.org/mantis/view.php?id=7250
2014-07-04 23:40:09 +01:00
Diva Canto
ca2379ee83
Bug fix in map teleports in varregions. The cherry was missing from the ice-cream Sunday: the packet itself was hardcoding the size of the region...
2014-06-21 15:38:38 -07:00
Melanie Thielker
159fcbf150
Merge branch 'master' of ssh://3dhosting.de/var/git/careminster
...
Conflicts:
OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
2014-06-21 00:39:55 +02:00
Justin Clark-Casey (justincc)
5450b1b024
Change assembly versions to 0.8.1
2014-06-17 18:37:15 +01:00
Justin Clark-Casey (justincc)
4374ce9fbf
If processing a queued request fails up to the top of the stack, log the exception and move to the next request rather than terminate the simulator.
2014-06-16 22:11:34 +01:00
Robert Adams
0aa0dad478
Send multiple terrain patches per terrain update packet if terrain
...
draw distance optimization is enabled. Makes terrain editting a lot
snappier.
2014-06-01 19:23:49 -07:00
Justin Clark-Casey (justincc)
d131c57978
Update regression TestInventoryDescendentsFetch() to account for recent commit 1fa3a6f
...
This was hidden in continuous integration because of another regression test issue.
2014-05-27 18:14:36 +01:00
Diva Canto
667a272cce
This little sucker had evaded my attention forever. As a consequence some assets associated with foreign users were being missed.
2014-05-09 11:06:03 -07:00
Diva Canto
a845c1a893
Finished implementing redirects in GetTexture.
2014-05-07 19:38:33 -07:00
Justin Clark-Casey (justincc)
95eeb4dde8
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
2014-05-06 17:22:47 +01:00
Oren Hurvitz
1e5cff32fc
Show more meaningful error messages when failed to give an item to another user
2014-05-06 07:28:44 +01:00
Oren Hurvitz
0fe08c8799
- When sending the "My Suitcase" folder to the client, always claim it has Folder Type 8. (Previously we had used Folder Type -1 in one place, and LLClientView didn't even bother changing Folder Type 100 to anything else.)
2014-05-06 07:16:37 +01:00
Justin Clark-Casey (justincc)
53b72ab4b8
minor: Comment out Cacheitems debug log lines for now
2014-05-02 13:31:58 +01:00
Justin Clark-Casey (justincc)
c31d93cb6f
Fix issue where only one of multiple attachments on the same attachpoint for NPCs would be seen by other viewers.
...
It appears that at least Singularity 1.8.5 (but probably others) rely on attachment FromItemIDs being different to display more than one.
This commit resolves this by generating random IDs instead of always using UUID.Zero for NPCs.
Resolves http://opensimulator.org/mantis/view.php?id=7110
2014-05-01 22:24:21 +01:00
Oren Hurvitz
06e4fcd260
Fixed the UpdateAgentInformation CAP: the viewer expects the simulator to echo back the maturity that it sent
...
Without this change, attempts to change the maturity rating in the viewer's Preferences don't work.
2014-04-29 07:59:10 +01:00
Oren Hurvitz
998d7009a6
Eliminated many warnings
2014-04-23 16:37:36 +03:00
Melanie Thielker
f93dac9239
Implement Oren's fix to prevent a privilege escalation with groups
2014-04-20 10:47:31 +02:00
Oren Hurvitz
853c0fccc8
Fixed: when any avatar changed his Active Group, it was set as the active group for *all* the avatars in the scene (not permanently)
2014-04-20 06:23:37 +01:00
Robert Adams
c8914d22eb
BulletSim: reduce the terrain collison margin to be the same as other
...
objects in the world.
This was originally changed in an attempt to make vehicles work better
but the effect was not that large and it causes avatars to float
above the terrain.
2014-04-12 17:37:57 -07:00
Justin Clark-Casey (justincc)
86a2cd915c
Revert "Don't re-retrieve sit part in SP.HandleAgentSit() when we already have it."
...
This reverts commit 2c00b73cd2
.
Wrong code change
2014-04-05 02:11:36 +01:00
Justin Clark-Casey (justincc)
2c00b73cd2
Don't re-retrieve sit part in SP.HandleAgentSit() when we already have it.
2014-04-05 02:09:44 +01:00
Oren Hurvitz
e735f76553
LogThreadPool: when the thread is for ProcessPacketMethod, also log the packet type
...
Resolves http://opensimulator.org/mantis/view.php?id=6945
2014-03-25 08:01:41 +01:00
Oren Hurvitz
a2dd8f31de
Trim search queries (for users, groups, etc.). I have found that sometimes the viewer adds a space at the end, which causes searches to fail.
...
Resolves http://opensimulator.org/mantis/view.php?id=6935
2014-03-24 18:01:28 +01:00
Justin Clark-Casey (justincc)
178a5a5585
rename prefix of scene-inventory.<scene-name>.ProcessedFetchInventoryRequests and QueuedFetchInventoryRequests to inventory.httpfetch.*
...
Actual inventory processing is done with a single set of static structures rather than per scene.
2014-03-21 23:29:31 +00:00
Justin Clark-Casey (justincc)
1497b75361
minor: Put ProcessedFetchInventoryRequests and QueuedFetchInventoryRequests in stats category "scene-inventory" instead of "scene"
...
To distinguish from general scene stats
2014-03-19 00:37:06 +00:00
Justin Clark-Casey (justincc)
a660c0a750
Add scene.<scene-name>.ProcessedFetchInventoryRequests
...
This shows the number of requests that have been processed.
These have not necessarily been sent back to the request since this is done separately by the PollServiceRequestManager
2014-03-18 20:59:11 +00:00
Justin Clark-Casey (justincc)
e82d394ddf
Add scene.<scene-name>.QueuedFetchInventoryRequests stat
...
This is to aid in detecting whether there are fetch inventory requests remaining to be processed.
2014-03-18 20:10:41 +00:00
Justin Clark-Casey (justincc)
f3e177814a
Add regression test for http inventory fetch.
...
Involved some restructuring to allow regression tests to dequeue inventory requests and perform poll responses synchronously rather than async
2014-03-17 20:51:35 +00:00
Robert Adams
0b213af675
Fix problem of hurricane speed winds. Thanks Vegaslon.
2014-02-22 15:04:28 -08:00
Justin Clark-Casey (justincc)
bc7fda39b4
Merge branch 'justincc-master'
2014-02-12 23:23:56 +00:00
Justin Clark-Casey (justincc)
e10012a7a6
If a caller tries to queue a CAPs message to a scene presence that has no event queue (e.g. an NPC), only warn if event queue debugging is greater than zero.
...
Removes the spurious log warnings if groups are active when NPCs are used.
Adds more regression tests associated with adding messages to the event queue
2014-02-12 23:18:10 +00:00
Robert Adams
c0cc5e0fa4
varregion: Send large region patches for wind and clouds.
2014-02-11 21:07:55 -08:00
Melanie
49c2213a01
Dropping the rest of Avination's modified appearance code for core.
...
Module to follow.
2014-02-04 01:54:16 +00:00
Melanie
c6e9db5866
Merge branch 'master' into careminster
...
Conflicts:
OpenSim/Framework/RegionSettings.cs
OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs
OpenSim/Region/Framework/Interfaces/IInterregionComms.cs
OpenSim/Region/OptionalModules/World/NPC/Tests/NPCModuleTests.cs
2014-01-28 21:02:20 +00:00
Robert Adams
4faf11e001
varregion: fix for teleporting by double clicking on a map location.
...
Thanks Garmin.
2014-01-28 08:49:22 -08:00
Robert Adams
4c362a83f9
Merge branch 'master' into varregion
2014-01-21 11:31:51 -08:00
Mic Bowman
83626e60e6
Adds a configuration option to cannibalize bandwidth from the
...
udp texture throttle and move it to the task throttle. Since most
viewers are using http textures, the udp texture throttle is holding
onto bw that could be used for more responsive prims updates. See
the documentation for CannibalizeTextureRate in OpenSimDefaults.ini.
Option is disabled by default.
2014-01-20 18:59:43 -08:00
Robert Adams
cc5cffc212
varregion: properly pack the region size parameters so he viewer will parse them.
...
This gets rid of the viewer crash when teleporting into varregions and allows
multiple, adjacent varregions (of the same size) with border crossings.
2014-01-11 22:00:52 -08:00
Robert Adams
1eea6fd452
varregion: Debug messages for region crossing debugging.
2014-01-11 22:00:24 -08:00
Robert Adams
1cf17a3cf7
Merge branch 'master' into varregion
...
Conflicts:
OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
OpenSim/Region/Framework/Scenes/SceneBase.cs
OpenSim/Services/Interfaces/IGridService.cs
OpenSim/Services/LLLoginService/LLLoginResponse.cs
(conflicts were debug statements that are commented out in master branch)
2014-01-11 08:52:23 -08:00
Melanie
9050c152b4
Dynamically adjust to the number of visual params sent.
2014-01-10 20:31:52 +00:00
Justin Clark-Casey (justincc)
32e9c16957
Merge branch 'justincc-master'
2014-01-08 01:04:26 +00:00
Justin Clark-Casey (justincc)
0155d42b80
If an agent is sitting, then do send the rotation in the agent update instead of zeroing it to resolve mouselook camera problems
...
Addresses http://opensimulator.org/mantis/view.php?id=6892
Thanks to tglion for this spot.
This resolves a recent regression from 17b32b764a
2014-01-08 00:54:39 +00:00
Melanie
e79fab91db
Intermediate commit. Sill errors.
...
Merge branch 'master' into careminster
Conflicts:
OpenSim/Data/SQLite/SQLiteUserProfilesData.cs
OpenSim/Framework/RegionInfo.cs
OpenSim/Region/ClientStack/Linden/Caps/EventQueue/EventQueueHelper.cs
OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
OpenSim/Services/UserProfilesService/UserProfilesService.cs
2014-01-05 20:12:32 +00:00
Robert Adams
7e32313a49
varregion: Add region size to teleport event messages (EnableSimulator,
...
CorssRegion, TeleportFinishEvent).
Have Simian grid service return the region size.
Many teleport related debug log messages. Can be removed when teleport
works (like that's ever going to happen).
Conflicts:
OpenSim/Framework/RegionInfo.cs
2014-01-04 19:01:04 -08:00
Melanie
dd96fef940
Dynamically adjust to the number of visual params sent.
2014-01-04 21:18:37 +00:00
Robert Adams
9984ecf862
varregion: Add region size to teleport event messages (EnableSimulator,
...
CorssRegion, TeleportFinishEvent).
Have Simian grid service return the region size.
Many teleport related debug log messages. Can be removed when teleport
works (like that's ever going to happen).
2014-01-03 07:41:06 -08:00
Robert Adams
a01862509e
Merge branch 'master' into varregion
2013-12-20 06:52:28 -08:00
Justin Clark-Casey (justincc)
68773ee7c4
Merge branch 'justincc-master'
2013-12-19 01:41:04 +00:00
Justin Clark-Casey (justincc)
a5ca15c428
Create regression test TestSendAgentGroupDataUpdate() for groups agent data sending
2013-12-18 23:35:38 +00:00
Robert Adams
6937eec258
Merge branch 'master' into varregion
...
Add new region crossing code to varregion
Conflicts:
OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
OpenSim/Region/Framework/Scenes/ScenePresence.cs
2013-12-17 06:18:13 -08:00
Robert Adams
13a9a4b653
varregion: rename 'LegacyRegionLocX' back to 'RegionLocX' and same for Y and Z.
...
Rename 'RegionWorldLocX' to 'WorldLocX' and same for Y and Z.
This keeps the downward compatibility and follows the scheme of 'region'
and 'world' location naming that is happening in the Util module.
2013-12-14 07:53:01 -08:00
Melanie
5b73b9c4a8
Committing the Avination Scene Presence and related texture code
...
- Parts of region crossing code
- New bakes handling code
- Bakes now sent from sim to sim without central storage
- Appearance handling changes
- Some changes to sitting
- A number of unrelated fixes and improvements
2013-12-11 01:39:56 +00:00
Melanie
6d6b9ab791
Merge branch 'master' into careminster
...
Conflicts:
OpenSim/Region/ClientStack/Linden/Caps/BunchOfCaps/BunchOfCaps.cs
OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
OpenSim/Region/Framework/Scenes/ScenePresence.cs
2013-12-07 01:08:49 +00:00
Robert Adams
4eb52eb19e
Merge branch 'master' into varregion
2013-12-05 21:07:44 -08:00
Justin Clark-Casey (justincc)
bb4f4d9480
minor: Use enums for setting inv/asset types on data upload rather than magic numbers
2013-12-06 00:38:18 +00:00
Justin Clark-Casey (justincc)
16aaba77d4
Properly set InventoryType.Snapshot when a snapshot is uploaded
...
Resolves http://opensimulator.org/mantis/view.php?id=6857
This prevents the inventory service complaining later about an attempt to change an invariant
2013-12-06 00:30:44 +00:00
Justin Clark-Casey (justincc)
17b32b764a
Fix regression where mouse look flight direction no longer worked by zeroing x/y rot before sending agent updates, instead of before any agent update processing
...
It turns out that the x/y rot data in mouselook is needed to implement this and to push the avatar against the ground if walking in mouselook.
Doing this in the terse send so that we preserve mouselook rotation information
2013-12-05 02:10:46 +00:00
Robert Adams
31bacfbb63
Merge branch 'master' into varregion
2013-12-01 15:51:42 -08:00
Justin Clark-Casey (justincc)
8b3a4367ea
Still send CameraEyeOffset in UDP SendSitReponse even if at offset is Vector3.Zero
2013-11-29 02:51:35 +00:00
Justin Clark-Casey (justincc)
ca079c378a
Merge branch 'link-sitting'
2013-11-29 02:41:32 +00:00
Justin Clark-Casey (justincc)
0785210e29
Fix stand positions rather than having the stand jump to the root prim.
2013-11-27 02:08:22 +00:00
Melanie
3589acdab1
Merge branch 'master' into careminster
...
Conflicts:
.gitignore
OpenSim/Region/CoreModules/Scripting/HttpRequest/ScriptsHttpRequests.cs
OpenSim/Region/CoreModules/World/Land/LandManagementModule.cs
prebuild.xml
runprebuild.bat
2013-11-23 19:13:22 +00:00
Justin Clark-Casey (justincc)
60e049ea39
Revert "Fix issue where sitting on non-root linked prims would send camera to wrong position in third-person and mouselook"
...
Reverting to place on separate branch
This reverts commit ff4e7de776
.
2013-11-23 02:31:39 +00:00
Justin Clark-Casey (justincc)
a68d1fad73
Revert "Still send CameraEyeOffset in UDP SendSitReponse even if at offset is Vector3.Zero"
...
This reverts commit 9bdd3dc7de
.
2013-11-23 02:29:14 +00:00
Justin Clark-Casey (justincc)
9bdd3dc7de
Still send CameraEyeOffset in UDP SendSitReponse even if at offset is Vector3.Zero
...
As far as I can see it's valid to change the eye offset even if you aren't changing the at target.
2013-11-23 01:12:20 +00:00
Justin Clark-Casey (justincc)
ff4e7de776
Fix issue where sitting on non-root linked prims would send camera to wrong position in third-person and mouselook
...
We now specify sits as offsets from the root prim, as the viewer expects.
2013-11-23 00:53:09 +00:00
Melanie
91b70bf3fe
Merge branch 'master' into careminster
...
Conflicts:
OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs
2013-11-08 17:55:01 +00:00
Robert Adams
a75ce7423c
Merge branch 'master' into varregion
2013-11-05 21:42:27 -08:00
Latif Khalifa
26fd29622d
Added sending (for now hard-coded) sim isze in SendMapBlockSplit()
2013-11-06 03:52:04 +01:00
Justin Clark-Casey (justincc)
8e1bf55e7b
Add IncomingPacketsResentCount clientstack statistics
...
This records how many packets were indicated to be resends by clients
Not 100% reliable since clients can lie about resends, but usually would indicate if clients are not receiving UDP acks at all or in a manner they consider timely.
2013-11-06 01:02:20 +00:00
Robert Adams
c931b16c1f
Merge branch 'master' into varregion
2013-11-04 22:12:57 -08:00
Robert Adams
92c06a5d0b
varregion: fix lawn-mower terrain fill so it works for non-square regions.
...
Add some debugging logs on region creation to report region size.
2013-11-01 16:37:27 -07:00
Justin Clark-Casey (justincc)
4c4a1cf715
Start counting resent packets in the places that I missed when the stat was first added a few commits ago
2013-10-31 23:59:22 +00:00
Justin Clark-Casey (justincc)
50794c9008
minor: remove mono compiler warnings in AvatarPickerSearchModule and UploadBakedTextureModule
2013-10-31 23:51:01 +00:00
Justin Clark-Casey (justincc)
3d5a7e9b19
Add OutgoingPacketsResentCount clientstack stat.
...
This allows one to monitor the total number of messages resent to clients over time.
A constantly increasing stat may indicate a general server network or overloading issue if a fairly high proportion of packets sent
A smaller constantly increasing stat may indicate a problem with a particular client-server connection, would need to check "show queues" in this case.
2013-10-31 23:45:52 +00:00
Robert Adams
39777db8ef
varregion: fix problem of X/Y dimensions swapped and incorrect terrain
...
compression base computation.
Complete replacement of float[] for terrain heightmap with TerrainData instance.
2013-10-31 09:24:06 -07:00
Robert Adams
2be0347f50
Merge branch 'master' into varregion
2013-10-28 09:30:26 -07:00
Justin Clark-Casey (justincc)
df76e52310
minor: Add commented out code for apparent passing of texture IDs in ObjectProperties UDP replies to viewer
...
Not yet shown that this is used or resolves a bug where not all textures appear on objects with an "XML with textures" upload from singularity 1.8.3
Proper texture entries are actually present and appear properly on relog, but not on select from viewer until at least one face texture is changed.
2013-10-24 23:00:02 +01:00
Justin Clark-Casey (justincc)
cccdfcb59e
Comment out LLUDPServer.BroadcastPacket() to reduce code complexity. Appears to be a never used method.
2013-10-24 00:37:49 +01:00
Justin Clark-Casey (justincc)
5d61c4039d
Only set the data present event if we actually queued an outoing packet (not if we sent immediately)
2013-10-24 00:33:14 +01:00
Robert Adams
86bf79aa2b
Merge branch 'master' into varregion
2013-10-07 13:58:17 -07:00
Robert Adams
7416809077
varregion: plug in TerrainData class and modify TerrainModule and LLClientView to use same. This passes a terrain info class around rather than passing a one dimensional array thus allowing variable regions. Update the database storage for variable region sizes. This should be downward compatible (same format for 256x256 regions).
2013-10-07 13:57:40 -07:00
Melanie
69054ad134
Merge branch 'master' into careminster
...
Conflicts:
OpenSim/Framework/Servers/VersionInfo.cs
OpenSim/Region/CoreModules/Avatar/Chat/ChatModule.cs
2013-10-06 18:32:20 +01:00
Justin Clark-Casey (justincc)
42bdf44658
Bump OPenSimulator version and assembly versions up to 0.8.0 Dev
2013-10-04 23:33:47 +01:00
Melanie
75c68fa29e
Merge branch 'master' into careminster
...
Conflicts:
OpenSim/Data/MySQL/MySQLSimulationData.cs
OpenSim/Data/MySQL/Resources/RegionStore.migrations
OpenSim/Region/ClientStack/Linden/Caps/WebFetchInvDescModule.cs
OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs
OpenSim/Region/CoreModules/Avatar/Inventory/Transfer/InventoryTransferModule.cs
OpenSim/Region/CoreModules/World/LightShare/LightShareModule.cs
OpenSim/Region/Framework/Scenes/Scene.cs
OpenSim/Region/Framework/Scenes/ScenePresence.cs
OpenSim/Region/Framework/Scenes/Tests/ScenePresenceCapabilityTests.cs
OpenSim/Region/OptionalModules/World/NPC/NPCModule.cs
OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
2013-10-04 20:03:12 +01:00
Robert Adams
8c1d80fdfd
varregion: serious rework of TerrainChannel:
...
-- addition of varaible region size in X and Y
-- internal storage of heightmap changed from double[] to short[]
-- helper routines for handling internal structure while keeping existing API
-- to and from XML that adds region size information (for downward compatibility,
output in the legacy XML format if X and Y are 256)
Updated and commented Constants.RegionSize but didn't change the name for compatibility.
2013-09-28 07:33:56 -07:00
Robert Adams
317c04fe17
VarRegion: change RegionInfo storage of region coordinates from region
...
count number to integer world coordinates.
Added new methods RegionWorldLoc[XY].
Refactored name of 'RegionLoc*' to 'LegacyRegionLoc*' throughout OpenSim.
Kept old 'RegionLoc*' entrypoint to RegionInfo for downward compatability
of external region management packages.
2013-09-28 07:33:52 -07:00
Justin Clark-Casey (justincc)
2cd95fac73
refactor: Rename Scene.AddNewClient() to AddNewAgent() to make it obvious in the code that this is symmetric with CloseAgent()
2013-09-27 22:27:39 +01:00
Justin Clark-Casey (justincc)
b16bc7b01c
refactor: rename Scene.IncomingCloseAgent() to CloseAgent() in order to make it clear that all non-clientstack callers should be using this rather than RemoveClient() in order to step through the ScenePresence state machine properly.
...
Adds IScene.CloseAgent() to replace RemoveClient()
2013-09-27 19:14:21 +01:00
Justin Clark-Casey (justincc)
32ddfc2740
Reinsert client.SceneAgent checks into LLUDPServer.HandleCompleteMovementIntoRegion() to fix race condition regression in commit 7dbc93c
(Wed Sep 18 21:41:51 2013 +0100)
...
This check is necessary to close a race condition where the CompleteAgentMovement processing could proceed when the UseCircuitCode thread had added the client to the client manager but before the ScenePresence had registered to process the CompleteAgentMovement message.
This is most probably why the message appeared to get lost on a proportion of entity transfers.
A better long term solution may be to set the IClientAPI.SceneAgent property before the client is added to the manager.
2013-09-25 18:45:56 +01:00
Justin Clark-Casey (justincc)
732554be04
Reinsert 200ms sleep accidentally removed in commit 7dbc93c
(Wed Sep 18 21:41:51 2013 +0100)
2013-09-25 18:29:14 +01:00
Justin Clark-Casey (justincc)
f384a6291e
Instead of swallowing any socket begin/end receive exceptions, log them for debugging purposes.
...
This may reveal why on some teleports with current code, the UseCircuitCode message gets through but CompleteMovement disappears into the ether.
2013-09-25 00:02:17 +01:00
Aleric Inglewood
2dc92e7de1
Preserve attachment point & position when attachment is rezzed in world
...
Patch taken from
http://opensimulator.org/mantis/view.php?id=4905
originally by Greg C.
Fixed to apply to r/23314 commit
ba9daf849e
(cherry picked from commit 4ff9fbca441110cc2b93edc7286e0e9339e61cbe)
2013-09-22 21:10:01 -05:00
Justin Clark-Casey (justincc)
f4d82a56f4
Double the time spent waiting for a UseCircuitCode packet in LLUDPServer.HandleCompleteMovementIntoRegion()
...
This is to deal with one aspect of http://opensimulator.org/mantis/view.php?id=6755
With the V2 teleport arrangements, viewers appear to send the single UseCircuitCode and CompleteAgentMovement packets immediately after each other
Possibly, on occasion a poor network might drop the initial UseCircuitCode packet and by the time it retries, the CompleteAgementMovement has timed out and the teleport fails.
There's no apparant harm in doubling the wait time (most times only one wait will be performed) so trying this.
2013-09-18 22:09:46 +01:00
Justin Clark-Casey (justincc)
7dbc93c62a
Change logging to provide more information on LLUDPServer.HandleCompleteMovementIntoRegion()
...
Add more information on which endpoint sent the packet when we have to wait and if we end up dropping the packet
Only check if the client is active - other checks are redundant since they can only failed if IsActve = false
2013-09-18 21:41:51 +01:00
Melanie
72206a0e29
Merge branch 'avination-current' into careminster
...
Conflicts:
OpenSim/Region/ClientStack/Linden/Caps/GetTextureModule.cs
OpenSim/Region/Framework/Scenes/Tests/SceneObjectDeRezTests.cs
2013-09-16 22:32:53 +01:00
Mic Bowman
b29e9d37e7
Change handling of the FetchInventoryDescendents2 capability configuration to allow
...
for external handlers.
2013-09-11 12:15:16 -07:00
Melanie
ddf67bf929
Mono 2.0 fix - call ToArray() explicitly
2013-09-08 19:41:51 +02:00
root
823e8b5d19
Add support for simple external CAPS texture services
2013-09-07 17:57:02 +02:00
Melanie
2f365ea80b
Merge branch 'master' into careminster
...
Conflicts:
OpenSim/Region/CoreModules/Avatar/Chat/ChatModule.cs
OpenSim/Region/Framework/Scenes/Scene.cs
2013-09-07 13:54:19 +01:00
Justin Clark-Casey (justincc)
857f24a5e2
Fix bug where users teleporting to non-neighbour regions could continue to hear chat from their source region for some time after teleport completion.
...
This occurs on v2 teleport since the source region now waits 15 secs before closing the old child agent, which could still receive chat.
This commit introduces a ScenePresenceState.PreClose which is set before the wait, so that ChatModule can check for ScenePresenceState.Running.
This was theoretically also an issue on v1 teleport but since the pause before close was only 2 secs there, it was not noticed.
2013-09-02 19:15:10 +01:00
Melanie
008c98a974
Merge branch 'master' into careminster
...
Conflicts:
OpenSim/Region/CoreModules/World/Region/RestartModule.cs
OpenSim/Region/Framework/Scenes/SceneGraph.cs
OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
2013-09-01 22:49:31 +01:00
Justin Clark-Casey (justincc)
a0c99a7dcc
minor: remove mono compiler warning from LLClientView
2013-08-23 00:03:47 +01:00
Justin Clark-Casey (justincc)
1f39a763a5
Don't allow users to attempt to sit on objects in a child region without going to that region first.
...
If this is attempted, they get a "Try moving closer. Can't sit on object because it is not in the same region as you." message instead, which is the same as current ll grid.
Sitting on ground is okay, since viewer navigates avatar to required region first before sitting.
2013-08-21 21:35:03 +01:00
Melanie
bef03fb30b
Merge branch 'master' into careminster
...
Conflicts:
OpenSim/Framework/Servers/HttpServer/PollServiceRequestManager.cs
OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs
OpenSim/Services/Connectors/Neighbour/NeighbourServicesConnector.cs
2013-08-17 03:23:45 +01:00
Justin Clark-Casey (justincc)
7d268912f1
Packet headers are not zero-encoded so don't try to zero-decode these in PacketPool.GetType()
...
Instead adjusts code with that from Packet.BuildHeader(byte[], ref int, ref int):Header in libomv
This stops packet decoding failures with agent UUIDs that contain 00 in their earlier parts (e.g. b0b0b0b0-0000-0000-0000-000000000211)
Thanks to lkalif for pointing this out.
2013-08-16 00:58:25 +01:00
Justin Clark-Casey (justincc)
104626d732
minor: Comment out AvatarPicketSearch caps log message for now, which is occuring on every login and entity transfer
2013-08-14 23:22:52 +01:00
Justin Clark-Casey (justincc)
93dffe1777
Add stat clientstack.<scene>.IncomingPacketsOrphanedCount to record well-formed packets that were not initial connection packets and could not be associated with a connected viewer.
2013-08-14 22:33:12 +01:00
Justin Clark-Casey (justincc)
0d5680e971
Count any incoming packet that could not be recognized as an LLUDP packet as a malformed packet. Record this as stat clientstack.<scene>.IncomingPacketsMalformedCount
...
Used to detect if a simulator is receiving significant junk UDP
Decimates the number of packets between which a warning is logged and prints the IP source of the last malformed packet when logging
2013-08-14 22:08:28 +01:00
Melanie
4a6eff1ee8
Merge branch 'master' into careminster
2013-08-13 22:53:47 +01:00
Justin Clark-Casey (justincc)
f3edc0d8b7
minor: Extend warning message when adding trying to add an event for a client without a queue to include the event message name.
2013-08-12 19:38:23 +01:00
Melanie
ad1b2902f2
Merge branch 'master' into careminster
...
Conflicts:
OpenSim/Region/Application/OpenSimBase.cs
OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs
OpenSim/Region/Framework/Scenes/Scene.cs
OpenSim/Region/Framework/Scenes/ScenePresence.cs
2013-08-11 17:31:25 +01:00
Justin Clark-Casey (justincc)
97bcb59bee
Merge branch 'TeleportWork'
2013-08-09 17:52:29 +01:00
Justin Clark-Casey (justincc)
b1c26a56b3
Fix an issue where under teleport v2 protocol, teleporting from regions in an line from A->B->C would not close region A when reaching C
...
The root cause was that v2 was only closing neighbour agents if the root connection also needed a close.
However, fixing this requires the neighbour regions also detect when they should not close due to re-teleports re-establishing the child connection.
This involves restructuring the code to introduce a scene presence state machine that can serialize the different add and remove client calls that are now possible with the late close of the
This commit appears to fix these issues and improve teleport, but still has holes on at least quick reteleporting (and possibly occasionally on ordinary teleports).
Also, has not been completely tested yet in scenarios where regions are running on different simulators
2013-08-08 23:29:30 +01:00
teravus
99a4a91488
* This makes in-world terrain editing smoother, even in MegaRegions. This change only affects the editing user's experience. Non-editing users will see nothing different from the current 'slow' result. See comments for the thought process and how the issues surrounding terrain editing, cache, bandwidth, threading, terrain patch reliability and throttling were balanced.
2013-08-07 21:22:04 -05:00
Melanie
005c69511d
Merge branch 'master' into careminster
...
Conflicts:
OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs
OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
OpenSim/Region/Framework/Scenes/Scene.cs
2013-08-07 23:29:42 +01:00
Justin Clark-Casey (justincc)
f9dc5815c4
For LLImageManagerTests, make tests execute under synchronous fire and forget conditions.
...
I generally prefer this approach for regression tests because of the complexity of accounting for different threading conditions.
2013-08-05 23:15:30 +01:00
Diva Canto
5b4b349776
Fix the failing TestSendImage. J2K decoding is async.
2013-08-03 21:27:32 -07:00
Melanie
6fc03c7e6e
Merge branch 'master' into careminster
...
Conflicts:
OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs
2013-08-01 23:42:19 +01:00
Justin Clark-Casey (justincc)
68b98a8003
minor: Add name to debug lludp packet level feedback on console
2013-08-01 23:16:41 +01:00
Justin Clark-Casey (justincc)
0c4c084bed
Try a different approach to slow terrain update by always cycling the loop immediately if any data was sent, rather than waiting.
...
What I believe is happening is that on initial terrain send, this is done one packet at a time.
With WaitOne, the outbound loop has enough time to loop and wait again after the first packet before the second, leading to a slower send.
This approach instead does not wait if a packet was just sent but instead loops again, which appears to lead to a quicker send without losing the cpu benefit of not continually looping when there is no outbound data.
2013-08-01 18:12:28 +01:00
Justin Clark-Casey (justincc)
932c382737
Revert "Issue: painfully slow terrain loading. The cause is commit d9d995914c
(r/23185) -- the WaitOne on the UDPServer. Putting it back to how it was done solves the issue. But this may impact CPU usage, so I'm pushing it to test if it does."
...
This reverts commit 59b461ac0e
.
2013-08-01 18:11:50 +01:00
Diva Canto
59b461ac0e
Issue: painfully slow terrain loading. The cause is commit d9d995914c
(r/23185) -- the WaitOne on the UDPServer. Putting it back to how it was done solves the issue. But this may impact CPU usage, so I'm pushing it to test if it does.
2013-08-01 09:27:44 -07:00
Melanie
21f5e67030
Merge branch 'master' into careminster
...
Conflicts:
OpenSim/Region/ClientStack/Linden/Caps/GetTextureModule.cs
2013-08-01 01:23:24 +01:00
Mic Bowman
1299592405
Experimental comment to eneralize the handling of Linden caps when the
...
cap is something other than "localhost". A new interface for handling
external caps is supported with an example implemented for Simian. The
only linden cap supporting this interface right now is the GetTexture
cap.
2013-07-31 15:37:15 -07:00
Diva Canto
fd050fca7c
Doing the HG Map / SimulatorFeatures "the right way": moved it to HGMapModule, hooking on to SimulatorFeatures.OnSimulatorFeaturesRequest event (similar to what the DynamicMenuModule does).
...
Only HG Visitors get this var, to avoid spamming local users.
The config var is now called MapTileURL, to be consistent with the login one, and its being picked up from either [LoginService], [HGWorldMap] or [SimulatorFeatures], just because I have a bad memory.
2013-07-30 21:10:00 -07:00
Diva Canto
590a8b0315
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
2013-07-30 17:27:32 -07:00
Diva Canto
2b54199271
After talking to lkalif on the IRC: SimulatorFeatures response: renamed the OSDMap GridServices to OpenSimExtras, normalized the url keys under it, and moved ExportEnabled to under it too. Melanie: change your viewer code accordingly.
...
Documentation at http://opensimulator.org/wiki/SimulatorFeatures_Extras
2013-07-30 17:26:56 -07:00
Justin Clark-Casey (justincc)
1416c90932
minor: Add timeout secs to connection timeout message. Change message to reflect it is a timeout due to no data received rather than an ack issue.
2013-07-29 23:53:59 +01:00
Justin Clark-Casey (justincc)
8004e6f31c
Fix issue just introduced in 8efe4bfc2e
where I accidentally left in a test line to force very quick client unack
2013-07-29 23:38:54 +01:00
Justin Clark-Casey (justincc)
8efe4bfc2e
Make "abnormal thread terminations" into "ClientLogoutsDueToNoReceives" and add this to the StatsManager
...
This reflects the actual use of this stat - it hasn't recorded general exceptions for some time.
Make the sim extra stats collector draw the data from the stats manager rather than maintaing this data itself.
2013-07-29 23:18:29 +01:00
Melanie
bf283208df
Merge branch 'master' into careminster
...
Conflicts:
OpenSim/Framework/Servers/HttpServer/PollServiceRequestManager.cs
OpenSim/Region/Framework/Scenes/Scene.cs
2013-07-29 02:08:05 +01:00
Diva Canto
69975763d2
Several major improvements to group (V2) chat. Specifically: handle join/drop appropriately, invitechatboxes.
...
The major departure from flotsam is to send only one message per destination region, as opposed to one message per group member. This reduces messaging considerably in large groups that have clusters of members in certain regions.
2013-07-27 15:38:56 -07:00
Diva Canto
d5367a219d
Slight improvement: no need to delay the removal of the queues in EQ, because DisableSimulator is now being sent via UDP
2013-07-26 07:39:57 -07:00
Diva Canto
878ce1e6b2
This should fix all issues with teleports. One should be able to TP as fast as needed. (Although sometimes Justin's state machine kicks in and doesn't let you) The EventQueues are a hairy mess, and it's very easy to mess things up. But it looks like this commit makes them work right. Here's what's going on:
...
- Child and root agents are only closed after 15 sec, maybe
- If the user comes back, they aren't closed, and everything is reused
- On the receiving side, clients and scene presences are reused if they already exist
- Caps are always recreated (this is where I spent most of my time!). It turns out that, because the agents carry the seeds around, the seed gets the same URL, except for the root agent coming back to a far away region, which gets a new seed (because we don't know what was its seed in the departing region, and we can't send it back to the client when the agent returns there).
2013-07-25 23:44:58 -07:00
Melanie
7914eaa357
Merge branch 'master' into careminster
...
Conflicts:
OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
OpenSim/Region/Framework/Scenes/Scene.cs
OpenSim/Region/Framework/Scenes/ScenePresence.cs
bin/OpenSimDefaults.ini
2013-07-25 16:55:23 +01:00
Diva Canto
cac37e298c
Deleted all [ZZZ] debug messages.
2013-07-24 14:31:30 -07:00
Diva Canto
e6a0f6e428
One more thing to test in order to let CompleteMovement go up the stack.
2013-07-24 14:29:51 -07:00
Diva Canto
14530b2607
Minor adjustment on timings of waits.
2013-07-24 14:29:37 -07:00
Diva Canto
c0433d5e4c
Changed the RegionHandshake packet to the Unknown queue, so that it is sent with high priority and hopefully gets to the client before AgentMovementComplete
2013-07-24 14:29:15 -07:00
Diva Canto
3891a8946b
New Teleport protocol (V2), still compatible with V1 and older. (version of 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-24 14:27:58 -07:00
Melanie
e82d4154a2
Merge branch 'master' into careminster
...
Conflicts:
OpenSim/Framework/Servers/HttpServer/PollServiceRequestManager.cs
OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs
OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs
OpenSim/Region/Framework/Scenes/ScenePresence.cs
OpenSim/Region/Physics/Manager/PhysicsActor.cs
OpenSim/Region/Physics/Manager/PhysicsScene.cs
2013-07-24 04:45:07 +01:00
Melanie
a7eb1b5b85
Merge branch 'master' into careminster
...
Conflicts:
OpenSim/Framework/Servers/HttpServer/PollServiceRequestManager.cs
OpenSim/Region/CoreModules/Framework/Caps/CapabilitiesModule.cs
OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs
2013-07-24 03:50:09 +01:00
Justin Clark-Casey (justincc)
a57a472ab8
Add proper method doc and comments to m_dataPresentEvent (from d9d9959
)
2013-07-23 00:51:59 +01:00
Justin Clark-Casey (justincc)
9fb9da1b6c
Add clientstack.InboxPacketsCount stat. This records the number of packets waiting to be processed at the second stage (after initial UDP processing)
...
If this consistently increases then this is a problem since it means the simulator is receiving more requests than it can distribute to other parts of the code.
2013-07-23 00:35:41 +01:00
Justin Clark-Casey (justincc)
60732c96ef
Add clientstack.OutgoingUDPSendsCount stat to show number of outbound UDP packets sent by a region per second
2013-07-23 00:35:34 +01:00
Justin Clark-Casey (justincc)
8396f1bd42
Record raw number of UDP receives as clientstack.IncomingUDPReceivesCount
2013-07-23 00:35:23 +01:00
Justin Clark-Casey (justincc)
bf517899a7
Add AverageUDPProcessTime stat to try and get a handle on how long we're taking on the initial processing of a UDP packet.
...
If we're not receiving packets with multiple threads (m_asyncPacketHandling) then this is critical since it will limit the number of incoming UDP requests that the region can handle and affects packet loss.
If m_asyncPacketHandling then this is less critical though a long process will increase the scope for threads to race.
This is an experimental stat which may be changed.
2013-07-23 00:35:09 +01:00
Robert Adams
e6b6af62dd
Added check for user movement specification before discarding an incoming
...
AgentUpdate packet. This fixes the problem with vehicles not moving forward
after the first up-arrow.
Code to fix a potential exception when using different IClientAPIs.
2013-07-22 15:41:14 -07:00
Diva Canto
99a727600b
Minor cosmetic changes.
2013-07-21 10:07:35 -07:00
Diva Canto
116a449d89
The quaternion delta was a bit to high, now that the head rotation is out of the equation. (head rotation was the problematic one)
2013-07-21 09:01:57 -07:00
Diva Canto
b5ab0698d6
EDIT BEAMS!!! They had been missing from OpenSim since ever. Thanks to lkalif for telling me how to route the information. The viewer effect is under the distance filter, so only avatars with cameras < 10m away see the beams.
2013-07-21 09:01:44 -07:00
Diva Canto
3919c80505
A couple of small optimizations over the previous commit
2013-07-21 09:00:57 -07:00
Diva Canto
d5a1779465
Manage AgentUpdates more sanely:
...
- The existing event to scene has been split into 2: OnAgentUpdate and OnAgentCameraUpdate, to better reflect the two types of updates that the viewer sends. We can run one without the other, which is what happens when the avie is still but the user is camming around
- Added thresholds (as opposed to equality) to determine whether the update is significant or not. I thin these thresholds are ok, but we can play with them later
- Ignore updates of HeadRotation, which were problematic and aren't being used up stream
2013-07-21 09:00:42 -07:00
Diva Canto
174105ad02
Fixed the stats in show client stats. Also left some comments with observations about AgentUpdates.
2013-07-21 09:00:27 -07:00
Justin Clark-Casey (justincc)
3a6acbcc14
furhter shorten CheckAgentUpdateSignificance(). No real perf impact.
2013-07-21 08:59:31 -07:00
Justin Clark-Casey (justincc)
866de53978
Remove some pointless code in CheckAgentUpdateSignificance()
2013-07-21 08:59:17 -07:00
Justin Clark-Casey (justincc)
61eda1f441
Make the check as to whether any particular inbound AgentUpdate packet is significant much earlier in UDP processing (i.e. before we pointlessly place such packets on internal queues, etc.)
...
Appears to have some impact on cpu but needs testing.
2013-07-21 08:58:55 -07:00
Justin Clark-Casey (justincc)
e5c677779b
Add measure of number of inbound AgentUpdates that were seen as significant to "show client stats" (i.e. sent on for further processing instead of being discarded)
...
Added here since it was the most convenient place
Number is in the last column, "Sig. AgentUpdates" along with percentage of all AgentUpdates
Percentage largely falls over time, most cpu for processing AgentUpdates may be in UDP processing as turning this off even earlier (with "debug lludp toggle agentupdate" results in a big cpu fall
Also tidies up display.
2013-07-21 08:58:39 -07:00
Justin Clark-Casey (justincc)
5a2d4d888c
Hack in console command "debug lludp toggle agentupdate" to allow AgentUpdate in packets to be discarded at a very early stage.
...
Enabling this will stop anybody from moving on a sim, though all other updates should be unaffected.
Appears to make some cpu difference on very basic testing with a static standing avatar (though not all that much).
Need to see the results with much higher av numbers.
2013-07-21 08:58:21 -07:00
Justin Clark-Casey (justincc)
66048e1a70
minor: provide user feedback in the log for now when udp in/out bound threads are started/stopped
2013-07-21 08:58:02 -07:00
Justin Clark-Casey (justincc)
3a476bf60c
Fix up a temporary debugging change from last commit which stopped "lludp stop out" from actually doing anything
2013-07-21 08:57:36 -07:00
Justin Clark-Casey (justincc)
63c42d6602
Do some simple queue empty checks in the main outgoing udp loop instead of always performing these on a separate fired thread.
...
This appears to improve cpu usage since launching a new thread is more expensive than performing a small amount of inline logic.
However, needs testing at scale.
2013-07-21 08:56:48 -07:00
Diva Canto
b5062ae7ee
Changed the timoeut of EQ 502s (no events) to 50 secs. The viewer post requests timeout in 60 secs.
...
There's plenty of room for improvement in handling the EQs. Some other time...
2013-07-18 13:30:04 -07:00
Justin Clark-Casey (justincc)
d9d995914c
try Hacking in an AutoResetEvent to control the outgoing UDP loop instead of a continuous loop with sleeps.
...
Does appear to have a cpu impact but may need further tweaking
2013-07-18 12:28:02 -07:00
Diva Canto
9e35b069a4
Reverting the reverts I did yesterday. cpu-branch has now been
...
successfully tested, and I'm merging back those changes, which proved to
be good.
Revert "Revert "Cleared up much confusion in PollServiceRequestManager. Here's the history:""
This reverts commit fa2370b32e
.
2013-07-18 12:23:27 -07:00
Melanie
437326a480
Merge branch 'master' of ssh://melanie@3dhosting.de/var/git/careminster into careminster
...
Conflicts:
OpenSim/Region/ClientStack/Linden/Caps/UploadBakedTextureModule.cs
OpenSim/Region/CoreModules/Framework/Caps/CapabilitiesModule.cs
OpenSim/Region/Framework/Scenes/Scene.cs
OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
OpenSim/Region/ScriptEngine/Shared/Api/Implementation/Plugins/SensorRepeat.cs
2013-07-18 10:17:30 +01:00
Melanie
7830cc9954
Merge branch 'master' into careminster
...
Conflicts:
OpenSim/Capabilities/Handlers/GetTexture/GetTextureHandler.cs
OpenSim/Region/ClientStack/Linden/Caps/BunchOfCaps/BunchOfCaps.cs
OpenSim/Region/ClientStack/Linden/Caps/UploadBakedTextureModule.cs
OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs
OpenSim/Region/CoreModules/Framework/Caps/CapabilitiesModule.cs
OpenSim/Region/CoreModules/Scripting/HttpRequest/ScriptsHttpRequests.cs
OpenSim/Region/CoreModules/ServiceConnectorsOut/Simulation/LocalSimulationConnector.cs
OpenSim/Region/Framework/Scenes/Scene.cs
OpenSim/Region/Framework/Scenes/SceneCommunicationService.cs
OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
OpenSim/Region/Framework/Scenes/ScenePresence.cs
OpenSim/Region/ScriptEngine/Shared/Api/Implementation/Plugins/SensorRepeat.cs
OpenSim/Server/Handlers/Simulation/AgentHandlers.cs
OpenSim/Services/Connectors/Asset/AssetServicesConnector.cs
OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs
OpenSim/Services/HypergridService/UserAgentService.cs
2013-07-18 10:08:10 +01:00
Diva Canto
fa2370b32e
Revert "Cleared up much confusion in PollServiceRequestManager. Here's the history:"
...
This reverts commit e46459ef21
.
2013-07-17 15:05:36 -07:00
Diva Canto
e46459ef21
Cleared up much confusion in PollServiceRequestManager. Here's the history:
...
When Melanie added the web fetch inventory throttle to core, she made the long poll requests (EQs) effectively be handled on an active loop. All those requests, if they existed, were being constantly dequeued, checked for events (which most often they didn't have), and requeued again. This was an active loop thread on a 100ms cycle!
This fixes the issue. Now the inventory requests, if they aren't ready to be served, are placed directly back in the queue, but the long poll requests aren't placed there until there are events ready to be sent or timeout has been reached.
This puts the LongPollServiceWatcherThread back to 1sec cycle, as it was before.
2013-07-17 11:19:36 -07:00
dahlia
6dd454240f
revert last commit which seems to conflict with DoubleQueue internals. The random crash might be in DoubleQueue instead. See http://pastebin.com/XhNBNqsc
2013-07-16 02:03:01 -07:00
dahlia
70aa77f520
add locking to internal queue in WebFetchInvDescModule; lack of which caused a random crash in a load test yesterday
2013-07-16 01:31:09 -07:00
Justin Clark-Casey (justincc)
e8e073aa97
Simplify EventQueue cap setup so that it is also stat monitored.
...
Curiously, the number of requests received is always one greater than that shown as handled - needs investigation
2013-07-16 00:05:45 +01:00
Justin Clark-Casey (justincc)
eb14e5a175
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
2013-07-15 23:28:02 +01:00
Justin Clark-Casey (justincc)
1b7b664c86
Add request received/handling stats for caps which are served by http poll handlers.
...
This adds explicit cap poll handler supporting to the Caps classes rather than relying on callers to do the complicated coding.
Other refactoring was required to get logic into the right places to support this.
2013-07-15 23:27:46 +01:00
Diva Canto
68fbf7eebb
Revert "Puts RequestImage (UDP) back to asyn -- CPU spike hunt"
...
This reverts commit b060ce96d9
.
2013-07-15 12:34:10 -07:00
Diva Canto
687c1a420a
Guard against null ref
2013-07-15 12:33:31 -07:00
Diva Canto
b060ce96d9
Puts RequestImage (UDP) back to asyn -- CPU spike hunt
2013-07-15 12:05:31 -07:00
Diva Canto
864f15ce4d
Revert the revert
...
Revert "Trying to hunt the CPU spikes recently experienced."
This reverts commit ac73e70293
.
2013-07-15 11:52:26 -07:00
Diva Canto
ac73e70293
Trying to hunt the CPU spikes recently experienced.
...
Revert "Comment out old inbound UDP throttling hack. This would cause the UDP"
This reverts commit 38e6da5522
.
2013-07-15 11:27:49 -07:00
Diva Canto
a412b1d682
Moved SendInitialDataToMe to earlier in CompleteMovement. Moved TriggerOnMakeRootAgent to the end of CompleteMovement.
...
Justin, if you read this, there's a long story here. Some time ago you placed SendInitialDataToMe at the very beginning of client creation (in LLUDPServer). That is problematic, as we discovered relatively recently: on TPs, as soon as the client starts getting data from child agents, it starts requesting resources back *from the simulator where its root agent is*. We found this to be the problem behind meshes missing on HG TPs (because the viewer was requesting the meshes of the receiving sim from the departing grid). But this affects much more than meshes and HG TPs. It may also explain cloud avatars after a local TP: baked textures are only stored in the simulator, so if a child agent receives a UUID of a baked texture in the destination sim and requests that texture from the departing sim where the root agent is, it will fail to get that texture.
Bottom line: we need to delay sending the new simulator data to the viewer until we are absolutely sure that the viewer knows that its main agent is in a new sim. Hence, moving it to CompleteMovement.
Now I am trying to tune the initial rez delay that we all experience in the CC. I think that when I fixed the issue described above, I may have moved SendInitialDataToMe to much later than it should be, so now I'm moving to earlier in CompleteMovement.
2013-07-13 09:46:58 -07:00
Melanie
c6d75cda97
Merge branch 'master' into careminster
...
Conflicts:
OpenSim/Region/ClientStack/Linden/Caps/UploadBakedTextureModule.cs
2013-07-13 00:57:03 +01:00
Melanie
a53a10ad27
Merge branch 'master' into careminster
...
Conflicts:
OpenSim/Capabilities/Handlers/GetTexture/GetTextureHandler.cs
OpenSim/Region/ClientStack/Linden/Caps/BunchOfCaps/BunchOfCaps.cs
OpenSim/Region/CoreModules/Framework/Caps/CapabilitiesModule.cs
OpenSim/Region/CoreModules/Scripting/HttpRequest/ScriptsHttpRequests.cs
OpenSim/Region/Framework/Scenes/Scene.cs
OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
OpenSim/Region/ScriptEngine/Shared/Api/Implementation/Plugins/SensorRepeat.cs
OpenSim/Services/Connectors/Asset/AssetServicesConnector.cs
2013-07-13 00:47:58 +01:00
Diva Canto
29f6ae199e
Changed UploadBakedTextureModule so that it uses the same pattern as the others, in preparation for experiments to direct baked texture uploads to a robust instance. No functional or configuration changes -- should work exactly as before.
2013-07-12 12:53:58 -07:00
Diva Canto
604967b31e
Switched UUIDNameRequest and RegionHandleRequest to Sync, because now they are also non-blocking handlers.
2013-07-11 09:47:46 -07:00
Diva Canto
3b48b6a792
Switched TransferRequest (UDP packet handler) to sync. The permissions checks may block, so they get a FireAndForget. Everything else is non-blocking.
2013-07-11 09:44:48 -07:00