aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs (unfollow)
Commit message (Collapse)AuthorFilesLines
2008-11-10The region proxy for the load balancer module works again. The incoming ↵Johan Berntsson1-10/+20
proxy messages were not properly decoded.
2008-11-07* Fix half of the issue behind the long standing 'UseCircuitCode' packet ↵Teravus Ovares1-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.
2008-11-06* refactor: Split BeginRecieve() into BeginReceive() and BeginRobustReceive()Justin Clarke Casey1-10/+18
2008-11-06* Stop passing along epSender explicitly where we are really using the ↵Justin Clarke Casey1-5/+5
constantly reused ep sender field
2008-11-06* Test to ensure that the udp server stays active after receiving a ↵Justin Clarke Casey1-2/+3
SocketException on BeginReceive
2008-11-05* Properly use the default value if the LindenUDP.ClientStack section exists ↵Justin Clarke Casey1-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
2008-11-05* Set default client throttle multiplier to 2 (old value was effectively 8). ↵Justin Clarke Casey1-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
2008-11-03* Expose a client_throttle_multiplier setting in OpenSim.ini. This ↵Justin Clarke Casey1-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.
2008-11-03* Pull client throttle multipler setting out of config source. Not an ↵Justin Clarke Casey1-1/+10
adjustable setting yet (and then only for debug purposes)
2008-11-03* minor: don't need to null check config source in clientstack settings ↵Justin Clarke Casey1-1/+0
since this is always non null
2008-11-03* Use nini to pass config information to the client stack, rather than the ↵Justin Clarke Casey1-4/+9
ClientStackUserSettings class * This conforms better to other module usage
2008-11-01* Fix http://opensimulator.org/mantis/view.php?id=2517Justin Clarke Casey1-2/+3
* Don't save attachments on saving oar, which stops them coming back as ghost prims
2008-10-31* In the client stack, if the BeginReceive() throws an exception then do ↵Justin Clarke Casey1-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)
2008-10-24* Stop creating a circuit if the client fails authentication (i.e. the ↵Justin Clarke Casey1-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
2008-10-24* Change AddClient test such that we now successfully authenticateJustin Clarke Casey1-2/+1
* The fact that the assert passed even when authentication failed reveals a bug in the code that will be corrected soonish
2008-10-23* minor: Remove unused public PacketServer variable.Justin Clarke Casey1-8/+2
* If this was important to you please reinsert and we can put it in a recognized interface.
2008-10-23* Revert to executing existing setup if an added circuit did not already existJustin Clarke Casey1-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).
2008-10-23* Refactor LLUDPServer slightly so that unit tests can pass in data ↵Justin Clarke Casey1-32/+49
synchronously. Shouldn't be any functional change
2008-10-19* minor: remove mono warningsJustin Clarke Casey1-1/+1
2008-10-19* Fixed UDP server (again)Teravus Ovares1-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.
2008-10-19* Null check before UseCircuitCode Check or the server crashes on packet loss!Teravus Ovares1-1/+1
2008-10-17* Finally, don't worry about doing containment checks on other dictionaries ↵Justin Clarke Casey1-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
2008-10-17* Don't worry about trying to populate the other dictionaries if a client's ↵Justin Clarke Casey1-13/+22
circuitcode is already found in the first one
2008-10-17* close two potential race conditions where a new asynchronous UDP recieve ↵Justin Clarke Casey1-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
2008-10-17* Temporarily resume creation of IPEndPoint on every callJustin Clarke Casey1-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)
2008-10-17* Instead of creating a new IPEndPoint on every udp packet receive, reuse ↵Justin Clarke Casey1-21/+39
the existing one * This requires copying details into a new endpoint when it needs to be stored in client/circuit code hashes
2008-10-17* reverse part of a change that accidentally crept in with the last revisionJustin Clarke Casey1-1/+2
2008-10-17* Apply a modified version of http://opensimulator.org/mantis/view.php?id=2290Justin Clarke Casey1-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.
2008-10-16* minor: get rid of pointless ipeSenderJustin Clarke Casey1-6/+3
2008-10-12* Small fix for when PacketPool is disabled to prevent it from crashing ↵Adam Frisby1-1/+1
immedietly.
2008-10-12LLUDP Client ViewAdam Frisby1-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.
2008-10-09* minor: get rid of an unecessary casting and logic checkJustin Clarke Casey1-10/+5
2008-10-09* refactor: separate process of extracting packet from received data from ↵Justin Clarke Casey1-34/+41
actually processing that packet
2008-10-03* Put in some infrastructure to allow tweaking of packet queue throttle ↵Justin Clarke Casey1-6/+10
values for the total throttle (the one that throttles all packet output) * Not complete yet
2008-10-03* EventQueueGet is now working.Teravus Ovares1-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
2008-10-01* refactor: rename interface to put standard I prefix in frontJustin Clarke Casey1-1/+1
2008-09-14* Minor fixes and cleanups around code being used for Rex Module work.Adam Frisby1-17/+16
2008-09-09Update svn properties, formatting cleanup.Jeff Ames1-9/+9
2008-09-08Implement proper persistence of the following prim properties:Melanie Thielker1-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.
2008-09-07* minor: Clean up of logging messages to make following the client login ↵Justin Clarke Casey1-24/+42
process easier * documentation
2008-09-07* minor: just minor doc and tidy upJustin Clarke Casey1-3/+23
2008-09-06Mantis #2133Melanie Thielker1-1/+1
Thank you, Xugu Madison and ChrisDown, for a patch that fixes linux filename extensions from .Xml back to .xml
2008-09-06* This is the fabled LibOMV update with all of the libOMV types from JHurlimanTeravus Ovares1-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.
2008-09-06Rolling back #6139 because there is no consensus on it's application.Melanie Thielker1-27/+1
Reverted pending further discussion.
2008-09-06Mantis #624Melanie Thielker1-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.
2008-08-30* Committed patch in mantis 623Justin Clarke Casey1-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
2008-08-18Formatting cleanup.Jeff Ames1-9/+9
2008-08-09* Added a little more log info in LLUDPServerlbsa711-1/+2
2008-08-09* Shielded against various forms of Malformed data crashes - if there is an ↵lbsa711-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
2008-08-08Patch #9160Melanie Thielker1-2/+2
Refactor proxy encode/decode methods out of the PacketPool into their own class.