view src/treeVnc/MostRecentMultiCast.java @ 0:756bfaf731f3

create new repository
author Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
date Tue, 21 Feb 2012 04:10:12 +0900
parents
children
line wrap: on
line source

package treeVnc;

import java.util.LinkedList;


public class MostRecentMultiCast<T> extends MulticastQueue<T> {

	LinkedList<Node<T>> alive;
	int count = 0;
	MostRecentMultiCast(int limit) {
		count = limit;
		this.alive = new LinkedList<Node<T>>();
	}

	@Override
	public synchronized void put(T item)
	{
		Node<T> next = new Node<T>(item);
		tail.set(next);
		tail = next;
		alive.addLast(next);
		if (alive.size()>count) {
			Node<T> old = alive.getFirst();
			old.clear();
		}
	}
}