You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuweni.apache.org by to...@apache.org on 2019/05/09 23:27:34 UTC
[incubator-tuweni] branch master updated: Add some doc ;
make sure to empty the queue of lazy tasks after they execute
This is an automated email from the ASF dual-hosted git repository.
toulmean pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-tuweni.git
The following commit(s) were added to refs/heads/master by this push:
new 963990d Add some doc ; make sure to empty the queue of lazy tasks after they execute
new 3041496 Merge pull request #13 from atoulme/plumtree_clear_queue
963990d is described below
commit 963990d85fa1c7177bb6ac6f97e34579a0b2df0e
Author: Antoine Toulme <an...@lunar-ocean.com>
AuthorDate: Mon May 6 23:27:22 2019 -0700
Add some doc ; make sure to empty the queue of lazy tasks after they execute
---
.../java/org/apache/tuweni/plumtree/EphemeralPeerRepository.java | 5 ++++-
plumtree/src/main/java/org/apache/tuweni/plumtree/State.java | 5 ++++-
plumtree/src/test/java/org/apache/tuweni/plumtree/StateTest.java | 2 +-
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/plumtree/src/main/java/org/apache/tuweni/plumtree/EphemeralPeerRepository.java b/plumtree/src/main/java/org/apache/tuweni/plumtree/EphemeralPeerRepository.java
index acbdeec..7d0f4f7 100644
--- a/plumtree/src/main/java/org/apache/tuweni/plumtree/EphemeralPeerRepository.java
+++ b/plumtree/src/main/java/org/apache/tuweni/plumtree/EphemeralPeerRepository.java
@@ -18,7 +18,10 @@ import java.util.List;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
-public class EphemeralPeerRepository implements PeerRepository {
+/**
+ * In-memory peer repository.
+ */
+public final class EphemeralPeerRepository implements PeerRepository {
private final Set<Peer> eagerPushPeers = ConcurrentHashMap.newKeySet();
private final Set<Peer> lazyPushPeers = ConcurrentHashMap.newKeySet();
diff --git a/plumtree/src/main/java/org/apache/tuweni/plumtree/State.java b/plumtree/src/main/java/org/apache/tuweni/plumtree/State.java
index 7151a45..26832ad 100644
--- a/plumtree/src/main/java/org/apache/tuweni/plumtree/State.java
+++ b/plumtree/src/main/java/org/apache/tuweni/plumtree/State.java
@@ -48,7 +48,7 @@ public final class State {
private final MessageSender messageSender;
private final Consumer<Bytes> messageListener;
private final MessageValidator messageValidator;
- private final Queue<Runnable> lazyQueue = new ConcurrentLinkedQueue<>();
+ final Queue<Runnable> lazyQueue = new ConcurrentLinkedQueue<>();
private final Timer timer = new Timer("plumtree", true);
private final long delay;
@@ -260,9 +260,12 @@ public final class State {
}
void processQueue() {
+ List<Runnable> executed = new ArrayList<>();
for (Runnable r : lazyQueue) {
r.run();
+ executed.add(r);
}
+ lazyQueue.removeAll(executed);
}
/**
diff --git a/plumtree/src/test/java/org/apache/tuweni/plumtree/StateTest.java b/plumtree/src/test/java/org/apache/tuweni/plumtree/StateTest.java
index 5c03da3..b171ee8 100644
--- a/plumtree/src/test/java/org/apache/tuweni/plumtree/StateTest.java
+++ b/plumtree/src/test/java/org/apache/tuweni/plumtree/StateTest.java
@@ -48,7 +48,6 @@ class StateTest {
this.peer = peer;
this.hash = hash;
this.payload = payload;
-
}
}
@@ -167,6 +166,7 @@ class StateTest {
assertEquals(Hash.keccak256(msg), messageSender.hash);
assertEquals(lazyPeer, messageSender.peer);
assertEquals(MessageSender.Verb.IHAVE, messageSender.verb);
+ assertTrue(state.lazyQueue.isEmpty());
}
@Test
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@tuweni.apache.org
For additional commands, e-mail: commits-help@tuweni.apache.org