File tree 1 file changed +7
-2
lines changed
src/main/java/com/hivemq/client/internal/mqtt/handler/subscribe
1 file changed +7
-2
lines changed Original file line number Diff line number Diff line change @@ -164,6 +164,7 @@ public void run() {
164
164
if (ctx == null ) {
165
165
return ;
166
166
}
167
+ int written = 0 ;
167
168
for (MqttSubOrUnsubWithFlow subOrUnsubWithFlow = sendPending ;
168
169
(subOrUnsubWithFlow != null ) && (pendingIndex .size () < MAX_SUB_PENDING );
169
170
sendPending = subOrUnsubWithFlow = subOrUnsubWithFlow .getNext ()) {
@@ -183,6 +184,10 @@ public void run() {
183
184
} else {
184
185
writeUnsubscribe (ctx , (MqttUnsubscribeWithFlow ) subOrUnsubWithFlow );
185
186
}
187
+ written ++;
188
+ }
189
+ if (written > 0 ) {
190
+ ctx .flush ();
186
191
}
187
192
}
188
193
@@ -195,7 +200,7 @@ private void writeSubscribe(
195
200
subscribeWithFlow .subscribe .createStateful (subscribeWithFlow .packetIdentifier , subscriptionIdentifier );
196
201
197
202
currentPending = subscribeWithFlow ;
198
- ctx .writeAndFlush (statefulSubscribe , ctx .voidPromise ());
203
+ ctx .write (statefulSubscribe , ctx .voidPromise ());
199
204
currentPending = null ;
200
205
}
201
206
@@ -206,7 +211,7 @@ private void writeUnsubscribe(
206
211
unsubscribeWithFlow .unsubscribe .createStateful (unsubscribeWithFlow .packetIdentifier );
207
212
208
213
currentPending = unsubscribeWithFlow ;
209
- ctx .writeAndFlush (statefulUnsubscribe , ctx .voidPromise ());
214
+ ctx .write (statefulUnsubscribe , ctx .voidPromise ());
210
215
currentPending = null ;
211
216
}
212
217
You can’t perform that action at this time.
0 commit comments