Commit Graph

1704 Commits (50b81258a96640393fcda6833805a09cee8f2e5f)

Author SHA1 Message Date
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
UbitUmarov c3e88b7b38 changed skeleton, do parse the mesh on upload to check skeleton. Sooner or
later this parsing needs to validate the model cost also.
2014-10-11 22:41:59 +01:00
UbitUmarov cc71dd9a27 dont let test mesh go to meshes inventory folder that is not displayed by
viewers
2014-10-11 11:12:43 +01:00
UbitUmarov dab2e778d6 bug fix 2014-10-11 10:22:57 +01:00
UbitUmarov 1a6ef2d60e check for avatar skeleton data on meshs headers on cost estimation. Dont
let a model have more than one mesh with skeleton, for testing create a
 mesh inventory item, for this meshs. Add also option to read a avatar
 collider replacement. This information still needs to be saved somewhere
 so it can be checked on attachment, etc, without parsing the mesh asset again.
2014-10-11 10:01:26 +01:00
Justin Clark-Casey (justincc) c496bd57b4 minor: Comment out received seed caps request logging for now 2014-10-02 22:33:58 +01:00
Justin Clark-Casey (justincc) 43520b3e8b Add "debug lludp throttle status" command to return status information about a client's throttle (currently just whether adaptive is enabled). 2014-10-02 22:30:44 +01:00
Justin Clark-Casey (justincc) 05508b5c56 Add "debug lludp throttle log <level> <avatar-first-name> <avatar-last-name>" to control extra throttle related debug logging. 2014-10-02 22:30:44 +01:00
UbitUmarov 49bf83ecb8 do global position X and Y with double precision in autopilot, so
corrected viewers do work
2014-09-30 23:31:55 +01:00
UbitUmarov 46caea6987 change it again... 2014-09-26 15:03:33 +01:00
UbitUmarov 90cad82405 remove unnecessary argument ref 2014-09-26 14:22:54 +01:00
UbitUmarov fcad64209c make c# more happy 2014-09-26 14:17:01 +01:00
UbitUmarov 5f57b55dc9 use central animationset permitions define 2014-09-26 14:08:21 +01:00
Melanie Thielker 3a42ea5279 Extend upload verification to all upload paths 2014-09-25 21:21:20 +02:00
UbitUmarov 57166878b5 fix animation asset name to "animatn", use "animset" for the new
animationSet
2014-09-25 16:37:43 +01:00
UbitUmarov f51779bb05 add also the name animset until its clear the name liru will use 2014-09-25 14:10:44 +01:00
UbitUmarov 18cc33e2c5 add animationset to upload assets, for now no cost 2014-09-25 13:35:30 +01:00
Justin Clark-Casey (justincc) d3578e2662 Add "debug lludp data out" console command for logging outgoing data just before it's put on the wire.
Unlike "debug lludp packet" which logs at the point where OpenSim first asks the clientstack to send a certain outgoing packet, this logs immediately before the actual send.
For low-level debugging purposes.
2014-09-24 23:44:55 +01:00
Melanie Thielker 8014ce7f1a Fix a nullref in a debug message. If we have no SceneAgent, we can't output data from it. 2014-09-15 23:15:27 +02:00
Melanie Thielker d43d3df724 Reinstate closing the client if CloseAgen returns false. This was part
of the last Ubit patch.
2014-09-14 20:46:22 +02:00
UbitUmarov 3d9f25a19d revert changes to m_pendingCache and remove client close if there is no
SP, as requested
2014-09-14 02:28:42 +01:00
UbitUmarov 908e0e1cef do not use a blind expire of m_pendingCache. Entries must be valid while
respective HandleUseCircuitCode, no matter how long it takes, so a viewer
 retry doesnt start a overlapping one. It HandleUseCircuitCode
 responsability to always remove entries, even on fails. Remove a client
 even if m_scene.CloseAgent fails.
2014-09-13 20:37:20 +01:00
Melanie Thielker 42b2248960 If a client's SceneAgent is null, that client is not fully logged in or
crashed while logging out. Don't reuse it, create a new one.
2014-09-13 00:49:32 +02:00
Justin Clark-Casey (justincc) e4d16e6795 Make LLUDP output queue refill thread active by default, since load tests have shown that this has better scalability.
For testing, previous behaviour can be restored with the console command "debug lludp oqre stop" at runtime.
2014-09-04 18:24:59 +01:00
UbitUmarov 0514679b15 reduce MIN_CALLBACK_MS guard time. A value too high introduces a extra
throttle and makes more packets to be sent in bursts and not in steady
 state flow.
