From 3fb37a34cb2e176950ce14d447a3ae0499d67f89 Mon Sep 17 00:00:00 2001 From: Alex Date: Mon, 21 Mar 2022 21:00:26 +0100 Subject: [PATCH] tests with redis command interface --- pom.xml | 5 +++++ .../krakatoa/proxy/listener/PostLoginListener.java | 14 ++++++++++++-- .../net/krakatoa/proxy/redis/RedisKeyCommands.java | 2 ++ 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 628159d..c285631 100644 --- a/pom.xml +++ b/pom.xml @@ -45,6 +45,11 @@ + + org.msgpack + msgpack-core + 0.9.0 + io.lettuce lettuce-core diff --git a/src/main/java/net/krakatoa/proxy/listener/PostLoginListener.java b/src/main/java/net/krakatoa/proxy/listener/PostLoginListener.java index 844165d..a1f1864 100644 --- a/src/main/java/net/krakatoa/proxy/listener/PostLoginListener.java +++ b/src/main/java/net/krakatoa/proxy/listener/PostLoginListener.java @@ -6,6 +6,7 @@ import com.mongodb.client.model.Updates; import earth.krakatao.protocol.KraSocketClientProtocolDest; import earth.krakatao.protocol.KraSocketClientProtocolMessage; import earth.krakatao.protocol.KraSocketClientProtocolStatus; +import java.io.IOException; import java.security.SecureRandom; import java.util.concurrent.TimeUnit; import java.util.function.Consumer; @@ -24,11 +25,13 @@ import net.md_5.bungee.api.plugin.Listener; import net.md_5.bungee.event.EventHandler; import org.bson.Document; import org.bson.conversions.Bson; +import org.msgpack.core.MessageBufferPacker; +import org.msgpack.core.MessagePack; public class PostLoginListener implements Listener { @EventHandler - public void onPostLogin(PostLoginEvent event) { + public void onPostLogin(PostLoginEvent event) throws IOException { ProxiedPlayer proxiedPlayer = event.getPlayer(); String uuid = ProxySystem.getInstance().getFormatter() @@ -98,8 +101,15 @@ public class PostLoginListener implements Listener { } }); + MessageBufferPacker packer = MessagePack.newDefaultBufferPacker(); + + packer.packString(proxiedPlayer.getName()); + + packer.close(); + ProxySystem.getInstance().getRedisManager().getRedisKeyCommands() - .set("player:" + proxiedPlayer.getUniqueId().toString(), proxiedPlayer.getName()); + .set("player:" + proxiedPlayer.getUniqueId().toString(), + packer.toByteArray()); } public void sendVoiceWebCodeUrl(ProxiedPlayer proxiedPlayer, String voiceWebCode) { diff --git a/src/main/java/net/krakatoa/proxy/redis/RedisKeyCommands.java b/src/main/java/net/krakatoa/proxy/redis/RedisKeyCommands.java index dca6872..634eb3b 100644 --- a/src/main/java/net/krakatoa/proxy/redis/RedisKeyCommands.java +++ b/src/main/java/net/krakatoa/proxy/redis/RedisKeyCommands.java @@ -7,6 +7,8 @@ public interface RedisKeyCommands extends Commands { String get(String key); + String set(String key, byte[] byteArray); + String set(String key, String value); Long del(Key... keys);