Archived
0

MCSM: Manager -> Linker

This commit is contained in:
2017-06-11 22:52:30 +03:00
parent 88076d2c25
commit 2063429f53
4 changed files with 16 additions and 16 deletions

View File

@@ -11,16 +11,16 @@ import io.netty.handler.codec.http.websocketx.TextWebSocketFrame;
import java.util.*; import java.util.*;
public class Manager { public class Linker {
private static Manager instance = new Manager(); private static Linker instance = new Linker();
private Map<String, ServerInfo> serverMap = new HashMap<>(); private Map<String, ServerInfo> serverMap = new HashMap<>();
private Map<String, List<Channel>> webconsoleListeners = new HashMap<>(); private Map<String, List<Channel>> webconsoleListeners = new HashMap<>();
public static Manager getInstance() { public static Linker getInstance() {
return instance; return instance;
} }
private Manager(){ private Linker(){
} }
public void addServer(String serverName, Channel channel) { public void addServer(String serverName, Channel channel) {

View File

@@ -84,7 +84,7 @@ public class MCSM_WebModule extends WebModule {
if (httpExchange.getRequestURI().getQuery() != null && if (httpExchange.getRequestURI().getQuery() != null &&
!httpExchange.getRequestURI().getQuery().isEmpty()) { !httpExchange.getRequestURI().getQuery().isEmpty()) {
Map<String, String> query = this.queryToMap(httpExchange.getRequestURI().getQuery()); Map<String, String> query = this.queryToMap(httpExchange.getRequestURI().getQuery());
ServerInfo serverInfo = Manager.getInstance().getServer(query.get("clientid")); ServerInfo serverInfo = Linker.getInstance().getServer(query.get("clientid"));
if (serverInfo == null) { if (serverInfo == null) {
this.sendJson(httpExchange, "{}"); this.sendJson(httpExchange, "{}");
} else { } else {
@@ -97,6 +97,6 @@ public class MCSM_WebModule extends WebModule {
} }
private JsonElement serverList() { private JsonElement serverList() {
return GSON.toJsonTree(Manager.getInstance().getServerList()); return GSON.toJsonTree(Linker.getInstance().getServerList());
} }
} }

View File

@@ -4,7 +4,7 @@
*/ */
package asys.mcsmanager.server; package asys.mcsmanager.server;
import asys.mcsmanager.Manager; import asys.mcsmanager.Linker;
import asys.mcsmanager.packets.*; import asys.mcsmanager.packets.*;
import com.google.common.collect.BiMap; import com.google.common.collect.BiMap;
import com.google.common.collect.ImmutableBiMap; import com.google.common.collect.ImmutableBiMap;
@@ -58,7 +58,7 @@ class ServerPacketHandler extends ChannelInboundHandlerAdapter implements IPacke
@Override @Override
public void channelInactive(ChannelHandlerContext context) throws Exception { public void channelInactive(ChannelHandlerContext context) throws Exception {
Manager.getInstance().removeServer(context.channel().attr(CLIENTID).get()); Linker.getInstance().removeServer(context.channel().attr(CLIENTID).get());
super.channelInactive(context); super.channelInactive(context);
} }
@@ -82,14 +82,14 @@ class ServerPacketHandler extends ChannelInboundHandlerAdapter implements IPacke
return; return;
} }
if (Manager.getInstance().existsServer(packet.getClientId())) { if (Linker.getInstance().existsServer(packet.getClientId())) {
try { try {
context.channel().writeAndFlush(HandshakeResult.CLIENTID_EXISTS).sync().channel().close(); context.channel().writeAndFlush(HandshakeResult.CLIENTID_EXISTS).sync().channel().close();
} catch (InterruptedException ignore) { } catch (InterruptedException ignore) {
} }
return; return;
} else { } else {
Manager.getInstance().addServer(packet.getClientId(), context.channel()); Linker.getInstance().addServer(packet.getClientId(), context.channel());
} }
context.channel().write(HandshakeResult.OK); context.channel().write(HandshakeResult.OK);
@@ -100,10 +100,10 @@ class ServerPacketHandler extends ChannelInboundHandlerAdapter implements IPacke
} }
private void handleCSPing(CS_Ping packet, ChannelHandlerContext context) { private void handleCSPing(CS_Ping packet, ChannelHandlerContext context) {
Manager.getInstance().getServer(context.channel().attr(CLIENTID).get()).putPing(packet); Linker.getInstance().getServer(context.channel().attr(CLIENTID).get()).putPing(packet);
} }
private void handleCSConsoleMessage(String serverName, CS_ConsoleMessage packet) { private void handleCSConsoleMessage(String serverName, CS_ConsoleMessage packet) {
Manager.getInstance().broadcastConsoleMessage(serverName, packet); Linker.getInstance().broadcastConsoleMessage(serverName, packet);
} }
} }

View File

@@ -4,7 +4,7 @@
*/ */
package asys.mcsmanager.websocket; package asys.mcsmanager.websocket;
import asys.mcsmanager.Manager; import asys.mcsmanager.Linker;
import io.netty.channel.ChannelHandlerContext; import io.netty.channel.ChannelHandlerContext;
import io.netty.channel.SimpleChannelInboundHandler; import io.netty.channel.SimpleChannelInboundHandler;
import io.netty.handler.codec.http.websocketx.TextWebSocketFrame; import io.netty.handler.codec.http.websocketx.TextWebSocketFrame;
@@ -19,7 +19,7 @@ public class FrameHandler extends SimpleChannelInboundHandler<WebSocketFrame> {
@Override @Override
public void channelInactive(ChannelHandlerContext ctx) throws Exception { public void channelInactive(ChannelHandlerContext ctx) throws Exception {
Manager.getInstance().removeWebconsoleListener(ctx.channel().attr(WC_SERVERNAME).get(), ctx.channel()); Linker.getInstance().removeWebconsoleListener(ctx.channel().attr(WC_SERVERNAME).get(), ctx.channel());
} }
@Override @Override
@@ -29,10 +29,10 @@ public class FrameHandler extends SimpleChannelInboundHandler<WebSocketFrame> {
if (requestText.startsWith("]")) { if (requestText.startsWith("]")) {
String serverName = requestText.substring(1); String serverName = requestText.substring(1);
ctx.channel().attr(WC_SERVERNAME).set(serverName); ctx.channel().attr(WC_SERVERNAME).set(serverName);
Manager.getInstance().addWebconsoleListener(serverName, ctx.channel()); Linker.getInstance().addWebconsoleListener(serverName, ctx.channel());
} else if (requestText.startsWith(":")) { } else if (requestText.startsWith(":")) {
String command = requestText.substring(1); String command = requestText.substring(1);
Manager.getInstance().sendCommand(ctx.channel().attr(WC_SERVERNAME).get(), command); Linker.getInstance().sendCommand(ctx.channel().attr(WC_SERVERNAME).get(), command);
} }
} else { } else {
logger.warn("unsupport frame type: {}", frame.getClass().getName()); logger.warn("unsupport frame type: {}", frame.getClass().getName());