Archived
0

MCSM: обновление протокола

This commit is contained in:
2017-06-11 23:21:42 +03:00
parent 524a4d4bfc
commit aaceb30bd2
3 changed files with 14 additions and 6 deletions

View File

@@ -1,5 +1,5 @@
group = 'asys'
version = '0.10-SNAPSHOT'
version = '0.10.1-SNAPSHOT'
apply plugin: 'osgi'

View File

@@ -6,6 +6,7 @@ package asys.mcsmanager;
import asys.mcsmanager.packets.CS_ConsoleMessage;
import asys.mcsmanager.packets.SC_Command;
import asys.mcsmanager.packets.SC_ToggleSendMessages;
import io.netty.channel.Channel;
import io.netty.handler.codec.http.websocketx.TextWebSocketFrame;
@@ -48,13 +49,19 @@ public class Linker {
}
public void addWebconsoleListener(String serverName, Channel channel) {
this.webconsoleListeners
.computeIfAbsent(serverName, v -> new ArrayList<>())
.add(channel);
List<Channel> channels = this.webconsoleListeners.computeIfAbsent(serverName, v -> new ArrayList<>());
if (channels.size() == 0) {
this.serverMap.get(serverName).getChannel().writeAndFlush(new SC_ToggleSendMessages(true));
}
channels.add(channel);
}
public void removeWebconsoleListener(String serverName, Channel channel) {
this.webconsoleListeners.get(serverName).remove(channel);
List<Channel> channels = this.webconsoleListeners.get(serverName);
channels.remove(channel);
if (channels.size() == 0) {
this.serverMap.get(serverName).getChannel().writeAndFlush(new SC_ToggleSendMessages(false));
}
}
public void broadcastConsoleMessage(String serverName, CS_ConsoleMessage packet) {

View File

@@ -28,7 +28,8 @@ class ServerPacketHandler extends ChannelInboundHandlerAdapter implements IPacke
private static final BiMap<Integer, Class<? extends Packet>> knownPackets = ImmutableBiMap.of(
3, CS_Ping.class,
4, CS_ConsoleMessage.class,
5, SC_Command.class
5, SC_Command.class,
6, SC_ToggleSendMessages.class
);
private static Map<Class<? extends Packet>, IPacketHandler> pingHandlers;