Commit Graph

153 Commits

Author SHA1 Message Date
themode acee29c20a Fix player position being wrong inside tests 2022-03-14 19:01:48 +01:00
themode c3c139735a Improve ChunkSet 2022-02-18 11:13:45 +01:00
TheMode 9b04e89552
Add PlayerPacketOutEvent (#689) 2022-02-17 13:51:55 +01:00
themode 0ca5e2ade6 Update VIEWABLE_STORAGE_MAP as `compute` is no longer required 2022-02-13 19:15:24 +01:00
themode 2e02dfd4d8 Fix synchronization issue with viewable packets 2022-02-05 08:21:19 +01:00
TheMode 87d5a33c76
Fix corruption when receiving multiple compressed packets (#611)
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-29 10:18:23 +01:00
themode 735184b909 Add tests for reading complete un/compressed stream 2022-01-27 14:58:30 +01:00
themode 0b4dd3b8aa Heavily reduce the number of direct buffers required for each worker 2022-01-26 06:37:46 +01:00
TheMode d0b874ed7c Move local buffers
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-26 05:01:43 +01:00
TheMode 5bbf4642e8 Server process (#550) 2022-01-10 16:51:21 +01:00
TheMode 076b11b77a Separate concern for packet reading
Signed-off-by: TheMode <themode@outlook.fr>
2022-01-10 16:51:21 +01:00
TheMode 6ed55a68c0 Prevent stream allocation when viewable packets are disabled
Signed-off-by: TheMode <themode@outlook.fr>
2021-11-20 13:56:59 +01:00
TheMode 8b1856d5b7
Async packet write (#533) 2021-11-17 06:31:24 +01:00
TheMode c5e947c76e Move CachedPacket and FramedPacket
Signed-off-by: TheMode <themode@outlook.fr>
2021-11-17 00:48:43 +01:00
TheMode e9a3144606 Fix boolean properties
Signed-off-by: TheMode <themode@outlook.fr>
2021-11-10 23:34:19 +01:00
TheMode dc6a520ab5
Add properties for grouped, cached & viewable packets (#524) 2021-11-10 22:34:21 +01:00
TheMode b18df47feb Avoid slice allocation when compressing packets
Signed-off-by: TheMode <themode@outlook.fr>
2021-11-03 03:06:19 +01:00
TheMode 5b63636e92 Use caffeine map
Signed-off-by: TheMode <themode@outlook.fr>
2021-11-02 06:17:58 +01:00
TheMode 970d4d2d9c Allow buffer index/length to be specified
Signed-off-by: TheMode <themode@outlook.fr>
2021-11-02 03:08:36 +01:00
TheMode 0ba41ac88b Use the backing array for viewable packets
Signed-off-by: TheMode <themode@outlook.fr>
2021-11-02 02:22:05 +01:00
TheMode ae97aec7aa Add back guava map, keep ViewableStorage synchronized
Signed-off-by: TheMode <themode@outlook.fr>
2021-11-02 01:24:57 +01:00
TheMode faa289a097
Entity tracking rework (#486) 2021-11-01 18:04:00 +01:00
TheMode 50a0c13120 Rollback concurrent map change, due to guava not providing a `compute` implementation
Signed-off-by: TheMode <themode@outlook.fr>
2021-10-30 00:49:21 +02:00
themode 484727d02a Use a concurrent map for viewable packets 2021-10-29 03:03:18 +02:00
TheMode 02054447f8 Use `forEach` to take advantage of specialized impl
Signed-off-by: TheMode <themode@outlook.fr>
2021-10-26 02:00:59 +02:00
TheMode 23d59cb135 Returned framed buffers should be flipped
Signed-off-by: TheMode <themode@outlook.fr>
2021-10-26 00:05:03 +02:00
TheMode 00401bed25 Avoid allocation when writing framed packets
Signed-off-by: TheMode <themode@outlook.fr>
2021-10-25 23:55:20 +02:00
TheMode 85d9256fa8 Viewable packet process cleanup
Signed-off-by: TheMode <themode@outlook.fr>
2021-10-20 13:36:00 +02:00
themode 099397b968 Limit viewable packet allocations 2021-10-15 11:09:05 +02:00
TheMode 0bd519c894 Use fastutil for viewable packets
Signed-off-by: TheMode <themode@outlook.fr>
2021-10-15 06:17:48 +02:00
TheMode b5b281c717 Use a parallel stream for viewable packets
Signed-off-by: TheMode <themode@outlook.fr>
2021-10-13 12:25:35 +02:00
TheMode bd4aa90753
Framed packet cleanup (#489) 2021-10-13 06:33:44 +02:00
TheMode a6f59fc9e9 Ensure that player connections reference are not kept for viewable packets
Signed-off-by: TheMode <themode@outlook.fr>
2021-10-03 19:23:09 +02:00
themode d02a898646 Fix buffer view not being used with compression disabled 2021-09-26 17:35:14 +02:00
TheMode f07ab21d3e Use `LocalCache` for deflaters
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-25 20:29:47 +02:00
TheMode 9fe3f28497 Improve ThreadLocal performance when calling from a minestom thread
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-25 19:37:14 +02:00
TheMode 17807f35da Add experimental PlayerConnection#sendFramedPacket
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-20 18:59:15 +02:00
TheMode 13c05626e2 Handle the connection exception being null
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-16 07:50:12 +02:00
TheMode 3211831073 Ensure that the viewable element can be collected
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-16 07:43:08 +02:00
TheMode 2d3daf2504 Share code
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-14 07:20:58 +02:00
TheMode 983850171b Use cleaner to reuse connection buffers
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-14 02:22:58 +02:00
TheMode 2f9b649466 Reduce memory used for viewable packets
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-13 23:01:37 +02:00
TheMode e1a3c295a2 Add dedicated PooledBuffers class
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-13 22:12:07 +02:00
TheMode 6355f06d53 Compression buffer has now multiple purpose
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-10 06:35:34 +02:00
TheMode 6ab94bb778 One less magic value
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-09 00:26:10 +02:00
TheMode d7a116c144 Prevent buffer being resized in `writeFramedPacket`, it is now possible to know if a buffer couldn't be written to
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-08 22:26:18 +02:00
TheMode 21bac6fba4 Better name for the local deflater, add link to the packet format
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-08 20:31:13 +02:00
TheMode 1c76fd152e Fix viewable packet when a connection has multiple pairs
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-07 04:47:33 +02:00
TheMode adf1023e35 There is no commit here - fix compression
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-07 01:31:34 +02:00
TheMode 8f1e84ffdb Prevent framed packets from being corrupted
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-07 01:24:51 +02:00