aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/moe/ymc/acron/mixin/ServerNetworkIoMixin.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/moe/ymc/acron/mixin/ServerNetworkIoMixin.java')
-rw-r--r--src/main/java/moe/ymc/acron/mixin/ServerNetworkIoMixin.java65
1 files changed, 0 insertions, 65 deletions
diff --git a/src/main/java/moe/ymc/acron/mixin/ServerNetworkIoMixin.java b/src/main/java/moe/ymc/acron/mixin/ServerNetworkIoMixin.java
deleted file mode 100644
index f49914e..0000000
--- a/src/main/java/moe/ymc/acron/mixin/ServerNetworkIoMixin.java
+++ /dev/null
@@ -1,65 +0,0 @@
-package moe.ymc.acron.mixin;
-
-import io.netty.bootstrap.ServerBootstrap;
-import io.netty.channel.ChannelFuture;
-import io.netty.channel.MultithreadEventLoopGroup;
-import io.netty.channel.ServerChannel;
-import io.netty.channel.epoll.Epoll;
-import io.netty.channel.epoll.EpollServerSocketChannel;
-import io.netty.channel.nio.NioEventLoopGroup;
-import io.netty.channel.socket.nio.NioServerSocketChannel;
-import moe.ymc.acron.config.Config;
-import moe.ymc.acron.net.AcronInitializer;
-import net.minecraft.server.ServerNetworkIo;
-import net.minecraft.util.Lazy;
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;
-import org.spongepowered.asm.mixin.Final;
-import org.spongepowered.asm.mixin.Mixin;
-import org.spongepowered.asm.mixin.Shadow;
-import org.spongepowered.asm.mixin.injection.At;
-import org.spongepowered.asm.mixin.injection.Inject;
-import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
-
-import java.util.List;
-
-import static net.minecraft.server.ServerNetworkIo.EPOLL_CHANNEL;
-
-@Mixin(ServerNetworkIo.class)
-public class ServerNetworkIoMixin {
- private static final Logger AC_LOGGER = LogManager.getLogger();
-
- @Shadow
- @Final
- private List<ChannelFuture> channels;
-
- @Shadow
- @Final
- public static Lazy<NioEventLoopGroup> DEFAULT_CHANNEL;
-
- @Inject(at = @At("RETURN"), method = "<init>")
- private void init(CallbackInfo info) {
- AC_LOGGER.debug("Adding Acron channel.");
- Lazy<? extends MultithreadEventLoopGroup> group;
- Class<? extends ServerChannel> channel;
- if (Epoll.isAvailable() && Config.getGlobalConfig().useNativeTransport()) {
- channel = EpollServerSocketChannel.class;
- group = EPOLL_CHANNEL;
- AC_LOGGER.info("Using native transport.");
- } else {
- channel = NioServerSocketChannel.class;
- group = DEFAULT_CHANNEL;
- AC_LOGGER.info("Not using native transport due to " +
- "it is either disabled in acron.json or not available.");
- }
- channels.add(new ServerBootstrap()
- .channel(channel)
- .childHandler(new AcronInitializer())
- .group(group.get())
- .localAddress(Config.getGlobalConfig().address(),
- Config.getGlobalConfig().port())
- .bind()
- .syncUninterruptibly());
-
- }
-}