From 079e6116b2467996de43c4ec7efbf948d0653a64 Mon Sep 17 00:00:00 2001 From: Redkale <8730487+redkale@users.noreply.github.com> Date: Mon, 8 Jun 2020 09:13:41 +0800 Subject: [PATCH] --- .../redkale/net/http/WebSocketAddress.java | 74 +++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 src/org/redkale/net/http/WebSocketAddress.java diff --git a/src/org/redkale/net/http/WebSocketAddress.java b/src/org/redkale/net/http/WebSocketAddress.java new file mode 100644 index 000000000..f04a1e130 --- /dev/null +++ b/src/org/redkale/net/http/WebSocketAddress.java @@ -0,0 +1,74 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package org.redkale.net.http; + +import java.io.Serializable; +import java.net.InetSocketAddress; +import java.util.Objects; +import org.redkale.convert.json.JsonConvert; + +/** + * 存放用户WS连接的SNCP地址和MQ topic, 当消息使用MQ代理时,topic才会有值 + * + *

+ * 详情见: https://redkale.org + * + * @author zhangjx + * + * @since 2.1.0 + */ +public class WebSocketAddress implements Serializable { + + protected InetSocketAddress addr; + + protected String topic; + + public WebSocketAddress() { + } + + public WebSocketAddress(String topic, InetSocketAddress addr) { + this.topic = topic; + this.addr = addr; + } + + @Override + public int hashCode() { + int hash = 7; + hash = 37 * hash + Objects.hashCode(this.addr); + hash = 37 * hash + Objects.hashCode(this.topic); + return hash; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) return true; + if (obj == null) return false; + if (getClass() != obj.getClass()) return false; + final WebSocketAddress other = (WebSocketAddress) obj; + return Objects.equals(this.topic, other.topic) && Objects.equals(this.addr, other.addr); + } + + public String getTopic() { + return topic; + } + + public void setTopic(String topic) { + this.topic = topic; + } + + public InetSocketAddress getAddr() { + return addr; + } + + public void setAddr(InetSocketAddress addr) { + this.addr = addr; + } + + @Override + public String toString() { + return JsonConvert.root().convertTo(this); + } +}