From 6ab124d9d958c440ba5c562da12c83180e77620f Mon Sep 17 00:00:00 2001 From: Frank Maritato Date: Sat, 14 Nov 2009 00:46:46 +0000 Subject: [PATCH] fixed a bug with my linked blocking queues git-svn-id: https://lwes.svn.sourceforge.net/svnroot/lwes/lwes-java/trunk@271 a2f82657-cdd2-4550-bd36-68a8e7111808 --- src/main/java/org/lwes/listener/DatagramDequeuer.java | 7 ++++--- src/main/java/org/lwes/listener/DatagramEnqueuer.java | 4 +++- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/lwes/listener/DatagramDequeuer.java b/src/main/java/org/lwes/listener/DatagramDequeuer.java index 0092689..2d7e99d 100644 --- a/src/main/java/org/lwes/listener/DatagramDequeuer.java +++ b/src/main/java/org/lwes/listener/DatagramDequeuer.java @@ -30,9 +30,10 @@ public class DatagramDequeuer extends ThreadedDequeuer { while (running) { try { - DatagramQueueElement element = null; - queue.remove(element); - handleElement(element); + QueueElement element = null; + element = queue.take(); + Log.trace("Removed from queue: "+element); + handleElement((DatagramQueueElement)element); } catch (UnsupportedOperationException uoe) { // not a problem, someone grabbed the event before we did diff --git a/src/main/java/org/lwes/listener/DatagramEnqueuer.java b/src/main/java/org/lwes/listener/DatagramEnqueuer.java index d3ee248..8e26dde 100644 --- a/src/main/java/org/lwes/listener/DatagramEnqueuer.java +++ b/src/main/java/org/lwes/listener/DatagramEnqueuer.java @@ -152,6 +152,7 @@ public class DatagramEnqueuer extends ThreadedEnqueuer { try { DatagramPacket datagram = new DatagramPacket(buffer, buffer.length); socket.receive(datagram); + Log.trace("Received datagram: "+datagram); /* we record the time *after* the receive because it blocks */ long receiptTime = System.currentTimeMillis(); @@ -167,7 +168,8 @@ public class DatagramEnqueuer extends ThreadedEnqueuer { element.setTimestamp(receiptTime); /* add the element to the queue and notify everyone there's work to do */ - queue.add(element); + queue.put(element); + Log.trace("Enqueued: "+element); } catch(Exception e) { Log.warning("Unable to read datagram", e); } -- 2.11.4.GIT