3
0
Mirror von https://github.com/PaperMC/Velocity.git synchronisiert 2024-11-16 21:10:30 +01:00
Commit graph

1766 Commits

Autor SHA1 Nachricht Datum
Andrew Steinborn
1761755d4d Add perfect hashing for dense packet registries.
Since we know the set of packet mappings is always fixed, we can avoid dealing with hash collisions by coming up with a perfect hash function for each registry.

The algorithm used is very simple: we add an offset to the original object's hash code, mix the bits around (using fastutil HashCommon.mix()) and make sure the result is always positive before taking the remainder. The algorithm to generate the offset to the hash code (which we call a "key") is usually quick and is sped up by always rounding up to the next power of 2.

With this, we speed up writing out packet data by completely eliminating any need to check for hash collisions.
2021-08-20 03:59:34 -04:00
Andrew Steinborn
3bf9a47fbf DensePacketRegistryMap's internal hash map should size based on a power of 2 2021-08-20 02:30:06 -04:00
Andrew Steinborn
493fe3e3c2 Forward-port 61c0c0d083 2021-07-12 09:28:05 -04:00
CoreyShupe
d74afb013f Initial implementation of raw registered server creation. 2021-07-12 09:26:45 -04:00
Andrew Steinborn
aab8f86aa8 Fix cherry-picking issues 2021-07-12 09:13:12 -04:00
Hugo Manrique
009abe4cd3 Apply suggested future-related changes
Co-authored-by: A248 <theanandbeh@gmail.com>
2021-07-12 09:04:40 -04:00
Hugo Manrique
27dfa13b5f Fix checkstyle violations 2021-07-12 09:04:28 -04:00
Hugo Manrique
62be3a5da5 Fix Brigadier command alias redirects 2021-07-12 09:03:43 -04:00
Hugo Manrique
8b4c574316 Add more tests and clean up 2021-07-12 09:03:29 -04:00
Hugo Manrique
6455b606c8 Add more suggestion tests 2021-07-12 09:01:36 -04:00
Hugo Manrique
194f000e84 Test suggestion exception handling 2021-07-12 08:59:09 -04:00
Hugo Manrique
79824c0a86 Fix alias typo in suggestion merge test 2021-07-12 08:58:29 -04:00
Hugo Manrique
3d535fb9ba Test suggestions 2021-07-12 08:58:25 -04:00
Hugo Manrique
6dcfc09fbe Test CommandManager 2021-07-12 08:57:17 -04:00
Hugo Manrique
268f7dbebd Test execution and injection 2021-07-12 08:55:42 -04:00
Hugo Manrique
4bef4a5a5b Add license headers 2021-07-12 08:55:35 -04:00
Hugo Manrique
f795c90e58 Command implementation refactor 2021-07-12 08:55:19 -04:00
Hugo Manrique
187a171b90 Suggestions provider 2021-07-12 08:52:27 -04:00
Andrew Steinborn
7b3de6f9ea Do not emit errors for kicks from servers 2021-07-12 08:51:14 -04:00
Andrew Steinborn
2184e72e98 Remove unnecessary slicing of uncompressed packets 2021-07-12 08:49:52 -04:00
Andrew Steinborn
90b72279dc Forward-port changes from 0e0a1449 2021-07-12 08:48:25 -04:00
Andrew Steinborn
d43c8683cd Fix event ordering. 2021-07-12 08:44:49 -04:00
Andrew Steinborn
e093c91a26 Precisely unrolled VarInt reading 2021-05-30 16:20:28 -04:00
Andrew Steinborn
063a208f5f Convert ClientboundLoginPluginMessagePacket encoding to PacketWriter 2021-05-27 16:26:09 -04:00
Andrew Steinborn
c00ffea161 Merge branch 'dev/2.0.0' into dev/polymer 2021-05-19 16:15:27 -04:00
Andrew Steinborn
1f0a186766
Merge pull request #504 from Cybermaxke/event-task-improvements
Simplify EventTask. Add Continuation parameter support.
2021-05-19 16:14:49 -04:00
Andrew Steinborn
89f3dbc894 Skip a major version, move to 4.0.0-SNAPSHOT 2021-05-19 16:12:07 -04:00
Seppe Volkaerts
c30575ec44 Simplify EventTask. Add custom handler support.
Additionally support for continuation adapters (will be used by the kotlin language plugin).
2021-05-19 19:16:46 +02:00
Andrew Steinborn
0ddadc90e2 Demonize legacy formatting completely.
Velocity has always supported components from day 1. It's time to officially frown upon legacy formatting for good.
2021-05-18 12:09:35 -04:00
Andrew Steinborn
045b974096
Merge pull request #505 from Cybermaxke/fix-bstats-error
Fix bStats error when starting in dev.
2021-05-17 17:38:16 -04:00
Seppe Volkaerts
404936a53f Fix bStats error when starting in dev. 2021-05-17 23:29:40 +02:00
Andrew Steinborn
9643159826 Don't exclude fastutil Int2Object maps 2021-05-17 11:38:50 -04:00
Andrew Steinborn
5e7373b062
Merge pull request #499 from hugmanrique/dev-2/command-api-changes
[2.0] Document some restrictions in the command API
2021-05-16 07:49:37 -04:00
Hugo Manrique
1753b8c15c
Document some restrictions in the command API 2021-05-16 13:46:38 +02:00
Andrew Steinborn
99b3b32525 There's no need to shadow the API JAR 2021-05-16 03:17:08 -04:00
Andrew Steinborn
9efda3d42d Merge branch 'l10n_dev/2.0.0' into dev/2.0.0
# Conflicts:
#	proxy/src/main/resources/com/velocitypowered/proxy/l10n/messages_fi_FI.properties
#	proxy/src/main/resources/com/velocitypowered/proxy/l10n/messages_nl_NL.properties
#	proxy/src/main/resources/com/velocitypowered/proxy/l10n/messages_ru_RU.properties
2021-05-16 03:14:03 -04:00
Andrew Steinborn
90ecb7182a Resync and merge all translation commits into one 2021-05-16 03:13:13 -04:00
Andrew Steinborn
78036438f2 Gradle Shadow enters the plugins block 2021-05-16 01:45:09 -04:00
Andrew Steinborn
49c25e24c7 Bump Gradle Shadow version
We'll need to upgrade to Gradle 7 soon, probably also with an upgrade to Kotlin DSL too...
2021-05-16 01:32:43 -04:00
Andrew Steinborn
65cf7072cd Bump dependencies: Log4j, Guava, Netty, Configurate 2021-05-16 01:29:33 -04:00
Andrew Steinborn
a6d4ad6950 Some classloader/dependency versioning fix ups 2021-05-16 00:33:03 -04:00
Andrew Steinborn
a155f91dfd Support multiple plugins loaded from the same JAR 2021-05-15 23:42:54 -04:00
Andrew Steinborn
3579fa644b Fix typo 2021-05-15 08:59:13 -04:00
Andrew Steinborn
fe2ca18955 that explains it 2021-05-15 08:53:34 -04:00
Andrew Steinborn
707de2dfba A little debugging(?) 2021-05-15 08:29:50 -04:00
Andrew Steinborn
c753037b7b Fix Checkstyle 2021-05-15 08:17:47 -04:00
Andrew Steinborn
2a39ddb03e Add support for resolving dependencies that require a version range 2021-05-15 08:16:17 -04:00
Andrew Steinborn
348ea4cc23 Fix annotation processor choking on event subscribers 2021-05-15 08:15:25 -04:00
Andrew Steinborn
07f8980f82 Fix compile errors 2021-05-14 16:28:16 -04:00
Andrew Steinborn
ee2870aafb Add annotation processor for @Subscribe 2021-05-14 16:14:42 -04:00