UbitUmarov
03a9bc8db6
avoid some noise on shutdown
2023-03-10 14:47:06 +00:00
UbitUmarov
1e5c0d4c41
minor cleanup
2023-03-10 13:38:40 +00:00
UbitUmarov
477f0e230b
avoid a old potencial stack overflow
2023-03-10 13:27:42 +00:00
UbitUmarov
612632f945
cosmetics
2020-08-19 18:07:40 +01:00
UbitUmarov
1df06f459a
avoid duplicated udpbuffer free that may still happen
2020-03-04 22:39:44 +00:00
UbitUmarov
ee68085628
SIO_UDP_CONNRESET should work on macs now, thx Gavin
2019-11-10 19:14:12 +00:00
UbitUmarov
bcf05afd64
direct encode terseupdates
2019-02-27 10:07:25 +00:00
UbitUmarov
4de5e14e54
issues with udp buffers pool on heavy load
2019-02-26 15:02:57 +00:00
UbitUmarov
91569e00a0
buffers in pool have no data, better mk that clear
2019-02-26 01:16:30 +00:00
UbitUmarov
91fab70236
removed a redundant function; try to make a particular vi coder happy about removed comments
2019-02-25 23:05:11 +00:00
UbitUmarov
d01165818d
change UDPPacketBuffer pools (does waste a bit of memory)
2019-02-25 21:46:23 +00:00
UbitUmarov
af9bff7ed2
try fix mantis 8283
2018-01-22 21:43:21 +00:00
UbitUmarov
3ba63dde6e
udp is not tcp. If mono versions have bronke udp sento, better update, also having 300 threads because object select is not funny
2017-06-13 12:17:39 +01:00
UbitUmarov
e650a4ff16
remove excessive notion of paralelism
2017-06-13 08:56:21 +01:00
Melanie Thielker
b16abc8166
Massive tab and trailing space cleanup
2017-01-05 19:07:37 +00:00
Melanie Thielker
69776aa70c
Remove the AllowAlternatePorts option. It wasn't implemented anyway.
...
Instead, handle the port being 0 as "any port" and assign a random
port for regions in that case.
2016-12-13 19:47:26 +00:00
Melanie Thielker
ee58beddec
Make sure sims on Linux can be restarted without waiting on a 2 mintue socket timeout
2016-12-13 14:43:10 +00:00
UbitUmarov
b2c553b459
work around some warnings
2016-11-21 01:16:35 +00:00
UbitUmarov
371c9dd2af
bad merge?
2015-09-01 14:54:35 +01:00
Diva Canto
f27ce66877
Squooshed a warning that could result in a runtime null pointer exception. It says that code is for debugging, but it was buggy.
2015-06-14 08:18:21 -07:00
Freaky Tech
c6731c73fb
increased IPv4 TTL of LLUDP Sockets
...
Signed-off-by: BlueWall <jamesh@bluewallgroup.com >
2015-03-03 15:34:34 -05:00
Mic Bowman
e71549a2cb
Add debugging code for simulating packet loss in outgoing UDP packets. The
...
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-12-29 12:02:36 -08:00
Justin Clark-Casey (justincc)
5d5ea9234f
Stop Mono 3.2.8 from binding a UDP socket to a port already in use.
...
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-25 23:23:09 +00:00
Justin Clark-Casey (justincc)
12daa3c3d9
refactor: Move LLUDPServer console commands into their own class.
2014-11-25 23:18:39 +00:00
Melanie Thielker
785a2cc729
Remove JustinCCs UDP patch - it is harmful to Avination's grid management
2014-11-10 04:48:36 +01:00
UbitUmarov
54ab9e7d4d
set udp SocketOptionName.ReuseAddress to false, to not allow two regions
...
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-30 21:57:20 +00:00
Melanie Thielker
12ebc92e55
Revert "*TEST* send udp sync. Stop uncontroled and hidden use of IO threads."
...
This reverts commit 8c41271b33 .
Conflicts:
OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs
2014-10-13 23:52:19 +02:00
UbitUmarov
8c41271b33
*TEST* send udp sync. Stop uncontroled and hidden use of IO threads.
...
Testing this may require several people.
2014-10-13 13:17:48 +01:00
Melanie
75c68fa29e
Merge branch 'master' into careminster
...
Conflicts:
OpenSim/Data/MySQL/MySQLSimulationData.cs
OpenSim/Data/MySQL/Resources/RegionStore.migrations
OpenSim/Region/ClientStack/Linden/Caps/WebFetchInvDescModule.cs
OpenSim/Region/CoreModules/Avatar/Attachments/AttachmentsModule.cs
OpenSim/Region/CoreModules/Avatar/Inventory/Transfer/InventoryTransferModule.cs
OpenSim/Region/CoreModules/World/LightShare/LightShareModule.cs
OpenSim/Region/Framework/Scenes/Scene.cs
OpenSim/Region/Framework/Scenes/ScenePresence.cs
OpenSim/Region/Framework/Scenes/Tests/ScenePresenceCapabilityTests.cs
OpenSim/Region/OptionalModules/World/NPC/NPCModule.cs
OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
2013-10-04 20:03:12 +01:00
Justin Clark-Casey (justincc)
f384a6291e
Instead of swallowing any socket begin/end receive exceptions, log them for debugging purposes.
...
This may reveal why on some teleports with current code, the UseCircuitCode message gets through but CompleteMovement disappears into the ether.
2013-09-25 00:02:17 +01:00
Melanie
e82d4154a2
Merge branch 'master' into careminster
...
Conflicts:
OpenSim/Framework/Servers/HttpServer/PollServiceRequestManager.cs
OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs
OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs
OpenSim/Region/Framework/Scenes/ScenePresence.cs
OpenSim/Region/Physics/Manager/PhysicsActor.cs
OpenSim/Region/Physics/Manager/PhysicsScene.cs
2013-07-24 04:45:07 +01:00
Justin Clark-Casey (justincc)
60732c96ef
Add clientstack.OutgoingUDPSendsCount stat to show number of outbound UDP packets sent by a region per second
2013-07-23 00:35:34 +01:00
Justin Clark-Casey (justincc)
8396f1bd42
Record raw number of UDP receives as clientstack.IncomingUDPReceivesCount
2013-07-23 00:35:23 +01:00
Justin Clark-Casey (justincc)
bf517899a7
Add AverageUDPProcessTime stat to try and get a handle on how long we're 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-23 00:35:09 +01:00
Justin Clark-Casey (justincc)
66048e1a70
minor: provide user feedback in the log for now when udp in/out bound threads are started/stopped
2013-07-21 08:58:02 -07:00
Justin Clark-Casey (justincc)
63c42d6602
Do some simple queue empty checks in the main outgoing udp loop instead of 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.
2013-07-21 08:56:48 -07:00
Melanie
569f39e124
Merge branch 'master' into careminster
2012-12-21 22:13:41 +00:00
Justin Clark-Casey (justincc)
ae67435146
Disable UDPPacketBuffer pooling for now to resolve an issue on Windows of 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-12-19 01:51:30 +00:00
Melanie
5895c4cc6f
Merge branch 'master' into careminster
...
Conflicts:
OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs
2012-11-15 03:46:10 +00:00
Justin Clark-Casey (justincc)
038528dc80
Make PacketPool class stats pull stats instead of push stats so they can be lifted up into LLUDPServer and be distiguished by scene name
2012-11-15 02:02:59 +00:00
Justin Clark-Casey (justincc)
2c36106675
Add IncomingPacketsProcessedCount stat for diagnostics.
...
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-11-15 01:14:18 +00:00
Melanie
484eca323b
Merge branch 'master' into careminster
2012-10-23 17:25:40 +01:00
Justin Clark-Casey (justincc)
319ebaca06
Make it possible to turn the base UDP object packet pools on and off whilst 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-23 02:44:15 +01:00
Justin Clark-Casey (justincc)
4578ff74fe
Add object count stats for new IncomingPacket and UDPPacketBuffer pools if 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-23 01:52:10 +01:00
Melanie
ad60a29c93
Merge branch 'master' into careminster
...
Conflicts:
OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs
2012-10-17 00:03:02 +01:00
Justin Clark-Casey (justincc)
fc861c7904
Add optional pool for the UDPPacketBuffer objects that handle all incoming 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-16 23:35:05 +01:00
Melanie
c4fcfec24e
Merge branch 'master' into careminster
2012-10-16 23:22:37 +01:00
Justin Clark-Casey (justincc)
db4ca57590
Make it possible to separate start and stop lludp packet processing from the 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.
2012-10-16 21:55:00 +01:00
Melanie
d913303875
Merge branch 'master' into bigmerge
2011-12-09 08:13:57 +00:00
Justin Clark-Casey (justincc)
bc13855e64
Reactivate BasicCircuitTests.TestAddClient()
...
This checks that the initial UseCircuitCode packet is handled correctly for a normal client login.
2011-12-08 20:52:34 +00:00