Commit Graph

14980 Commits (f1800824eb773223a4dca1da0e164eb9b68897c0)

Author SHA1 Message Date
Mic Bowman 08e58e7ca6 Set the initial rate for the adaptive throttle to 160Kpbs
or about 15 packets per second.
2011-04-22 14:02:34 -07:00
Mic Bowman 3534f4492a Various clean ups. Removed some debugging code. Added a new "show pqueues"
command to look at the entity update priority queue. Added a "name" parameter
to show queues, show pqueues and show throttles to look at data for a specific
user.
2011-04-22 14:01:12 -07:00
Huaiyu (Kitty) Liu 3076761d77 For group properties, only trigger SendPrimPropertyUpdates for the rootpart,
to avoid multiple updates (each through a different part in the SOG) to
update the same property.

Also, change m_log in PrimSyncInfo and PropertySyncInfo to a class static
variable, to reduce initiation cost.
2011-04-22 10:39:36 -07:00
Huaiyu (Kitty) Liu 68375822cd Fixed code so that when GroupPosition or Position is synced between PrimSyncInfoManager
and SOP, the other will be udpated properly as well.
Also, in SOP.aggregateScriptEvents, add AggregateScriptEvents as one property that has changed.
2011-04-21 17:44:07 -07:00
BlueWall cbe49ed917 Merge branch 'master' of /home/opensim/var/repo/opensim 2011-04-21 19:08:31 -04:00
BlueWall b8e282324e fix merge conflicts with OpenSimDefaults.ini 2011-04-21 19:06:54 -04:00
BlueWall e0002f6b64 some mesh config asthetics 2011-04-21 19:04:41 -04:00
Mic Bowman 0897647709 Merge branch 'queuetest' of ssh://opensimulator.org/var/git/opensim into queuetest 2011-04-21 15:41:15 -07:00
Mic Bowman c5159ad8d0 Add some locking on the child list for the token bucket
hiearchy. A few other cosmetic changes.
2011-04-21 15:40:38 -07:00
Dan Lake 7f28dd4b31 Refactor UnackedPacketCollection so ProcessQueues will handle Adds, Acks, and Removes in that order. 2011-04-21 15:40:32 -07:00
Melanie 398bb2149a Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim 2011-04-21 23:04:01 +01:00
Melanie 13d6e05d5a Implement agent limits 2011-04-21 23:03:38 +01:00
BlueWall 5e99d93651 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-04-21 15:16:12 -04:00
BlueWall d9055c8dc3 Group collada meshies settings under [Mesh] in OpensimDefaults.ini 2011-04-21 15:15:24 -04:00
Justin Clark-Casey (justincc) 223c90c751 Remove duplicated freeswitch settings. 2011-04-21 19:31:37 +01:00
Justin Clark-Casey (justincc) 60685c3517 Adjust freeswitch logging to be somewhat less noisy. However, there is still quite a large amount of logging present for debug purposes. 2011-04-21 19:17:38 +01:00
Justin Clark-Casey (justincc) e36cab99fd minor: small amount of method doc and some commented out odds and ends 2011-04-21 18:45:05 +01:00
Justin Clark-Casey (justincc) 44999dce76 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-04-21 18:44:04 +01:00
Justin Clark-Casey (justincc) 63c1b7e475 Alter uuid gather so that it properly analyzes coalesced objects.
This should correct save all the assets required for the items within the coalesced objects in an IAR.  This should also correctly gather the items on hypergrid takes.
2011-04-21 18:12:29 +01:00
Mic Bowman 371576d1dd Merge branch 'master' into queuetest 2011-04-21 08:23:01 -07:00
Dan Lake 3640d0204f Added ability to remove unacked packet from UnackedPacketCollection without an acknowledgement from the network. This prevents RTT and throttles from being updated as they would when an ACK is actually received. Also fixed stats logging for unacked bytes and resent packets in this case. 2011-04-21 01:51:08 -07:00
Dan Lake b5ab33b5e1 bug fix. Now when an unacked update packet is handled through ResendPrimUpdates, it is removed from the UnackedPacketCollection. 2011-04-20 23:08:51 -07:00
Mic Bowman 7759bda833 Added an "immediate" queue to the priority queue. This is
per Melanie's very good suggestion. The immediate queue is
serviced completely before all others, making it a very good
place to put avatar updates & attachments.

