| Commit message (Collapse) | Author | Files | Lines |
|
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
|
|
* The fact that the assert passed even when authentication failed reveals a bug in the code that will be corrected soonish
|
|
* If this was important to you please reinsert and we can put it in a recognized interface.
|
|
* 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).
|
|
synchronously. Shouldn't be any functional change
|
|
|
|
* 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.
|
|
|
|
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
|
|
circuitcode is already found in the first one
|
|
could overwrite an existing endpoint that had not yet been used by the previous thread
* in practice these race conditions were probably pretty rare
|
|
* 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)
|
|
the existing one
* This requires copying details into a new endpoint when it needs to be stored in client/circuit code hashes
|
|
|
|
* 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.
|
|
|
|
immedietly.
|
|
* 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.
|
|
|
|
actually processing that packet
|
|
values for the total throttle (the one that throttles all packet output)
* Not complete yet
|
|
* 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
|
|
|
|
|
|
|
|
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.
|
|
process easier
* documentation
|
|
|
|
Thank you, Xugu Madison and ChrisDown, for a patch that
fixes linux filename extensions from .Xml back to .xml
|
|
* 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.
|
|
Reverted pending further discussion.
|
|
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.
|
|
* 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
|
|
|
|
|
|
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
|
|
Refactor proxy encode/decode methods out of the PacketPool into
their own class.
|
|
|
|
|
|
Actually, the exception handler seems to be a valid execution
path here, this needs some love.
|
|
happens at all)
* Patch from Kurt Taylor (IBM) in http://opensimulator.org/mantis/view.php?id=1720
* Thanks Kurt!
|
|
|
|
plugin. This makes it easy for developers to experiment with alternative communication protocols
|
|
|
|
removes a lock on every SendPacketTo call, which was shown to have
good performance benefits by the IBM China Research Lab.
|
|
mono. Need to sort that out with DJ shortly.
|
|
Set udp flags correctly to prevent "Socket forcibly closed by host"
errors.
|
|
prims
* no user functionality yet
|
|
|
|
|