Commit Graph

9753 Commits (9ffe4d850e9ccf2fc40901e186af3d38c31b9a6d)

Author SHA1 Message Date
Dr Scofield 98ea70644a From: Alan Webb <alan_webb@us.ibm.com>
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.
2009-06-25 08:17:37 +00:00
Dr Scofield 17d37aa60d cosmetic change 2009-06-25 08:01:02 +00:00
Dr Scofield 1b06da0c54 streamlining m_NeedAck logic 2009-06-25 08:00:43 +00:00
Dr Scofield 9f83f124c7 streamling m_PendingAcks logic to get rid of gratuitous List<...>
instantiations and object copies.
2009-06-25 08:00:18 +00:00
Dr Scofield b84834c45b commenting out expensive bits (who in the world even uses SetClientInfo()?) 2009-06-25 07:59:58 +00:00
Dr Scofield e8e0ce5fc6 changing DropSend()'s foreach loop so that it does not copy the
LLQueItem m_NeedAck queue each time.
2009-06-25 07:59:47 +00:00
Dr Scofield fa060a7282 commenting out rather expensive bits of GetClientInfo() --- the only
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).
2009-06-25 07:59:38 +00:00
Dr Scofield 77122d7861 more efficient way of checking for already seen packets:
- 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
2009-06-25 07:59:25 +00:00
Dr Scofield a1ba9dee8d adding logging statement for receive buffer size 2009-06-25 07:50:19 +00:00
Dr Scofield 8f5efc4994 - adds the possibility of setting the socket receive buffer size
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.
2009-06-25 07:50:02 +00:00
Dr Scofield afd5f76648 From: Alan Webb <alan_webb@us.ibm.com>
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.
2009-06-25 07:42:06 +00:00
Dr Scofield 652bcf91d5 - fixes a "collection out of sync" exception in the ODE physics
engine, caused by an "avatar infinite position" occurring under
  heavy load.
