Commit Graph

366 Commits

Author SHA1 Message Date
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
Floogle 4e69c700d6 added ENET_SOCKOPT_TTL 2023-01-08 15:58:31 +01:00
Lee Salzman 311360dbdd Merge pull request #82 from JonnyPtn/master
Add install target to CMakeLists.txt
2022-10-17 14:21:53 -04:00
Lee Salzman b06d154579 Merge pull request #209 from daichifukui/dfukui/allow-build-on-hurd-i386
allow build on hurd i386
2022-10-11 00:08:04 -04:00
Fukui Daichi 6800acd9c7 allow build on hurd i386
This patch originates with:
https://salsa.debian.org/games-team/enet/-/commit/88648f10bd19d658167b0d303bef05e9e6144278
2022-10-10 12:36:16 +00:00
Lee Salzman 4f8e9bdc4c use a hard-coded crc32 table 2022-08-12 08:46:05 -04:00
Lee Salzman 3340d1cf85 more enet_peer_send notes 2022-02-20 15:05:33 -05:00
Lee Salzman bd0115c907 enet_peer_send note about failure and enet_packet_destroy 2022-02-20 15:03:09 -05:00
Lee Salzman 987cd0650f Merge pull request #187 from metaquarx/master
Future proof cmake minimum version
2022-01-19 14:41:45 -05:00
metaquarx 92ef50a080 future proof cmake minimum version 2022-01-19 19:22:50 +00:00
Lee Salzman 498b9e3571 silence analyzer warning about peer->channels 2021-11-11 10:05:49 -05:00
Mariotaku 4cde9cc3dc Fixed build with MinGW (#8)
* Fixed build with MinGW

* improved typedef check for MinGW

* added include dir to enet lib
2021-09-15 23:02:02 -05:00
Lee Salzman 74cea7abf5 switch irc channel 2021-06-13 16:15:37 -04:00
Cameron Gutman 8d69c5abe4 Avoid statically linking to qwave.dll
It's not present on Server SKUs by default.
2021-06-12 12:14:46 -05:00
Cameron Gutman ad5bf95397 fix excessive retransmissions when average RTT variance is 0 2021-05-16 15:35:02 -05:00
Cameron Gutman ab9d471cec fix SRTT calculations when RTT < 8 ms and SRTT >= 8 ms 2021-05-16 14:15:38 -05:00
Cameron Gutman c20ca391e2 fix RTO limit being exceeded 2021-05-14 18:46:49 -05:00
jonathan.r.paton@googlemail.com 9fda19e54b Add install target to CMakeLists.txt 2021-05-14 10:54:52 +01:00
Cameron Gutman 70ce1c3e0b Merge remote-tracking branch 'upstream/master' into moonlight 2021-04-29 09:40:57 -05:00