diff --git a/libp2p/src/main/java/io/libp2p/protocol/circuit/CircuitHopProtocol.java b/libp2p/src/main/java/io/libp2p/protocol/circuit/CircuitHopProtocol.java index be2be179d..f92ef43a0 100644 --- a/libp2p/src/main/java/io/libp2p/protocol/circuit/CircuitHopProtocol.java +++ b/libp2p/src/main/java/io/libp2p/protocol/circuit/CircuitHopProtocol.java @@ -316,13 +316,18 @@ public void onMessage(@NotNull Stream stream, Circuit.HopMessage msg) { // connect these streams with time + bytes enforcement fromRequestor.pushHandler(new InboundTrafficLimitHandler(resv.maxBytes)); - fromRequestor.pushHandler( - new TotalTimeoutHandler( - Duration.of(resv.durationSeconds, ChronoUnit.SECONDS))); + if(resv.durationSeconds > 0){ + fromRequestor.pushHandler( + new TotalTimeoutHandler( + Duration.of(resv.durationSeconds, ChronoUnit.SECONDS))); + } + toTarget.pushHandler(new InboundTrafficLimitHandler(resv.maxBytes)); - toTarget.pushHandler( - new TotalTimeoutHandler( - Duration.of(resv.durationSeconds, ChronoUnit.SECONDS))); + if(resv.durationSeconds > 0){ + toTarget.pushHandler( + new TotalTimeoutHandler( + Duration.of(resv.durationSeconds, ChronoUnit.SECONDS))); + } fromRequestor.pushHandler(new ProxyHandler(toTarget)); toTarget.pushHandler(new ProxyHandler(fromRequestor)); } else {