Andrew Steinborn
dffbaba716
Merge pull request #514 from CoreyShupe/feature/CheckServerInfoEquality
...
Initial change to allow for server info equality.
2021-06-01 13:05:43 +00:00
CoreyShupe
61c0c0d083
Initial change to allow for server info equality.
2021-06-01 02:17:35 -04:00
Andrew Steinborn
04db382a18
Merge pull request #507 from A248/remove-add-opens
...
Remove Add-Opens from manifest
2021-05-24 13:03:14 -04:00
A248
2cfa3f743f
Remove Add-Opens from manifest
2021-05-24 12:02:35 -04:00
Andrew Steinborn
64d30fba81
AsyncEventExecutor -> AwaitingEventExecutor
2021-05-23 17:51:07 -04:00
Andrew Steinborn
51f923bf2d
Fix Java 11 Javadoc URL
2021-05-23 17:21:44 -04:00
Andrew Steinborn
b9823085af
Update Guice to 5.0.1
...
This (aside from removal of deprecated methods) is the only notable API break in Velocity 3.0.0.
2021-05-23 17:20:52 -04:00
Andrew Steinborn
e14ea36150
We don't rely on kyori/event any more
2021-05-23 15:52:09 -04:00
Andrew Steinborn
3944eec491
Add async parameter to @Subscribe, also as a migration aid.
2021-05-23 15:42:17 -04:00
Seppe Volkaerts
821ca02ee7
Backport Velocity Polymer's async event API, with changes.
...
This commit backports the event manager from Velocity Polymer, with some changes for Velocity 1.1.x API compatibility:
- All event handlers run asynchronously. (While EventTask.async() exists, it is not useful in 3.0.0, but is provided as a migration aid for Polymer.)
- Event ordering is currently limited to the 5 levels available in Velocity 1.x.x.
2021-05-23 15:39:06 -04:00
Andrew Steinborn
3f50964f36
Fix CommandManager method naming so that it is in sync with the 1.1.0 API
2021-05-23 14:20:59 -04:00
Andrew Steinborn
b632431ae9
don't build on Java 8
2021-05-23 14:15:22 -04:00
Andrew Steinborn
977300cc66
Remove text 3.x API and associated deprecated APIs
2021-05-23 14:13:51 -04:00
Andrew Steinborn
569bb4a16b
Just import the entire command manager from Polymer, without changing any names
2021-05-23 13:58:27 -04:00
Andrew Steinborn
590f18dbe0
Convert to Java 11 compressor
2021-05-23 13:58:01 -04:00
Andrew Steinborn
59f358441a
Bump Velocity to Java 11 minimum
...
Fixes #381 . There is generally a consensus that we should move forward with this. We do not anticipate a Velocity 2.0.0 release until well after the release of the next Java LTS version (Java 17).
This commit doesn't clean up anything for the new Java version yet.
2021-05-23 13:50:14 -04:00
Andrew Steinborn
d6dcb115f1
Remove remaining deprecated APIs
2021-05-23 13:49:06 -04:00
Andrew Steinborn
6816c15385
Remove bad test
2021-05-23 13:47:20 -04:00
Andrew Steinborn
2f0ee15051
Remove deprecated Velocity 1.0.0 Command API.
2021-05-23 13:46:47 -04:00
Andrew Steinborn
cceeeb3490
Velocity 3.0.0-SNAPSHOT
2021-05-19 16:11:40 -04:00
Andrew Steinborn
06ecab2627
Merge pull request #493 from VelocityPowered/feature/combine-varint-prefix-with-compression
...
Further packet handling performance improvements
2021-05-09 03:07:44 -04:00
Andrew Steinborn
11ed4b46e4
whoops
2021-05-09 02:57:52 -04:00
Andrew Steinborn
5170da8fd7
Improve writeVarInt inlining by peeling the two most common cases
2021-05-09 02:57:01 -04:00
Andrew Steinborn
150fd9a9cf
Add highly-optimized VarInt writing method
2021-05-08 23:26:43 -04:00
Andrew Steinborn
6369a95ec9
Readd safe and slow compression handling and hide it behind a system property
2021-05-08 18:40:23 -04:00
Andrew Steinborn
0a4e226571
Merge pull request #492 from Leymooo/feature/combine-varint-prefix-with-compression
...
Do not copy memory in case when packet needs to compress
2021-05-08 17:01:56 -04:00
Leymooo
a8e0516d18
Also do not copy memory in case when packet needs to compress
2021-05-07 19:36:30 +03:00
Andrew Steinborn
9318fe3dca
Update link to Adventure documentation
2021-05-06 21:08:57 -04:00
Andrew Steinborn
37a4199d43
Combine VarInt prefix encoding with compression
...
This saves us a memory copy in the common "there is no need to compress this packet" case.
2021-05-06 19:56:45 -04:00
Andrew Steinborn
3d9a166892
Fix Checkstyle
2021-05-06 16:46:43 -04:00
Andrew Steinborn
3fdacd30d1
Explain why Player#sendPluginMessage may not do what some people think it ought to do
2021-05-06 16:43:45 -04:00
Andrew Steinborn
bbc53da87e
Create FUNDING.yml
2021-05-06 16:10:56 -04:00
Andrew Steinborn
fb3f21abc6
More bitshifting magic
2021-05-06 00:48:19 -04:00
Andrew Steinborn
1cef82d54d
Unroll the VarInt writing loop
...
This is about as optimized as it can get. Thanks to @Leymooo for the idea, I simply expanded on it. We optimize for the common 1-3 byte cases, and punt more "complicated" cases to the original VarInt writing function we had before.
2021-05-05 22:13:54 -04:00
Andrew Steinborn
d42cc4f984
Force a flush after a certain threshold of packets have been queued for sending
...
Fixes #486 .
2021-05-04 18:51:01 -04:00
Nicolas RAYNAUD
e0153267db
Fixed copyright year ( #490 )
2021-05-04 18:22:50 -04:00
Andrew Steinborn
7c76ae9a27
Make sure to check not only the entire array but also how much was written
2021-05-04 16:32:37 -04:00
Andrew Steinborn
3dc8e25ec7
Fix varint writing (for real!)
...
Thanks to @Leymooo for reporting and providing test cases. (I also added one of my own tests which proved the most useful to debugging the issue.)
2021-05-04 16:30:32 -04:00
Riley Park
2713831f77
Revert "Avoid calling writeVarInt in the (very) common uncompressed packet case"
...
This reverts commit c041bea1b6
.
2021-05-03 19:38:39 -07:00
Andrew Steinborn
c041bea1b6
Avoid calling writeVarInt in the (very) common uncompressed packet case
2021-05-03 20:17:51 -04:00
Andrew Steinborn
0debb81392
I was nagged to make it more consistent
2021-05-03 20:08:16 -04:00
Andrew Steinborn
0811ebb312
Gotta add the license header to the test file
2021-05-03 19:18:06 -04:00
Andrew Steinborn
4ca97a6df9
Reapply "Optimize varint writing"
...
Inspired by the approach described at the bottom of https://richardstartin.github.io/posts/dont-use-protobuf-for-telemetry
Given that we do a lot of varint writing as well, this should provide a small performance boost for larger/complex packets whilst not regressing hard on smaller packets.
This includes a test to ensure that the behavior is as expected and fixes the initialization loop so that the correct results will be given. Much thanks to @octylFractal for acting as my duck while trying to figure this out.
2021-05-03 19:14:48 -04:00
Andrew Steinborn
e531cdb373
Revert "Optimize varint writing"
...
This reverts commit 3db2fe8d63
.
2021-05-03 18:07:25 -04:00
Andrew Steinborn
3db2fe8d63
Optimize varint writing
...
Inspired by the approach described at the bottom of https://richardstartin.github.io/posts/dont-use-protobuf-for-telemetry
Given that we do a lot of varint writing as well, this should provide a small performance boost for larger/complex packets whilst not regressing hard on smaller packets.
2021-05-03 17:31:32 -04:00
Andrew Steinborn
347853b945
Disable hinting test for now
2021-04-25 10:18:58 -04:00
Andrew Steinborn
81311e7516
Don't attempt to decode empty buffers ( fixes #482 )
...
Stuff like this makes me want to drop support for <=1.13 versions of Minecraft.
2021-04-25 10:14:13 -04:00
Andrew Steinborn
d7435fcbb6
Velocity 1.1.6-SNAPSHOT
2021-04-22 11:28:49 -04:00
Andrew Steinborn
92865b0307
Velocity 1.1.5
2021-04-22 11:23:57 -04:00
Andrew Steinborn
ce26ae76c2
Fix case-sensitivity for ping passthrough
2021-04-22 11:23:42 -04:00