aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs (follow)
Commit message (Collapse)AuthorAgeFilesLines
* * 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.
* * minor: get rid of an unecessary casting and logic checkJustin Clarke Casey2008-10-091-10/+5
|
* * refactor: separate process of extracting packet from received data from ↵Justin Clarke Casey2008-10-091-34/+41
| | | | actually processing that packet
* * Put in some infrastructure to allow tweaking of packet queue throttle ↵Justin Clarke Casey2008-10-031-6/+10
| | | | | | | | values for the total throttle (the one that throttles all packet output) * Not complete yet
* * EventQueueGet is now working.Teravus Ovares2008-10-031-1/+8
| | | | | | | | * Switched it on by default * Updated OpenSim.ini.example to reflect this * Caught a UDP Server issue that occurs when the network pipe is saturated * Still experimental :D
* * refactor: rename interface to put standard I prefix in frontJustin Clarke Casey2008-10-011-1/+1
|
* * Minor fixes and cleanups around code being used for Rex Module work.Adam Frisby2008-09-141-17/+16
|
* Update svn properties, formatting cleanup.Jeff Ames2008-09-091-9/+9
|
* Implement proper persistence of the following prim properties:Melanie Thielker2008-09-081-0/+7
| | | | | | | | | Floating text, Rotation, Texture animation, Particle System This will make "Eye Candy" scripts work without modification in XEngine. The use of the CHANGED_REGION_RESTART hack is no longer needed. Implemented in MySQL only, hovertext also in SQLite.
* * minor: Clean up of logging messages to make following the client login ↵Justin Clarke Casey2008-09-071-24/+42
| | | | | | | | process easier * documentation
* * minor: just minor doc and tidy upJustin Clarke Casey2008-09-071-3/+23
|
* Mantis #2133Melanie Thielker2008-09-061-1/+1
| | | | | | | Thank you, Xugu Madison and ChrisDown, for a patch that fixes linux filename extensions from .Xml back to .xml
* * This is the fabled LibOMV update with all of the libOMV types from JHurlimanTeravus Ovares2008-09-061-2/+2
| | | | | | | * This is a HUGE OMG update and will definitely have unknown side effects.. so this is really only for the strong hearted at this point. Regular people should let the dust settle. * This has been tested to work with most basic functions. However.. make sure you back up 'everything' before using this. It's that big! * Essentially we're back at square 1 in the testing phase.. so lets identify things that broke.
* Rolling back #6139 because there is no consensus on it's application.Melanie Thielker2008-09-061-27/+1
| | | | | | Reverted pending further discussion.
* Mantis #624Melanie Thielker2008-09-061-1/+27
| | | | | | | | | | | Thank you, openlifegrid, for a patch to move new user connections to thread pool threads. Reworked by me to fit current trunk. I believe that that patch may be beneficial in reducing the cases in which regions become unresponsive and will no longer accept new logins.
* * Committed patch in mantis 623Justin Clarke Casey2008-08-301-14/+3
| | | | | | | * Unpatched code certainly looks bizarre - attempts to add a new client if we encountered a failure in processing a packet. No apparant ill effects on a sniff test. * Thanks openlifegrid
* Formatting cleanup.Jeff Ames2008-08-181-9/+9
|
* * Added a little more log info in LLUDPServerlbsa712008-08-091-1/+2
|
* * Shielded against various forms of Malformed data crashes - if there is an ↵lbsa712008-08-091-119/+65
| | | | | | | | error in packet creation, we just log and ignore it * If there's a Socket.AlreadyInProgress, just silently ignore this one * Tried to refactor the Reset and BeginRecieve logic into something a little more readable, little less duplicated
* Patch #9160Melanie Thielker2008-08-081-2/+2
| | | | | | | Refactor proxy encode/decode methods out of the PacketPool into their own class.
* * minor: log message twiddlingJustin Clarke Casey2008-08-011-0/+1
|