view src/main/java/jp/ac/u_ryukyu/treevnc/MostRecentMultiCast.java @ 12:12c3a73be47f

rename package
author one
date Tue, 21 Aug 2012 14:24:38 +0900
parents src/main/java/ac/ryukyu/treevnc/MostRecentMultiCast.java@e7ce2b2ffed8
children
line wrap: on
line source

package jp.ac.u_ryukyu.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();
		}
	}
}