Commit Graph

1704 Commits (50b81258a96640393fcda6833805a09cee8f2e5f)

Author SHA1 Message Date
UbitUmarov 19d141c9a5 avoid a null ref 2017-05-11 23:46:06 +01:00
UbitUmarov 11f6d28a06 fix merge 2017-05-07 04:21:33 +01:00
UbitUmarov d0912b6151 let StreamReader be in using statements 2017-05-07 00:47:45 +01:00
UbitUmarov 5f5b7e56db merge fix 2017-05-04 12:57:11 +01:00
UbitUmarov 3402819888 do the same in the cases we are just moving parts around and not changing their caches (ie their taskInventory) 2017-05-04 12:08:10 +01:00
UbitUmarov a680d8b8d7 fix merge 2017-04-25 17:59:53 +01:00
UbitUmarov 7c5376f224 move mesh pbs creation code out of mesh upload code into to PrimitiveBaseShape.cs 2017-04-25 14:21:01 +01:00
UbitUmarov 29ab39f14f cosmetics on mesh upload encoding of number of faces on pbs shape. Use opensim shape enums in place of libovm for coerence, add a few coments. 2017-04-25 13:05:20 +01:00
UbitUmarov 2f6c78b888 finish encoding number of mesh faces in pbs shape on new meshs upload, and *HACK* flag it setting hollow shape to triangle. (some limited encoding as added some months ago, but only for viewers LOD). Use this hack flag to fix sop number of faces. old meshs will still report 8 faces, information to fix this seems lost unless the mesh asset is decoded 2017-04-25 04:58:24 +01:00
UbitUmarov 0f7ffc56ce several changes for osTeleportObject 2017-04-15 10:46:18 +01:00
UbitUmarov 63383bf3c5 add functions to send entity updates imediatly, except for avatars (or now) they should be use to bypass normal delayed updates, for debug 2017-04-14 21:55:37 +01:00
UbitUmarov 6826ca9b57 fix the meaning of objectDuplicate[OnRay]() flags parameter but still not using it 2017-01-19 18:25:25 +00:00
UbitUmarov 6d784f6306 Permissions module: GenerateClientFlags() no need to keep looking for the same part several times; fix locked mask in GetObjectPermissions() 2017-01-17 23:22:02 +00:00
UbitUmarov db2fbf6516 add more calls to effective permissions aggregation, some paths may still be missing on objects changes, but remove the aggregation on check paths, so all can be tested. 2017-01-17 13:24:09 +00:00
UbitUmarov e0ab0b3b6b change GenerateClientFlags(...) to work with a scenepresence; make use of the new IsGod to check its God rights; remove the non standard estate manager right to move other ppl prims i added on last commits; coment out a test method i added sometime ago 2017-01-11 01:02:57 +00:00
UbitUmarov 694720d7a9 Merge branch 'master' into httptests 2017-01-07 21:05:12 +00:00
Melanie Thielker e58903be6f Correct casing on isGod and isViewerUIGod 2017-01-07 20:38:30 +00:00
UbitUmarov effa32cfa4 replace godlevel compares by the new faster bool isViewerUIGod 2017-01-07 18:41:46 +00:00
UbitUmarov add27a503e Merge branch 'master' into httptests 2017-01-07 16:55:03 +00:00
Melanie Thielker e81b3d8f0c Remove a red ink error on shutdown. Harmless message since shutting down anyway 2017-01-07 00:29:20 +00:00
UbitUmarov 6172446e2a Merge branch 'master' into httptests 2017-01-06 01:09:42 +00:00
Melanie Thielker ad8915f154 Restructure god level and permissions
Create a class GodController which controls all aspects of god level,
viewer modes and user levels at ScenePresence level.
2017-01-06 00:55:14 +00:00
UbitUmarov 254b26a7d5 fix merge 2017-01-05 19:32:57 +00:00
Melanie Thielker b16abc8166 Massive tab and trailing space cleanup 2017-01-05 19:07:37 +00:00
UbitUmarov cbc3501246 a few changes to Gods ( ie administrators) control 2017-01-05 18:02:59 +00:00
UbitUmarov 2a01173715 Merge branch 'master' into httptests 2016-12-30 01:52:02 +00:00
UbitUmarov 3a310d77c8 forgot one gc.collect wait for finalizers 2016-12-29 03:12:50 +00:00
UbitUmarov 5c79e03f18 some cleanup 2016-12-27 12:26:08 +00:00
UbitUmarov 86cc02f33e Merge branch 'master' into httptests 2016-12-23 02:53:58 +00:00
Melanie Thielker 90be8d78c3 Remove obsolete config option "EventQueue". It's been always on for ages! 2016-12-20 17:10:33 +00:00
UbitUmarov 82fc8e1a36 Merge branch 'master' into httptests 2016-12-18 05:03:27 +00:00
UbitUmarov 48efbeb8d3 set pbs shape acording to mesh number of (material) faces 2016-12-15 15:14:12 +00:00
UbitUmarov 18a292ad02 Merge branch 'master' into httptests 2016-12-14 13:35:53 +00:00
Melanie Thielker 69776aa70c Remove the AllowAlternatePorts option. It wasn't implemented anyway.
Instead, handle the port being 0 as "any port" and assign a random
port for regions in that case.
2016-12-13 19:47:26 +00:00
Melanie Thielker ee58beddec Make sure sims on Linux can be restarted without waiting on a 2 mintue socket timeout 2016-12-13 14:43:10 +00:00
Melanie Thielker 1388ac2ef7 Rename charterMember to membershipType to show what it actually is.
This field started out as a simple flag in the protocol to indicate a
user being a SL charter member. It has since then taken on additional
functionality that means that the name is no longer appropriate.
2016-12-12 11:09:38 +00:00
UbitUmarov 8114ff9d06 Merge branch 'master' into httptests 2016-12-09 04:50:07 +00:00
UbitUmarov 806e75eefb remove not needed sslport parameter 2016-12-08 23:39:55 +00:00
UbitUmarov 4639409dbe change caps Sethome fail error report 2016-12-07 21:30:36 +00:00
UbitUmarov 1680425f4d Merge branch 'master' into httptests 2016-12-04 23:39:15 +00:00
Mandarinka Tasty 7c566dca5a The new Constant: integer OBJECT_REZZER_KEY = 32;
Signed-off-by: Mandarinka Tasty <mandarinka.tasty@gmail.com>
Signed-off-by: UbitUmarov <ajlduarte@sapo.pt>
2016-12-04 17:18:56 +00:00
UbitUmarov fcd1e36ed6 a few changes to new GetDisplaynames and friends 2016-12-04 17:01:49 +00:00
UbitUmarov e1cf34d6fb replace GetDisplaynames by a handler really usable as a client cap. Most capabilities.handlers are so it all things not propor PER CLIENT CAP handlers 2016-12-04 15:50:48 +00:00
UbitUmarov b981ac42bc Merge branch 'master' into httptests 2016-12-02 13:51:30 +00:00
UbitUmarov 1fdd71f856 do a GC collect on last client exit 2016-12-01 07:49:17 +00:00
AliciaRaven 813ee4e188 Remove unused integer vars from LLClientView 2016-12-01 03:11:34 +00:00
UbitUmarov 877d3092b4 Merge branch 'master' into httptests 2016-11-27 15:14:34 +00:00
UbitUmarov 5cc0d6620d remove 2 more null refs i added to release memory 2016-11-26 05:08:46 +00:00
UbitUmarov 82ed6bde6e fix maturity on parcelInfo 2016-11-23 10:00:56 +00:00
UbitUmarov f4745e5a35 full change ServiceThrottleModule. Let it still service RegionHandleRequest and UUIDNameRequest but this wrong since they are diferent services. Keeping gambling about not having 2 much overlaps of the 2 kind of requests. Remove double thottling of RegionHandleRequest 2016-11-22 22:24:54 +00:00
UbitUmarov f794ab1a67 remove something VS decided to add 2016-11-21 01:22:01 +00:00
UbitUmarov b2c553b459 work around some warnings 2016-11-21 01:16:35 +00:00
UbitUmarov f1958e9f71 revert more object references removal on clients close because 2 many code paths don't have proper abort 2016-11-20 13:36:34 +00:00
UbitUmarov 200183caf7 HG protocol is still broken for large regions. work around it on teleport via lm 2016-11-20 02:49:40 +00:00
UbitUmarov 586c81eecd give up on OutPacket drop condition on closing 2016-11-20 01:49:53 +00:00
UbitUmarov b887b7625e change OutPacket drop condition 2016-11-19 21:53:09 +00:00
UbitUmarov 8010413e64 remove some potencial null refs i did add in last days :( 2016-11-19 21:06:42 +00:00
UbitUmarov 7cb3d583a9 merge conflits 2016-11-19 15:45:41 +00:00
UbitUmarov 70eb37433d avoid a null ref. (needs better way) 2016-11-18 03:40:34 +00:00
UbitUmarov e281876ecd restore higher resolution clock on udpserver and lower uaeraccouts caching time 2016-11-18 03:25:29 +00:00
UbitUmarov d8812ba2d1 revert to lower resolution clock on udpserver for testing 2016-11-18 03:00:59 +00:00
UbitUmarov 0a8cf2ff08 put back skip of first drip call 2016-11-18 02:13:01 +00:00
UbitUmarov 35b37510fc explicitly remove some references, and other useless changes 2016-11-17 19:15:28 +00:00
UbitUmarov e77f913116 minor: dont let rcvd agentupdates time jump back 2016-11-16 22:34:56 +00:00
UbitUmarov ec8393571f Merge branch 'master' into httptests 2016-11-16 13:07:23 +00:00
UbitUmarov 8dd9601fdc minor change to getdisplaynames cap url 2016-11-16 00:42:08 +00:00
UbitUmarov e304acb06f fix unack bytes stats report 2016-11-14 05:15:41 +00:00
UbitUmarov ae17b5d203 reduce calls to physics world cast rays for camera collision check 2016-11-14 03:21:07 +00:00
UbitUmarov bddaef5122 on Select use again the priority queues to send ObjectProperties, including physics via caps. This is need to reduce useless redudance 2016-11-10 17:56:51 +00:00
UbitUmarov c349a1a5e7 also log estimated average Util.GetTimeStampMS() resolution 2016-11-09 11:21:46 +00:00
UbitUmarov 94d2422230 change the clock source on udp outgoing, remove some dead code 2016-11-09 10:21:02 +00:00
UbitUmarov 92984556e1 change the clock source on tokenBucket 2016-11-08 23:09:53 +00:00
UbitUmarov 93ea7bd7f4 Merge branch 'master' into httptests 2016-11-07 11:36:43 +00:00
UbitUmarov 6bc76860d1 avoid a null ref, few changes to udp updates send 2016-11-05 23:56:55 +00:00
UbitUmarov 8cc8d15f95 some types may already be native in MOD_Api ConvertFromLSL 2016-11-05 20:14:11 +00:00
UbitUmarov 22d20dbf17 disable bad/broken throttle options 2016-11-05 19:17:25 +00:00
UbitUmarov 01a4a883e0 Merge branch 'master' into httptests 2016-11-03 14:01:35 +00:00
UbitUmarov 9480da06b9 only add a prim to physics in PhysicsShapeType if changing from type none. when viewers change ExtraPhysics parameters, send back the new values. 2016-11-02 21:42:32 +00:00
UbitUmarov 8c7fe3c0db Merge branch 'master' into httptests 2016-10-25 09:18:13 +01:00
UbitUmarov d550b485f1 viewer crash bug fix: fis the udp packets split of SendEstateList() large lists; Enforce size limits on the estate lists since currently required for viewers compatibily; improve handling of changes with large selected items. This is still bad, users may need to close and reopen the region/estate information to get correct Allowed and Banned lists after a change. This happens because of viewer resent/outOfOrder packets that completly break this lists updates protocol 2016-10-24 10:23:31 +01:00
UbitUmarov 2ce0673af2 Merge branch 'master' into httptests 2016-10-21 17:58:17 +01:00
UbitUmarov 954bcbc5ef bug fix: let ALL avatar controls have a repeat rate controled by viewer (so as before commit 8a3958ad04 on this) 2016-10-15 20:44:18 +01:00
UbitUmarov 7cd4fa8cf5 bug fix: We can't filter out any of the avatar controls relative to movement, even if not flying (a condition i incorrectly added recently) in fact the entire AgentUpdates throotling is questionable, since its viewer Job. But keeping it... 2016-10-15 20:26:23 +01:00
UbitUmarov 9843e3776e Merge branch 'master' into httptests 2016-10-08 01:27:02 +01:00
UbitUmarov b51739e23e recover regions main http server ssl suport. Using a PKCS12 cert file, and not certs store for now. Option http_listener_cn, cert CN need to the same as external IP. Self sign certs do seem to work, but the viewers option NoVerifySLLCert needs to be set true. CA check is not done but they do check the IP 2016-10-06 21:35:11 +01:00
UbitUmarov 8a3958ad04 dont let ignored AgentUpdates change their throttles. Apply respective movement to physics on the handling thread, not heartbeat, avoiding missing transitions that should get into physics. Make some usefull sp state flags visible everywhere 2016-10-05 13:17:23 +01:00
UbitUmarov f613b5f517 fix caching of wind and cloud packets in the case of several regions on a instance, that got broken with the necessary send to child agents. 2016-09-23 18:28:46 +01:00
UbitUmarov f5189b2cdd do the same for legacy clouds (still visible on older viewer ie singu 1.8.7). Fix clouds update. Send clouds and wind also to child agents. 2016-09-23 16:04:43 +01:00
UbitUmarov 8d7f10e36b cache wind compressed data so cpu burning compression is only done after a change. Not happy with version scheme for several regions on same instance, but should be ok for now 2016-09-23 13:55:23 +01:00
UbitUmarov a6df626868 add a version tag to wind and cloud data updates to iclient 2016-09-23 13:03:16 +01:00
UbitUmarov e5383604cb Merge branch 'master' into httptests 2016-09-17 12:44:52 +01:00
UbitUmarov c4f30a3c31 add skeleton on handle revoke permissions packet ( non funtional still ) ( do it not using a multidelegate event ) 2016-09-12 18:26:24 +01:00
UbitUmarov 9aec227767 Merge branch 'master' into httptests 2016-09-03 07:51:53 +01:00
UbitUmarov d5f376a4b1 send selected objects Proprieties udp part outside update queues and as a physics single caps message per selection request 2016-08-25 09:51:34 +01:00
UbitUmarov 90fc4183dc suspend the use of SelectedObjects list. It is not threadSafe and is not in use (possible cant even be used) 2016-08-25 07:12:50 +01:00
UbitUmarov 991dd5f471 first step changing Object Select code 2016-08-25 06:56:25 +01:00
UbitUmarov 52afd8588d fix updates resend by reEnqueing, that got broken down the line 2016-08-19 17:49:59 +01:00
UbitUmarov 7ba3fb7b5d merge issue 2016-08-19 03:05:25 +01:00
UbitUmarov e62d38a4ab catch some NULL refs 2016-08-19 02:41:15 +01:00
UbitUmarov d701de4021 add cap GroupMemberData 2016-08-19 02:26:49 +01:00
UbitUmarov 4b73550eee allow cap HomeLocation to be disabled setting Cap_HomeLocation = "" 2016-08-18 13:17:46 +01:00
UbitUmarov ac542715f1 add caps HomeLocation ; add client SendAlertMessage(string message, string info), where info in info message field. only minimal testing done 2016-08-18 12:45:11 +01:00
UbitUmarov e58e6daf4a several changes on BunchOfCaps. Move some mesh cost initialization to its class it, change caps path to be plain random UUID (except SEED) 2016-08-18 07:48:46 +01:00
UbitUmarov 09832edadf avoid automatic packet spliting in GroupMembersReply 2016-08-12 18:47:01 +01:00
UbitUmarov 9080aaf9eb only reissue a kill if a update is for a deleted sog root part. 2016-08-12 04:08:19 +01:00
UbitUmarov c04792142f partially revert commit 42a9afdc43cc.. of 06-12 not allowing more updates to be enqueued on deleted objects. Keep the catch up on deenqueue, so preserving the race condition safe guard. Let Scene sendkillObject work even if object is flaged as deleted. Still not clear how this are related to mantis 7858 or even less to 7990. 2016-08-12 03:58:04 +01:00
UbitUmarov cfab2675ff remove code from httptests branch 2016-08-11 08:42:34 +01:00
UbitUmarov 9aa2484f0d to do that don't use slideexpiration; add cap event ChatterBoxForceClose 2016-08-11 08:38:39 +01:00
UbitUmarov c255c23981 move updates from updates queues into udp queues acording to their payload estimated size and udp sending capability on a time slice, instead always moving a arbitrary number of updates. 2016-08-07 21:13:29 +01:00
UbitUmarov ff0ccf9c67 several changes related to culling option 2016-08-07 21:13:01 +01:00
UbitUmarov 081c66631c move updates from updates queues into udp queues acording to their payload estimated size and udp sending capability on a time slice, instead always moving a arbitrary number of updates. 2016-08-07 17:07:09 +01:00
UbitUmarov 8d22b79ba4 several changes related to culling option 2016-08-07 14:30:27 +01:00
UbitUmarov 68a4e363dd Merge branch 'httptests' of opensimulator.org:/var/git/opensim into httptests 2016-08-07 00:24:17 +01:00
UbitUmarov 23578635df more changes relative to incorrect use of activegroupid 2016-08-05 15:19:42 +01:00
UbitUmarov ab7619292f also use group provided by viewer on ObjectDuplicateOnRay 2016-08-05 01:59:19 +01:00
UbitUmarov 338a4d8d3b duplicate objects with the group requested by viewers and not internal idea of active one 2016-08-05 01:37:20 +01:00
UbitUmarov a0cab03caa rez new objects with the group requested by viewers and not internal idea of active one 2016-08-05 00:52:45 +01:00
UbitUmarov e57d3edf6f make sure all new scenepresences have fresh groups information at creation time (grouptitle missing but not that needed at that point) (use direct calls exactly where we want things to happen), reusing a funtion name to rename later 2016-08-04 21:36:41 +01:00
UbitUmarov 3cf8a58f9d Merge branch 'master' into httptests 2016-07-28 08:25:04 +01:00
UbitUmarov 16a7232f55 revert adding a new IM parameter ( commit bf604c85c6
, that was a mistake. this should fix invites accepts etc, that got broken
2016-07-28 08:22:51 +01:00
UbitUmarov 376084a2e5 Merge branch 'master' into httptests 2016-07-27 23:39:50 +01:00
UbitUmarov 1a8a8e16ef add a public SetGroupPowers to clientView 2016-07-26 17:57:14 +01:00
UbitUmarov 13ae6dff18 let some group related data to have a public set 2016-07-26 17:34:59 +01:00
UbitUmarov e766f9d20f get a copy of current clientView group powers 2016-07-26 16:54:04 +01:00
UbitUmarov bf604c85c6 add missing IM parameter ( needs fix where it is really relevant ) 2016-07-24 15:17:25 +01:00
UbitUmarov f4eb1a8e1d add a coment for improvement of ChatterBoxSessionAgentListUpdates closer to viewers protocol. Not necessary on current groups chat lists defecient implementation 2016-07-23 21:20:36 +01:00
UbitUmarov bdab44ef7e remove code from httptests branch 2016-07-23 01:34:40 +01:00
UbitUmarov cdf215f613 add a missing field to ChatterBoxSessionAgentListUpdates. it is still wrong, and its use even worse 2016-07-23 01:28:57 +01:00
UbitUmarov eaefae7e20 don't loose inventory items when there are bad folders 2016-07-17 22:52:58 +01:00
UbitUmarov e881562d34 fix drop on delayed events processing 2016-07-17 14:15:46 +01:00
UbitUmarov 442b272228 add a Drop method to PollService Event handlers, Drop requests on connections known to be lost or delay event check if they are sending a response 2016-07-17 13:20:56 +01:00
UbitUmarov d1810866b3 simplify http textures and meshs Throttles 2016-07-16 19:53:41 +01:00
UbitUmarov 5f5c4aca40 lib omv now supports SeeAvs fields, so use it, thx Gavin Hird 2016-07-15 15:36:53 +01:00
UbitUmarov aba4e2d13b revert changes to Select/DeSelect, using the SelectObjects as control seems bad 2016-07-14 02:11:50 +01:00
UbitUmarov 00687d5b0f use geometric center and not sog root position in culling 2016-07-13 22:29:09 +01:00
UbitUmarov e0a1025497 Oops that was not slower 2016-07-13 16:28:07 +01:00
UbitUmarov 33655e40df slow down culling kills even more 2016-07-13 16:15:35 +01:00
UbitUmarov acebfeb5c9 don't overlap Select and Deselect, fix deselect prims account 2016-07-13 15:56:01 +01:00
UbitUmarov 981980150c ignore camera on culling for now 2016-07-13 14:18:06 +01:00
UbitUmarov 7131703244 ugly culling 2016-07-13 14:00:33 +01:00
UbitUmarov 2220ceb522 a few changes to culling 2016-07-13 02:07:07 +01:00
UbitUmarov abf423e361 be nicer to PIs (actually linux) 2016-07-12 23:23:47 +01:00
UbitUmarov 3507566692 reduce some locks on culling checks 2016-07-12 22:15:39 +01:00
UbitUmarov a92266d58e fix ObjectPropertiesFamilyPacket LastOwnerID 2016-07-10 19:05:19 +01:00
UbitUmarov f768effa87 move object inventory send to udp queue asset ( was task). Remove a call
to RefreshGroupMembership() on start. It was too soon and its Groups
module job
2016-07-07 12:23:53 +01:00
UbitUmarov 06b412c980 the bug was actually here 2016-07-06 17:32:59 +01:00
UbitUmarov c02fe98b7d add test option ObjectsCullingByDistance. In future, if true, it may
prevent sending objects outside view range to viewers. DO NOT SET TRUE
 unless testing it. Code still not completei!!!
2016-07-06 16:13:27 +01:00
Melanie Thielker 4468aa0dcf Merge branch 'master' of opensimulator.org:/var/git/opensim 2016-07-04 03:37:45 +01:00
Melanie Thielker ea8f3c83bf Finally remove the requirement for an InventoryItem/FolderBase object to
be passed into inventory queries.
This makes the API more homogenous and also will more clearly show
coding
errors related to HG inventory where the .Owner field has a meaning
for a query but wasn't always set.
2016-07-04 03:35:48 +01:00
UbitUmarov a6ee06d630 dont send bad profiles to viewer 2016-07-02 13:53:17 +01:00
UbitUmarov 7991bb08f1 reduce absurd viewers blind retries of GroupProfileRequest 2016-07-02 00:18:29 +01:00
UbitUmarov 3af437c8bc cleanup a bit 2016-07-01 19:20:04 +01:00
UbitUmarov 7b7483ec7e save one call to grid to get agent groups powers (xmlrpcgoups only for now 2016-07-01 18:38:38 +01:00
UbitUmarov aa744eecf2 add a few methods to modify clientview group powers 2016-07-01 18:19:09 +01:00
UbitUmarov 1777324a86 cleanup a bit AgentGroupDataUpdate sending 2016-07-01 17:31:31 +01:00
UbitUmarov 9358a6ad29 revert several changes to groups modules (agentGroupData is private). change interregions invite/eject messages, etc 2016-07-01 16:10:45 +01:00
Melanie Thielker 8e40bb6fb7 Make some more modules inheritable 2016-06-21 01:46:38 +02:00
Diva Canto 8d99fe095a Mantis #7920: group info was not being updated in many situations. (regression) Putting back the heavy messaging. 2016-06-19 17:35:11 -07:00
Diva Canto 4f3da0a643 AgentGroupData was being sent by both UDP and EQ -- an overkill. Turn off UDP messaging. 2016-06-19 16:28:27 -07:00
Diva Canto 76ab1ed10c Restored sending group membership data via EventQueue -- this had been a regression. Took the opportunity to refactor that code, so that both Groups V2 and XmlRpcGroups can use the same function. 2016-06-19 16:27:12 -07:00
Diva Canto 12b73603cc Still related to mantis #7917, parcel prims info. Now sending the correct numbers for "Simulator primitive usage" related to the parcel owner, not the entire region. 2016-06-19 09:17:04 -07:00
Diva Canto ce7fa728ef Mantis #7917: regression on prim limits module. 2016-06-18 22:07:01 -07:00
Melanie Thielker cdfbf78d07 Fields should be protected unless private is required 2016-06-14 01:27:48 +02:00
Melanie Thielker 68c73951ef Make the LLUDPServerShim inheritable. There is absolutely no reason for
this to be sealed!
2016-06-14 01:21:47 +02:00
Diva Canto 3ef5e1a24b Mantis #7923. EDIT BEAMS ARE BACK! 2016-06-12 22:01:36 -07:00
Diva Canto 42a9afdc43 Mantis #7858: DeleteSceneObject done slightly differently. ProcessEntities now checks whether the objects have been deleted and, if so, sends an extra kill object packet, in order to compensate for potential race conditions encountered by the first one.
Note: I still cannot reproduce this problem, but I was able to emulate it by adding an artificial delay on ProcessEntities, which did, indeed, result in objects not being deleted. This fix fixed my emulated scenario.
2016-06-12 12:23:52 -07:00
Melanie Thielker d42de53dda Allow default permissions from the viewer to be applied to uploaded objects.
Make inventory items reflect coorect permissions immediately unstead of after relog
2016-04-29 21:23:32 +02:00
Melanie Thielker 995655c445 Make the SimulatorFeaturesModule nonshared as it ought to be from it's code structure. 2016-04-27 00:48:56 +02:00
Melanie Thielker 8e772fde7f Remove debug spam 2016-03-15 02:36:06 +01:00
Melanie Thielker 1697f3e0c2 Finish plumbing RezRestoreToWorld. 2016-03-09 02:52:45 +01:00
Melanie Thielker 43ca32150c Plumb RezRestoreToWorld from the client (part done) 2016-03-09 02:45:11 +01:00
Melanie Thielker 57b6398b71 Make mesh upload respect the same parts maximum as what is set for the
simulator
2016-03-05 22:30:02 +01:00
Melanie Thielker 110297793c Fix a couple of typos 2016-03-05 22:22:09 +01:00
Diva Canto ab12a14279 Pushed AssemblyVersion up to VersionInfo, so that we don't need to do global replace anymore. 2016-02-21 11:14:02 -08:00
UbitUmarov 844266c4d5 change the return list of objects costs, sending a answer if none found 2015-12-20 11:43:27 +00:00
UbitUmarov bdab95f1d2 dont try to process packets for deleted clients 2015-12-09 22:57:13 +00:00
UbitUmarov bbe55df6c6 disable useless and totally wrong incoming Pools 2015-12-09 22:32:48 +00:00
UbitUmarov f7a29ad8b5 minor cleanup 2015-12-09 16:42:24 +00:00
UbitUmarov 8314987474 tick region health a bit faster 2015-12-09 16:27:59 +00:00
UbitUmarov 3ca4b6f319 fix the queue type in use 2015-12-09 16:26:03 +00:00
UbitUmarov eccec66359 fix the queue type in use 2015-12-09 16:12:21 +00:00
UbitUmarov ca026ac735 fix the default shape type on upload, it is always convex 2015-11-29 00:19:25 +00:00
Diva Canto cade717b5f Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2015-11-27 08:24:39 -08:00
Diva Canto 5b7a585b4f Sometimes the viewer sends a null string as mapName; this made the client thread throw an exception with unexpected behavior for users (nothing happens). This commit gives it a sane default: it assumes we're looking for a position in the current region. 2015-11-27 08:22:30 -08:00
UbitUmarov 3029080d9b change threading on GetTexture and getMesh and WebFetch Modules. 2015-11-27 07:38:54 +00:00
UbitUmarov f16d36627f change threading on GetTexture and GetMesh NonSharable region modules 2015-11-27 05:00:11 +00:00
UbitUmarov 88b3545ec3 add a missing override 2015-11-21 19:56:57 +00:00
UbitUmarov 156fdd4908 remove some duplicate using statements 2015-11-21 01:49:31 +00:00
UbitUmarov 36426b0db2 remove some compile warnings increasing total number by 2 2015-11-21 00:49:43 +00:00
UbitUmarov bbfeca4b0c work around some 'tests' errors: a new event queue has a few null events 2015-11-17 06:19:45 +00:00
Diva Canto f5799ff445 That didn't actually do anything for Simian, and it broke the locahost
case
Revert "Also restoring proper function for Simian external GetTexture functionality."

This reverts commit 366e81b977.
2015-11-14 08:10:27 -08:00
UbitUmarov adda0ab7d8 limit llDialog buttons text to 24 bytes (at lludp level) 2015-11-11 05:55:34 +00:00
UbitUmarov 188b2d84c1 increase the number of packets in Land queue that force terrain to delay patchs sending. 2015-11-10 23:50:00 +00:00
UbitUmarov e096b49dd7 check if a packet can be sent imediatly without accounting it as sent on throttles when it is enqueued for later send. 2015-11-10 23:17:56 +00:00
UbitUmarov 40cb83b555 make m_minimumDripRate a bit larger than mtu. Add a bucket space check that does not consume avaiable space, so reducing bandwidth 2015-11-10 22:50:20 +00:00
UbitUmarov 38aad774f7 change lldialog and llTextBox maximum message lenght to 512 bytes as specification. 2015-11-10 14:47:36 +00:00
UbitUmarov 69fefd1d00 send the estimation of time dilation at packet build time, not the one at unknown past. 2015-11-06 21:27:42 +00:00
Melanie Thielker 69585a4824 More plumbing of the EntityTransferContext (not yet complete) 2015-11-01 19:11:14 +01:00
UbitUmarov 6821ace3c6 add basic SendFindAgent() to lludp. Future use may require a list of pairs (X,Y). For now one pair is good enough. 2015-10-26 21:56:02 +00:00
Diva Canto 59b63b6406 On to 0.8.3!
Conflicts:
	OpenSim/Region/PhysicsModules/ConvexDecompositionDotNet/Properties/AssemblyInfo.cs
2015-10-18 21:51:49 -07:00
Diva Canto 366e81b977 Also restoring proper function for Simian external GetTexture functionality. 2015-10-14 14:45:21 -07:00
UbitUmarov 6e12836d71 change copyright to opensim 2015-09-28 13:08:46 +01:00
UbitUmarov 04b32e1982 let SendAvatarGroupsReply fall back to UDP if no caps and make use of it 2015-09-27 07:07:40 +01:00
UbitUmarov 18536b4be6 add missing SendAgentGroupDataUpdate to llClientView 2015-09-27 06:38:19 +01:00
UbitUmarov 1e23b3482c AvatarGroupsReply message does not have ListInProfile fields 2015-09-27 06:21:38 +01:00
UbitUmarov 13b8b17b9a we still don't have extended wind and cloud neither do viewers 2015-09-24 20:55:39 +01:00
UbitUmarov a6b8eb7bca some cleanup on terrain encoder 2015-09-24 19:11:17 +01:00
UbitUmarov 8fde2fb901 slow down terrain sending so other users of LAND queue do have a chance to send things 2015-09-24 00:35:06 +01:00
UbitUmarov ccfb561e8d change the encapsulation of compressed land patchs in llUDP packets 2015-09-23 00:01:32 +01:00
UbitUmarov 778793d77f fix GetPacketsQueuedCount typos in last commit 2015-09-22 19:24:58 +01:00
UbitUmarov ae70f61a64 let minimum wqburst be a bit larger than MTU 2015-09-22 18:56:03 +01:00
UbitUmarov a8dc07ff5c removed a protocol breaking lludp debug option that no one should try, changed terrain send throotle to be by packets in queue, reduced odds of MTU violation on terrain send (still bad). Most UDP protocol implementations may not mind much, but our code still does 2015-09-22 18:39:59 +01:00
UbitUmarov a81a1865b5 coment out lludp debug things that only fill up the help screen 2015-09-21 12:13:59 +01:00
UbitUmarov 118aff520e try to better merge avn and os fetchinventory and fetchinvdescendents 2015-09-12 06:10:52 +01:00
UbitUmarov 08187cb599 inventory mess return to the state before divas cache issue 2015-09-11 20:40:10 +01:00
UbitUmarov 7841628313 change to avn fecthinventory and webfecth.. code 2015-09-11 16:25:46 +01:00
UbitUmarov 5b3e2ab9aa Merge branch 'mbworknew1' into ubitworkvarnew 2015-09-08 15:03:22 +01:00
Robert Adams e5367d822b Merge of ubitworkvarnew with opensim/master as of 20150905.
This integrates the OpenSim refactoring to make physics, etc into modules.
AVN physics hasn't been moved to new location.
Does not compile yet.

Merge branch 'osmaster' into mbworknew1
2015-09-08 04:54:16 -07:00
UbitUmarov 7276a89ddd recover opensim m_sendTerrainUpdatesByViewDistance. if false do as opensim (slower since it depended on sending terrain as TASK). if true send by view range and also all terrain at arrival 2015-09-07 11:23:00 +01:00
UbitUmarov d9fafd9603 fix the missing initialization of the folish ProcessUnackedSends option 2015-09-06 17:12:31 +01:00
Diva Canto dac8edd5dd Transformed the LLUDP ad-hoc plugin into a region module. It works. 2015-09-03 15:59:06 -07:00
UbitUmarov cdaed11387 at last we can login and see objects ( friends is dead and disable in
scenepresence)
2015-09-03 18:39:08 +01:00
UbitUmarov a11edceb00 seems to compile ( tests comented out) 2015-09-02 19:54:53 +01:00
UbitUmarov 371c9dd2af bad merge? 2015-09-01 14:54:35 +01:00
UbitUmarov efc062b0cc send land parcels overlay in cat Land not Task, or avatar freezes 2015-08-28 03:34:28 +01:00
UbitUmarov f9efa23d5e remove the rest of #justEditedTerrain, it was sending patchs non
conforming to protocol, and no longer in agreement with how patchs are
 schedule to send
2015-08-27 21:30:51 +01:00
UbitUmarov c7ddb790a7 change osd encoding of region size 2015-08-27 04:45:16 +01:00
UbitUmarov e2cfc73293 NEVER EVER SEND TERRAIN PATCHS AS UNRELIABLE!!!!!!!!!!!!!!!!!!!!!!!!!!
this costed me hours :P
2015-08-26 15:20:18 +01:00
UbitUmarov 018d855f28 turn off KeepAlive 2015-08-24 07:38:33 +01:00
UbitUmarov e3d82ad706 delay terrain sending if land queue is 2 busy 2015-08-22 04:08:30 +01:00
UbitUmarov 9a0040d67c put back entities remove from updates on SendKillObject. 2015-08-19 20:38:49 +01:00
UbitUmarov 0b105da626 Merge branch 'mbworkvar2' into ubitvar 2015-08-19 08:48:50 +01:00
UbitUmarov fd82a0a0b7 add a Retry-After response header to the 503 sent when we are 2 busy to do
the request. just 503 could mean server down (?)
2015-08-19 00:26:43 +01:00
UbitUmarov 05d72f77ff do keepalive on mesh and texture GET. Dont use reusecontext any where.
setting of keepalive is wrong, it should follow the requested one ( or
always as http1.1) only deny if needed (errors). KeepAlive may increase
stress on number of avaiable file descritors.
2015-08-18 21:32:03 +01:00
Drake Arconis d70db51466 Only send the requested ObjectPropertiesFamily in the RequestObjectPropertiesFamily reply and not the actual ObjectProperties packet
Signed-off-by: Diva Canto <diva@metaverseink.com>
2015-08-14 19:19:49 -07:00
Melanie Thielker 1fb2f0296f Track selected objects per client 2015-08-15 02:46:41 +02:00
Oren Hurvitz 20af31f18e Fixed mistakes related to confusion between Environment.TickCount (milliseconds) and TimeSpan.TicksPerXXX (10000 x milliseconds) 2015-08-11 07:35:40 +01:00
Diva Canto 959872315f WARNING: massive refactor to follow libomv's latest changes regarding inventory folders. The newest version of libomv itself is committed here. Basically, everything that was using the AssetType enum has been combed through; many of those uses were changed to the new FolderType enum.
This means that from now on, [new] root folders have code 8 (FolderType.Root), as the viewers expect, as opposed to 9, which was what we had been doing. Normal folders are as they were, -1. Also now sending folder code 100 for Suitcase folders to viewers, with no filter.
All tests pass, but fingers crossed!
2015-08-08 12:12:50 -07:00
Diva Canto 017d2cf417 Bug fix in inventory fetching: sometimes the caps request comes before there is a scene presence, and that's ok. 2015-06-17 15:55:07 -07:00
Diva Canto f27ce66877 Squooshed a warning that could result in a runtime null pointer exception. It says that code is for debugging, but it was buggy. 2015-06-14 08:18:21 -07:00
Cinder 3853904b80 Quell three new warnings I introduced with AgentPrefsData, return an empty llsd map instead of an empty llsd block when no AgentPrefs service is available to try and appease Firestorm
Signed-off-by: Diva Canto <diva@metaverseink.com>
2015-06-14 07:59:25 -07:00
Cinder 044654b5a9 Guard against scenes without an agent prefs service and a copy and paste fix
Signed-off-by: Diva Canto <diva@metaverseink.com>
2015-06-13 13:37:08 -07:00
Diva Canto 7f1a73cbda Fixed indentation 2015-06-13 10:27:48 -07:00
Diva Canto bcb8a7d7f9 A few bug fixes for Agent Preferences to actually work. Also added missing config for standalone. 2015-06-13 08:36:06 -07:00
Cinder 0fa94f222d Refactor AgentPreferences so that database operations happen centrally. the opensim way.
Signed-off-by: Diva Canto <diva@metaverseink.com>
2015-06-13 07:27:42 -07:00
Cinder c1ddb7f05e Relicense AgentPreferences files to BSD and OpenSimulator
Signed-off-by: Diva Canto <diva@metaverseink.com>
2015-06-13 07:27:26 -07:00
Cinder 6f71d5c2c6 Support for Linden AgentPreferences capability and friends (UpdateAgentLanguage and UpdateAgentInformation) and Mantis #7157
Signed-off-by: Diva Canto <diva@metaverseink.com>
2015-06-13 07:27:01 -07:00
Melanie Thielker 7aa171e49f Maybe reduce incidence of ghost avatars 2015-06-12 03:16:09 +02:00
Diva Canto bac53387a9 Mantis #7567: added an 8-sec expiring item cache to the inventory network connector. This fixed the problem on my local test grid and generally made things faster. This cache has been needed for a while... there are many parts in the code where the sim gets an item multiple times in a short amount of time (rezzing attachs and objects, for example).
Other minor changes:
- added the scene as a parameter to the constructor od FetchInvDescHandler, so that I could see in which scene the handler was being called
- brought linked items in linked folders back to being prefetched
2015-06-03 17:42:41 -07:00
dahlia 6a48c87cd2 resolve possible nullref when sending appearance packet. Thanks to zadark for pointing this out. 2015-05-13 15:59:58 -07:00
Diva Canto c74cef0f42 Major change in the way inventory is downloaded: added a method throughout IIventoryService that fetches sets of folders at once. Also added folder id in the InventoryCollection data structure, so that we don't need to go to inventory server again just for that. This reduces the chatter between sims and inventory server by... a lot. On my tests, this reduces initial inventory download down to 30% of what it currently is. 2015-05-07 19:24:08 -07:00
Diva Canto 8676b017b2 Attempt at fixing mantis #7054. The two inventory threads are stepping on each other's feet. This needs real-world testing, as I'm not sure of all the consequences of reducing the number of worker threads to 1. 2015-05-05 21:28:27 -07:00
Diva Canto da32512ea4 Updated all occurrences of AssemblyVersion("0.8.1.*") to AssemblyVersion("0.8.2.*") 2015-04-29 18:47:17 -07:00
BlueWall 38459104eb Revert "Revert "Fix the click to buy prim dialog not being displayed with alpha viewers after recent changes to viewer code by LL.""
This brings back the fix for recent viewer click to buy prim dialog which was reverted after some reports of objects being altered when touched.
2015-04-28 09:36:56 -05:00
BlueWall d80230adcd Revert "Fix the click to buy prim dialog not being displayed with alpha viewers after recent changes to viewer code by LL."
See: http://opensimulator.org/mantis/view.php?id=7426#c28089

Reverting this commit due to unwanted effects.
2015-04-27 15:46:09 -05:00
AliciaRaven cde4e7ec86 Fix the click to buy prim dialog not being displayed with alpha viewers after recent changes to viewer code by LL.
Recent viewer changes by linden lab now require more information when requesting prim tooltip data. The object properties must now be sent when the viewer requests the object family properties used to display the tool tip. Thanks to Liru for finding the viewer commit that broke this feature in OS.

Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2015-04-25 00:06:48 -05:00
Robert Adams c5a7bf6601 varregion: add varregion and TerrainData use in LLClientView.
Add sending multiple parcel patches and sending patches by avatar
view distance.
2015-03-28 08:30:52 -07:00
Robert Adams 08c72a8dc1 varregion: remove use of Constants.RegionSize is various places.
More use of the Util routines for conversion of region handles into addresses.
2015-03-28 07:50:04 -07:00
Freaky Tech 4de10a45e9 revised GetMesh to not use intermediate base64 coding scheme
it delivers binary and has binary as input.
base64 intermediate coding makes no sense.

Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2015-03-05 18:15:42 -05:00
BlueWall 96b87407f1 Revert "removed replacement texture in UDP Texture code. The replacement texture introduces false data into viewer cache. Removing that decreases the necessity for clearing the viewer cache. The viewer knows with ImageNotInDatabase that it is missing and can therefore know what to do about it a lot better than the sim does."
This reverts commit 4d749d8c69.

Re-open mantis 0007474 for further work before final commit.
2015-03-04 14:36:26 -05:00
Freaky Tech 53100b93c7 corrected bug that viewer cannot correctly fetch ItemData when being a HG visitor
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2015-03-03 19:09:30 -05:00
Freaky Tech 4d749d8c69 removed replacement texture in UDP Texture code. The replacement texture introduces false data into viewer cache. Removing that decreases the necessity for clearing the viewer cache. The viewer knows with ImageNotInDatabase that it is missing and can therefore know what to do about it a lot better than the sim does.
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2015-03-03 16:09:57 -05:00
Freaky Tech c6731c73fb increased IPv4 TTL of LLUDP Sockets
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2015-03-03 15:34:34 -05:00
BlueWall cfa4e6642e Handle kick user from estate management tools 2015-03-01 20:48:51 -05:00
Justin Clark-Casey (justincc) 7a86b01226 Make any exception that gets to LLClientView.ProcessSpecificPacketAsync() tells us the exception type as well as the message and stacktrace details. 2015-02-19 23:09:43 +00:00
Justin Clark-Casey (justincc) 155da5aad2 Add debug ability to ignore reliably sent packets that are not acknowledged.
This is controlled via the console command "debug lludp client set process-unacked-sends true [<avatar-first-name> <avatar-last-name>]"
For debug purposes to see if this process for very bad connections is causing general outbound udp processing delays.
Relates to http://opensimulator.org/mantis/view.php?id=7393
2015-01-21 20:31:42 +00:00
Justin Clark-Casey (justincc) 372a7bf78e minor: Comment out log line for the SimulatorFeatures cap request for now to reduce log verbiage. Please revert if still required. 2015-01-21 00:34:51 +00:00
Diva Canto 8cc590cf80 And finally renamed the classes themselves. 2015-01-13 22:21:50 -08:00
Justin Clark-Casey (justincc) 55e081548c Fix bug where gathering the clientstack..OutgoingPacketsQueuedCount stat would fail with a casting exception for scenes with NPCs
Present since 51eb8fa (Oct 2 2014)
2015-01-13 19:27:29 +00:00
Justin Clark-Casey (justincc) 8e1e8a0920 Make the performance controlling job processing threads introduced in conference code use a generic JobEngine class rather than 4 slightly different copy/pasted versions. 2015-01-12 20:56:37 +00:00
Diva Canto 2fd252f5a9 SimulatorFeatures: the viewer also takes GridName in OpenSim extras. Added that (plus GridURL, in case viewers want to use it too) to the GridService that gives out that info to simulators. 2015-01-10 10:32:33 -08:00
Diva Canto e2dd15625f Added GetDisplayNames capability. For now, we don't actually use display names, and this cap returns the regular name. But this moves the server side into the newer, preferred, protocol used by the viewer for fetching the names of agents in the scene given their UUIDs. (the old protocol is via UDP). This works fine in my limited tests, but could use further testing by others. 2015-01-09 08:31:56 -08:00
Mic Bowman bc7570e59c Merge branch 'mb-throttle-test'
Merge in the new throttle code.
2014-12-30 16:26:57 -08:00
Diva Canto 2138d5c7f8 Renamed VERSION_NUMBER to VersionNumber 2014-12-30 15:27:28 -08:00
Mic Bowman 5bb73793c7 Comment out the debugging statements added in the last commit. Keeping
them in the code for later use rather than just reverting them.

Fixed the throttle tests for the new algorithm used when packets
are marked as expired.
2014-12-30 14:43:42 -08:00
Diva Canto 7466ef0525 This cleans up versioning. Specifically:
- It establishes 4 digits for opensim versions
- It uses the same number between opensim releases and mono addins versions

It also eliminates the last addin.xml files that were still there, for consistency.
2014-12-30 12:53:31 -08:00
Mic Bowman 58229a968b Turn on logging of old acks, this is for debugging only, stats version coming later 2014-12-30 10:50:34 -08:00
Mic Bowman c06100c31f Another technique inspired by some of the newer flow control algorithms... rather
than drop exponentially to 0 (and then adjust up for the minimum flow), drop on
the delta between current rate and the minimum rate. This should smooth the fallback
to minimum.
2014-12-30 10:39:14 -08:00
Mic Bowman 75df04f0b3 Fix the throttle tests. Remove the hardcoded constant multipliers and
compute the expected values without depending on the token bucket code.
2014-12-30 10:03:37 -08:00
Diva Canto 2506728e35 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2014-12-30 07:59:09 -08:00
Diva Canto 5cf6a6f830 WARNING: BREAKING CHANGES FOR REGION MODULE DEVELOPMENT.
This cleans up Opensim's use of mono addins. In particular, the extension points /OpenSim/RegionModules and /OpenSim/WindModule moved from OpenSim.exe to OpenSim.Region.Framework.dll. From here on, developers of region modules should declare their dlls to be dependent on OpenSim.Region.Framework, starting with version 0.8.1
Additional changes:
- Addins version uniformly updated to 0.8.1. These numbers should be compatible with the release numbers or else it becomes very confusing.
- Mono addins directives moved from files addins.xml to embedded directives in the class and assembly declarations, to make it all consistent
2014-12-30 07:58:42 -08:00
Mic Bowman bda8f2a2c1 Change the effect of successfully acknowledged packets to bump the
adaptive throttle by a full MTU. This is consistent with some implementations
of congestion control algorithms and certainly has the effect of opening
the throttle window more quickly after errors. This is especially important
after initial scene load when the number and size of packets is small.
2014-12-29 23:19:10 -08:00
Mic Bowman 041a09ecb9 Enable runtime configuration of the minimum rate for adaptive
throttles. Setting adaptive_throttle_min_bps will change the
minimum rate that the adapative throttles will drop to in case
of network packet loss. The current rate default rate is 256kbps.
The viewer can throttle rates under that amount, but the dynamic
adaptation will not.
2014-12-29 18:46:33 -08:00
Justin Clark-Casey (justincc) 5410e4f1f9 minor: correct sent -> set in TokenBucket.RequestedDripRate method doc 2014-12-30 00:53:17 +00:00
Diva Canto 89c1ac4cff Updated OpenSim-as-addin version from 0.5 to 0.8.1. The addin version number doesn't need to match the release version number, but I think it's a very good idea that they do. 2014-12-29 15:05:44 -08:00
Mic Bowman e71549a2cb Add debugging code for simulating packet loss in outgoing UDP packets. The
algorithm for dropping packets is a modified two state algorithm for creating
bursts of dropped packets. As configured there is about a 1.5% drop rate.

Invocation of the packet loss code is commented out by default.
2014-12-29 12:02:36 -08:00
Justin Clark-Casey (justincc) 265fe349e0 Somewhat improve avatar region crossings by properly preserving velocity when avatar enters the new region.
This commit addresses the following issues were causing velocity to be set to 0 on the new region, disrupting flight in particular
* Full avatar updates contained no velocity information, which does appear to have some effect in testing.
* BulletSim was always setting the velocity to 0 for the new BSCharacter.  Now, physics engines take a velocity parameter when setting up characters so we can avoid this.
This patch applies to both Bullet and ODE.
2014-11-29 00:12:11 +00:00
Justin Clark-Casey (justincc) 86367d7219 refactor: Move methods to start a monitored thread, start work in its own thread and run work in the jobengine from Watchdog to a WorkManager class.
This is to achieve a clean separation of concerns - the watchdog is an inappropriate place for work management.
Also adds a WorkManager.RunInThreadPool() class which feeds through to Util.FireAndForget.
Also switches around the name and obj arguments to the new RunInThread() and RunJob() methods so that the callback obj comes after the callback as seen in the SDK and elsewhere
2014-11-25 23:56:32 +00:00
Justin Clark-Casey (justincc) 20cede12a9 Fix ghosts copy of SimulatorFeatureModule to enable logging. 2014-11-25 23:28:38 +00:00
Justin Clark-Casey (justincc) d6c9705a3b Add incoming packet async handling engine to queue some inbound udp async requests.
This is to reduce the potential for overload of the threadpool if there are many simultaneous requets in high concurrency situations.
Currently only applied to AvatarProperties and GenericMessage requests.
2014-11-25 23:23:11 +00:00
Justin Clark-Casey (justincc) ec8d21c434 Label all threadpool calls being made in core OpenSimulator. This is to add problem diagnosis.
"show threadpool calls" now also returns named (labelled), anonymous (unlabelled) and total call stats.
2014-11-25 23:23:10 +00:00
Justin Clark-Casey (justincc) 5d5ea9234f Stop Mono 3.2.8 from binding a UDP socket to a port already in use.
At least on Mono 3.2.8 (but not under Windows), one can bind multiple UDP sockets to the same port by default.
Different simulators cannot demultiplex each other's messages, so a set of confusing non-obvious errors arise if this occurs.
This change prevents such multiple binding.
2014-11-25 23:23:09 +00:00
Justin Clark-Casey (justincc) 5ab5d7fe47 Fix recent regression where adaptive throttles stopped adjusting.
Extends regression tests to test response of adaptive throttles to ack'ed and expired packets.
2014-11-25 23:22:20 +00:00
Justin Clark-Casey (justincc) b2e377f168 Fix setting of max scene throttle so that setting it restricts the child client throttles properly.
In "show throttles", also renames 'total' column to 'actual' to reflect that it is not necessarily the throttles requested for/by the client.
Also fills out 'target' in non-adapative mode to the actual throttle requested for/by the client.
2014-11-25 23:22:20 +00:00
Justin Clark-Casey (justincc) b114f5626e Add request drip rate to assertions for token bucket regression tests 2014-11-25 23:22:20 +00:00
Justin Clark-Casey (justincc) 8a949f0ee1 Add regression tests for token buckets on their own 2014-11-25 23:22:20 +00:00
Justin Clark-Casey (justincc) ec3b43d28d Make regression throttle tests consistently test target and max throttle settings.
As part of this also refactors code to put all throttle asserts in a single regression test method
2014-11-25 23:22:20 +00:00
Justin Clark-Casey (justincc) e6af551007 For now, send all non-full terse updates for ones own avatar directly to the LLUDP client stack rather than queueing internally within LLClientView.
When an HG avatar enters a scene, it delays processing of entity updates.  Could be crowding out by other updates or something else.
This delay in ones own av mvmt updates results in mvmt lag experienced on the client.  Avoiding the internal LLClientView for these packets appears to resolve this issue.
Appears most noticeably for avatars with attachments, though has also been seen on those without sometimes.  Hasn't been observed for non-HG avatars in general.
Will be investigating exactly what the problem is, at which point there will be a more permanent solution.
2014-11-25 23:22:20 +00:00
Justin Clark-Casey (justincc) 10095c1a58 Add "debug lludp throttles get/set request" and get current
This allows one to set the requested throttle (which normally comes from the client) as opposed to the max.
2014-11-25 23:22:19 +00:00
Justin Clark-Casey (justincc) 61d6bd78b3 Change the word order of some debug lludp settings for readability
On server, scene-throttle-max becomes max-scene-throttle and likewise max-new-client-throttle
On clients, throttle-max becomes max
2014-11-25 23:22:19 +00:00
Justin Clark-Casey (justincc) 44dc58cc7f Add "debug lludp get/set new-client-throttle-max" to allow default new client throttle to be set separately from existing clients.
"debug lludp throttles get/set throttle-max" now only gets and sets current max client throttles
2014-11-25 23:22:19 +00:00
Justin Clark-Casey (justincc) 68d0c4d37b Add "debug lludp get" command which currently just shows scene-throttle-max to mirror "debug lludp set"
Information is also available in "show server throttles" but that's more for non-debug info rather than attempting to get and set parameters on the fly for debug purposes.
2014-11-25 23:22:19 +00:00
Justin Clark-Casey (justincc) 16a5e15443 Allow GetMesh capability to be served directly by a server like GetTexture
To do this required GetMesh to be converted to a BaseStreamHandler
Unlike GetTexture connector, no redirect URL functionality yet (this wasn't present in the first place).
2014-11-25 23:21:38 +00:00
Justin Clark-Casey (justincc) d33964222a Fix an issue where specifying both max client and server outgoing UDP throttles would cause client throttles to be lower than expected when total requests exceeded the scene limit.
This was because specifying a max client throttle would always request the max from the parent server throttle, no matter the actual total requests on the client throttle.
This would lead to a lower server multiplier than expected.
This change also adds a 'target' column to the "show throttles" output that shows the target rate (as set by client) if adaptive throttles is active.
This commit also re-adds the functionality lost in recent 5c1a1458 to set a max client throttle when adaptive is active.
This commit also adds TestClientThrottlePerClientAndRegionLimited and TestClientThrottleAdaptiveNoLimit regression tests
2014-11-25 23:21:38 +00:00
Justin Clark-Casey (justincc) ead32de790 Use automatic properties for Parent and TotalDripRequest in TokenBucket to make code analysis easier. No functional change. 2014-11-25 23:21:37 +00:00
Justin Clark-Casey (justincc) 40314b56f2 Remove the unnecessary intermediate total token bucket.
This only had one child, which is the 'adaptive' token bucket.
So from testing and currently analysis, we can use that bucket directly which simplifies the code.
2014-11-25 23:21:37 +00:00
Justin Clark-Casey (justincc) a98b514184 minor: remove compiler warning from unused field in SimulatorFeaturesModule 2014-11-25 23:21:37 +00:00
Justin Clark-Casey (justincc) df031fe8be extend TestClientThrottleRegionLimited for 2 clients after testing 1. Renames to TestSingleClientThrottleRegionLimited() 2014-11-25 23:21:37 +00:00
Justin Clark-Casey (justincc) dce98acb69 Add regression test TestClientThrottleRegionLimited() for testing simple behaviour of throttles where a region-wide total outbound limit is in place. 2014-11-25 23:21:37 +00:00
Justin Clark-Casey (justincc) 075f718f3f factor out common throttle setting byte[] array construction in ThrottleTests. 2014-11-25 23:21:37 +00:00
Justin Clark-Casey (justincc) 9cdd38d0cf Add regression test TestClientThrottleLimited() for throttle behaviour when a max client total limit is enforced server-side 2014-11-25 23:21:37 +00:00
Justin Clark-Casey (justincc) fc878a33ed refactor: consistently put all test classes in the OpenSim.Tests.Common package rather than some in OpenSim.Tests.Common.Mock
the separate mock package was not useful and was just another using line to always add
2014-11-25 23:21:37 +00:00
Justin Clark-Casey (justincc) af0a851eba minor: disable logging in regression test TestClientThrottleSetNoLimit 2014-11-25 23:18:40 +00:00
Justin Clark-Casey (justincc) 9934e2c545 minor: comment out unused method in regression BasicCircuitTests 2014-11-25 23:18:40 +00:00
Justin Clark-Casey (justincc) 746defa094 Add basic regression test ThrottleTests.TestClientThrottleSetNoLimit 2014-11-25 23:18:40 +00:00
Justin Clark-Casey (justincc) 52370ac94d refactor: Move test clientstack setup code out of BasicCircuitTests into OpenSim.Tests.Common.ClientStackHelpers 2014-11-25 23:18:40 +00:00
Justin Clark-Casey (justincc) 87d5da86a1 Fix recent regression in "debug lludp throttles get" command that stopped it printing any information. Also fix max throttle displayed to be properly kbps 2014-11-25 23:18:40 +00:00
Justin Clark-Casey (justincc) a13022c296 minor: in "show server throttles", display unset if new client throttle value is not set rather than 0 2014-11-25 23:18:40 +00:00
Justin Clark-Casey (justincc) 44e0a2f906 Add throttle-max option to "debug lludp throttles set" to allow runtime setting of default and existing client throttles.
Doesn't yet adjust until clients submit new throttle settings.
2014-11-25 23:18:40 +00:00
Justin Clark-Casey (justincc) 5c13980eb7 Change "debug lludp throttle *" commands to "debug lludp throttles" for consistency (and because I keep typing throttles).
This will still work with "debug lludp throttle" anyway.
2014-11-25 23:18:40 +00:00
Justin Clark-Casey (justincc) d20aeefef2 Fix console set and get of max scene rate. Was performing wrong calculation - throttle buckets are set in bytes, not bits 2014-11-25 23:18:40 +00:00
Justin Clark-Casey (justincc) 10d09e287c Eliminate 'max' throttle setting from server throttles report since this never applies. 2014-11-25 23:18:40 +00:00
Justin Clark-Casey (justincc) 679eaec22f Allow "debug lludp throttle *" commands to work without a user name, in which case they apply to all users in the lludp server 2014-11-25 23:18:39 +00:00
Justin Clark-Casey (justincc) a142edec03 minor: add apparant total to logging when client sets throttles 2014-11-25 23:18:39 +00:00
Justin Clark-Casey (justincc) c73e62ea3a minor: fix bug in throttle logging where arguments were mismatched 2014-11-25 23:18:39 +00:00
Justin Clark-Casey (justincc) 1d33a40f59 Add "debug lludp set scene-throttle-max <value>" console command to allow us to potentially set the scene max throttle on the fly. 2014-11-25 23:18:39 +00:00
Justin Clark-Casey (justincc) a5eabdade3 Move information about "server agent rate" throttles into "show server throttles" command rather than "show throttles"
THis allows us to see the rates when no client is connected to the region.
2014-11-25 23:18:39 +00:00
Justin Clark-Casey (justincc) c8f5add2fc Add "show server throttles" command for showing server specific information about throttles
This is separate from the user-oriented "show throttles" command since one will often only want to know about varying client throttle settings.
Currently displays max scene throttle and adaptive throttles config if set.
2014-11-25 23:18:39 +00:00
Justin Clark-Casey (justincc) 51eb8facd6 Add OutgoingPacketsQueuedCount clientstack stat.
This is the total of queued outgoing packets across all connections, as also seen in the "show queues" command.
Gives some early indication of whether the simulator can't send all outgoing packets fast enough.
Though then one would want to check that this isn't due to a few bad client connections.
2014-11-25 23:18:39 +00:00
Justin Clark-Casey (justincc) 4c5fbf8b0a minor: Remove compiler warnings from unused fields in TokenBucket 2014-11-25 23:18:39 +00:00
Justin Clark-Casey (justincc) 12daa3c3d9 refactor: Move LLUDPServer console commands into their own class. 2014-11-25 23:18:39 +00:00
Justin Clark-Casey (justincc) f0fd2fa325 refactor: rename "debug lludp throttle status" to "debug lludp throttle get" to match set command 2014-11-25 23:18:38 +00:00
Justin Clark-Casey (justincc) e144958e03 Add "debug lludp throttle set" command to allow setting of parameters at runtime
Can currently only set adaptive true|false, where adaptive = false
2014-11-25 23:18:38 +00:00
Justin Clark-Casey (justincc) cfc4055991 Make outboudn and packet inbox handling threads highest priority.
Will only have any affect under Windows or mono with a patch such as https://gist.github.com/justincc/31e52218d098529b4696 (not recommended) applied.
For assessment purposes.
2014-11-25 23:18:38 +00:00
Diva Canto 0997ce8629 Small improvements to SimulatorFeaturesModule: (1) don't overwrite extras if the grid response is invalid; (2) make the name of the config variable for destination guide consistent with the grid-wide name in LoginService; (3) account for the existence of a [USERID] in the destination guide URL 2014-11-22 20:14:09 -08:00
Melanie Thielker bec456c2a5 Remove the Invisible stuff and add more baked caching. Refactor selection of textures to save to Bakes module. 2014-11-11 07:09:30 +01:00
Melanie Thielker 64deb6ae6f Second part of invisible base avatar option 2014-11-10 19:49:58 +01:00
Melanie Thielker 785a2cc729 Remove JustinCCs UDP patch - it is harmful to Avination's grid management 2014-11-10 04:48:36 +01:00
Diva Canto ac051ef4ab Added grid information to SimFeatures response, so that the viewer can show it. 2014-11-06 17:49:04 -08:00
UbitUmarov caddabb5c4 scale ChildAgentThrottles with distance (internal to child server and not
root as was done before )
2014-11-06 22:25:16 +00:00
UbitUmarov ead78764ab allow drawdistance to change between 32 and MaxDrawDistance, configurable
value default to 256, so should have no effect. Next steps needed: reduce
 client udp Throttles with distance, update childreen connections with
 significat movement and view range changes, Make disconnect be delayed in time, make disconnects be receiving region action not sender on region changes. Allow distance less than 256 to only connect to visible regions, even none. Make this be relative to camera and not agent position or region centers as it is now.
2014-11-06 19:03:25 +00:00
UbitUmarov 5cca6e7d16 don't send updates for deleted agents 2014-11-01 00:01:11 +00:00
UbitUmarov ba8e1efb43 sadly revert to resend terseUpdates enqueuing them back into entityupdates
queue. Viewers fail to handle correctly out of order updates with ugly visible
effects. Make sure these packets don't include acks so they aren't lost.
2014-10-31 23:34:43 +00:00
UbitUmarov 54ab9e7d4d set udp SocketOptionName.ReuseAddress to false, to not allow two regions
to bind to same port, as seems to be possible at least with mono 3.2.8,
 same as patch just pushed to core by justin. This is not necessary on
 windows, possible a bug on some mono versions.
2014-10-30 21:57:20 +00:00
UbitUmarov 4571e5bc3e try to make SOG crossings full async. Simplify some borders checking.... 2014-10-24 18:10:28 +01:00
Melanie Thielker 12ebc92e55 Revert "*TEST* send udp sync. Stop uncontroled and hidden use of IO threads."
This reverts commit 8c41271b33.

Conflicts:

	OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs
2014-10-13 23:52:19 +02:00
UbitUmarov 33ec073320 revert to async send, since past experience showed sync didn't work when
on mono
2014-10-13 22:46:58 +01:00
UbitUmarov 8c41271b33 *TEST* send udp sync. Stop uncontroled and hidden use of IO threads.
Testing this may require several people.
2014-10-13 13:17:48 +01:00
UbitUmarov 9a3df6445e move AnimationSet and AvatarSkeleton to OpenSimExtras 2014-10-12 12:52:12 +01:00
UbitUmarov 39cfd82303 add simulator features AvatarSkeleton and AnimationSet report 2014-10-11 22:53:47 +01:00