diff --git a/src/org/redkale/net/http/WebSocketUserAddress.java b/src/org/redkale/net/http/WebSocketUserAddress.java index 9c2881d9b..56757b035 100644 --- a/src/org/redkale/net/http/WebSocketUserAddress.java +++ b/src/org/redkale/net/http/WebSocketUserAddress.java @@ -20,6 +20,10 @@ public interface WebSocketUserAddress extends Serializable { Serializable userid(); + String mqtopic(); + + Collection mqtopics(); + InetSocketAddress sncpAddress(); Collection sncpAddresses(); @@ -28,18 +32,30 @@ public interface WebSocketUserAddress extends Serializable { return new SimpleWebSocketUserAddress(userAddress); } + public static WebSocketUserAddress createTopic(Serializable userid, String mqtopic) { + return new SimpleWebSocketUserAddress(userid, mqtopic, null, null, null); + } + + public static WebSocketUserAddress createTopic(Serializable userid, Collection mqtopics) { + return new SimpleWebSocketUserAddress(userid, null, mqtopics, null, null); + } + public static WebSocketUserAddress create(Serializable userid, InetSocketAddress sncpAddress) { - return new SimpleWebSocketUserAddress(userid, sncpAddress, null); + return new SimpleWebSocketUserAddress(userid, null, null, sncpAddress, null); } public static WebSocketUserAddress create(Serializable userid, Collection sncpAddresses) { - return new SimpleWebSocketUserAddress(userid, null, sncpAddresses); + return new SimpleWebSocketUserAddress(userid, null, null, null, sncpAddresses); } public static class SimpleWebSocketUserAddress implements WebSocketUserAddress { private Serializable userid; + private String mqtopic; + + private Collection mqtopics; + private InetSocketAddress sncpAddress; private Collection sncpAddresses; @@ -47,8 +63,10 @@ public interface WebSocketUserAddress extends Serializable { public SimpleWebSocketUserAddress() { } - public SimpleWebSocketUserAddress(Serializable userid, InetSocketAddress sncpAddress, Collection sncpAddresses) { + public SimpleWebSocketUserAddress(Serializable userid, String mqtopic, Collection mqtopics, InetSocketAddress sncpAddress, Collection sncpAddresses) { this.userid = userid; + this.mqtopic = mqtopic; + this.mqtopics = mqtopics; this.sncpAddress = sncpAddress; this.sncpAddresses = sncpAddresses; } @@ -56,6 +74,8 @@ public interface WebSocketUserAddress extends Serializable { public SimpleWebSocketUserAddress(WebSocketUserAddress userAddress) { if (userAddress == null) return; this.userid = userAddress.userid(); + this.mqtopic = userAddress.mqtopic(); + this.mqtopics = userAddress.mqtopics(); this.sncpAddress = userAddress.sncpAddress(); this.sncpAddresses = userAddress.sncpAddresses(); } @@ -65,6 +85,16 @@ public interface WebSocketUserAddress extends Serializable { return userid; } + @Override + public String mqtopic() { + return mqtopic; + } + + @Override + public Collection mqtopics() { + return mqtopics; + } + @Override public InetSocketAddress sncpAddress() { return sncpAddress; @@ -83,6 +113,22 @@ public interface WebSocketUserAddress extends Serializable { this.userid = userid; } + public String getMqtopic() { + return mqtopic; + } + + public void setMqtopic(String mqtopic) { + this.mqtopic = mqtopic; + } + + public Collection getMqtopics() { + return mqtopics; + } + + public void setMqtopics(Collection mqtopics) { + this.mqtopics = mqtopics; + } + public InetSocketAddress getSncpAddress() { return sncpAddress; }