ReenigneArcher
0eb84dcca8
Add NXDK (Xbox) support
CMake / CMake ubuntu-latest Debug (push) Cancelled after 0s
CMake / CMake windows-latest Debug (push) Cancelled after 0s
CMake / CMake macos-latest Release (push) Cancelled after 0s
CMake / CMake ubuntu-latest Release (push) Cancelled after 0s
CMake / CMake windows-latest Release (push) Cancelled after 0s
CMake / CMake macos-latest Debug (push) Cancelled after 0s
2026-05-23 18:45:48 -05:00
MrCreativ3001
c7353c0593
Use lowercase windows headers for easier cross-compilation
2026-02-20 19:32:47 -06:00
Cameron Gutman
78cc9b4b03
Only pass the peer's local address if the host was wildcard bound
2026-02-06 23:20:39 -06:00
ReenigneArcher
dea6fb5414
Add FreeBSD support for IP_RECVDSTADDR and IP_SENDSRCADDR
...
This commit adds compatibility for FreeBSD by using IP_RECVDSTADDR and IP_SENDSRCADDR in place of IP_PKTINFO for IPv4 socket operations. It ensures correct handling of source and destination addresses on FreeBSD systems where struct in_pktinfo is not available.
2025-11-09 20:29:40 -06:00
AorsiniYT
115a10baa1
Removes unnecessary definitions for PS Vita and ensures unavailability of the Messages API.
2025-07-04 16:58:56 -05:00
Cameron Gutman
44c85e1627
Further improve ping interval wait logic
2024-10-20 17:05:36 -05:00
Cameron Gutman
badcd6c01d
Fix waking early to send pings
2024-10-20 16:32:16 -05:00
Cameron Gutman
b757dc7c28
Wake from the socket wait for a peer RTO
2024-10-20 16:16:57 -05:00
Cameron Gutman
bbf71856bb
Use SO_NONBLOCK on Haiku
2024-06-10 23:44:39 -05:00
Roberto Acevedo
76125b56b3
Update unix.c
...
Added check to compile in Haiku
2024-06-10 23:35:15 -05:00
Cameron Gutman
9e1cfe280a
Fix -Wsign-compare warning
2024-05-25 17:08:01 -05:00
GaryOderNichts
0032f5e750
Implement support for userbuffers on Wii U
...
The Wii U socket implementation has limited memory available. To support larger receive buffers, application memory needs to be provided.
To make sockets use this user memory the `SO_RUSRBUF` option needs to be set on the socket.
2024-02-18 13:35:43 -06:00
Cameron Gutman
d3a323fc8b
Don't use VersionHelpers.h on UWP
2024-02-03 17:18:59 -06:00
Cameron Gutman
04e2759067
Enable ECN/L4S on Windows 10
2024-02-03 15:04:23 -06:00
Cameron Gutman
a754295f42
Enable ECN/L4S on UNIX
...
Since this is enabled as a QoS option, it will benefit from the opportunistic
disablement code when ECN-intolerant networks are encountered.
2024-02-03 14:34:24 -06:00
Cameron Gutman
a92d6960a6
Enable DSCP tagging in addition to using SO_NET_SERVICE_TYPE on macOS/iOS
...
It appears SO_NET_SERVICE_TYPE doesn't always enable DSCP tagging, so let's do it manually too.
2024-02-01 18:24:53 -06:00
zoeyjodon
a339bf51c8
Prevent Polling from Blocking on 3DS ( #15 )
2024-02-01 18:23:03 -06:00
Cameron Gutman
061ce30163
Add IN6ADDR_V4MAPPEDPREFIX_INIT definition for MinGW
2024-02-01 01:14:56 -06:00
Cameron Gutman
c76572875a
Add workaround for qWAVE bug with IPv4-mapped IPv6 addresses
2024-02-01 01:11:41 -06:00
Cameron Gutman
f6e67b1138
Automatically disable QoS tagging on the server-side too for blackhole router scenarios
...
Also bump the threshold for QoS disablement to 3 losses to avoid unnecessary fallbacks on the server side.
2024-01-31 23:31:04 -06:00
Cameron Gutman
acf813c4aa
Ignore some socket errors that may be caused by transient network interruptions
...
This allows the ENet connection to survive WiFi network roaming.
2024-01-24 23:22:19 -06:00
Cameron Gutman
c6bb0e5011
Add workaround for Apple kernel bug
2023-12-28 16:07:39 -06:00
Cameron Gutman
43218d4de2
Add warning when IPv6 options are not defined on Apple platforms
2023-12-28 00:35:46 -06:00
zoeyjodon
89a7ebd63d
Reduce 3DS MTU ( #14 )
2023-12-22 12:48:34 -06:00
zoeyjodon
c07aa74c60
Add 3DS configuration ( #13 )
...
* Adds unix definitions for the 3DS
Guards AF_INET6 options for 3DS builds
2023-11-10 15:09:07 -06:00
Arthur Kasimov
bbfe93c248
Add CMake option to disable installation of headers and libraries
2023-09-20 20:51:32 -05:00
Cameron Gutman
880e41f3ab
Fix QOS_FLOWID detection with new MinGW headers
2023-07-30 13:58:58 -05:00
Cameron Gutman
50ab7907d8
Don't enable QoS marking on ENet connections by default
...
The caller will enable this itself if appropriate for the given usage.
2023-07-30 13:56:05 -05:00
Cameron Gutman
68ffba7d45
Adjust RTO logic to retransmit more quickly on links with high RTT variance
...
Since Moonlight uses ENet for highly latency sensitive but very low bandwidth traffic flows, we'd rather generate a little excess traffic than wait too long to retransmit.
2023-07-30 13:52:25 -05:00
Cameron Gutman
bbed828aae
Cap the retransmit timer at 1/5 of the max peer timeout
...
This helps avoiding spurious disconnections in cases of large RTT variance
2023-07-26 00:57:05 -05:00
Cameron Gutman
bdda0eecc5
Merge remote-tracking branch 'upstream/master' into moonlight
2023-07-25 21:54:49 -05:00
Lee Salzman
2a85cd6445
better partial message handling
2023-07-23 21:05:47 -04:00
Cameron Gutman
4979b629c2
Fix build after removal of roundTripTimeoutLimit
2023-07-08 11:14:46 -05:00
Cameron Gutman
33c726ab73
Merge remote-tracking branch 'upstream/master' into moonlight
2023-07-08 10:59:10 -05:00
Elia Zammuto
441a6e9c5b
UWP Support ( #10 )
...
* Fixed Build for UWP
2023-07-08 08:22:12 -05:00
Cameron Gutman
7914bc74a9
Switch from timeGetTime() to GetTickCount() which is available for UWP apps too
2023-07-07 21:42:28 -05:00
Cameron Gutman
fc123218d3
Don't adjust timer period when ENet is initialized
...
We handle this elsewhere in Moonlight and Sunshine when actually streaming
2023-07-07 21:41:49 -05:00
Lee Salzman
ea4607a90d
lower default MTU to 1392 to avoid stressing certain VPNs
2023-04-02 16:48:09 -04:00
Lee Salzman
8ae0e85298
update connecting peer's mtu from host's current mtu
2023-04-01 14:49:22 -04:00
Michael Keck
07a40ef0f9
Add GitHub Actions CI ( #188 )
...
Add GitHub Actions CI
2023-03-21 09:24:33 -04:00
Lee Salzman
eb89a34d66
Merge pull request #222 from seragh/server-mtu
...
Fix MTU negotiation on server side
2023-03-10 14:01:19 -05:00
Ralph Sennhauser
4faa11a243
Fix MTU negotiation on server side
...
On connect the MTU sent by the client gets stored and sent back
unchanged if within minimum and maximum of the protocol. Then on verify
connect a test is done if the returned MTU is smaller than the current
MTU and if so gets adjusted. So as long as the MTU is within boundaries
only the client specified MTU is relevant.
This patch adds a check for smaller MTU on server side.
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com >
2023-03-10 09:41:55 +01:00
Chris Pable
47e42dbf42
Fix overlooked address -> peerAddress rename ( #9 )
2023-03-05 14:30:18 -06:00
Lee Salzman
153e10f953
Relocate home to http://sauerbraten.org/enet/
2023-03-02 22:43:35 -05:00
Cameron Gutman
e790647a57
Correctly support hosts with multiple possible source addresses
2023-02-12 15:35:34 -06:00
Lee Salzman
be7cefa39c
avoid explicitly storing roundTripTimeoutLimit
2023-02-05 00:55:34 -05:00
Lee Salzman
9dde91d003
remove unnecessary sent unreliable list from peers
2023-02-04 23:20:39 -05:00
Lee Salzman
ca18dfb8f8
avoid revisiting peers when continuing to send
2023-02-04 22:48:18 -05:00
Lee Salzman
d7e5470cf7
maintain a separate queue for outgoing send reliable packets
2023-02-04 22:16:19 -05:00
Lee Salzman
bb788ea48b
Merge pull request #217 from skyfloogle/ttl
...
Add ENET_SOCKOPT_TTL
2023-01-08 14:08:39 -05:00