mirror of
https://github.com/GeyserMC/Geyser.git
synced 2024-08-14 23:57:35 +00:00
Make IO_uring opt-in via -DGeyser.io_uring=true
flag
This commit is contained in:
parent
f44d76e267
commit
38eda27e96
2 changed files with 10 additions and 12 deletions
|
@ -43,8 +43,8 @@ dependencies {
|
||||||
implementation(libs.netty.transport.native.epoll) { artifact { classifier = "linux-x86_64" } }
|
implementation(libs.netty.transport.native.epoll) { artifact { classifier = "linux-x86_64" } }
|
||||||
implementation(libs.netty.transport.native.epoll) { artifact { classifier = "linux-aarch_64" } }
|
implementation(libs.netty.transport.native.epoll) { artifact { classifier = "linux-aarch_64" } }
|
||||||
implementation(libs.netty.transport.native.kqueue) { artifact { classifier = "osx-x86_64" } }
|
implementation(libs.netty.transport.native.kqueue) { artifact { classifier = "osx-x86_64" } }
|
||||||
// implementation(libs.netty.transport.native.io.uring) { artifact { classifier = "linux-x86_64" } }
|
implementation(libs.netty.transport.native.io.uring) { artifact { classifier = "linux-x86_64" } }
|
||||||
// implementation(libs.netty.transport.native.io.uring) { artifact { classifier = "linux-aarch_64" } }
|
implementation(libs.netty.transport.native.io.uring) { artifact { classifier = "linux-aarch_64" } }
|
||||||
|
|
||||||
// Adventure text serialization
|
// Adventure text serialization
|
||||||
api(libs.bundles.adventure)
|
api(libs.bundles.adventure)
|
||||||
|
@ -64,11 +64,6 @@ dependencies {
|
||||||
api(libs.events)
|
api(libs.events)
|
||||||
}
|
}
|
||||||
|
|
||||||
configurations.api {
|
|
||||||
// This is still experimental - additionally, it could only really benefit standalone
|
|
||||||
exclude(group = "io.netty.incubator", module = "netty-incubator-transport-native-io_uring")
|
|
||||||
}
|
|
||||||
|
|
||||||
tasks.processResources {
|
tasks.processResources {
|
||||||
// This is solely for backwards compatibility for other programs that used this file before the switch to gradle.
|
// This is solely for backwards compatibility for other programs that used this file before the switch to gradle.
|
||||||
// It used to be generated by the maven Git-Commit-Id-Plugin
|
// It used to be generated by the maven Git-Commit-Id-Plugin
|
||||||
|
|
|
@ -38,6 +38,9 @@ import io.netty.channel.kqueue.KQueueEventLoopGroup;
|
||||||
import io.netty.channel.nio.NioEventLoopGroup;
|
import io.netty.channel.nio.NioEventLoopGroup;
|
||||||
import io.netty.channel.socket.DatagramChannel;
|
import io.netty.channel.socket.DatagramChannel;
|
||||||
import io.netty.channel.socket.nio.NioDatagramChannel;
|
import io.netty.channel.socket.nio.NioDatagramChannel;
|
||||||
|
import io.netty.incubator.channel.uring.IOUring;
|
||||||
|
import io.netty.incubator.channel.uring.IOUringDatagramChannel;
|
||||||
|
import io.netty.incubator.channel.uring.IOUringEventLoopGroup;
|
||||||
import io.netty.util.concurrent.Future;
|
import io.netty.util.concurrent.Future;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import net.jodah.expiringmap.ExpirationPolicy;
|
import net.jodah.expiringmap.ExpirationPolicy;
|
||||||
|
@ -414,11 +417,11 @@ public final class GeyserServer {
|
||||||
}
|
}
|
||||||
|
|
||||||
private static Transport compatibleTransport() {
|
private static Transport compatibleTransport() {
|
||||||
// if (isClassAvailable("io.netty.incubator.channel.uring.IOUring")
|
if (isClassAvailable("io.netty.incubator.channel.uring.IOUring")
|
||||||
// && IOUring.isAvailable()
|
&& IOUring.isAvailable()
|
||||||
// && Boolean.parseBoolean(System.getProperty("Geyser.io_uring"))) {
|
&& Boolean.parseBoolean(System.getProperty("Geyser.io_uring"))) {
|
||||||
// return new Transport(IOUringDatagramChannel.class, IOUringEventLoopGroup::new);
|
return new Transport(IOUringDatagramChannel.class, IOUringEventLoopGroup::new);
|
||||||
// }
|
}
|
||||||
|
|
||||||
if (isClassAvailable("io.netty.channel.epoll.Epoll") && Epoll.isAvailable()) {
|
if (isClassAvailable("io.netty.channel.epoll.Epoll") && Epoll.isAvailable()) {
|
||||||
return new Transport(EpollDatagramChannel.class, EpollEventLoopGroup::new);
|
return new Transport(EpollDatagramChannel.class, EpollEventLoopGroup::new);
|
||||||
|
|
Loading…
Reference in a new issue