Commit Graph

10766 Commits (ac31cb89d59b1d9be84df94ef3f26cad8624c452)

Author SHA1 Message Date
MW 7a2c41dea0 Extracted the code that handles the sending of prim updates to the client, from ScenePresence into ISceneViewer/SceneViewer. Currently ScenePresence "has" a ISceneViewer, although if we had a proper Node based scenegraph then it would most likely be attached directly to the nodes.
By extracting this code, it should make it easier to experiment with different ways of managing the update process. [Next step to make this module based, could be to create a SceneViewerFactoryModule]
2009-06-26 12:09:43 +00:00
Melanie Thielker febd54499b Enable the RemoteAdmin module to save regions as ini files rather than XML 2009-06-26 11:32:36 +00:00
Melanie Thielker 5869598c4c Make delete-region delete the section from an ini file. Will delete the whole
file if it has no sections left.
2009-06-26 00:00:20 +00:00
Melanie Thielker 7cc69ac97f Make create region save the new region to ini file format if the name
specifies an ini file.
If the ini file exists, the region will be added.
2009-06-25 23:31:55 +00:00
Melanie Thielker 82305b0dea From this version onwards, all new region files created automatically will
be created as new style INI files.
This doesn't yet affect create region, but it does affect first starts of
OpenSim.exe
Because master avatars are slated to be replaced by estate owners, this now
allows regions to be created without any master avatar data.
2009-06-25 17:53:03 +00:00
Melanie Thielker 9e714b9784 Add a comment and an example region config file 2009-06-25 16:05:59 +00:00
Melanie Thielker d9528bd06e Allow the reading of ini files instead of xml files when reading region
definitions from the file system
2009-06-25 15:48:54 +00:00
MW 934b291f59 Added a note to the ScenePresence.UpdateMovement() method, to remind everyone that the so called "forces" are actually velocities. 2009-06-25 13:12:48 +00:00
MW 684286f097 Applied patch from mantis #3820 which changed the clearing of the ScenePresence.m_forcesList, so it used the List.Clear method rather than doing a loop through the list and manually removing each item. Thanks dslake.
I also fixed the issue where the code also loops through the m_forcesList and copies each force to the ScenePresence's movementVector. Which resulted in only the last force in the list actually be acted on. As each copy overrode the last one. So now it only copies the last force in the list.
2009-06-25 12:26:23 +00:00
Dr Scofield c1976d1200 moving the m_PendingAcksMap.Remove() out of the foreach and clearing
it instead after the foreach as we are going through the whole
m_PendingAcks list anyhow
2009-06-25 11:30:31 +00:00
Dr Scofield aba4b0bd20 have to clear m_PendingAcks not m_PendingAcksMap 2009-06-25 11:30:16 +00:00
Dr Scofield e2db6c07ba hmph: missing '{'/'}', thx to nebadon for reporting it and rob smart
for spotting it!
2009-06-25 10:26:10 +00:00
Dr Scofield 74f7b586d3 fixing windows specific compile error. 2009-06-25 08:28:59 +00:00
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