|
|
@ -26,6 +26,7 @@ import org.redisson.core.RTopic; |
|
|
|
import com.corundumstudio.socketio.store.pubsub.PubSubListener; |
|
|
|
import com.corundumstudio.socketio.store.pubsub.PubSubMessage; |
|
|
|
import com.corundumstudio.socketio.store.pubsub.PubSubStore; |
|
|
|
import com.corundumstudio.socketio.store.pubsub.PubSubType; |
|
|
|
|
|
|
|
import io.netty.util.internal.PlatformDependent; |
|
|
|
|
|
|
@ -44,13 +45,13 @@ public class RedissonPubSubStore implements PubSubStore { |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public void publish(com.corundumstudio.socketio.store.pubsub.PubSubType type, PubSubMessage msg) { |
|
|
|
public void publish(PubSubType type, PubSubMessage msg) { |
|
|
|
msg.setNodeId(nodeId); |
|
|
|
redissonPub.getTopic(type.toString()).publish(msg); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public <T extends PubSubMessage> void subscribe(com.corundumstudio.socketio.store.pubsub.PubSubType type, final PubSubListener<T> listener, Class<T> clazz) { |
|
|
|
public <T extends PubSubMessage> void subscribe(PubSubType type, final PubSubListener<T> listener, Class<T> clazz) { |
|
|
|
String name = type.toString(); |
|
|
|
RTopic<T> topic = redissonSub.getTopic(name); |
|
|
|
int regId = topic.addListener(new MessageListener<T>() { |
|
|
@ -74,7 +75,7 @@ public class RedissonPubSubStore implements PubSubStore { |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public void unsubscribe(com.corundumstudio.socketio.store.pubsub.PubSubType type) { |
|
|
|
public void unsubscribe(PubSubType type) { |
|
|
|
String name = type.toString(); |
|
|
|
Queue<Integer> regIds = map.remove(name); |
|
|
|
RTopic<Object> topic = redissonSub.getTopic(name); |
|
|
|