aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ClientStack/Linden/UDP/OpenSimUDPBase.cs (unfollow)
Commit message (Collapse)AuthorFilesLines
2019-11-10SIO_UDP_CONNRESET should work on macs now, thx GavinUbitUmarov1-7/+8
2019-05-19Dump OpenSim 0.9.0.1 into it's own branch.onefang1-54/+85
2019-02-27direct encode terseupdatesUbitUmarov1-1/+1
2019-02-26 issues with udp buffers pool on heavy loadUbitUmarov1-17/+5
2019-02-26buffers in pool have no data, better mk that clearUbitUmarov1-0/+1
2019-02-25removed a redundant function; try to make a particular vi coder happy about ↵UbitUmarov1-17/+1
removed comments
2019-02-25change UDPPacketBuffer pools (does waste a bit of memory)UbitUmarov1-97/+100
2018-01-22try fix mantis 8283UbitUmarov1-3/+12
2017-06-13udp is not tcp. If mono versions have bronke udp sento, better update, also ↵UbitUmarov1-1/+21
having 300 threads because object select is not funny
2017-06-13 remove excessive notion of paralelismUbitUmarov1-16/+3
2017-01-05Massive tab and trailing space cleanupMelanie Thielker1-41/+41
2016-12-13Remove the AllowAlternatePorts option. It wasn't implemented anyway.Melanie Thielker1-0/+8
Instead, handle the port being 0 as "any port" and assign a random port for regions in that case.
2016-12-13Make sure sims on Linux can be restarted without waiting on a 2 mintue ↵Melanie Thielker1-5/+7
socket timeout
2016-11-21work around some warningsUbitUmarov1-0/+5
2016-11-03Initial update to OpenSim 0.8.2.1 source code.David Walter Seikel1-21/+185
2015-06-14Squooshed a warning that could result in a runtime null pointer exception. ↵Diva Canto1-1/+1
It says that code is for debugging, but it was buggy.
2015-03-03increased IPv4 TTL of LLUDP SocketsFreaky Tech1-0/+11
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2014-12-29Add debugging code for simulating packet loss in outgoing UDP packets. TheMic Bowman1-0/+66
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-11-25Stop Mono 3.2.8 from binding a UDP socket to a port already in use.Justin Clark-Casey (justincc)1-0/+6
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-25refactor: Move LLUDPServer console commands into their own class.Justin Clark-Casey (justincc)1-6/+6
2014-11-10Remove JustinCCs UDP patch - it is harmful to Avination's grid managementMelanie Thielker1-2/+4
2014-10-30 set udp SocketOptionName.ReuseAddress to false, to not allow two regionsUbitUmarov1-0/+2
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-13Revert "*TEST* send udp sync. Stop uncontroled and hidden use of IO threads."Melanie Thielker1-17/+1
This reverts commit 8c41271b3312f2a02608ffc41b220f7fb018d6ad. Conflicts: OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs
2014-10-13*TEST* send udp sync. Stop uncontroled and hidden use of IO threads.UbitUmarov1-1/+17
Testing this may require several people.
2013-09-25Instead of swallowing any socket begin/end receive exceptions, log them for ↵Justin Clark-Casey (justincc)1-7/+32
debugging purposes. This may reveal why on some teleports with current code, the UseCircuitCode message gets through but CompleteMovement disappears into the ether.
2013-07-23Add clientstack.OutgoingUDPSendsCount stat to show number of outbound UDP ↵Justin Clark-Casey (justincc)1-0/+7
packets sent by a region per second
2013-07-23Record raw number of UDP receives as clientstack.IncomingUDPReceivesCountJustin Clark-Casey (justincc)1-1/+7
2013-07-23Add AverageUDPProcessTime stat to try and get a handle on how long we're ↵Justin Clark-Casey (justincc)1-0/+39
taking on the initial processing of a UDP packet. If we're not receiving packets with multiple threads (m_asyncPacketHandling) then this is critical since it will limit the number of incoming UDP requests that the region can handle and affects packet loss. If m_asyncPacketHandling then this is less critical though a long process will increase the scope for threads to race. This is an experimental stat which may be changed.
2013-07-21minor: provide user feedback in the log for now when udp in/out bound ↵Justin Clark-Casey (justincc)1-4/+8
threads are started/stopped
2013-07-21Do some simple queue empty checks in the main outgoing udp loop instead of ↵Justin Clark-Casey (justincc)1-3/+3
always performing these on a separate fired thread. This appears to improve cpu usage since launching a new thread is more expensive than performing a small amount of inline logic. However, needs testing at scale.
2012-12-19Disable UDPPacketBuffer pooling for now to resolve an issue on Windows of ↵Justin Clark-Casey (justincc)1-5/+8
interference between incoming packets. On Windows, concurrent multi-threaded processing of inbound UDP somehow allows different data input processing to interfere with each other. Possibly the endpoint reference is being switched, though I don't yet know the mechanism. Not seen on Mono. Also resolveable by setting RecyclePackets = false or RecycleBaseUDPPackets = false in [PacketPool] Or async_packet_handling = false in [ClientStack.LindenUDP] For now, will simply disable this particular pooling though will revisit this issue. In response to http://opensimulator.org/mantis/view.php?id=6468
2012-11-15Revert "Merge master into teravuswork", it should have been avination, not ↵teravus1-93/+23
master. This reverts commit dfac269032300872c4d0dc507f4f9062d102b0f4, reversing changes made to 619c39e5144f15aca129d6d999bcc5c34133ee64.
2012-11-15Make PacketPool class stats pull stats instead of push stats so they can be ↵Justin Clark-Casey (justincc)1-1/+1
lifted up into LLUDPServer and be distiguished by scene name
2012-11-15Add IncomingPacketsProcessedCount stat for diagnostics.Justin Clark-Casey (justincc)1-24/+7
Also puts some packet processing counts in a container named after the scene so that stats can be collected from more than one scene.
2012-10-23Make it possible to turn the base UDP object packet pools on and off whilst ↵Justin Clark-Casey (justincc)1-21/+45
running via the "debug lludp pool <on|off>" console command. For debug purposes. This does not currently apply to the higher LLUDP packetpool.
2012-10-23Add object count stats for new IncomingPacket and UDPPacketBuffer pools if ↵Justin Clark-Casey (justincc)1-0/+17
they are enabled. Add count stats for existing LLUDP pool. This introduces a pull stat type in addition to the push stat type. A pull stat takes a method on construction which knows how to update the stat on request. In this way, special interfaces for pull stat collection are not necessary.
2012-10-16Add optional pool for the UDPPacketBuffer objects that handle all incoming ↵Justin Clark-Casey (justincc)1-6/+25
UDP data. Even when an avatar is standing still, it's sending in a constant stream of AgentUpdate packets that the client creates new UDPPacketBuffer objects to handle. This option pools those objects. This reduces memory churn. Currently off by default. Works but the scope can be expanded.
2012-10-16Make it possible to separate start and stop lludp packet processing from the ↵Justin Clark-Casey (justincc)1-17/+27
console for debug processes. This is controlled via the "debug lludp start <in|out|all>" and "debug lludp stop <in|out|all>" region console commands. The command "debug lludp status" will show current status.
2011-12-08Reactivate BasicCircuitTests.TestAddClient()Justin Clark-Casey (justincc)1-1/+1
This checks that the initial UseCircuitCode packet is handled correctly for a normal client login.
2011-04-30First stab at cleaning up Caps. Compiles. Untested.Diva Canto1-0/+0
2011-04-01Log which address and port the UDP listener is configured for. This will ↵Justin Clark-Casey (justincc)1-0/+4
match that given for InternalAddress in the config (e.g. 0.0.0.0) Can't obtain actually bound address until the UDP socket is used for the first time.
2009-12-20Reverted my changes to jhurliman's packet stack since it currently causes ↵CasperW1-105/+2
more problems than it resolves. The stack DOES need a rework particularly with regards to priorities, but this is not it.
2009-11-21Minor packet ordering fixCasperW1-10/+30
2009-11-21Improved avatar responsiveness.CasperW1-12/+77
2009-11-15- Lower TIME_MS_TOLERANCE to 200ms - Allow m_updateFlag to be reset to 0 in ↵unknown1-0/+18
the event of a terse update being rejected - Re-add a synchronous SendTo for certain types of packets
2009-11-09minor: remove some mono compiler warningsJustin Clark-Casey (justincc)1-2/+2
2009-10-21* Clarified what FireQueueEmpty is doing with a MIN_CALLBACK_MS constant and ↵John Hurliman1-9/+0
upped it to 30ms * Removed the unused PacketSent() function * Switched UnackedPacketCollection from a SortedDictionary to a Dictionary now that the sorting is no longer needed. Big performance improvement for ResendUnacked()
2009-10-14Allow the LLUDP server to run in either synchronous or asynchronous mode ↵John Hurliman1-5/+23
with a config setting, defaulting to synchronous mode
2009-10-14* Minimized the number of times textures are pulled off the priority queueJohn Hurliman1-2/+13
* OnQueueEmpty is still called async, but will not be called for a given category if the previous callback for that category is still running. This is the most balanced behavior I could find, and seems to work well * Added support for the old [ClientStack.LindenUDP] settings (including setting the receive buffer size) and added the new token bucket and global throttle settings * Added the AssetLoaderEnabled config variable to optionally disable loading assets from XML every startup. This gives a dramatic improvement in startup times for those who don't need the functionality every startup
2009-10-09* Changed the "Packet exceeded buffer size" log line to debug and include ↵John Hurliman1-7/+4
the packet type. This message is normal, but could be evidence of a message marked for zerocoding that probably shouldn't be * Changing OpenSimUDPBase back to high concurrency. High concurrency mode seems to make other problems happen faster, so it's helpful for working out other bugs and will probably