Skip to content

Commit 4b0db33

Browse files
committed
[broker-23] small refactoring
1 parent fb71ecd commit 4b0db33

File tree

3 files changed

+10
-19
lines changed

3 files changed

+10
-19
lines changed

src/main/java/com/ss/mqtt/broker/model/SingleSubscriber.java

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,21 +3,18 @@
33
import com.ss.mqtt.broker.network.client.MqttClient;
44
import lombok.EqualsAndHashCode;
55
import lombok.Getter;
6+
import lombok.RequiredArgsConstructor;
67
import lombok.ToString;
78
import org.jetbrains.annotations.NotNull;
89

910
@ToString
1011
@EqualsAndHashCode(of = "mqttClient")
12+
@RequiredArgsConstructor
1113
public class SingleSubscriber implements Subscriber {
1214

1315
private final @Getter @NotNull MqttClient mqttClient;
1416
private final @NotNull SubscribeTopicFilter subscribe;
1517

16-
public SingleSubscriber(@NotNull MqttClient mqttClient, @NotNull SubscribeTopicFilter subscribe) {
17-
this.mqttClient = mqttClient;
18-
this.subscribe = subscribe;
19-
}
20-
2118
public @NotNull QoS getQos() {
2219
return subscribe.getQos();
2320
}

src/main/java/com/ss/mqtt/broker/model/topic/TopicSubscribers.java

Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616
import org.jetbrains.annotations.NotNull;
1717
import org.jetbrains.annotations.Nullable;
1818

19+
import java.util.Optional;
20+
1921
public class TopicSubscribers {
2022

2123
private final static NotNullSupplier<TopicSubscribers> TOPIC_SUBSCRIBER_SUPPLIER = TopicSubscribers::new;
@@ -49,7 +51,7 @@ private static void addSharedSubscriber(
4951

5052
var sharedSubscriber = (SharedSubscriber) subscribers.findAny(
5153
group,
52-
SubscriberUtils::sharedSubscriberWithGroup
54+
SubscriberUtils::isSharedSubscriberWithGroup
5355
);
5456

5557
if (sharedSubscriber == null) {
@@ -91,7 +93,7 @@ private static boolean removeSharedSubscriber(
9193
boolean removed = false;
9294
var sharedSubscriber = (SharedSubscriber) subscribers.findAny(
9395
group,
94-
SubscriberUtils::sharedSubscriberWithGroup
96+
SubscriberUtils::isSharedSubscriberWithGroup
9597
);
9698

9799
if (sharedSubscriber != null) {
@@ -213,17 +215,9 @@ private boolean searchSubscriberToRemove(int level, @NotNull TopicFilter topicFi
213215
}
214216

215217
private boolean tryToRemoveSubscriber(@NotNull TopicFilter topicFilter, @NotNull MqttClient mqttClient) {
216-
var removed = false;
217-
var subscribers = getSubscribers();
218-
if (subscribers != null) {
219-
//noinspection ConstantConditions
220-
removed = subscribers.getInWriteLock(
221-
topicFilter,
222-
mqttClient,
223-
TopicSubscribers::removeSubscriber
224-
);
225-
}
226-
return removed;
218+
return Optional.ofNullable(getSubscribers())
219+
.map(subscribers -> subscribers.getInWriteLock(topicFilter, mqttClient, TopicSubscribers::removeSubscriber))
220+
.orElse(false);
227221
}
228222

229223
public @NotNull Array<SingleSubscriber> matches(@NotNull TopicName topicName) {

src/main/java/com/ss/mqtt/broker/util/SubscriberUtils.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ private static boolean isSingleSubscriber(@NotNull Subscriber subscriber) {
1717
return subscriber instanceof SingleSubscriber;
1818
}
1919

20-
public static boolean sharedSubscriberWithGroup(@NotNull String group, @NotNull Subscriber subscriber) {
20+
public static boolean isSharedSubscriberWithGroup(@NotNull String group, @NotNull Subscriber subscriber) {
2121
return isSharedSubscriber(subscriber) && group.equals(((SharedSubscriber) subscriber).getGroup());
2222
}
2323

0 commit comments

Comments
 (0)