MCSM: обновление протокола
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
group = 'asys'
|
||||
version = '0.10-SNAPSHOT'
|
||||
version = '0.10.1-SNAPSHOT'
|
||||
|
||||
apply plugin: 'osgi'
|
||||
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user