Commit Graph

135 Commits

Author SHA1 Message Date
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
TheMode b2a0b91a45 Add warning in PacketUtils
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-06 13:40:11 +02:00
TheMode 026550ac07 Simplify PacketUtils
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-05 02:50:59 +02:00
TheMode 7b8277b6be Do not flip the buffer inside #write(ByteBuffer)
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-04 23:56:27 +02:00
TheMode f717279adc Independent socket send & receive buffer size
Signed-off-by: TheMode <themode@outlook.fr>
2021-09-04 16:43:45 +02:00
TheMode af82bf1236 Reduce allocations for chunk packet writing 2021-08-26 10:55:56 +02:00
TheMode 024f8d36bd API cleanup 2021-08-26 10:36:31 +02:00
TheMode 73f125763c Use a lock + weak map 2021-08-25 17:25:08 +02:00
TheMode e185bca468 Fix obvious packet corruption 2021-08-25 13:54:09 +02:00
TheMode 5e18f48a1b Cleanup 2021-08-25 10:45:35 +02:00
TheMode 2ae0c0bbcd Batch movement packets 2021-08-25 09:01:13 +02:00
TheMode 6520855418 Fix buffer offset 2021-08-24 21:21:51 +02:00
TheMode ec66beece4 Initial viewable broadcast attempt 2021-08-24 14:59:17 +02:00
TheMode 168672e002 Keep reference to the framed packet for debugging/transformation purpose 2021-08-14 14:39:11 +02:00
TheMode d4f74abc64 Include original packet in `FramedPacket` for debugging/listening purpose 2021-08-13 19:58:14 +02:00
TheMode 322572c96d Rename to `LocalCache` 2021-08-13 01:13:58 +02:00
TheMode 78126fad6c Add experimental local buffer API. Remove allocation when writing chunk packets (should help with startup time) 2021-08-13 01:08:19 +02:00
TheMode ea951f9566 Less allocation for compressed packets 2021-08-11 14:47:20 +02:00
TheMode fd08cabb6a Change default tab implementation to show all online players 2021-08-11 14:18:04 +02:00