From 424fbc1d135b10ec45d31afe192c27b7ad42eff4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=80=81=E5=91=A8?= Date: Mon, 9 Jun 2025 16:29:05 +0800 Subject: [PATCH 1/4] Update MqttClient.java --- src/main/java/io/vertx/mqtt/MqttClient.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/main/java/io/vertx/mqtt/MqttClient.java b/src/main/java/io/vertx/mqtt/MqttClient.java index 7a75d6d6..f2aa1644 100644 --- a/src/main/java/io/vertx/mqtt/MqttClient.java +++ b/src/main/java/io/vertx/mqtt/MqttClient.java @@ -19,6 +19,7 @@ import io.netty.handler.codec.mqtt.MqttQoS; import io.vertx.codegen.annotations.Fluent; import io.vertx.codegen.annotations.VertxGen; +import io.vertx.codegen.annotations.CacheReturn; import io.vertx.core.Future; import io.vertx.core.Handler; import io.vertx.core.Vertx; @@ -268,4 +269,18 @@ static MqttClient create(Vertx vertx) { * @return if the connection between client and remote server is established/open */ boolean isConnected(); + + /** + * @return the remote address for this connection, possibly {@code null} (e.g a server bound on a domain socket). + * If {@code useProxyProtocol} is set to {@code true}, the address returned will be of the actual connecting client. + */ + @CacheReturn + SocketAddress remoteAddress(); + + /** + * @return the local address for this connection, possibly {@code null} (e.g a server bound on a domain socket) + * If {@code useProxyProtocol} is set to {@code true}, the address returned will be of the proxy. + */ + @CacheReturn + SocketAddress localAddress(); } From 04c0908c2c7edf601b785e4822e889d84550f774 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=80=81=E5=91=A8?= Date: Mon, 9 Jun 2025 16:31:18 +0800 Subject: [PATCH 2/4] Update MqttClientImpl.java --- src/main/java/io/vertx/mqtt/impl/MqttClientImpl.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/main/java/io/vertx/mqtt/impl/MqttClientImpl.java b/src/main/java/io/vertx/mqtt/impl/MqttClientImpl.java index e4fabe35..be793135 100644 --- a/src/main/java/io/vertx/mqtt/impl/MqttClientImpl.java +++ b/src/main/java/io/vertx/mqtt/impl/MqttClientImpl.java @@ -168,6 +168,18 @@ int getInFlightMessagesCount() { } } + + @Override + public SocketAddress localAddress() { + return connection.localAddress(); + } + + @Override + public SocketAddress remoteAddress() { + return connection.remoteAddress(); + } + + @Override public Future connect(int port, String host) { From 7255081cb0e179215558e7a02510e331b40685b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=80=81=E5=91=A8?= Date: Tue, 10 Jun 2025 17:07:01 +0800 Subject: [PATCH 3/4] Update MqttClient.java --- src/main/java/io/vertx/mqtt/MqttClient.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/io/vertx/mqtt/MqttClient.java b/src/main/java/io/vertx/mqtt/MqttClient.java index f2aa1644..18e11e58 100644 --- a/src/main/java/io/vertx/mqtt/MqttClient.java +++ b/src/main/java/io/vertx/mqtt/MqttClient.java @@ -24,6 +24,7 @@ import io.vertx.core.Handler; import io.vertx.core.Vertx; import io.vertx.core.buffer.Buffer; +import io.vertx.core.net.SocketAddress; import io.vertx.mqtt.impl.MqttClientImpl; import io.vertx.mqtt.messages.MqttAuthenticationExchangeMessage; import io.vertx.mqtt.messages.MqttConnAckMessage; From fc36be1810c30314a4645e9c600f64f8564e47ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=80=81=E5=91=A8?= Date: Tue, 10 Jun 2025 17:07:22 +0800 Subject: [PATCH 4/4] Update MqttClientImpl.java --- src/main/java/io/vertx/mqtt/impl/MqttClientImpl.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/io/vertx/mqtt/impl/MqttClientImpl.java b/src/main/java/io/vertx/mqtt/impl/MqttClientImpl.java index be793135..f528e85a 100644 --- a/src/main/java/io/vertx/mqtt/impl/MqttClientImpl.java +++ b/src/main/java/io/vertx/mqtt/impl/MqttClientImpl.java @@ -52,6 +52,7 @@ import io.vertx.core.internal.logging.Logger; import io.vertx.core.internal.logging.LoggerFactory; import io.vertx.core.net.NetClient; +import io.vertx.core.net.SocketAddress; import io.vertx.mqtt.MqttClient; import io.vertx.mqtt.MqttClientOptions; import io.vertx.mqtt.MqttConnectionException;