Ash Logan
5dda129a6f
chore: Remove Connections tracking from SocketConnection
...
Every SocketConnection had a map of *PRUDPConnection, which was never actually inserted into anywhere, so the intended function of tracking what OS sockets have which PRUDP streams was not being done.
Remove it as dead code. If the rest of the connection tracking is going to be implemented, this commit can be reverted.
Since the SocketConnection no longer has long-lived state in it, also remove the map on PRUDPServer and just create it as a simple data structure when needed.
The connection close handling of the websocket server had to be rewritten - the old code would never do anything due to the empty maps, so this can't be *worse* than nothing :)
2025-01-03 17:58:46 +11:00
Michael Wolfendale
feee2dd599
fix: allocate buffers for incoming packets
2024-07-07 16:36:34 +01:00
Michael Wolfendale
c214a2a7a5
chore: reduce buffer allocations when receiving packets
2024-07-05 16:37:52 +01:00
Michael Wolfendale
9997fb672a
chore: rename ResendScheduler TimeoutManager
2024-07-02 17:29:28 +01:00
Michael Wolfendale
18380590ab
feat: rework resending packets to be more accurate
2024-07-02 16:54:47 +01:00
Michael Wolfendale
83e5157350
feat: add delay to outgoing fragmented data packets
2024-06-25 21:58:40 +01:00
Daniel López Guimaraes
d5df60ef58
chore: Update module version to v2
2024-04-07 23:40:51 +01:00
Jonathan Barrow
ff1d3b1482
prudp: rename packet flags to distinguish them from other constants
2024-03-15 18:25:46 -04:00
Jonathan Barrow
a1a590392b
chore: move constants and enums to constants package
2024-03-15 16:09:23 -04:00
Jonathan Barrow
ab069f3410
chore: formatting
2024-03-15 13:17:00 -04:00
PabloMK7
652dbecf48
Use more fields from StreamSettings
2024-03-05 19:30:53 +01:00
Daniel López Guimaraes
cdcc2bbb9d
prudpv1: Add PRUDPV1Settings
...
Adds setting for controlling legacy connection signature calculation,
needed for some games like Luigi's Mansion 2.
2024-02-24 00:18:49 +00:00
Jonathan Barrow
582bcab984
prudp: fix ineffectual assignment to err in PRUDPServer
2024-02-20 15:21:24 -05:00
Jonathan Barrow
88a2d4bbac
rmc: add a way to enable verbose RMC messages
2024-02-18 22:35:08 -05:00
Daniel López Guimaraes
3b90bdc96b
refactor: Update ServerInterface to EndpointInterface
...
This requires a lot of refactor but it brings back the option of getting
events when a connection disconnects.
2024-02-11 00:03:05 +00:00
Jonathan Barrow
191455352a
update: added RegisterServiceProtocol to HPP and PRUDP servers
2024-01-24 16:40:38 -05:00
Jonathan Barrow
f1549a79ca
prudp: removed unnecessary getters/setters
2024-01-24 13:08:49 -05:00
Jonathan Barrow
64b26b3eed
prudp: rework Kerberos ticket generation to use user accounts properly
2024-01-24 12:42:11 -05:00
Jonathan Barrow
6697eec1f8
prudp: change PRUDPServer variable name
2024-01-15 17:56:49 -05:00
Jonathan Barrow
ee2bca04df
prudp: add events back to PRUDPServer
2024-01-15 17:55:35 -05:00
Jonathan Barrow
8dba91974d
Apply suggestions from code review
...
Co-authored-by: Daniel López Guimaraes <112760654+DaniElectra@users.noreply.github.com>
2024-01-15 16:32:57 -05:00
Jonathan Barrow
a63ca441a9
encryption: added QuazalRC4
2024-01-15 15:07:57 -05:00
Jonathan Barrow
9cec5d9e9c
prudp: completely redo virtual connections
2024-01-15 15:01:26 -05:00
Jonathan Barrow
84dd859e17
prudp: added PRUDPV0Settings
2024-01-01 00:50:45 -05:00
Jonathan Barrow
bdfeb0b5a8
streams: added ByteStreamSettings
2023-12-31 23:51:18 -05:00
Jonathan Barrow
fc1da5b833
prudp: use real Buffer type in connection check
2023-12-31 23:29:16 -05:00
Jonathan Barrow
1093a614db
streams: rename streams to ByteStreams
2023-12-31 23:22:41 -05:00
Daniel López Guimaraes
34fa2d53de
types: Replace type aliases with struct wrappers
...
Also remove StructureInterface, and make all structures initialize all
their fields. The structure header is now added as a common function
`ExtractHeaderFrom` and `WriteHeaderTo`.
2023-12-27 22:16:06 +00:00
Jonathan Barrow
793664257a
types: remove unused generic from PID type
2023-12-23 15:21:22 -05:00
Jonathan Barrow
919cabda7d
types: added constructor values to primitive types
2023-12-23 15:01:55 -05:00
Jonathan Barrow
715e3182cd
expanded all types into dedicated files and made the stream API generic
2023-12-23 13:03:32 -05:00
Jonathan Barrow
f2562bd26c
rmc: pass server to RMC messages
2023-12-15 17:02:19 -05:00
Jonathan Barrow
ce2e746e96
prudp: support LZO compressed payloads
2023-12-15 16:54:52 -05:00
Jonathan Barrow
95e8f79957
prudp: fix payload compression exports
2023-12-14 17:39:52 -05:00
Jonathan Barrow
ffaf7278eb
prudp: export payload compression methods to support custom compression
2023-12-14 17:17:44 -05:00
Jonathan Barrow
30d9545c61
configure the size of the Quazal::String length field
2023-12-13 20:05:11 -05:00
Jonathan Barrow
71f8d86296
prudp: added PRUDPv0CustomChecksumCalculator to PRUDPServer
2023-12-13 19:55:50 -05:00
Jonathan Barrow
89af63e3d4
prudp: validate virtual port being connected to
2023-12-13 19:51:05 -05:00
Jonathan Barrow
a64a555520
prudp: swap WebSocket libraries
2023-12-12 04:32:34 -05:00
Jonathan Barrow
99c37d3df2
prudp: experimental WSS and PRUDPLite support
2023-12-11 00:22:19 -05:00
Daniel López Guimaraes
a210ae62c3
prudp: Use client session ID as server session ID
2023-12-10 19:31:15 +00:00
Daniel López Guimaraes
5c4004413c
qrv: Add EnhancedChecksum option
...
Quazal Rendez-Vous supports both 1 byte and 4 byte checksums. Add a
toggle to enable the 4 byte checksum.
2023-12-10 14:09:40 +00:00
Daniel López Guimaraes
3bb9c3fca2
Update PasswordFromPID error to NotImplemented
2023-12-10 11:32:26 +00:00
Jonathan Barrow
35c2afce1a
prudp: handle edge cases for virtual ports
2023-12-09 19:46:05 -05:00
Jonathan Barrow
3ee001f878
prudp: rename PasswordFromPIDFunction to PasswordFromPID
2023-12-09 19:35:46 -05:00
Daniel López Guimaraes
a7564f5555
Add PasswordFromPID to ServerInterface
...
This function handler is common to all servers.
2023-12-09 21:03:31 +00:00
Jonathan Barrow
0ac073d2c8
prudp: update default number of server vports
2023-12-08 16:25:54 -05:00
Jonathan Barrow
1970b2a73e
prudp: support server vports and move client vport to discriminator
2023-12-08 16:08:27 -05:00
Daniel López Guimaraes
109fd47a19
prudp: Virtual connections now use source port
2023-12-08 11:06:21 +00:00
Jonathan Barrow
7b7b9c59d7
prudp: add support for virtual connections
2023-12-08 01:24:57 -05:00