| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
| |
| |
| | |
mechanism as the entity update queues.
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
config parameters.
Default remains true.
OpenSimDefault.ini changed so if you haven't overriden this switch then you don't need to do anything.
|
|
|
|
| |
There are no changes in this bump, they just signal a point at which the control file comes first in the archive.
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
| |
inventory
|
|
|
|
| |
DeleteToInventory() is misleading - it is the caller that decides whether to delete or not
|
|
|
|
|
| |
This addresses http://opensimulator.org/mantis/view.php?id=5441
The bug was due to a pre-existing mistake in creating the inventory stored position
|
|\ |
|
| |\ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
this appears to cause problems with the system timer resolution.
This caused a problem with tokens going into the root throttle as
bursts leading to some starvation.
Also changed EnqueueOutgoing to always queue a packet if there
are already packets in the queue. Ensures consistent ordering
of packet sends.
|
| |\ \ |
|
| |\ \ \
| | | | |
| | | | |
| | | | |
| | | | | |
Conflicts:
OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
types of property updates to be specified. Not sure if one form
of property update should supercede another. But for now the old
OpenSim behavior is preserved by sending both.
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
to the entity update queue. The number of property packets can
become significant when selecting/deselecting large numbers of
objects.
This is experimental code.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
when client and simulator throttles are set. This algorithm also uses
pre-defined burst rate of 150% of the sustained rate for each of the
throttles.
Removed the "state" queue. The state queue is not a Linden queue and
appeared to be used just to get kill packets sent.
|
| |\ \ \ \ |
|
| | | | | | |
|
| | | | | | |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
types of property updates to be specified. Not sure if one form
of property update should supercede another. But for now the old
OpenSim behavior is preserved by sending both.
|
| | | | | | |
|
| |\ \ \ \ \ |
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
to the entity update queue. The number of property packets can
become significant when selecting/deselecting large numbers of
objects.
This is experimental code.
|
| |\ \ \ \ \ \
| | |/ / / / /
| |/| | | | | |
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
when client and simulator throttles are set. This algorithm also uses
pre-defined burst rate of 150% of the sustained rate for each of the
throttles.
Removed the "state" queue. The state queue is not a Linden queue and
appeared to be used just to get kill packets sent.
|
| |_|_|_|_|/
|/| | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
are coalesced to inventory
This is the CoalesceMultipleObjectsToInventory setting in [Inventory] in OpenSimDefaults.ini
Default is true.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
testing to make sure HG inventory isn't broken by this (it shouldn't).
|
| | | | | | |
|
| | | | | | |
|
|\ \ \ \ \ \ |
|
| |\ \ \ \ \ \ |
|
| | | | | | | | |
|
| |/ / / / / /
|/| | | | | | |
|
|/ / / / / / |
|
| | | | | | |
|
| | | | | | |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
IAR. This still doesn't work proprerly since some required textures/contained item assets might be missing.
From pure code inspection, it looks like the uuid gatherer may get most asset uuids because the scene object serializer naively pulls non-root parts from all contained scene objects into one mega-object. However, root part uuids may well still be missing, and there may be other odd artifacts from this bug.
It appears that storing the size of the coalescence and the offsets is redundant, since one can work out this information from the position data already in the scene object groups.
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
|\ \ \ \ \ \
| | |_|_|_|/
| |/| | | | |
|
| | |_|_|/
| |/| | |
| | | | |
| | | | |
| | | | | |
initialized scene presence. Not sure why we are dumping updates
to a client that isn't there yet...
|
|/ / / /
| | | |
| | | |
| | | | |
this change makes it possible to set an absolute position on a group before it is put into a scene.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
InventoryAccessModule.
Continue to restore original absolute positions of stored scene objects, though it's possible that these aren't used again
|