package pw.koj.jetstreem.core;

import java.util.concurrent.LinkedBlockingQueue;

public final class StrmQueue extends LinkedBlockingQueue {
    private static StrmQueue instance;

    private StrmQueue() {
        super();
    }

    public static synchronized StrmQueue getInstance() {
        if (instance == null) {
            instance = new StrmQueue();
        }
        return instance;
    }

    public void queueExec() {
        StrmQueueEntry entry = (StrmQueueEntry)this.poll();

        entry.perform();
    }

    public boolean queueP() {
        return this.size() > 0;
    }

}


@@ -131,16 +131,32 @@
 ingQueue
+%3CStrmQueueEntry%3E
  %7B%0A    p
@@ -476,24 +476,8 @@
 y = 
-(StrmQueueEntry)
 this
@@ -510,32 +510,197 @@
 rform();%0A    %7D%0A%0A
+    public void push(Streem strm, StrmFunc func, Void data) %7B%0A        StrmQueueEntry entry = new StrmQueueEntry(strm, func, data);%0A        this.offer(entry);%0A    %7D%0A%0A
     public boole

add push() to class StrmQueue