Commit Graph

86 Commits

Author SHA1 Message Date
Cameron Gutman 3fcb07f723 fix RTO limit being exceeded 2021-05-14 18:48:47 -05:00
Lee Salzman 0286dcdb34 silence some MSVC warnings 2021-04-25 23:44:51 -04:00
Lee Salzman 4de13a2c2e avoid sending packets in unacknowledged window 2020-11-13 00:11:34 -05:00
Lee Salzman 0d1fb32ee8 fix for sending getting too far ahead of receiver 2020-10-19 20:21:04 -04:00
Lee Salzman 54dac7af81 revert failed throttle changes 2020-09-08 13:39:54 -04:00
Lee Salzman b63fd5256a clamp RTT variance a bit more loosely for throttle 2020-09-05 20:29:58 -04:00
Lee Salzman 65dc0f74d8 round RTT stats before comparing 2020-09-03 17:22:05 -04:00
Lee Salzman bde113ef56 clamp minimum highest RTT variance 2020-09-01 00:26:10 -04:00
Lee Salzman e55d226969 more command queuing fixes 2020-08-23 16:45:15 -04:00
Lee Salzman 8d55487767 make throttle more readily accelerate 2020-08-23 16:35:43 -04:00
Lee Salzman 5de0a6f764 make throttle even more tolerant of variance 2020-08-12 15:42:57 -04:00
Lee Salzman eda26a26d9 clamp throttle variance from below based on RTT percentage 2020-07-24 01:50:34 -04:00
Lee Salzman 47d2e192aa use unified outgoing command queue for reliable and unreliable commands 2020-07-23 04:42:59 -04:00
Lee Salzman c25b57b2c1 stabilize packet throttle when RTT variance is low 2020-04-16 00:15:18 -04:00
Lee Salzman f89e5986d0 don't throttle on first RTT measurement 2020-04-13 19:32:13 -04:00
Maxim 33c7d6903e Return 0 instead of -1 on enet_protocol_receive_incoming_commands
Return 0 instead of -1 on enet_protocol_receive_incoming_commands when nothing received.
This allows the Service loop to continue running and not return an error when there is nothing to do with the socket receive.

From debugging I found sometimes the enet_protocol_receive_incoming_commands returns -1 because simply nothing happened in the 256 for loop.

Other functions like enet_protocol_send_outgoing_commands return 0 when nothing happened.
2020-04-07 11:58:08 +02:00
Lee Salzman 6991632abf accumulate fractional RTT values 2020-04-04 12:30:54 -04:00
Lee Salzman b4c427059a clamp roundTripTime 2020-04-03 03:48:38 -04:00
Lee Salzman 6537dc81f3 make RTT calculations more TCP-like (contributed by Vladimir 'virtul' Ivannikov) 2020-03-03 15:34:06 -05:00
Lee Salzman b8713bdf88 delay handling of DISCONNECT_LATER until in-flight unreliable packets are sent 2019-01-27 14:46:45 -05:00
lsalzman@gmail.com 7c27a5d5f8 fix window wrap check when sending reliable outgoing commands 2015-03-12 16:25:26 -07:00
lsalzman@gmail.com 9b06a12e71 handle case in bandwidth limit protocol where either incoming or outgoing limits are disabled, but not both 2015-03-09 11:54:01 -07:00
Lee Salzman 6ef4e7d277 limit number of packets that can be received per iteration of protocol loop 2014-09-29 15:49:34 +03:00
Lee Salzman 518144338d fix maximumWaitingData handling to allow acknowledgements when the packet already exists 2014-04-14 21:21:21 +03:00
Lee Salzman ea8d41f65c added maximumPacketSize and maximumWaitingData fields for limiting peer buffer space 2014-04-14 19:11:44 +03:00
lsalzman 5721b667f2 avoid an enet_time_get call when timeout expires 2014-02-21 11:20:20 +02:00
lsalzman 84a4ac70ab handle disconnects in connecting state 2013-11-27 16:33:09 +02:00
Lee Salzman d45b44f2b5 allow loopback connections 2013-11-17 20:19:17 +02:00
Lee Salzman 4d7b80152b small fix for duplicate peers 2013-08-18 17:20:17 +03:00
lsalzman 1658cf3a95 stub out enet_host_random_seed() 2013-08-09 09:41:57 +03:00
Lee Salzman 2d2440053d typo fix 2013-05-12 11:04:00 +03:00
Lee Salzman 69b98608e5 track the number of connected peers to make throttling a bit cheaper 2013-05-11 21:53:55 +03:00
Lee Salzman 7dc0189ffb handle EINTR in enet_socket_wait 2013-05-10 17:49:44 +03:00
Lee Salzman 714f40319a set unused reliable sequence number field for acks to sane value 2013-03-23 17:22:32 +02:00
lsalzman db685c3d4f only use perror if ENET_DEBUG defined 2013-03-19 11:26:54 +02:00
lsalzman 4ce4aac149 added ENET_PACKET_FLAG_SENT to indicate that a packet has been sent 2013-02-27 16:29:22 +02:00
Lee Salzman 9185dc80bc state handling cleanups 2013-01-07 20:46:31 +02:00
lsalzman 2d979ceb51 intercept callback support 2012-10-02 13:33:07 +03:00
Lee Salzman 0e0ace781b merging some things from Ryan C. Gordon (icculus):
enet_socket_connect() shouldn't fail with non-blocking sockets.
Removed unused variable.
Sanity check for possible NULL dereference reported by clang's static…analysis.
Added an interface to shutdown().
Fixed typo in the comments.
2012-09-18 16:38:10 +03:00
Lee Salzman 74d4c4a88f fix serialization of mtu in verify connect packet 2012-09-18 15:29:11 +03:00
Lee Salzman f6160fd2e9 case warning fixes 2012-07-31 16:12:11 +03:00
lsalzman ea8faf3579 added per-peer configurable ping interval and timeouts
1.3.4 release prep
2012-05-29 19:05:34 -07:00
eihrul 78222dc79e sanity checks 2012-01-06 15:11:04 +00:00
eihrul 27d8c07142 only bail out of sending on a timeout if there really is an event to dispatch 2012-01-05 04:12:46 +00:00
eihrul 70d0d8f25d warning workarounds 2011-12-31 12:37:26 +00:00
eihrul 7691ccc318 fixed bug with simultaneous disconnects not dispatching events 2011-06-28 15:25:53 +00:00
eihrul cfb05d051b unreliable fragment fixes 2011-05-31 09:44:09 +00:00
eihrul f38c177db0 support for ENET_PACKET_FLAG_UNRELIABLE_FRAGMENT
1.3.2 release prep
2011-05-31 07:48:27 +00:00
eihrul 33e2fc6201 check received port 2011-05-30 19:00:26 +00:00
eihrul c77495463b fix bug with tracking reliable data in transit 2011-01-31 08:27:39 +00:00