2014-09-02 18:51:49 +01:00
UbitUmarov 6611e75a2b void time change between gettime calls 2014-09-02 16:11:46 +01:00
UbitUmarov 50433e089b *needs testing, not that good* change throttles math using floats and not
int64, etc. Limite brust bytes to the total rate client requested times a
look ahead estimation time, Avoid queues starvation with updates waiting...
2014-09-02 15:48:59 +01:00
UbitUmarov 18de5c8a2d make use of it in GetMeshModule, and meshs are Assets not Task itens,
reduce MeshModule impact on udp rate
2014-08-29 16:30:49 +01:00
UbitUmarov 7351d92a76 add method to get a category throttle rate 2014-08-29 16:19:30 +01:00
UbitUmarov fd0a635302 reduce burst 2014-08-29 15:13:46 +01:00
UbitUmarov 438798202f replace the tick() by a limit on the maximum number of tokens that can be
acumulated ( variable named BurtRate, not exactly a rate...)
2014-08-29 13:26:30 +01:00
UbitUmarov 6f590c2f79 disable first drip 2014-08-29 00:05:57 +01:00
UbitUmarov 986863a0cd try to reduce insane high data rate udp bursts. This needs testing on a
region with a lot of contents. Should not affect much average rates.
2014-08-28 22:26:03 +01:00
UbitUmarov 894b5c10c6 remove misplaced comment 2014-08-28 18:54:08 +01:00
UbitUmarov 9839904ebe try to make sense of throttle rate limits 2014-08-28 18:51:55 +01:00
UbitUmarov 5a2d4fd47f add some functions for estimation of number of bytes that can be send in a category in specified time 2014-08-28 16:49:32 +01:00
UbitUmarov ff4df688ba send all presences terseupdates in same batch 2014-08-28 12:55:31 +01:00
UbitUmarov ade4bf69b1 if we send wearables with ThrottleOutPacketType.HighPriority, then we
should send other avatarinformation with same priority on same Task category ( plus cleanup )
2014-08-28 10:38:31 +01:00
UbitUmarov 1e888d61ca enqueue also if m_nextPackets[category] is not null. This is really the
top element of a category queue, equivalente to using a queue.peek() if
 avaiable