Moved the priority queue out of the LLUDP directory and
into the framework. It is now a fairly general utility.
2011-04-20 21:58:49 -07:00
Huaiyu (Kitty) Liu b182e3bf30 In SyncLinkObject and SyncDelinkObject, copy property values from linked/delinked SOP
values to those in PrimSyncInfo, before sending out sync messages.
2011-04-20 17:34:55 -07:00
Mic Bowman 294b49ca3d Merge branch 'queuetest' of ssh://opensimulator.org/var/git/opensim into queuetest
Conflicts:
	OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
2011-04-20 16:28:33 -07:00
Mic Bowman 2b737c9cc2 Adds the first pass at an adaptive throttle to slow start new
clients. If the sent packets are ack'ed successfully the throttle
will open quickly up to the maximum specified by the client and/or
the sims client throttle.

This still needs a lot of adjustment to get the rates correct.
2011-04-20 16:23:33 -07:00
Huaiyu (Kitty) Liu 1c1d3893fc DelinkFromGroup now calls AddNewSceneObjectByDelink, to avoid calling SyncNewObject later.
Also, replace all "SYMMETRIC SYNC" with "DSG SYNC" in comments.
2011-04-20 14:59:06 -07:00
dahlia 212326eeb0 fix meshing failure on sculpt maps smaller than 64x64 2011-04-19 22:16:10 -07:00
Justin Clark-Casey (justincc) ccc26f7443 Get Viewer 2 voice working with OpenSim.
See http://opensimulator.org/mantis/view.php?id=5336
It turns out that viewer 2 was upset by the lack of a response to viv_watcher.php.  This would send it into a continuous login loop.
Viewer 1 was quite happy to ignore the lack of response.
This commit puts in the bare minimum 'OK' message in response to viv_watcher.php.  This allows viewer 2 voice to connect and appears to work.
However, at some point we need to fill out the watcher response, whatever that is.
2011-04-20 01:02:40 +01:00
opensim 4319d974b2 Added DSG to version string 2011-04-19 16:02:38 -07:00
Huaiyu (Kitty) Liu a5ebd04d9d Fixed code in SyncDeLinkObject and HandleSyncDelinkObject. Delinking a few linked objects seems working. 2011-04-19 15:55:04 -07:00
Huaiyu (Kitty) Liu 3676b5fbef 1. Replaced SendLinkObject and SendDeLinkObject with SyncLinkObject and SyncDeLinkObject
2. Replaced HandleLinkObject and HandleDelinkObject with HandleSyncLinkObject and HandleSyncDelinkObject.
LinkObject seems sync'ed well across actors.
2011-04-19 14:49:47 -07:00
Justin Clark-Casey (justincc) b786860bac synchronize Robust.HG.ini.example FreeSWITCH config with other config files 2011-04-19 22:38:43 +01:00
Justin Clark-Casey (justincc) 575257f3fe For consistency, uncomment ColladaMesh option in OpenSimDefaults.ini. Thanks for the spot, Ai Austin. 2011-04-19 21:58:55 +01:00
Justin Clark-Casey (justincc) 2fa210243b Clean up freeswitch config to what is currently required. Add explanation to config parameters. Clean up some log messages. 2011-04-19 21:54:26 +01:00
Dan Lake da6044b6be Merge branch 'master' into dev
Conflicts:
	OpenSim/Data/SQLiteLegacy/SQLiteSimulationData.cs
	OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
	OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs
	OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
	OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
