aboutsummaryrefslogtreecommitdiff
path: root/pkg/commands/unsubscribe.go
diff options
context:
space:
mode:
authoralex <[email protected]>2026-07-12 14:09:36 +0200
committeralex <[email protected]>2026-07-12 14:09:36 +0200
commitce9d9f8b2183bc0a31bfa40e780ae07182bc7cf8 (patch)
tree73eefd7228bb3ba820c618777495b60a3fb6860f /pkg/commands/unsubscribe.go
parent89b3019a3ab77a3e72720342fc0e5bea996fa4f2 (diff)
downloadredis-clone-ce9d9f8b2183bc0a31bfa40e780ae07182bc7cf8.tar.xz
redis-clone-ce9d9f8b2183bc0a31bfa40e780ae07182bc7cf8.zip
added pubsub command registrycommand-registry
Diffstat (limited to 'pkg/commands/unsubscribe.go')
-rw-r--r--pkg/commands/unsubscribe.go19
1 files changed, 19 insertions, 0 deletions
diff --git a/pkg/commands/unsubscribe.go b/pkg/commands/unsubscribe.go
new file mode 100644
index 0000000..9ca502d
--- /dev/null
+++ b/pkg/commands/unsubscribe.go
@@ -0,0 +1,19 @@
+package commands
+
+import (
+ "net"
+ "redisClone/pkg/core"
+ "redisClone/pkg/pubsub"
+)
+
+func Unsubscribe(hub *pubsub.Hub, conn net.Conn, args []string) interface{}{
+ channels := args[1:]
+ results := hub.Unsubscribe(conn, channels)
+
+ for channel, remainingCount := range results {
+ resp := core.SerializeRESP([]interface{}{"unsubscribe", channel, remainingCount})
+ conn.Write(resp)
+ }
+
+ return nil
+} \ No newline at end of file