Skip to content

Commit da85ffa

Browse files
committed
tiny memoization
1 parent 7751981 commit da85ffa

File tree

1 file changed

+7
-1
lines changed
  • networking/eth2/src/main/java/tech/pegasys/teku/networking/eth2/gossip/topics/topichandlers

1 file changed

+7
-1
lines changed

networking/eth2/src/main/java/tech/pegasys/teku/networking/eth2/gossip/topics/topichandlers/Eth2TopicHandler.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,11 @@
1515

1616
import static tech.pegasys.teku.infrastructure.logging.P2PLogger.P2P_LOG;
1717

18+
import com.google.common.base.Suppliers;
1819
import io.libp2p.core.pubsub.ValidationResult;
1920
import java.util.Optional;
2021
import java.util.concurrent.RejectedExecutionException;
22+
import java.util.function.Supplier;
2123
import org.apache.logging.log4j.LogManager;
2224
import org.apache.logging.log4j.Logger;
2325
import org.apache.tuweni.bytes.Bytes;
@@ -56,6 +58,7 @@ public class Eth2TopicHandler<MessageT extends SszData> implements TopicHandler
5658
private final OperationMilestoneValidator<MessageT> forkValidator;
5759
private final NetworkingSpecConfig networkingConfig;
5860
private final DebugDataDumper debugDataDumper;
61+
private final Supplier<String> topicCache;
5962

6063
public Eth2TopicHandler(
6164
final RecentChainData recentChainData,
@@ -80,6 +83,9 @@ public Eth2TopicHandler(
8083
gossipEncoding.createPreparedGossipMessageFactory(
8184
recentChainData::getMilestoneByForkDigest);
8285
this.debugDataDumper = debugDataDumper;
86+
this.topicCache =
87+
Suppliers.memoize(
88+
() -> GossipTopics.getTopic(getForkDigest(), getTopicName(), getGossipEncoding()));
8389
}
8490

8591
public Eth2TopicHandler(
@@ -214,7 +220,7 @@ public OperationProcessor<MessageT> getProcessor() {
214220
}
215221

216222
public String getTopic() {
217-
return GossipTopics.getTopic(getForkDigest(), getTopicName(), getGossipEncoding());
223+
return topicCache.get();
218224
}
219225

220226
public GossipEncoding getGossipEncoding() {

0 commit comments

Comments
 (0)