- fixes "value too small" exception in ChatModule
2009-06-25 07:39:48 +00:00
Melanie Thielker 9d07584ea1 Allow "Take Copy" with copy only permissions if you own the object. Trans
is only required when taing an object you don't own, now.
Fixes Mantis #3838
2009-06-24 23:45:21 +00:00
Melanie Thielker fa786c480b Reading GroupPosition, but setting OffsetPosition in undo doesnt' seem right.
This may fix the Mantii where individual prims ctrl-z to nirvana, but
it's not tested.
2009-06-24 09:49:49 +00:00
Jeff Ames 8ab815ed89 Update svn properties. 2009-06-24 04:51:15 +00:00
Melanie Thielker 41b8e2de9e Also fix group role membership packet sizes to stay safely below MTU 2009-06-23 22:11:34 +00:00
Melanie Thielker 8cf16f6ea4 Can I be this dumb? 2009-06-23 21:17:20 +00:00
Melanie Thielker 2a766b9082 Fix an error in group membership sending when the memebr count exceeds 60
Also reduce limit to 40 to allow for last logon dates and titles
2009-06-23 20:27:35 +00:00
Melanie Thielker a2635e43da Allow the member list of groups with more than 70 members to be viewed
without crashing
2009-06-23 14:37:51 +00:00
Melanie Thielker 0fecf4666c Add RegionSecret to user data structure to provide data update security 2009-06-23 09:04:30 +00:00
Melanie Thielker 56d0966a32 Commenting out the jhurliman fix, since our libOMV doesnt' have those fields
yet.
2009-06-23 08:56:45 +00:00
Melanie Thielker 2d7dd5f63e Correct an uninitialized field in a packet. Thanks, jhurliman.
Fixes Mantis #3831
2009-06-23 08:51:35 +00:00
Melanie Thielker 7f4a3392fc Fix the AssetServiceBase bug I introduced by reordering configuration load
order. Thanks, Grumly57, for pointing it out.
The point of the original change was to let the more specific setting override
the less specific one, actually, I disabled the use of the less specific one.
2009-06-23 08:37:12 +00:00
Sean Dague 1d9ec1da69 update README to specify the correct mono revisions 2009-06-22 19:27:38 +00:00
Melanie Thielker afbce6aa10 Forgot a file 2009-06-22 13:25:47 +00:00
Melanie Thielker 77ebb7c9f3 Committing RemoteUserServiceConnector out connector, local user service
connector and the glue code.
2009-06-22 13:14:48 +00:00
Melanie Thielker 044446821b Committing the meat of the user server interface and the bones of the service implementation 2009-06-22 12:18:04 +00:00
Jeff Ames 65d48a5e60 Formatting cleanup, ignore some generated files. 2009-06-22 11:04:09 +00:00
Jeff Ames 142b481e03 Update svn properties. 2009-06-22 10:07:27 +00:00
lbsa71 5ee2125bb6 * Panda no like LongRunningAttribute, no? Me now reverting minuscule fix, yes? Panda happy, eh? 2009-06-22 08:34:50 +00:00
lbsa71 e9d0f48a5b * Minuscule CC fix 2009-06-22 07:40:31 +00:00
lbsa71 d2d145b27f * Ignored some gens 2009-06-22 07:40:00 +00:00
lbsa71 e50e10369c * Fixed some prebuild ref issues 2009-06-22 07:39:36 +00:00
lbsa71 e365440461 * Added SceneTests and SceneBaseTests
* Changed some fields to protectesd to enable faking
2009-06-22 07:39:04 +00:00
Melanie Thielker 7d4f541d43 Suppress exception dump when informing friends in another region about login
or logoff. Regions come and go and we can't throw just because someone
took their region off the grid, or crashed.
2009-06-21 22:40:21 +00:00
Melanie Thielker bc1dce071a Correct the behaviro of group deeding and llGetOwner() within deeded objects 2009-06-21 19:49:11 +00:00
Homer Horwitz 04444d408f Do llEscapeURL with Uri.EscapeDataString instead of Uri.EscapeUriString.
Not exactly right, according to the LSL docs, but similar enough, I hope.
Fixes Mantis #3825.
2009-06-21 19:06:19 +00:00
Melanie Thielker 2c3a1995fc Publish a method on ICompiler to generate the CIL assembly path
Cause group deeding to apply next owner perms
2009-06-21 18:38:12 +00:00
Melanie Thielker 034de5ecd6 Properly reset a vehicle's status to VEHICLE_TYPE_NONE when requested 2009-06-19 22:32:02 +00:00
Melanie Thielker e4d26d7bfa When a shared module hooks OnClientClosed, it has no way of finding
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.
2009-06-19 20:46:17 +00:00
Dahlia Trimble 19b52d13e2 Thanks cmickeyb for a patch that checks for null assets in Cenome asset cache - Mantis #3819 2009-06-19 17:08:23 +00:00
Sean Dague dfd4e78fc0 From: Rob Smart <SMARTROB@uk.ibm.com>
Makes an avatars personal voice indicator work with Freeswitch (though not other avatars indicators)
2009-06-19 12:21:33 +00:00
Sean Dague 1adeb8ad77 From: Chris Yeoh <yeohc@au1.ibm.com>
This patch ensures that the touch positions are set during touch_end
events (currently only working for touch_start and touch events).
2009-06-19 12:21:20 +00:00
Sean Dague fa54ef5030 more type clean fixes for mono 2.4.2 2009-06-19 00:01:50 +00:00
Sean Dague 96f3001bfb mono 2.4.2 seems a little more type strict, fix some sqlite tests to pass 2009-06-18 23:59:21 +00:00
Dahlia Trimble 00d042f3d1 Thanks Michelle Argus for Mantis #0003742: Terrain editor - Flatten tool lowers Land 2009-06-18 23:02:12 +00:00
MW 2755f6b891 Applied patch from Mantis #3817, which fixes a error when using MSSQL. I don't use MSSQL so couldn't test this myself. But there was certainly duplicated instructions in these files...which this patch fixes. Thanks Grumly57 2009-06-18 20:18:47 +00:00
MW 417e3ee1d7 Applied patch from Mantis #3736 , which should stop the userserver crashing when a SL viewer version 1.23 logs in. Thanks StrawberryFride 2009-06-18 20:01:37 +00:00
Arthur Valadares f243dddc04 * Corrected CAPS namespaces
* "luke, use the sed"
2009-06-18 14:33:35 +00:00
diva 913bc3bdb3 Moved OpenSim/Framework/Communications/Capabilities up to OpenSim/Framework/Capabilities. Didn't change the namespace because VC# is not helping, and this would imply manually changing more than 50 files. So the namespace is still OpenSim.Framework.Communications.Capabilities, to be cleaned up later by someone with more energy. 2009-06-18 00:48:39 +00:00