2014-08-27 01:33:09 +01:00
Justin Clark-Casey (justincc) 64f640f901 Implement experimental non-default mechanism to update scene via a timer rather than a persistent thread with sleep.
This is to see if an inaccuracy in sleep times under load is responsible for increase in frame times even when there is spare time still available.
Can currently only be activated by setting "debug scene set update-on-timer true".
Can be switched between timer and thread with sleep updates whilst the scene is running.
2014-08-26 18:13:38 +01:00
UbitUmarov 92b0b27caf dont append acks to a resend packet 2014-08-26 17:42:44 +01:00
UbitUmarov 6857afe2a4 *test* back to no sog kills, little retouch on attachment updates,
NameValue AttachItemID is a root part thing only
2014-08-25 23:31:04 +01:00
UbitUmarov 75cbe620c0 *test* cleanup the bugs nest 2014-08-25 22:45:31 +01:00
UbitUmarov c24601bc6a change enconding of attachment updates NameValue and State fields 2014-08-25 21:49:39 +01:00
UbitUmarov f4a6be8654 clean sendKill a bit, remove a IsChild that is set too early in a calling
path
2014-08-24 00:44:14 +01:00
UbitUmarov d55041d934 on updates, send rotations using livomv Quaternion.toBytes() again 2014-08-23 21:13:30 +01:00
UbitUmarov 63d1916f51 Remove entities from updates queues on kill. Do it sync so enqueues after
the kill work
2014-08-23 20:59:11 +01:00
UbitUmarov 5bf145a397 add a direct sendpartfullUpdate to send a full object update to a part,
optionally overriding its parentID. check what it does to attachments
2014-08-21 00:49:10 +01:00
UbitUmarov ea1c232f92 revert droping udp packet resends after 6 retries, keep resending. 2014-08-21 00:08:43 +01:00
UbitUmarov 542118adf1 remove from use the UpdatesResend on resending udp packets. Just resend
the UDP packet. Also just loose packets we tried to send 6 times already
(ll says 3) A viewer may just beeing ignoring them, or then the link is just dead.
2014-08-20 18:55:06 +01:00
Justin Clark-Casey (justincc) 4e03d352c3 Extend drop command to "debug lludp drop <in|out>..." to allow drop of inbound packets.
For test/debug purposes.
2014-08-19 18:43:21 +01:00
Justin Clark-Casey (justincc) 298376d5c7 Add "debug lludp drop out <add|remove> <packet-name>" console command for debug/test purposes.
This drops all outbound packets that match a given packet name.
Can currently only be applied to all connections in a scene.
2014-08-19 18:34:17 +01:00
UbitUmarov 919aef1573 send zero velocity again on avatar full update or its ugly 2014-08-19 10:03:04 +01:00
UbitUmarov 8f0d35e59a fix the encoding of rotation in updates, not just using the next field to
override w bytes. ( specially having it commented )
2014-08-19 09:04:20 +01:00
UbitUmarov 505cbf9983 still another ... 2014-08-19 03:58:16 +01:00
UbitUmarov 4c46ebdbf5 fix a missed blocking of sending updates the the new attach points above
hud indexes
2014-08-19 03:47:26 +01:00
Justin Clark-Casey (justincc) 88b2fc61ff Add clientstack.<scene>.OQRERequestsWaiting stat
Only present if OQRE is enabled
2014-08-19 00:42:19 +01:00
Justin Clark-Casey (justincc) 84cea46c10 Add experimental OutgoingQueueRefillEngine to handle queue refill processing on a controlled number of threads rather than the threadpool.
Disabled by default.  Currently can only be enabled with console "debug lludp oqre start" command, though this can be started and stopped whilst simulator is running.
When a connection requires packet queue refill processing (used to populate queues with entity updates, entity prop updates and image queue updates), this is done via Threadpool requests.
However, with a very high number of connections (e.g. 100 root + 300 child) a very large number of simultaneous requests may be causing performance issues.
This commit adds an experimental engine for processing these requests from a queue with a persistent thread instead.
Unlike inbound processing, there are no network requests in this processing that might hold the thread up for a long time.
Early implementation - currently only one thread which may (or may not) get overloaded with requests.  Added for testing purposes.
2014-08-19 00:17:12 +01:00
Justin Clark-Casey (justincc) b375f86f11 Make LLUDPServer.Scene publicly gettable/privately settable instead of protected so that other logging code in the clientstack can record more useful information
Adds some commented out logging for use again in the future.
No functional change.
2014-08-19 00:17:12 +01:00
UbitUmarov 1edaf29149 NextAnimationSequenceNumber be a udpserver variable with random start 2014-08-16 13:43:26 +01:00
Justin Clark-Casey (justincc) e0c6bfa81e If a user moves back in sight of a child region before the agent has been closed on teleport, don't unnecessarily resend all avatar and object data about that region. 2014-08-15 21:47:34 +01:00
Justin Clark-Casey (justincc) 91e1aaa5d4 On teleport to a region that already has a child agent established (e.g. a neighbour) don't resend all the initial avatar and object data again.
This is unnecessary since it has been received (and data continues to be received) in the existing child connection.
2014-08-15 21:47:34 +01:00
UbitUmarov 0ae8fed4c2 reduce ping cliping lower limit 2014-08-14 21:18:58 +01:00
UbitUmarov a46d6004df reduce ping filter time constant 2014-08-14 21:04:30 +01:00
UbitUmarov 8c657e4837 add a estimator of client ping time, and painfully make it visible in show
connections console command
2014-08-14 20:41:36 +01:00
Justin Clark-Casey (justincc) 0db6f3a2bd Only set up the UnackedMethod for an outgoing message if that message is actually meant to get an ack (because it's reliable). 2014-08-13 22:57:14 +01:00
Melanie Thielker b96f951a6a Merge branch 'ubitworkmaster' 2014-08-13 03:05:54 +02:00
Melanie Thielker ecae45a21e Revert "make HandlerRegionHandshakeReply processing async and delay it a bit. This"
This reverts commit 30f00bfb14.

Conflicts:

	OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
2014-08-13 03:05:25 +02:00
UbitUmarov cf48b814eb remove HandleCompleteMovementIntoRegion delay hack from llUDPserver. If we
need a delay, we need to do it at end of HandleUseCircuitCode before
feeding pending packets (including that one) into processing queue.
2014-08-13 01:42:16 +01:00
UbitUmarov 0760fa3106 process AgentUpdates in order with rest of packets. Only give higher priority to chat 2014-08-13 00:17:03 +01:00
UbitUmarov 20b3cab5d1 take agentUpdate checks out of llUDPserver (disabling useless debug) and
do it only where its supposed to be done..
2014-08-12 23:57:41 +01:00
UbitUmarov f811efde85 do the significance test invalidation at MoveAgentToRegion 2014-08-12 22:36:17 +01:00
UbitUmarov b9224a70c4 no need to go from cos into squared sin when just abs of cos is as good 2014-08-12 22:27:50 +01:00
UbitUmarov dbbfaf3ac3 force AgentUpdate after CompleteAgentMovement to pass by significance test 2014-08-12 22:17:15 +01:00
UbitUmarov c0378d5430 actually let delay match throttles as original design 2014-08-10 16:36:20 +01:00
UbitUmarov ebc18a80bf OutgoingPacketHandler can not be paced by hits on SendPacket() 2014-08-10 14:49:58 +01:00
UbitUmarov c84a3c3630 also on other case 2014-08-09 16:22:46 +01:00
UbitUmarov 601c50dc1e return even zero costs ( prims on other regions ) 2014-08-09 16:19:07 +01:00
UbitUmarov 2eb1c1c377 move from RegisterInventoryServiceHandlers to
RegisterRegionServiceHandlers what belongs there ( readabilitly only )
2014-08-09 15:15:27 +01:00
Melanie Thielker 5628c0bcd6 Reduce delay time on regin handshake reply to speed up terrain sending.
Terrain IS more important than avatar!
2014-08-07 23:54:38 +02:00
UbitUmarov dfa9ba0937 minor clean, dont check for cache if we aren't using it.. 2014-08-07 08:47:03 +01:00
UbitUmarov 1408c9eee7 reply to cached checks with same serial number 2014-08-07 07:55:56 +01:00
UbitUmarov c3f9c99fb3 DANGER... changed bakedtextures caching. Assuming grid baking is cache
only, reduced number of accesses to it. TESTING
2014-08-07 05:20:45 +01:00
BlueWall 10a8d2852e OpenSimExtras
Move the experimental extra features functionality into the GridService. This sends default values for map, search and destination guide, plus ExportSupported control to the region on startup. Please watch http://opensimulator.org/wiki/SimulatorFeatures_Extras for changes and documentation.
2014-08-06 17:25:12 -04:00
UbitUmarov 552b4e45e8 bakemodule didnt like last changes 2014-08-06 05:56:10 +01:00
UbitUmarov 66dea8fe05 some debug to remove later 2014-08-06 05:17:30 +01:00
UbitUmarov bd3d58dd00 try to make the baked textures cache work 2014-08-06 04:54:14 +01:00
Justin Clark-Casey (justincc) d6890d78ad Make currently unfiltered EventQueue log messages only appear now at DebugLevel 1
This covers event queue setup messages and some outgoing messages (e.g. EnableSimulator)
In my experience these messages are only useful if you really know what they mean and you're looking for them
Otherwise, they're quite spammy.
Event queue DebugLevel 1 is enabled with the "debug eq 1" console command
2014-08-05 00:52:04 +01:00
UbitUmarov 3cca5ec667 check... 2014-08-04 21:52:29 +01:00
UbitUmarov 3d81f25e34 Revert "start sending terrain in scenePresence after well defined avatar. Minor"
This reverts commit 05a2feba5d.
2014-08-04 20:32:11 +01:00
UbitUmarov 05a2feba5d start sending terrain in scenePresence after well defined avatar. Minor
change on significante AgentUpdate check.
2014-08-04 19:57:47 +01:00
UbitUmarov 9f5e19127d comment out a debug msg. more on gods being Gods 2014-08-03 00:22:21 +01:00
BlueWall de3421b408 Fix typo in log message 2014-08-02 08:21:25 -04:00
Justin Clark-Casey (justincc) 7cec4997db Fix regression in SimulatorFeatures module that would stop OpenSimulator from starting if no [SimulatorFeatures] section was present in config. 2014-08-01 20:29:25 +01:00
BlueWall cac910d401 Add region-side extra feature setting for destination guide 2014-07-31 08:20:06 -04:00
UbitUmarov 30f00bfb14 make HandlerRegionHandshakeReply processing async and delay it a bit. This
delays things like terrain height map sending, giving chance to
completemovent to send more priority information. POssible things on this
should be on other event trigger when its more apropriate
really done.
2014-07-30 21:11:11 +01:00
BlueWall e0d8f42e6b Simulator Extra Features Service
Provide a means for regions to fetch extra features supported by modern viewers from a central location
.
2014-07-30 11:24:39 -04:00
Melanie Thielker dfa9780c8c Send new parcel permissions to activate viewer options - done right this time 2014-07-29 04:19:01 +02:00
Melanie Thielker 477b5b5623 Add new fields to parcel update 2014-07-29 03:40:05 +02:00
UbitUmarov 55df2b317c dont send packets twice 2014-07-27 12:02:59 +01:00
UbitUmarov 70890e211a add queue transition code needs review/more testing 2014-07-25 17:33:01 +01:00