Commit graph

621 commits

Author SHA1 Message Date
Jonathan Barrow
848280dd40
Merge pull request #40 from PabloMK7/runanddelete
Add RunAndDelete to MutexMap to fix race condition
2023-11-04 15:31:22 -04:00
PabloMK7
7c742784ba Minor optimization 2023-11-04 13:24:26 +01:00
PabloMK7
537c4d1dfd Change description 2023-11-04 13:22:10 +01:00
PabloMK7
1fe8a91093 Add RunAndDelete to MutexMap to fix rc 2023-11-04 13:17:05 +01:00
Jonathan Barrow
9d6e91cbde
Merge pull request #34 from PretendoNetwork/stability
Stability - Better concurrent map API and deferred packet handling
2023-09-26 15:15:52 -04:00
Jonathan Barrow
aa2922193a
fixed comments for Remaining and ReadRemaining 2023-09-26 15:15:00 -04:00
Jonathan Barrow
38a6143269
Removed unused debug stuff 2023-09-26 14:48:13 -04:00
Daniel López Guimaraes
8566ab2e89
Remove disconnect packet log 2023-09-25 16:17:59 +01:00
Jonathan Barrow
7641d12e71
Merge pull request #39 from PabloMK7/timeoutincrement
Add timeout increment to packet resend manager
2023-09-18 16:42:58 -04:00
PabloMK7
a5eaf92bb2 Apply suggestions 2023-09-18 22:40:58 +02:00
PabloMK7
ea3bb1aef7 Fix tab 2023-09-18 19:32:28 +02:00
PabloMK7
e6cad41886 Add timeout increment to packet resend manager 2023-09-18 19:05:40 +02:00
Jonathan Barrow
9efdeb4d97
Merge pull request #38 from PabloMK7/fixdoubeclose
Prevent double StopTimeoutTimer call
2023-09-15 12:09:41 -04:00
PabloMK7
46857e0637 Prevent double StopTimeoutTimer 2023-09-15 18:04:42 +02:00
Daniel López Guimaraes
e90741c57b
Merge pull request #37 from PabloMK7/fixdeadlock 2023-09-15 16:38:18 +01:00
PabloMK7
0fbcb7d1be
Update mutex_map.go
Co-authored-by: Daniel López Guimaraes <112760654+DaniElectra@users.noreply.github.com>
2023-09-15 17:36:06 +02:00
PabloMK7
1e5d8f9fd7
Update Each godoc 2023-09-15 17:30:17 +02:00
PabloMK7
d08058f95f
Apply suggestions from code review
Co-authored-by: Jonathan Barrow <jonbarrow1998@gmail.com>
Co-authored-by: Daniel López Guimaraes <112760654+DaniElectra@users.noreply.github.com>
2023-09-15 17:28:03 +02:00
PabloMK7
a5810b2e85 Actually fix the deadlock 2023-09-15 15:35:35 +02:00
PabloMK7
597496de27 Use RLock/RUnlock in mutex map set and delete 2023-09-15 15:07:21 +02:00
Daniel López Guimaraes
7f23e056c1
Merge pull request #36 from PabloMK7/stability2 2023-09-14 21:35:12 +01:00
PabloMK7
0ad66556c9 Apply fixes 2023-09-14 22:32:48 +02:00
PabloMK7
91324b9c09 Remove debug logs 2023-09-14 19:15:40 +02:00
PabloMK7
c816953698 Always ACK incoming packets & separate pings from packet manager 2023-09-14 19:13:47 +02:00
Jonathan Barrow
15fae560cf
Lower resend time to one second 2023-09-12 17:23:03 -04:00
Jonathan Barrow
5cadb76359
Only do multi-ack handling if packet is multi-ack 2023-09-12 17:04:05 -04:00
Jonathan Barrow
1fc69bc8e3
Removed multi-ack version set. Check PRUDP version 2023-09-12 17:03:22 -04:00
Jonathan Barrow
a4757b43db
Added debug logs to PacketResendManager 2023-09-12 16:38:17 -04:00
Jonathan Barrow
3797b40f54
Updated SetResendMaxIterations Godoc comment 2023-09-12 15:56:12 -04:00
Jonathan Barrow
d345357f79
Removed comments from packet Bytes methods 2023-09-12 15:49:58 -04:00
Jonathan Barrow
6be87c5a98
Added server->client packet retransmission 2023-09-12 15:47:39 -04:00
Jonathan Barrow
bfd484bf48
Merge pull request #35 from PabloMK7/simulatedrops
Add emulated packet drop option
2023-09-12 13:14:16 -04:00
PabloMK7
787a9dab07
Update server.go
Co-authored-by: Daniel López Guimaraes <112760654+DaniElectra@users.noreply.github.com>
2023-09-12 17:37:58 +02:00
PabloMK7
760eedd914
Update server.go
Co-authored-by: Daniel López Guimaraes <112760654+DaniElectra@users.noreply.github.com>
2023-09-12 17:37:41 +02:00
PabloMK7
340a52d97e Add emulated packet drop option 2023-09-12 14:17:47 +02:00
Jonathan Barrow
8e627d0801
Added SequenceIDManager and separate counters for reliable and PING packets 2023-09-11 13:35:41 -04:00
Daniel López Guimaraes
cb09b0045f
Stop timeout on GracefulKick 2023-09-05 20:56:57 +01:00
Daniel López Guimaraes
810ab36c03
Stop timeout when receiving disconnect packet
Don't send the timeout packet when the client disconnects reliably.
2023-09-05 20:51:10 +01:00
Jonathan Barrow
aac9380b18
refactor: keep checking for packets in PacketManager pool using Next loop 2023-09-03 19:02:14 -04:00
Jonathan Barrow
58359dce0c
chore: remove old TODO in client.go 2023-09-03 18:51:30 -04:00
Jonathan Barrow
c98e4817f1
feat: beginnings of deferred packet handling 2023-09-03 18:27:14 -04:00
Jonathan Barrow
23f3683781
update: added experimental MutexMap type for safe map access 2023-09-03 17:00:19 -04:00
Jonathan Barrow
9a8eb5c83f
update: added ReadRemaining method to StreamIn 2023-09-03 16:35:39 -04:00
Jonathan Barrow
1534de94ab
update: added Remaining method to StreamIn 2023-09-03 16:34:07 -04:00
Jonathan Barrow
acd5855c0d
Merge pull request #33 from DaniElectra/mutex 2023-09-02 15:09:15 -04:00
Daniel López Guimaraes
300253aaea
Add mutex for accessing server clients
Prevents server panic from client overload.
2023-09-02 19:47:40 +01:00
Jonathan Barrow
f03f66853c
Added DataHolder list methods to streams 2023-08-31 00:47:27 -04:00
Jonathan Barrow
dbb309e9c9
Added more robust semver checks for NEX versions and Structure version checks 2023-08-30 17:39:40 -04:00
Jonathan Barrow
b96c56c9a3
Added Pl field StationURL 2023-08-29 13:37:24 -04:00
Jonathan Barrow
b6924769b4
Client now stores StationURLs as structs not strings 2023-08-15 06:46:15 -04:00