aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Another cleanup: Region_Status renamed to RegionStatus, and a usage comment ↵Johan Berntsson2009-04-151-1/+1
| | | | added
* * Commit a variety of fixes to bugs discovered while trying to fix the NaN ↵Teravus Ovares2009-04-141-0/+1
| | | | | | | | | singularity. * WebStatsModule doesn't crash on restart. GodsModule doesn't crash when there is no Dialog Module. LLUDPServer doesn't crash when the Operation was Aborted. * ODEPlugin does 'Almost NaN' sanity checks. * ODEPlugin sacrifices NaN avatars to the NaN black hole to appease it and keep it from sucking the rest of the world in.
* * Changed a recursive BeginRobustReceive loop to a flat while loop to avoid ↵lbsa712009-03-251-38/+33
| | | | lethal stack overflows.
* Changed IClientNetworkServer.AddScene method from void AddScene(Scene x) to ↵MW2009-03-021-1/+1
| | | | void AddScene(IScene x). As there should be no need for the client view to have a reference to Scene. IScene should be all it needs.
* * optimized usings.lbsa712009-02-121-3/+2
|
* Enforce estate bans on Teleports.diva2009-02-111-3/+3
|
* From Alan Webb <awebb@linux.vnet.ibm.com>Sean Dague2009-02-091-3/+3
| | | | | | | | | | | These changes replace all direct references to the AssetCache with IAssetCache. There is no change to functionality. Everything works as before. This is laying the groundwork for making it possible to register alternative asset caching mechanisms without disrupting other parts of OpenSim or their dependencies upon AssetCache functionality.
* This changeset is the step 1 of 2 in refactoringDr Scofield2009-02-061-1/+1
| | | | | | | | | | | | | | | | | | | | OpenSim.Region.Environment into a "framework" part and a modules only part. This first changeset refactors OpenSim.Region.Environment.Scenes, OpenSim.Region.Environment.Interfaces, and OpenSim.Region.Interfaces into OpenSim.Region.Framework.{Interfaces,Scenes} leaving only region modules in OpenSim.Region.Environment. The next step will be to move region modules up from OpenSim.Region.Environment.Modules to OpenSim.Region.CoreModules and then sort out which modules are really core modules and which should move out to forge. I've been very careful to NOT BREAK anything. i hope i've succeeded. as this is the work of a whole week i hope i managed to keep track with the applied patches of the last week --- could any of you that did check in stuff have a look at whether it survived? thx!
* * minor: move connection success log message so that it doesn't get printed ↵Justin Clarke Casey2009-01-211-6/+6
| | | | again if a duplicate use circuit code packet comes in
* * minor: Change around more debugging messagesJustin Clarke Casey2009-01-141-2/+2
|
* * Do some log tweaking to better see incoming connection success (and failure)Justin Clarke Casey2009-01-141-10/+6
|
* * minor: Stop friendship termination crashing the client thread if the ↵Justin Clarke Casey2009-01-131-2/+1
| | | | friend to be terminated could not be found
* * prune and regrade log messages relating to client login and logoutJustin Clarke Casey2009-01-061-4/+2
|
* * Replace manually zeroing with Array.Clear(). Thanks cmickeybJustin Clarke Casey2008-12-171-4/+1
|
* * Fixes Location == Location, and Location != LocationTeravus Ovares2008-11-281-2/+2
|
* * The equals override of 'Location' is not working as expected. This caused ↵Teravus Ovares2008-11-281-1/+7
| | | | | | | sim restarts to fail because the test that searches for and shutsdown the UDP server listener for that region never found and shutdown the udp server. hence the error message, "only one listener on port". * This is a high profile candidate for a unit test. (big)
* * Added and removed debug information relating to client connectionsAdam Frisby2008-11-181-0/+3
| | | | | | * Minor client fixes * Added the ability for a client to login without a UserProfile, allowing certain alternate clients to connect to the region.
* * Move test scene construction infrastructure methods to a separate class ↵Justin Clarke Casey2008-11-141-1/+1
| | | | for future common use
* If the proxy is on, we need to ignore the extra 6 bytes in the packet.Mike Mazur2008-11-111-0/+1
|
* The region proxy for the load balancer module works again. The incoming ↵Johan Berntsson2008-11-101-10/+20
| | | | proxy messages were not properly decoded.
* * Fix half of the issue behind the long standing 'UseCircuitCode' packet ↵Teravus Ovares2008-11-071-0/+2
| | | | | | | spam from libOMV clients. AckPacket.Header.Sequence was 0. This caused LibOMV to ignore it. * There's another patch over at http://jira.openmv.org/browse/LIBOMV-415 to fix the 'resend forever' issue.
* * refactor: Split BeginRecieve() into BeginReceive() and BeginRobustReceive()Justin Clarke Casey2008-11-061-10/+18
|
* * Stop passing along epSender explicitly where we are really using the ↵Justin Clarke Casey2008-11-061-5/+5
| | | | constantly reused ep sender field
* * Test to ensure that the udp server stays active after receiving a ↵Justin Clarke Casey2008-11-061-2/+3
| | | | SocketException on BeginReceive
* * Properly use the default value if the LindenUDP.ClientStack section exists ↵Justin Clarke Casey2008-11-051-3/+3
| | | | | | | | | by the client throttle setting does not * Old behaviour was to throw an exception on startup * Print out client stack setting temporarly for debug purposes
* * Set default client throttle multiplier to 2 (old value was effectively 8). ↵Justin Clarke Casey2008-11-051-1/+1
| | | | | | | | | | | See OpenSim.ini.example for details as to what this means * Really this should be 1, but I think that this would be too slow compared to a Second Life server until we improve our ability to send textures of variable quality * This may improve one aspect of sim performance where there are many avatars. However, there are still other performance problems that are unrelated to this change * Value may be further tuned * Removed temporary decals since the multipler setting will stick around now
* * Expose a client_throttle_multiplier setting in OpenSim.ini. This ↵Justin Clarke Casey2008-11-031-1/+1
| | | | | | | | | | | | multiplier is applied to all the client throttle settings received by the client * This should probably be 1, but currently by default it is 8, to reflect what was being eon3 in OpenSim before this revision. So if the client requested a maximum throttle of 1500 kilobits per second, we would actually send out 1500 kilobytes per second * Adjusting this multiplier down towards 1 may improve your OpenSim experience, though in other situations it may degrade (e.g. if you're using a standalone over high bandwidth links) * This is currently a user setting because adjusting it down may currently reveal other OpenSim bugs.
* * Pull client throttle multipler setting out of config source. Not an ↵Justin Clarke Casey2008-11-031-1/+10
| | | | adjustable setting yet (and then only for debug purposes)
* * minor: don't need to null check config source in clientstack settings ↵Justin Clarke Casey2008-11-031-1/+0
| | | | since this is always non null
* * Use nini to pass config information to the client stack, rather than the ↵Justin Clarke Casey2008-11-031-4/+9
| | | | | | | | ClientStackUserSettings class * This conforms better to other module usage
* * Fix http://opensimulator.org/mantis/view.php?id=2517Justin Clarke Casey2008-11-011-2/+3
| | | | | | * Don't save attachments on saving oar, which stops them coming back as ghost prims
* * In the client stack, if the BeginReceive() throws an exception then do ↵Justin Clarke Casey2008-10-311-54/+49
| | | | | | | | | print this out to the log once * This may help us detect if mysterious UDP disconnects are happening because of this. * Shouldn't be any functional change but I would appreciate a buddy check from Teravus if he has time (as for all client stack changes)
* * Stop creating a circuit if the client fails authentication (i.e. the ↵Justin Clarke Casey2008-10-241-4/+29
| | | | | | | | | | region server wasn't told that it was coming) * This moves authentication from the client thread (where failure was difficult to detect) to the particular thread handling that packet * I've kept the authentication outside of the crucial clientCircuits lock (though any delay here is probably swamped by the other delays associated with login) * Also added more to the unit test to ensure this doesn't regress
* * Change AddClient test such that we now successfully authenticateJustin Clarke Casey2008-10-241-2/+1
| | | | | | * The fact that the assert passed even when authentication failed reveals a bug in the code that will be corrected soonish
* * minor: Remove unused public PacketServer variable.Justin Clarke Casey2008-10-231-8/+2
| | | | | | * If this was important to you please reinsert and we can put it in a recognized interface.
* * Revert to executing existing setup if an added circuit did not already existJustin Clarke Casey2008-10-231-3/+3
| | | | | | | * Not sure why things still worked in the presence of this bug - possibly the problem is compensated for later on. If you are having udp session problems this bug fix may help (though no guarantees).
* * Refactor LLUDPServer slightly so that unit tests can pass in data ↵Justin Clarke Casey2008-10-231-32/+49
| | | | synchronously. Shouldn't be any functional change
* * minor: remove mono warningsJustin Clarke Casey2008-10-191-1/+1
|
* * Fixed UDP server (again)Teravus Ovares2008-10-191-3/+14
| | | | | * Guys, there's an endless loop there *ON PURPOSE*. Please don't try to *fix* it. We must continue to process the UDP stream buffer on clients that disconnected nastily until it ends or the UDP server accept thread will die a horrible death.
* * Null check before UseCircuitCode Check or the server crashes on packet loss!Teravus Ovares2008-10-191-1/+1
|
* * Finally, don't worry about doing containment checks on other dictionaries ↵Justin Clarke Casey2008-10-171-4/+2
| | | | | | | | | if we are adding a client * Regarding an earlier change, I think it would be possible to eliminate the creation of new IPEndPoints on every end receive if we did the client circuit lookup before starting the next receive. However, this would be a performance trade off and hence not worth trying without performance testing
* * Don't worry about trying to populate the other dictionaries if a client's ↵Justin Clarke Casey2008-10-171-13/+22
| | | | circuitcode is already found in the first one
* * close two potential race conditions where a new asynchronous UDP recieve ↵Justin Clarke Casey2008-10-171-69/+53
| | | | | | | | could overwrite an existing endpoint that had not yet been used by the previous thread * in practice these race conditions were probably pretty rare
* * Temporarily resume creation of IPEndPoint on every callJustin Clarke Casey2008-10-171-5/+7
| | | | | | | * This widened what I think is an existing race condition where asynchronous recieves could potentially stomp on each other's end points (though this must occur very rarely, if at all, in reality)
* * Instead of creating a new IPEndPoint on every udp packet receive, reuse ↵Justin Clarke Casey2008-10-171-21/+39
| | | | | | | | the existing one * This requires copying details into a new endpoint when it needs to be stored in client/circuit code hashes
* * reverse part of a change that accidentally crept in with the last revisionJustin Clarke Casey2008-10-171-1/+2
|
* * Apply a modified version of http://opensimulator.org/mantis/view.php?id=2290Justin Clarke Casey2008-10-171-2/+1
| | | | | | | | | * This allows multiple user profile providers to be specified in OpenSim.ini separated by commas * If multiple providers are specified then a request for a user profile will query each in turn until the profile is either found or all have been queried * Unfortunately I don't believe this order can currently be specified, which if true is something that will need to be fixed. * Thanks to smeans for the original patch.
* * minor: get rid of pointless ipeSenderJustin Clarke Casey2008-10-161-6/+3
|
* * Small fix for when PacketPool is disabled to prevent it from crashing ↵Adam Frisby2008-10-121-1/+1
| | | | immedietly.
* LLUDP Client ViewAdam Frisby2008-10-121-0/+1
| | | | | | | * Experimenting with the PacketPool mechanism. * It's still disabled in the code, however there's now a flag to enable it. * Converted to use Generic Collections vs Hashtables, also now uses a list of 'OK to pool' packets, starting with the high volume PacketAck packet.