From: Allan C. <am...@us...> - 2006-12-02 13:06:36
|
Update of /cvsroot/azureus/plugins/azjython/com/aelitis/azureus/plugins/azjython/utils In directory sc8-pr-cvs11.sourceforge.net:/tmp/cvs-serv8937/com/aelitis/azureus/plugins/azjython/utils Added Files: DataSink.java WorkQueue.java Log Message: Version 0.1.8 (i.e. nearly version 0.2) of the plugin - we've now got an interactive console ready for use (though hooks to the UI interface and other bits and pieces need to be tidied up). --- NEW FILE: WorkQueue.java --- /** * */ package com.aelitis.azureus.plugins.azjython.utils; import java.util.LinkedList; /** * Taken and modified from: * http://www.exampledepot.com/egs/java.lang/WorkQueue.html */ public class WorkQueue implements DataSink { LinkedList queue = new LinkedList(); // Add work to the work queue public synchronized void put(Object o) { queue.addLast(o); notify(); } // Retrieve work from the work queue; block if the queue is empty public synchronized Object get() throws InterruptedException { while (queue.isEmpty()) { wait(); } return queue.removeFirst(); } } --- NEW FILE: DataSink.java --- /** * */ package com.aelitis.azureus.plugins.azjython.utils; /** * @author Allan Crooks * */ public interface DataSink { public void put(Object o); } |