2011-04-19 11:52:25 -07:00
Mic Bowman 82de87ce99 Converted the property request queue to use the same retransmission
mechanism as the entity update queues.
2011-04-19 11:22:04 -07:00
Huaiyu (Kitty) Liu 3d7cece491 Include serialization of Scale in SOP.Shape (it's a sub property in Shape, and also a seperate SOP property,
both pointing to the same copy), so that now serialization of Shape has all its sub properties.
2011-04-19 11:11:14 -07:00
Huaiyu (Kitty) Liu 85085977ac Fixed a bug in ScheduleTerseUpdate, and added a few debug lines. 2011-04-19 09:52:55 -07:00
Dan Lake 08d8a3e580 Requeue unacknowledged entity updates rather than resend then "as is".
Often, by the time the UDPServer realizes that an entity update packet
has not been acknowledged, there is a newer update for the same entity
already queued up or there is a higher priority update that should be
sent first. This patch eliminates 1:1 packet resends for unacked entity
update packets. Insteawd, unacked update packets are decomposed into the
original entity updates and those updates are placed back into the
priority queues based on their new priority but the original update
timestamp. This will generally place them at the head of the line to be
put back on the wire as a new outgoing packet but prevents the resend
queue from filling up with multiple stale updates for the same entity.
This new approach takes advantage of the UDP nature of the Linden protocol
in that the intent of a reliable update packet is that if it goes
unacknowledge, SOMETHING has to happen to get the update to the client.
We are simply making sure that we are resending current object state
rather than stale object state.

Additionally, this patch includes a generalized callback mechanism so
that any caller can specify their own method to call when a packet
expires without being acknowledged. We use this mechanism to requeue
update packets and otherwise use the UDPServer default method of just
putting expired packets in the resend queue.
2011-04-19 08:10:01 -07:00
Dan Lake f47d1c84cb Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2011-04-18 22:14:35 -07:00
Dan Lake 6e4d970dae Requeue unacknowledged entity updates rather than resend then "as is".
Often, by the time the UDPServer realizes that an entity update packet
has not been acknowledged, there is a newer update for the same entity
already queued up or there is a higher priority update that should be
sent first. This patch eliminates 1:1 packet resends for unacked entity
update packets. Insteawd, unacked update packets are decomposed into the
original entity updates and those updates are placed back into the
priority queues based on their new priority but the original update
timestamp. This will generally place them at the head of the line to be
put back on the wire as a new outgoing packet but prevents the resend
queue from filling up with multiple stale updates for the same entity.
This new approach takes advantage of the UDP nature of the Linden protocol
in that the intent of a reliable update packet is that if it goes
unacknowledge, SOMETHING has to happen to get the update to the client.
We are simply making sure that we are resending current object state
rather than stale object state.

Additionally, this patch includes a generalized callback mechanism so
that any caller can specify their own method to call when a packet
expires without being acknowledged. We use this mechanism to requeue
update packets and otherwise use the UDPServer default method of just
putting expired packets in the resend queue.
2011-04-18 16:48:49 -07:00
Huaiyu (Kitty) Liu 28f401d95a Added RegionSyncModule.ProcessAndEnqueuePrimUpdatesBySync, and revised functions relavant
to processing and forwarding prim updates. Code good for 2 CM and PSA to sync on NewObject
and UpdatedPrimProperties.
2011-04-18 15:54:24 -07:00
Justin Clark-Casey (justincc) 36c4e94ef7 Move mesh on/off swtich from [Startup] to [Mesh] in anticipation of future config parameters.
Default remains true.
OpenSimDefault.ini changed so if you haven't overriden this switch then you don't need to do anything.
2011-04-18 23:22:04 +01:00
Justin Clark-Casey (justincc) f5a041d012 bump default IAR version to 0.2 and 1.1 for the --profile version.
There are no changes in this bump, they just signal a point at which the control file comes first in the archive.
2011-04-18 23:00:41 +01:00
Justin Clark-Casey (justincc) 6109605038 bump oar version number to 0.6.
This commit contains no data changes - the version bump is to establish a version at which the control file must come first in the archive.
2011-04-18 22:42:36 +01:00
Justin Clark-Casey (justincc) 6600aa2baf Add regression test to check that OARs start with the control file. 2011-04-18 22:35:33 +01:00
Justin Clark-Casey (justincc) e00e518692 add test to ensure that an IAR starts with the control file 2011-04-18 22:24:42 +01:00
Justin Clark-Casey (justincc) 61619ddefc refactor: split out the code which actually copies a particular bundle to inventory 2011-04-18 21:59:01 +01:00
Justin Clark-Casey (justincc) 71114d4ad1 refactor: rename DeleteToInventory() to CopyToInventory()
DeleteToInventory() is misleading - it is the caller that decides whether to delete or not
2011-04-18 21:34:26 +01:00