PooledSender parent = null;
- private List notinuse = null;
+ private List<DataSender> notinuse = null;
- private List inuse = null;
+ private List<DataSender> inuse = null;
private boolean isOpen = true;
public SenderQueue(PooledSender parent, int limit) {
this.limit = limit;
this.parent = parent;
- notinuse = new java.util.LinkedList();
- inuse = new java.util.LinkedList();
+ notinuse = new java.util.LinkedList<DataSender>();
+ inuse = new java.util.LinkedList<DataSender>();
}
/**
if (notinuse.size() == 0 && inuse.size() < limit) {
sender = parent.getNewDataSender();
} else if (notinuse.size() > 0) {
- sender = (DataSender) notinuse.remove(0);
+ sender = notinuse.remove(0);
}
if (sender != null) {
inuse.add(sender);
throw x;
}
portstart++;
- try {Thread.sleep(25);}catch( InterruptedException ti){Thread.currentThread().interrupted();}
+ try {Thread.sleep(25);}catch( InterruptedException ti){Thread.interrupted();}
retries = bind(socket,portstart,retries);
}
}
throw x;
}
portstart++;
- try {Thread.sleep(25);}catch( InterruptedException ti){Thread.currentThread().interrupted();}
+ try {Thread.sleep(25);}catch( InterruptedException ti){Thread.interrupted();}
retries = bindUdp(socket,portstart,retries);
}
}
}
public void setLog(Log log) {
- this.log = log;
+ ReceiverBase.log = log;
}
public void setPool(RxTaskPool pool) {
* @version $Revision$ $Date$
*/
public class ReplicationTransmitter implements ChannelSender {
- private static org.apache.juli.logging.Log log = org.apache.juli.logging.LogFactory.getLog(ReplicationTransmitter.class);
/**
* The descriptive information about this implementation.
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
-import java.util.concurrent.ThreadFactory;
/**
* @author not attributable
* through a FIFO idle queue.
*/
- List idle = new LinkedList();
- List used = new LinkedList();
+ List<AbstractRxTask> idle = new LinkedList<AbstractRxTask>();
+ List<AbstractRxTask> used = new LinkedList<AbstractRxTask>();
Object mutex = new Object();
boolean running = true;
- private static int counter = 1;
private int maxTasks;
private int minTasks;
private TaskCreator creator = null;
- private static synchronized int inc() {
- return counter++;
- }
-
public RxTaskPool (int maxTasks, int minTasks, TaskCreator creator) throws Exception {
// fill up the pool with worker threads
while ( worker == null && running ) {
if (idle.size() > 0) {
try {
- worker = (AbstractRxTask) idle.remove(0);
+ worker = idle.remove(0);
} catch (java.util.NoSuchElementException x) {
//this means that there are no available workers
worker = null;
worker = creator.createRxTask();
configureTask(worker);
} else {
- try { mutex.wait(); } catch ( java.lang.InterruptedException x ) {Thread.currentThread().interrupted();}
+ try { mutex.wait(); } catch ( java.lang.InterruptedException x ) {Thread.interrupted();}
}
}//while
if ( worker != null ) used.add(worker);
public void stop() {
running = false;
synchronized (mutex) {
- Iterator i = idle.iterator();
+ Iterator<AbstractRxTask> i = idle.iterator();
while ( i.hasNext() ) {
- AbstractRxTask worker = (AbstractRxTask)i.next();
+ AbstractRxTask worker = i.next();
returnWorker(worker);
i.remove();
}
public static final int READY = 0;
public static final int SUSPECT = 1;
- public static final int FAILING = 2;
- /**
- * The descriptive information about this implementation.
- */
- private static final String info = "SenderState/1.0";
-
+ public static final int FAILING = 2;
- protected static HashMap memberStates = new HashMap();
+ protected static HashMap<Member, SenderState> memberStates = new HashMap<Member, SenderState>();
public static SenderState getSenderState(Member member) {
return getSenderState(member,true);
}
public static SenderState getSenderState(Member member, boolean create) {
- SenderState state = (SenderState)memberStates.get(member);
+ SenderState state = memberStates.get(member);
if ( state == null && create) {
synchronized ( memberStates ) {
- state = (SenderState)memberStates.get(member);
+ state = memberStates.get(member);
if ( state == null ) {
state = new SenderState();
memberStates.put(member,state);