| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
After noticing on several occasions that the thread counts
we see when running OpenSIm were bordering on the astronomical
I decided to seriously investigate.
After much poking I discovered that the problem is actually very
simple. The XEngine secition of the example ini says that the
timeout for an iden thread is in seconds, and an example value
of 60 is specified. In fact, this is actually resulting in a 60mS
idle timeout, which is not normally enough for a smart thread
to survive. I have added a multiplier to the XEngine constructor
so that the number now matches the published behavior.
|
| |
|
| |
|
|
|
|
|
| |
instantiations and object copies.
|
| |
|
|
|
|
|
| |
LLQueItem m_NeedAck queue each time.
|
|
|
|
|
|
|
|
| |
bit of GetClientInfo that is actually used seems to be userEP as part of the
OSSL osGetAgentIP() script function. Now commented are the parts where
we serialize and copy out the *entire* packet queue of the client
(locking the packet handler in the process).
|
|
|
|
|
|
|
|
|
|
|
| |
- uses Environment.TickCount for all timestamps (instead of more
costly Util.UnixTimeSinceEpoch()
- takes care of Environment.TickCount overflow (which will happens
after 24.8 days of system uptime)
- avoids instantiating List copies for each check
- gets rid of one lock() invocation
- moves calculation of loop invariant variable out of the loop itself
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
option for LLUDPServer. On windows .NET the default socket receive
buffer size is 8192 bytes, on recent linux systems it's about
111K. both value can be a bit small for an OpenSim instance serving
many clients. The socket receive buffer size can be configured via
an OpenSim.ini config option
- adds a general catch clause to LLUDPServer.OnReceivedData() to
prevent it submerging when an unexpected Exception occurs.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change moves texture send processing out of the main
packet processing loop and moves it to a timer based
processing cycle.
Texture packets are sent to the client consistently over
time. The timer is discontinued whenever there are no
textures to transmit.
The behavior of the texture sending mechanism is controlled
by three variables in the LLCLient section of the config
file:
[1] TextureRequestRate (mS) determines how many times per second
texture send processing will occur. The default is 100mS.
[2] TextureSendLimit determines how many different textures
will be considered on each cycle. Textures are selected
by priority. The old mechanism specified a value of 10 for
this parameter and this is the default
[3] TextureDataLimit determines how many packets will be sent for
each of the selected textures. The old mechanism specified a
value of 5, so this is the default.
So the net effect is that TextureSendLimit*TextureDataLimit
packets will be sent every TextureRequestRate mS.
Once we have gotten a reasonable feeling for how these parameters
affect overall processing, it would be nice to autonmically manage
these values using information about the current status of the
region and network.
Note that this also resolves the pathologcal problem that
previously existed which was that a seated avatar generated very
few in-bound packets (theoretically) and would therefore be the
least able to retrieve the images being displayed by a
projector script.
|
|
|
|
|
|
|
| |
engine, caused by an "avatar infinite position" occurring under
heavy load.
- fixes "value too small" exception in ChatModule
|
|
|
|
|
|
|
| |
is only required when taing an object you don't own, now.
Fixes Mantis #3838
|
|
|
|
|
|
|
| |
This may fix the Mantii where individual prims ctrl-z to nirvana, but
it's not tested.
|
| |
|
| |
|
|
|
|
|
|
| |
Also reduce limit to 40 to allow for last logon dates and titles
|
|
|
|
|
|
| |
without crashing
|
|
|
|
|
|
| |
yet.
|
|
|
|
|
|
| |
Fixes Mantis #3831
|
|
|
|
|
|
| |
connector and the glue code.
|
| |
|
| |
|
|
|
|
| |
yes? Panda happy, eh?
|
| |
|
|
|
|
|
|
| |
* Changed some fields to protectesd to enable faking
|
|
|
|
|
|
|
| |
or logoff. Regions come and go and we can't throw just because someone
took their region off the grid, or crashed.
|
| |
|
|
|
|
|
|
| |
Not exactly right, according to the LSL docs, but similar enough, I hope.
Fixes Mantis #3825.
|
|
|
|
|
|
| |
Cause group deeding to apply next owner perms
|
| |
|
|
|
|
|
|
|
|
|
| |
out which client connection has closed. So, in multi-region sims, things
can get messy fast.
This introduces a second parameters, which is a Scene object ref. Minor
adjustments to custom modules may be required due to this change.
|
|
|
|
| |
cache - Mantis #3819
|
|
|
|
|
| |
Makes an avatars personal voice indicator work with Freeswitch (though not other avatars indicators)
|
|
|
|
|
|
| |
This patch ensures that the touch positions are set during touch_end
events (currently only working for touch_start and touch events).
|
|
|
|
| |
lowers Land
|
|
|
|
|
| |
* "luke, use the sed"
|
| |
|
|
|
|
| |
making HGInventory (client access) work in standalone again. This is the refactoring of what was/is there, but done in the new model. Not complete yet, but key authentication works. It should be enough to make HGInventory work again soon.
|
| |
|
|
|
|
| |
are now in CoreModules/ServiceConnectorsIn, where they belong.
|
|
|
|
| |
IGridServices, erroneously. Not sure when this is used, but now it is implemented in the new model of service connectors. Hopefully it works.
|
|
|
|
|
|
|
|
|
|
| |
objects, with changes:
- Set OwnerID = GroupID for deeded objects.
- Close a security loophole that would have allowed a user with deed rights in a group to deed ANY object to that group, even if it's not owned by them and/or not set to that group
- Set LastOwnerID correctly. Handle objects vs. prims correctly.
|
| |
|
|
|
|
| |
Region/CoreModules/ServiceConnectorsOut. No functional changes.
|
|
|
|
|
|
|
|
|
|
|
| |
(a) Implements the ICommandableModule interface to clean up the user interface
(b) Uses a specification for a 'copse' (collected group of trees) which permits via an xml file: Tree type; Tree Line (high and low), Seed point; Radius of Copse; Number of required trees; Initial size of seeded tree; maximum size of seeded tree; growth rate; freeze growth state
(c) Multiple Copse may be defined for a region
(d) Growth on individual copse may be frozen or restarted, or all growth disabled/enabled
(e) Copse definitions are persistant, they are reloaded from the trees present on a region restart
(f) All trees in a copse may be removed and the copse definition deleted in one command
|
| |
|
|
|
|
| |
get more functions as we go along. It's a very simple service and service connectors, and it served primarily to establish the design of services that dependent on Scenes and that must always have a local connector. More refactoring coming, as this showed how to do it right.
|
|
|
|
| |
http://opensimulator.org/mantis/view.php?id=3741 by disabling the loading of OAR creation information
|
| |
|