Skip to content

Commit 7569bea

Browse files
committed
Re-order resubscribeIfSessionPresent
1 parent 0adb4ab commit 7569bea

File tree

7 files changed

+65
-65
lines changed

7 files changed

+65
-65
lines changed

src/main/java/com/hivemq/client/internal/mqtt/MqttClientConfig.java

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -68,9 +68,9 @@ public class MqttClientConfig implements Mqtt5ClientConfig {
6868
private volatile @Nullable MqttClientConnectionConfig connectionConfig;
6969
private @NotNull MqttClientTransportConfigImpl currentTransportConfig;
7070
private @Nullable SslContext currentSslContext;
71+
private boolean resubscribeIfSessionPresent;
7172
private boolean resubscribeIfSessionExpired;
7273
private boolean republishIfSessionExpired;
73-
private boolean resubscribeIfSessionPresent;
7474

7575
public MqttClientConfig(
7676
final @NotNull MqttVersion mqttVersion,
@@ -256,14 +256,6 @@ public void setCurrentSslContext(final @Nullable SslContext currentSslContext) {
256256
this.currentSslContext = currentSslContext;
257257
}
258258

259-
public boolean isResubscribeIfSessionExpired() {
260-
return resubscribeIfSessionExpired;
261-
}
262-
263-
public void setResubscribeIfSessionExpired(final boolean resubscribeIfSessionExpired) {
264-
this.resubscribeIfSessionExpired = resubscribeIfSessionExpired;
265-
}
266-
267259
public boolean isResubscribeIfSessionPresent() {
268260
return resubscribeIfSessionPresent;
269261
}
@@ -272,6 +264,14 @@ public void setResubscribeIfSessionPresent(final boolean resubscribeIfSessionPre
272264
this.resubscribeIfSessionPresent = resubscribeIfSessionPresent;
273265
}
274266

267+
public boolean isResubscribeIfSessionExpired() {
268+
return resubscribeIfSessionExpired;
269+
}
270+
271+
public void setResubscribeIfSessionExpired(final boolean resubscribeIfSessionExpired) {
272+
this.resubscribeIfSessionExpired = resubscribeIfSessionExpired;
273+
}
274+
275275
public boolean isRepublishIfSessionExpired() {
276276
return republishIfSessionExpired;
277277
}

src/main/java/com/hivemq/client/internal/mqtt/handler/connect/MqttConnAckSingle.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -173,9 +173,9 @@ private static void reconnect(
173173
}
174174
});
175175
}, reconnector.getDelay(TimeUnit.NANOSECONDS), TimeUnit.NANOSECONDS);
176+
clientConfig.setResubscribeIfSessionPresent(reconnector.isResubscribeIfSessionPresent());
176177
clientConfig.setResubscribeIfSessionExpired(reconnector.isResubscribeIfSessionExpired());
177178
clientConfig.setRepublishIfSessionExpired(reconnector.isRepublishIfSessionExpired());
178-
clientConfig.setResubscribeIfSessionPresent(reconnector.isResubscribeIfSessionPresent());
179179
reconnector.afterOnDisconnected();
180180
} else {
181181
clientConfig.getRawState().set(DISCONNECTED);

src/main/java/com/hivemq/client/internal/mqtt/lifecycle/MqttClientReconnector.java

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -115,31 +115,31 @@ public boolean isResubscribeIfSessionExpired() {
115115
}
116116

117117
@Override
118-
public @NotNull MqttClientReconnector republishIfSessionExpired(final boolean republish) {
119-
checkInOnDisconnected("republishIfSessionExpired");
120-
republishIfSessionExpired = republish;
118+
public @NotNull MqttClientReconnector resubscribeIfSessionPresent(final boolean resubscribeIfSessionPresent) {
119+
checkInOnDisconnected("resubscribeIfSessionPresent");
120+
this.resubscribeIfSessionPresent = resubscribeIfSessionPresent;
121121
return this;
122122
}
123123

124-
@Override
125-
public boolean isRepublishIfSessionExpired() {
126-
checkInEventLoop();
127-
return republishIfSessionExpired;
128-
}
129-
130124
@Override
131125
public boolean isResubscribeIfSessionPresent() {
132126
checkInEventLoop();
133127
return resubscribeIfSessionPresent;
134128
}
135129

136130
@Override
137-
public @NotNull MqttClientReconnector resubscribeIfSessionPresent(final boolean resubscribeIfSessionPresent) {
138-
checkInOnDisconnected("resubscribeIfSessionPresent");
139-
this.resubscribeIfSessionPresent = resubscribeIfSessionPresent;
131+
public @NotNull MqttClientReconnector republishIfSessionExpired(final boolean republish) {
132+
checkInOnDisconnected("republishIfSessionExpired");
133+
republishIfSessionExpired = republish;
140134
return this;
141135
}
142136

137+
@Override
138+
public boolean isRepublishIfSessionExpired() {
139+
checkInEventLoop();
140+
return republishIfSessionExpired;
141+
}
142+
143143
@Override
144144
public @NotNull MqttClientReconnector delay(final long delay, final @Nullable TimeUnit timeUnit) {
145145
checkInOnDisconnected("delay");

src/main/java/com/hivemq/client/internal/mqtt/lifecycle/mqtt3/Mqtt3ClientReconnectorView.java

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,17 @@ public boolean isReconnect() {
6363
return delegate.isReconnect();
6464
}
6565

66+
@Override
67+
public @NotNull Mqtt3ClientReconnectorView resubscribeIfSessionPresent(final boolean resubscribeIfSessionPresent) {
68+
delegate.resubscribeIfSessionPresent(resubscribeIfSessionPresent);
69+
return this;
70+
}
71+
72+
@Override
73+
public boolean isResubscribeIfSessionPresent() {
74+
return delegate.isResubscribeIfSessionPresent();
75+
}
76+
6677
@Override
6778
public @NotNull Mqtt3ClientReconnectorView resubscribeIfSessionExpired(final boolean resubscribe) {
6879
delegate.resubscribeIfSessionExpired(resubscribe);
@@ -85,17 +96,6 @@ public boolean isRepublishIfSessionExpired() {
8596
return delegate.isRepublishIfSessionExpired();
8697
}
8798

88-
@Override
89-
public @NotNull Mqtt3ClientReconnectorView resubscribeIfSessionPresent(final boolean resubscribeIfSessionPresent) {
90-
delegate.resubscribeIfSessionPresent(resubscribeIfSessionPresent);
91-
return this;
92-
}
93-
94-
@Override
95-
public boolean isResubscribeIfSessionPresent() {
96-
return delegate.isResubscribeIfSessionPresent();
97-
}
98-
9999
@Override
100100
public int getAttempts() {
101101
return delegate.getAttempts();

src/main/java/com/hivemq/client/mqtt/lifecycle/MqttClientReconnector.java

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,32 @@ public interface MqttClientReconnector {
110110
*/
111111
boolean isReconnect();
112112

113+
/**
114+
* Instructs the client to automatically restore its subscriptions when reconnected successfully and the
115+
* session is still present.
116+
* <p>
117+
* When the client reconnected successfully and its session is still present, the server still knows its
118+
* subscriptions, so resubscribing is optional.
119+
* <p>
120+
* This setting only has effect if the client will reconnect (at least one of the methods {@link
121+
* #reconnect(boolean)} or {@link #reconnectWhen(CompletableFuture, BiConsumer)} is called).
122+
* <p>
123+
* This method must only be called in {@link MqttClientDisconnectedListener#onDisconnected(MqttClientDisconnectedContext)}
124+
* and not in the callback supplied to {@link #reconnectWhen(CompletableFuture, BiConsumer)}.
125+
*
126+
* @param resubscribeIfSessionPresent whether to resubscribe if the session is present when the client reconnected successfully.
127+
* @return this reconnector.
128+
* @throws UnsupportedOperationException if called outside of {@link MqttClientDisconnectedListener#onDisconnected(MqttClientDisconnectedContext)}.
129+
* @since 1.3.7
130+
*/
131+
@NotNull MqttClientReconnector resubscribeIfSessionPresent(boolean resubscribeIfSessionPresent);
132+
133+
/**
134+
* @return whether the client will resubscribe if the session is present when it reconnects successfully.
135+
* @since 1.3.7
136+
*/
137+
boolean isResubscribeIfSessionPresent();
138+
113139
/**
114140
* Instructs the client to automatically restore its subscriptions when the session expired before it reconnected
115141
* successfully.
@@ -162,32 +188,6 @@ public interface MqttClientReconnector {
162188
*/
163189
boolean isRepublishIfSessionExpired();
164190

165-
/**
166-
* Instructs the client to automatically restore its subscriptions when reconnected successfully and the
167-
* session is still present.
168-
* <p>
169-
* When the client reconnected successfully and its session is still present, the server still knows its
170-
* subscriptions, so resubscribing is optional.
171-
* <p>
172-
* This setting only has effect if the client will reconnect (at least one of the methods {@link
173-
* #reconnect(boolean)} or {@link #reconnectWhen(CompletableFuture, BiConsumer)} is called).
174-
* <p>
175-
* This method must only be called in {@link MqttClientDisconnectedListener#onDisconnected(MqttClientDisconnectedContext)}
176-
* and not in the callback supplied to {@link #reconnectWhen(CompletableFuture, BiConsumer)}.
177-
*
178-
* @param resubscribeIfSessionPresent whether to resubscribe if the session is present when the client reconnected successfully.
179-
* @return this reconnector.
180-
* @throws UnsupportedOperationException if called outside of {@link MqttClientDisconnectedListener#onDisconnected(MqttClientDisconnectedContext)}.
181-
* @since 1.3.7
182-
*/
183-
@NotNull MqttClientReconnector resubscribeIfSessionPresent(boolean resubscribeIfSessionPresent);
184-
185-
/**
186-
* @return whether the client will resubscribe if the session is present when it reconnects successfully.
187-
* @since 1.3.7
188-
*/
189-
boolean isResubscribeIfSessionPresent();
190-
191191
/**
192192
* Sets a delay the client will wait for before trying to reconnect.
193193
* <p>

src/main/java/com/hivemq/client/mqtt/mqtt3/lifecycle/Mqtt3ClientReconnector.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -48,13 +48,13 @@ public interface Mqtt3ClientReconnector extends MqttClientReconnector {
4848
@NotNull CompletableFuture<T> future, @Nullable BiConsumer<? super T, ? super Throwable> callback);
4949

5050
@Override
51-
@NotNull Mqtt3ClientReconnector resubscribeIfSessionExpired(boolean resubscribe);
51+
@NotNull Mqtt3ClientReconnector resubscribeIfSessionPresent(boolean resubscribeIfSessionPresent);
5252

5353
@Override
54-
@NotNull Mqtt3ClientReconnector republishIfSessionExpired(boolean republish);
54+
@NotNull Mqtt3ClientReconnector resubscribeIfSessionExpired(boolean resubscribe);
5555

5656
@Override
57-
@NotNull Mqtt3ClientReconnector resubscribeIfSessionPresent(boolean resubscribeIfSessionPresent);
57+
@NotNull Mqtt3ClientReconnector republishIfSessionExpired(boolean republish);
5858

5959
@Override
6060
@NotNull Mqtt3ClientReconnector delay(long delay, @NotNull TimeUnit timeUnit);

src/main/java/com/hivemq/client/mqtt/mqtt5/lifecycle/Mqtt5ClientReconnector.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -48,13 +48,13 @@ public interface Mqtt5ClientReconnector extends MqttClientReconnector {
4848
@NotNull CompletableFuture<T> future, @Nullable BiConsumer<? super T, ? super Throwable> callback);
4949

5050
@Override
51-
@NotNull Mqtt5ClientReconnector resubscribeIfSessionExpired(boolean resubscribe);
51+
@NotNull Mqtt5ClientReconnector resubscribeIfSessionPresent(boolean resubscribeIfSessionPresent);
5252

5353
@Override
54-
@NotNull Mqtt5ClientReconnector republishIfSessionExpired(boolean republish);
54+
@NotNull Mqtt5ClientReconnector resubscribeIfSessionExpired(boolean resubscribe);
5555

5656
@Override
57-
@NotNull Mqtt5ClientReconnector resubscribeIfSessionPresent(boolean resubscribeIfSessionPresent);
57+
@NotNull Mqtt5ClientReconnector republishIfSessionExpired(boolean republish);
5858

5959
@Override
6060
@NotNull Mqtt5ClientReconnector delay(long delay, @NotNull TimeUnit timeUnit);

0 commit comments

Comments
 (0)